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...
Saved in:
Published in | IEEE software Vol. 21; no. 2; pp. 56 - 64 |
---|---|
Main Authors | , |
Format | Journal Article |
Language | English |
Published |
Los Alamitos
IEEE
01.03.2004
IEEE Computer Society |
Subjects | |
Online Access | Get 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 |