A Survey of Multitier Programming

Multitier programming deals with developing the components that pertain to different tiers in the system (e.g., client and server), mixing them in the same compilation unit. In this paradigm, the code for different tiers is then either generated at run time or it results from the compiler splitting...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:ACM computing surveys 2020-09, Vol.53 (4), p.1-35
Hauptverfasser: Weisenburger, Pascal, Wirth, Johannes, Salvaneschi, Guido
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 35
container_issue 4
container_start_page 1
container_title ACM computing surveys
container_volume 53
creator Weisenburger, Pascal
Wirth, Johannes
Salvaneschi, Guido
description Multitier programming deals with developing the components that pertain to different tiers in the system (e.g., client and server), mixing them in the same compilation unit. In this paradigm, the code for different tiers is then either generated at run time or it results from the compiler splitting the codebase into components that belong to different tiers based on user annotations, static analysis, types, or a combination of these. In the Web context, multitier languages aim at reducing the distinction between client and server code, by translating the code that is to be executed on the clients to JavaScript or by executing JavaScript on the server, too. Ultimately, the goal of the multitier approach is to improve program comprehension, simplify maintenance and enable formal reasoning about the properties of the whole distributed application. A number of multitier research languages have been proposed over the last decade, which support various degrees of multitier programming and explore different design tradeoffs. In this article, we provide an overview of the existing solutions, discuss their positioning in the design space, and outline open research problems.
doi_str_mv 10.1145/3397495
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2501492152</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2501492152</sourcerecordid><originalsourceid>FETCH-LOGICAL-c286t-72534503ecc306a6c58359b64a31911a3f1149f19d65a8e4a071391b2cb706cf3</originalsourceid><addsrcrecordid>eNotj8tKAzEUhoMoOFbxFUZcuBo9JyeXybIUq0JFQV2HTEzKlLZTkxmhb-9Iu_o3339j7BrhHlHIByKjhZEnrEApdaVJ4CkrgBRUQADn7CLnFQBwgapgN9PyY0i_YV92sXwd1n3btyGV76lbJrfZtNvlJTuLbp3D1VEn7Gv--Dl7rhZvTy-z6aLyvFZ9pbkkIYGC9wTKKS9rkqZRwhEaREdxXGcimm8lXR2EA41ksOG-0aB8pAm7PeTuUvczhNzbVTek7VhpuYTRy1Hykbo7UD51OacQ7S61G5f2FsH-_7fH__QHh4RI3w</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2501492152</pqid></control><display><type>article</type><title>A Survey of Multitier Programming</title><source>ACM Digital Library Complete</source><creator>Weisenburger, Pascal ; Wirth, Johannes ; Salvaneschi, Guido</creator><creatorcontrib>Weisenburger, Pascal ; Wirth, Johannes ; Salvaneschi, Guido</creatorcontrib><description>Multitier programming deals with developing the components that pertain to different tiers in the system (e.g., client and server), mixing them in the same compilation unit. In this paradigm, the code for different tiers is then either generated at run time or it results from the compiler splitting the codebase into components that belong to different tiers based on user annotations, static analysis, types, or a combination of these. In the Web context, multitier languages aim at reducing the distinction between client and server code, by translating the code that is to be executed on the clients to JavaScript or by executing JavaScript on the server, too. Ultimately, the goal of the multitier approach is to improve program comprehension, simplify maintenance and enable formal reasoning about the properties of the whole distributed application. A number of multitier research languages have been proposed over the last decade, which support various degrees of multitier programming and explore different design tradeoffs. In this article, we provide an overview of the existing solutions, discuss their positioning in the design space, and outline open research problems.</description><identifier>ISSN: 0360-0300</identifier><identifier>EISSN: 1557-7341</identifier><identifier>DOI: 10.1145/3397495</identifier><language>eng</language><publisher>Baltimore: Association for Computing Machinery</publisher><subject>Annotations ; Computer science ; Languages ; Servers</subject><ispartof>ACM computing surveys, 2020-09, Vol.53 (4), p.1-35</ispartof><rights>Copyright Association for Computing Machinery Sep 2020</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c286t-72534503ecc306a6c58359b64a31911a3f1149f19d65a8e4a071391b2cb706cf3</citedby><cites>FETCH-LOGICAL-c286t-72534503ecc306a6c58359b64a31911a3f1149f19d65a8e4a071391b2cb706cf3</cites><orcidid>0000-0003-1288-1485</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27915,27916</link.rule.ids></links><search><creatorcontrib>Weisenburger, Pascal</creatorcontrib><creatorcontrib>Wirth, Johannes</creatorcontrib><creatorcontrib>Salvaneschi, Guido</creatorcontrib><title>A Survey of Multitier Programming</title><title>ACM computing surveys</title><description>Multitier programming deals with developing the components that pertain to different tiers in the system (e.g., client and server), mixing them in the same compilation unit. In this paradigm, the code for different tiers is then either generated at run time or it results from the compiler splitting the codebase into components that belong to different tiers based on user annotations, static analysis, types, or a combination of these. In the Web context, multitier languages aim at reducing the distinction between client and server code, by translating the code that is to be executed on the clients to JavaScript or by executing JavaScript on the server, too. Ultimately, the goal of the multitier approach is to improve program comprehension, simplify maintenance and enable formal reasoning about the properties of the whole distributed application. A number of multitier research languages have been proposed over the last decade, which support various degrees of multitier programming and explore different design tradeoffs. In this article, we provide an overview of the existing solutions, discuss their positioning in the design space, and outline open research problems.</description><subject>Annotations</subject><subject>Computer science</subject><subject>Languages</subject><subject>Servers</subject><issn>0360-0300</issn><issn>1557-7341</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2020</creationdate><recordtype>article</recordtype><recordid>eNotj8tKAzEUhoMoOFbxFUZcuBo9JyeXybIUq0JFQV2HTEzKlLZTkxmhb-9Iu_o3339j7BrhHlHIByKjhZEnrEApdaVJ4CkrgBRUQADn7CLnFQBwgapgN9PyY0i_YV92sXwd1n3btyGV76lbJrfZtNvlJTuLbp3D1VEn7Gv--Dl7rhZvTy-z6aLyvFZ9pbkkIYGC9wTKKS9rkqZRwhEaREdxXGcimm8lXR2EA41ksOG-0aB8pAm7PeTuUvczhNzbVTek7VhpuYTRy1Hykbo7UD51OacQ7S61G5f2FsH-_7fH__QHh4RI3w</recordid><startdate>20200901</startdate><enddate>20200901</enddate><creator>Weisenburger, Pascal</creator><creator>Wirth, Johannes</creator><creator>Salvaneschi, Guido</creator><general>Association for Computing Machinery</general><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><orcidid>https://orcid.org/0000-0003-1288-1485</orcidid></search><sort><creationdate>20200901</creationdate><title>A Survey of Multitier Programming</title><author>Weisenburger, Pascal ; Wirth, Johannes ; Salvaneschi, Guido</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c286t-72534503ecc306a6c58359b64a31911a3f1149f19d65a8e4a071391b2cb706cf3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2020</creationdate><topic>Annotations</topic><topic>Computer science</topic><topic>Languages</topic><topic>Servers</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Weisenburger, Pascal</creatorcontrib><creatorcontrib>Wirth, Johannes</creatorcontrib><creatorcontrib>Salvaneschi, Guido</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>ACM computing surveys</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Weisenburger, Pascal</au><au>Wirth, Johannes</au><au>Salvaneschi, Guido</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>A Survey of Multitier Programming</atitle><jtitle>ACM computing surveys</jtitle><date>2020-09-01</date><risdate>2020</risdate><volume>53</volume><issue>4</issue><spage>1</spage><epage>35</epage><pages>1-35</pages><issn>0360-0300</issn><eissn>1557-7341</eissn><abstract>Multitier programming deals with developing the components that pertain to different tiers in the system (e.g., client and server), mixing them in the same compilation unit. In this paradigm, the code for different tiers is then either generated at run time or it results from the compiler splitting the codebase into components that belong to different tiers based on user annotations, static analysis, types, or a combination of these. In the Web context, multitier languages aim at reducing the distinction between client and server code, by translating the code that is to be executed on the clients to JavaScript or by executing JavaScript on the server, too. Ultimately, the goal of the multitier approach is to improve program comprehension, simplify maintenance and enable formal reasoning about the properties of the whole distributed application. A number of multitier research languages have been proposed over the last decade, which support various degrees of multitier programming and explore different design tradeoffs. In this article, we provide an overview of the existing solutions, discuss their positioning in the design space, and outline open research problems.</abstract><cop>Baltimore</cop><pub>Association for Computing Machinery</pub><doi>10.1145/3397495</doi><tpages>35</tpages><orcidid>https://orcid.org/0000-0003-1288-1485</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0360-0300
ispartof ACM computing surveys, 2020-09, Vol.53 (4), p.1-35
issn 0360-0300
1557-7341
language eng
recordid cdi_proquest_journals_2501492152
source ACM Digital Library Complete
subjects Annotations
Computer science
Languages
Servers
title A Survey of Multitier Programming
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-15T01%3A54%3A36IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=A%20Survey%20of%20Multitier%20Programming&rft.jtitle=ACM%20computing%20surveys&rft.au=Weisenburger,%20Pascal&rft.date=2020-09-01&rft.volume=53&rft.issue=4&rft.spage=1&rft.epage=35&rft.pages=1-35&rft.issn=0360-0300&rft.eissn=1557-7341&rft_id=info:doi/10.1145/3397495&rft_dat=%3Cproquest_cross%3E2501492152%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2501492152&rft_id=info:pmid/&rfr_iscdi=true