Distributed programming with typed events

The remote-procedure-call abstraction, including its derivates (underlying, for example, Java RMI, CORBA, and .NET), currently represents one of the most popular paradigms for devising distributed applications. Objects (when acting as servers) are invoked remotely (by clients) through proxies (also...

Full description

Saved in:
Bibliographic Details
Published inIEEE software Vol. 21; no. 2; pp. 56 - 64
Main Authors Eugster, P.T., Guerraoui, R.
Format Journal Article
LanguageEnglish
Published Los Alamitos IEEE 01.03.2004
IEEE Computer Society
Subjects
Online AccessGet full text

Cover

Loading…
Abstract The remote-procedure-call abstraction, including its derivates (underlying, for example, Java RMI, CORBA, and .NET), currently represents one of the most popular paradigms for devising distributed applications. Objects (when acting as servers) are invoked remotely (by clients) through proxies (also called stubs). Because proxies offer the same interfaces as their respective associated remote objects, they hide distribution details, leading to a convenient distributed-programming style that enforces type safety and encapsulation. However, RPC-style interaction does not apply equally well in all contexts. In its classic form, it tends to strongly synchronize-and hence couple-the invoking and invoked objects. Several proposed asynchronous variants of RPC illustrate the severity of this drawback. Type-based publish-subscribe is an appealing candidate programming abstraction for inherently decoupled and completely decentralized applications that run over large-scale and mobile networks. Like RPC, TPS enforces type safety and encapsulation; unlike RPC, it provides decoupling and scalability. To illustrate, we discuss two TPS implementations in Java.
AbstractList The remote-procedure-call abstraction, including its derivates (underlying, for example, Java RMI, CORBA, and .NET), currently represents one of the most popular paradigms for devising distributed applications. Objects (when acting as servers) are invoked remotely (by clients) through proxies (also called stubs). Because proxies offer the same interfaces as their respective associated remote objects, they hide distribution details, leading to a convenient distributed-programming style that enforces type safety and encapsulation. However, RPC-style interaction does not apply equally well in all contexts. In its classic form, it tends to strongly synchronize-and hence couple-the invoking and invoked objects. Several proposed asynchronous variants of RPC illustrate the severity of this drawback. Type-based publish-subscribe is an appealing candidate programming abstraction for inherently decoupled and completely decentralized applications that run over large-scale and mobile networks. Like RPC, TPS enforces type safety and encapsulation; unlike RPC, it provides decoupling and scalability. To illustrate, we discuss two TPS implementations in Java.
Whereas the remote-procedure-call (RPC) abstraction, including its derivates such as remote method invocation, has proven to be an adequate programming paradigm for client-server applications over LANs, type-based publish-subscribe (TPS) is an appealing candidate programming abstraction for decoupled and completely decentralized applications that run over large-scale and mobile networks. TPS enforces type safety and encapsulation (just like RPC) while providing decoupling and scalability properties (unlike RPC). Two TPS implementations in Java demonstrate this approach's potential. The first is a seminal approach relying on specific primitives added to the Java language. The second is a library implementation based on more general recent Java mechanisms, avoiding any specific compilation.
Author Guerraoui, R.
Eugster, P.T.
Author_xml – sequence: 1
  givenname: P.T.
  surname: Eugster
  fullname: Eugster, P.T.
  organization: Sun Microsystems, Volketswil, Switzerland
– sequence: 2
  givenname: R.
  surname: Guerraoui
  fullname: Guerraoui, R.
BookMark eNp9kLtPwzAQxi1UJEphZmCpGEAMac-PxPaIylNqxVCYLTe5lFRNUmwH1P8eV62ExMB0r9-d7vtOSa9pGyTkgsKIUtDj2XzEAMSIMgky40ekTzWXiaBa9EgfpIBEilSfkFPvVwCQUg59cntf-eCqRRewGG5cu3S2rqtmOfyuwscwbDexjV_YBH9Gjku79nh-iAPy_vjwNnlOpq9PL5O7aZJzDSERJXCKbKE0tdJarnnJC6skMstyXiqeZWVBC9AsY3lkbCwFqphzmWrN-IDc7O_Gbz479MHUlc9xvbYNtp03SmeMS5aqSF7_SzIlVaajzgG5-gOu2s41UYVhNFVi51iExnsod633DkuzcVVt3dZQMDuHzWxudg6bg8Nx43K_USHiL32Y_gA7J3af
CODEN IESOEG
CitedBy_id crossref_primary_10_1145_2559933
crossref_primary_10_1109_SURV_2014_031914_00192
crossref_primary_10_1109_MS_2014_101
Cites_doi 10.1145/286936.286957
10.1109/2.825698
10.1145/168619.168624
10.7551/mitpress/1405.001.0001
10.1109/DSN.2002.1028915
10.1145/343477.343622
10.1109/PDSE.2000.847853
10.1145/2363.2433
10.1016/0022-0000(78)90014-4
10.1145/227210.227225
10.1145/263698.263734
10.1145/301308.301326
10.1145/2080.357392
ContentType Journal Article
Copyright Copyright Institute of Electrical and Electronics Engineers, Inc. (IEEE) Mar/Apr 2004
Copyright_xml – notice: Copyright Institute of Electrical and Electronics Engineers, Inc. (IEEE) Mar/Apr 2004
DBID RIA
RIE
AAYXX
CITATION
3V.
7WY
7WZ
7XB
87Z
88F
88I
88K
8AL
8FE
8FG
8FK
8FL
8G5
ABJCF
ABUWG
AFKRA
ARAPS
AZQEC
BENPR
BEZIV
BGLVJ
CCPQU
DWQXO
FRNLG
F~G
GNUQQ
GUQSH
HCIFZ
JQ2
K60
K6~
K7-
L.-
L6V
M0C
M0N
M1Q
M2O
M2P
M2T
M7S
MBDVC
P5Z
P62
PQBIZ
PQBZA
PQEST
PQQKQ
PQUKI
PRINS
PTHSS
Q9U
7SC
8FD
L7M
L~C
L~D
7SP
F28
FR3
DOI 10.1109/MS.2004.1270763
DatabaseName IEEE All-Society Periodicals Package (ASPP) Online
IEEE Electronic Library (IEL)
CrossRef
ProQuest Central (Corporate)
ABI/INFORM Collection
ABI/INFORM Global (PDF only)
ProQuest Central (purchase pre-March 2016)
ABI/INFORM Collection
Military Database (Alumni Edition)
Science Database (Alumni Edition)
Telecommunications (Alumni Edition)
Computing Database (Alumni Edition)
ProQuest SciTech Collection
ProQuest Technology Collection
ProQuest Central (Alumni) (purchase pre-March 2016)
ABI/INFORM Collection (Alumni Edition)
Research Library (Alumni Edition)
Materials Science & Engineering Collection
ProQuest Central (Alumni)
ProQuest Central UK/Ireland
Advanced Technologies & Aerospace Database‎ (1962 - current)
ProQuest Central Essentials
AUTh Library subscriptions: ProQuest Central
ProQuest Business Premium Collection
Technology Collection
ProQuest One Community College
ProQuest Central
Business Premium Collection (Alumni)
ABI/INFORM Global (Corporate)
ProQuest Central Student
Research Library Prep
SciTech Premium Collection
ProQuest Computer Science Collection
ProQuest Business Collection (Alumni Edition)
ProQuest Business Collection
Computer Science Database
ABI/INFORM Professional Advanced
ProQuest Engineering Collection
ABI/INFORM Collection
Computing Database
ProQuest Military Database
ProQuest research library
Science Database
Telecommunications Database
Engineering Database
Research Library (Corporate)
Advanced Technologies & Aerospace Database
ProQuest Advanced Technologies & Aerospace Collection
One Business (ProQuest)
ProQuest One Business (Alumni)
ProQuest One Academic Eastern Edition (DO NOT USE)
ProQuest One Academic
ProQuest One Academic UKI Edition
ProQuest Central China
Engineering Collection
ProQuest Central Basic
Computer and Information Systems Abstracts
Technology Research Database
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
Electronics & Communications Abstracts
ANTE: Abstracts in New Technology & Engineering
Engineering Research Database
DatabaseTitle CrossRef
ABI/INFORM Global (Corporate)
ProQuest Business Collection (Alumni Edition)
ProQuest One Business
Research Library Prep
Computer Science Database
ProQuest Central Student
Technology Collection
ProQuest Advanced Technologies & Aerospace Collection
ProQuest Central Essentials
ProQuest Computer Science Collection
ProQuest Central (Alumni Edition)
SciTech Premium Collection
ProQuest One Community College
Research Library (Alumni Edition)
ProQuest Military Collection
ProQuest Central China
ABI/INFORM Complete
ProQuest Telecommunications
ProQuest Central
ABI/INFORM Professional Advanced
ProQuest Engineering Collection
ProQuest Central Korea
ProQuest Research Library
ABI/INFORM Complete (Alumni Edition)
Engineering Collection
Advanced Technologies & Aerospace Collection
Business Premium Collection
ABI/INFORM Global
ProQuest Computing
Engineering Database
ProQuest Science Journals (Alumni Edition)
ABI/INFORM Global (Alumni Edition)
ProQuest Central Basic
ProQuest Science Journals
ProQuest Computing (Alumni Edition)
ProQuest One Academic Eastern Edition
ProQuest Technology Collection
ProQuest Military Collection (Alumni Edition)
ProQuest Telecommunications (Alumni Edition)
ProQuest SciTech Collection
ProQuest Business Collection
Advanced Technologies & Aerospace Database
ProQuest One Academic UKI Edition
Materials Science & Engineering Collection
ProQuest One Business (Alumni)
ProQuest One Academic
ProQuest Central (Alumni)
Business Premium Collection (Alumni)
Computer and Information Systems Abstracts
Technology Research Database
Computer and Information Systems Abstracts – Academic
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts Professional
Electronics & Communications Abstracts
Engineering Research Database
ANTE: Abstracts in New Technology & Engineering
DatabaseTitleList
ABI/INFORM Global (Corporate)
Computer and Information Systems Abstracts
Technology Research Database
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
– sequence: 2
  dbid: 8FG
  name: ProQuest Technology Collection
  url: https://search.proquest.com/technologycollection1
  sourceTypes: Aggregation Database
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1937-4194
EndPage 64
ExternalDocumentID 644636781
10_1109_MS_2004_1270763
1270763
Genre orig-research
Feature
GroupedDBID -DZ
-~X
.4S
.DC
0R~
29I
3EH
3V.
4.4
5GY
5VS
6IK
7WY
85S
88I
8FE
8FG
8FL
8G5
8R4
8R5
97E
9M8
AAJGR
AASAJ
AAVXG
AAYOK
ABGFU
ABJCF
ABJNI
ABQJQ
ABUWG
ACGFO
ACGOD
ACIWK
AENEX
AETIX
AFKRA
AFOGA
AGCDD
AI.
AIBXA
AKJIK
ALLEH
ALMA_UNASSIGNED_HOLDINGS
ARAPS
ARCSS
ASUFR
ATWAV
AZLTO
AZQEC
BEFXN
BENPR
BEZIV
BFFAM
BGLVJ
BGNUA
BKEBE
BKOMP
BPEOZ
BPHCQ
CCPQU
CS3
DU5
DWQXO
EBS
EDO
EJD
FRNLG
GNUQQ
GROUPED_ABI_INFORM_COMPLETE
GUQSH
HCIFZ
HZ~
H~9
I-F
IBMZZ
ICLAB
IEDLZ
IFIPE
IFJZH
IPLJI
ITG
ITH
JAVBF
K60
K6V
K6~
K7-
L6V
LAI
M0C
M0N
M1Q
M2O
M2P
M43
M7S
MS~
O9-
OCL
OHT
P2P
P62
PQBIZ
PQBZA
PQQKQ
PROAC
PTHSS
Q2X
RIA
RIC
RIE
RIG
RNI
RNS
RXW
RZB
TAE
TN5
UHB
UKR
UQL
VH1
WH7
YZZ
ZCG
AAYXX
CITATION
F20
7XB
88K
8AL
8FK
JQ2
L.-
M2T
MBDVC
PQEST
PQUKI
PRINS
Q9U
7SC
8FD
L7M
L~C
L~D
7SP
F28
FR3
ID FETCH-LOGICAL-c390t-4f031e2b891a7aa393f3da87e2a2c3f8366fd1d09262c91aa6fd4e82c93759923
IEDL.DBID RIE
ISSN 0740-7459
IngestDate Fri Oct 25 07:44:53 EDT 2024
Fri Oct 25 22:55:17 EDT 2024
Thu Oct 10 19:29:47 EDT 2024
Fri Aug 23 02:41:07 EDT 2024
Mon Nov 04 12:04:31 EST 2024
IsDoiOpenAccess false
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue 2
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c390t-4f031e2b891a7aa393f3da87e2a2c3f8366fd1d09262c91aa6fd4e82c93759923
Notes ObjectType-Article-2
SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 23
OpenAccessLink https://infoscience.epfl.ch/record/83477/files/neg--168129997distprogtypedev-software.pdf
PQID 215842707
PQPubID 23500
PageCount 9
ParticipantIDs proquest_miscellaneous_28786951
crossref_primary_10_1109_MS_2004_1270763
proquest_miscellaneous_896237258
ieee_primary_1270763
proquest_journals_215842707
PublicationCentury 2000
PublicationDate 2004-03-01
PublicationDateYYYYMMDD 2004-03-01
PublicationDate_xml – month: 03
  year: 2004
  text: 2004-03-01
  day: 01
PublicationDecade 2000
PublicationPlace Los Alamitos
PublicationPlace_xml – name: Los Alamitos
PublicationTitle IEEE software
PublicationTitleAbbrev S-M
PublicationYear 2004
Publisher IEEE
IEEE Computer Society
Publisher_xml – name: IEEE
– name: IEEE Computer Society
References kiczales (bibs20561B) 1991
bibs20568
baehni (bibs20565) 2003
bibs20567
bibs205612
bibs205611
oberg (bibs20561A) 2000
bibs20564
bibs20563
eugster (bibs20569) 2001
eugster (bibs205610) 2000
bibs20566
bibs20563A
(bibs20565A) 2002
bibs20562
bibs20568A
freeman (bibs20566A) 1999
(bibs20562A) 2001
bibs20561
bibs20567A
(bibs20564A) 2000
References_xml – ident: bibs205612
  doi: 10.1145/286936.286957
– ident: bibs20568A
  doi: 10.1109/2.825698
– start-page: 252
  year: 2000
  ident: bibs205610
  article-title: distributed asynchronous collections: abstractions for publish and subscribe interaction
  publication-title: Proc 14th European Conf Object-Oriented Programming
  contributor:
    fullname: eugster
– ident: bibs20563
  doi: 10.1145/168619.168624
– year: 2000
  ident: bibs20564A
  publication-title: Notification Service Standalone Document
– year: 1991
  ident: bibs20561B
  publication-title: The Art of the Metaobject Protocol
  doi: 10.7551/mitpress/1405.001.0001
  contributor:
    fullname: kiczales
– start-page: 404
  year: 2003
  ident: bibs20565
  article-title: pragmatic type interoperability
  publication-title: Proc 23rd IEEE Int l Conf Distributed Computing Systems
  contributor:
    fullname: baehni
– ident: bibs20567
  doi: 10.1109/DSN.2002.1028915
– year: 2000
  ident: bibs20561A
  publication-title: Understanding & Programming COM+
  contributor:
    fullname: oberg
– ident: bibs20566
  doi: 10.1145/343477.343622
– ident: bibs20567A
  doi: 10.1109/PDSE.2000.847853
– ident: bibs20562
  doi: 10.1145/2363.2433
– year: 1999
  ident: bibs20566A
  publication-title: JavaSpaces Principles Patterns and Practice
  contributor:
    fullname: freeman
– ident: bibs205611
  doi: 10.1016/0022-0000(78)90014-4
– ident: bibs20564
  doi: 10.1145/227210.227225
– year: 2001
  ident: bibs20562A
  article-title: event service specification
  publication-title: CORBAServices Common Object Services Specification
– ident: bibs20563A
  doi: 10.1145/263698.263734
– year: 2002
  ident: bibs20565A
  publication-title: Java Message Service Specification
– start-page: 254
  year: 2001
  ident: bibs20569
  article-title: on objects and events
  publication-title: Proc 16th ACM Conf Object-Oriented Systems Languages and Applications
  contributor:
    fullname: eugster
– ident: bibs20568
  doi: 10.1145/301308.301326
– ident: bibs20561
  doi: 10.1145/2080.357392
SSID ssj0005130
Score 1.7822545
Snippet The remote-procedure-call abstraction, including its derivates (underlying, for example, Java RMI, CORBA, and .NET), currently represents one of the most...
Whereas the remote-procedure-call (RPC) abstraction, including its derivates such as remote method invocation, has proven to be an adequate programming...
SourceID proquest
crossref
ieee
SourceType Aggregation Database
Publisher
StartPage 56
SubjectTerms Consumers
CORBA (computers)
Decoupling
Distributed computing
Distributed processing
Encapsulation
Filters
Finance
Java
Java (programming language)
Names
Pattern matching
Programming
Proxies
Proxy client servers
Publish-subscribe
Remote procedure calls
Safety
Subscriptions
Sun
Telecommunication computing
SummonAdditionalLinks – databaseName: ProQuest Technology Collection
  dbid: 8FG
  link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV27TsMwFLWgLCy8CiKUhwcGGEwTP2J7QggoFVJZSqVukZM4G2mh7f9z7TgtEoItia8U6fpxju2jexC6pqqwidGMWJEownlsiZaiIAq4q-EWELURyL6lwwl_nYpp0OYsgqyyXRP9Ql3OCndG3gdoUpzKWN7PP4kzjXKXq8FBYxvtJFRKt_dSg5eNwiPxViMAkjGRXOhQ2SeJdX809lvDO3fv6kuA_gAl77Lya2n2eDM4QHuBKOKHpmcP0Zatj9B-a8KAw5zsotsnV_rWuVbZEge11QfgEXYnrNidsJbYV2laHKPJ4Pn9cUiC_wEpmI6XhFcw4yzNlU6MNIZpVrHSKGmpoQWrFEvTqkzK2JX8KyDGwCu3Cp6ZFBqY2wnq1LPaniLMVS5TWwBXsABbhcmFACYkdc65ERWnEbppE5DNmzIXmd8exDobjZ1XJc9CriLUdQnahLWfe23CsjANFtm60yJ0tW6F8esuJUxtZysIUVKlQPMihP-IUBoomqRCnf37ix7abVQ1Th92jjrLr5W9AMKwzC_9sPgGLzK68g
  priority: 102
  providerName: ProQuest
Title Distributed programming with typed events
URI https://ieeexplore.ieee.org/document/1270763
https://www.proquest.com/docview/215842707
https://search.proquest.com/docview/28786951
https://search.proquest.com/docview/896237258
Volume 21
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LT8MwDLbYuHDhNRDjMXrgABIdfSRNcuSxgZCGEGMStypN3QtiQ2y78Otx0naIl8QtbVw1Su36S_zFBjiKpMFQq9hHHkqfsQB9JbjxJWFXzZA8akmQvUtuRuz2iT8tweniLAwiOvIZdm3TxfLziZnbrbIzGyUle2hAQyhVntX6pHOErq4IecTAF4yrKo1PGKizwdCtA7vV4188kCup8uM_7JxLfw0G9bBKTslzdz7Luub9W8bG_457HVYrlOmdl2qxAUs43oS1uoKDVxl0C06ubN5cW_IKc6-iar2QM_Ps9qxnt2dzz6V4mm7BqN97vLzxq-IJvolVMPNZQeaKUSZVqIXWsYqLONdSYKQjExcyTpIiD_PA5gs0JKPpkqGkdiy4Iti3Dc3xZIw74DGZiQQNAQ0kn2d0xjnBKKEyxjQvWNSG43pC09cyR0bq1haBSgdDW-iSpdUUtKFlp-dTrL69V3-AtLKhaUpgRDLb34bDRS8pv41o6DFO5iQihUwII7bB-0NCKsJ3IuJy9_c378FKycWxrLJ9aM7e5nhAMGOWdaAh-9cdWL7o3d0_dJy2fQBJ9M_O
link.rule.ids 315,783,787,799,12777,21400,27936,27937,33385,33386,33756,33757,43612,43817,55086
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV27TsMwFL2CMsDCG1HKIwMDDKZJbMf2hBBQCrRd2krdIidxNtJCy_9z7ToFCcGWx5UiXT_OsX1yD8BlLHMTaUWJ4ZEkjIWGKMFzIpG7amYQUZcC2UHSHbOXCZ94bc7cyyrrOdFN1MU0t3vkbYQmyWIRitvZO7GmUfZw1TtorMMGowjV9kfxztO3wiNyViMIkiERjCtf2ScKVbs_dEvDG3vu6kqA_gAl57Lya2p2eNPZhW1PFIO7ZcvuwZqp9mGnNmEI_Jg8gOsHW_rWulaZIvBqqzfEo8DusAZ2h7UIXJWm-SGMO4-j-y7x_gckpypcEFbiiDNxJlWkhdZU0ZIWWgoT6zinpaRJUhZREdqSfznGaLxlRuI1FVwhczuCRjWtzDEETGYiMTlyBYOwleuMc2RCQmWMaV6yuAlXdQLS2bLMReqWB6FK-0PrVclSn6smHNgEfYfVj1t1wlI_DObpqtGacLF6i_3XHkroykw_MUQKmSDNa0LwR4RUSNFEzOXJv5-4gM3uqN9Le8-D1xZsLRU2Vit2Co3Fx6c5Q_KwyM5dF_kCA_a91A
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Distributed+programming+with+typed+events&rft.jtitle=IEEE+software&rft.au=Eugster%2C+P+T&rft.au=Guerraoui%2C+R&rft.date=2004-03-01&rft.issn=0740-7459&rft.volume=21&rft.issue=2&rft.spage=56&rft.epage=64&rft_id=info:doi/10.1109%2FMS.2004.1270763&rft.externalDBID=NO_FULL_TEXT
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0740-7459&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0740-7459&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0740-7459&client=summon