Toward Unified Web Application Development

Toward Unified Web Application Development

This is an electronic reprint of the original article. This reprint may differ from the original in pagination and typographic detail. Author(s): Laine, M., Shestakov, D., Litvinova, E., and Vuorimaa, P. Title: Toward Unified Web Application Development Year: 2011 Version: Final published version Please cite the original version: Laine, M., Shestakov, D., Litvinova, E., and Vuorimaa, P. (2011). Toward Unified Web Application Development. IT Professional, 13(5), 30-36. DOI: 10.1109/MITP.2011.55 Rights: © 2011 IEEE. Reprited, with permission, from Laine, M., Shestakov, D., Litvinova, E., and Vuorimaa, P. (2011). Toward Unified Web Application Development. IT Professional, 13(5), 30-36. DOI: 10.1109/MITP.2011.55 In reference to IEEE copyrighted material which is used with permission in this dissertation, the IEEE does not endorse any of [university/educational entity's name goes here]'s products or services. Internal or personal use of this material is permitted. If interested in reprinting/republishing IEEE copyrighted material for advertising or promotional purposes or for creating new collective works for resale or redistribution, please go to http://www.ieee.org/publications_standards/publications/rights/rights_link.html to learn how to obtain a License from RightsLink. This publication is included in the electronic version of the article dissertation: Laine, Markku. Unified Web Application Development - A Declarative Approach to Empower End-User Developers. Aalto University publication series DOCTORAL DISSERTATIONS, 6/2018. All material supplied via Aaltodoc is protected by copyright and other intellectual property rights, and duplication or sale of all or part of any of the repository collections is not permitted, except that material may be duplicated by you for your research use or educational purposes in electronic or print form. You must obtain permission for any other use. Electronic or print copies may not be offered, whether for sale or otherwise to anyone who is not an authorised user. Powered by TCPDF (www.tcpdf.org) THE FUTURE OF WEB APPS Toward Unifi ed Web Application Development Markku Laine, Denis Shestakov, Evgenia Litvinova, and Petri Vuorimaa, Aalto University School of Science Web application development in the context of the conventional three-tier architecture is complex, typically requiring a team of experts. Recent Web application architectures and frameworks simplify the development process, potentially turning tier-specific experts into one-person developer teams. raditional Web application develop- Classification of Programming ment requires a good understanding Languages of heterogeneous systems, program- Numerous programming languages have been T ming languages, concepts, and frame- developed over the years. One way of better un- works. For example, in a Web application based derstanding their similarities and differences is on the conventional three-tier architecture,1 the to classify them into a hierarchy of paradigms presentation (user interface), logic (server), and based on their computation model. Typically, data (data management) tiers are all authored top-level classification comprises two paradigms— using conceptually different programming imperative (such as C, Java, and JavaScript) and languages.2 declarative (such as CSS, HTML, and SQL)— Novel Web application architectures have which we can further divide into subparadigms, emerged that aim to reduce this complexity as shown in Figure 1.3 by expanding the concepts used on a single The main difference between the two top-level tier to cover all three tiers. In addition to re- paradigms is that declarative languages specify ducing the amount of required knowledge and what a program should do (the desired results), simplifying the development process, these ar- rather than how to do it (the algorithms needed chitectural approaches also allow tier-specific to achieve the results). This higher abstrac- experts to author an entire Web application on tion level makes declarative languages easier their own. to reason about and raises their semantic level. 30 IT Pro September/October 2011 Published by the IEEE Computer Society 1520-9202/11/$26.00 © 2011 IEEE Programming language paradigms Imperative languages, on the other hand, have more expressive power Imperative Declarative but are generally harder to use and understand.4 This classification of Object- Parallel top-level paradigms isn’t absolute Procedural Logic Functional Database though—some programming lan- based processing guages are more declarative than • C • Java • Java • Prolog • Lisp • SQL others, and some even support multi- ple paradigms. Figure 1. A hierarchy of programming language paradigms (based 3 Another notable difference be- on Doris Appleby and Julius VandeKopple’s work ). The top-level tween imperative and declarative lan- classification comprises two paradigms—imperative and declarative. guages is their scope of use. Typically, imperative languages (such as C and Java) are more general-purpose and applicable for data tiers) makes the development process more solving a variety of problems, whereas declara- complex.5 tive languages are more applicable for solving One way of simplifying the development domain-specific problems, such as defining the process is to expand what is normally used on structure (HTML) or styling (CSS) of a webpage, a single tier to cover all three tiers. An author or managing data (SQL) stored in a relational could also select a single programming language database. This, of course, makes a certain de- and paradigm (imperative or declarative) from a clarative lang uage a good fit for solving the prob- specific tier to use throughout the entire Web lems for which it was specifically designed and a application. poor fit for others because it lacks expressiveness in that domain. Expanding the Presentation Tier: XFormsDB The Evolution of Web A Web designer working on the presentation tier Application Architectures is, as a rule, familiar with declarative XHTML As Figure 2a shows, authors (that is, Web de- and CSS but not skillful in the server-side aspects signers, Web developers, and database experts) of a Web application. Such an expert can ben- implement a typical Web application’s presenta- efit from an architectural approach expanding tion tier using declarative XHTML, combined a presentation-centric language with common with imperative JavaScript to provide additional server-side and database-related functionality. interactivity. They implement the application XFormsDB (developed by Markku Laine, http:// logic residing on the server side using an object- code.google.com/p/xformsdb) is an example of oriented imperative language, such as Java, Ruby, presentation-centric architectural expansion.6 or PHP. They carry out communication between The idea behind the declarative XFormsDB these two tiers using declarative formats (for ex- markup language7 is to naturally extend XForms ample, XML or JSON—JavaScript Object No- (see the sidebar) with the most common server- tation) and the Ajax technique. Finally, on the side and database-related functionality (see undermost tier of the application—that is, the Figure 2b) so authors no longer have to resort data tier—they use either an object-relational to imperative client-side scripting or server-side mapping (ORM) library or declarative SQL programming languages. To manage the data statements to manage data stored in a relational stored in data sources, XFormsDB uses de- database. clarative XPath, but it also lets authors use the The problem with this conventional archi- declara tive XQuery to execute more complex que- tecture is that it requires different tier-specific ries (see the sidebar). The XFormsDB framework experts because of the various programming is bundled with the Apache Tomcat Web server, languages, programming paradigms, and data the eXist-db native XML database,8 and the models on each tier. In addition, the partition- Orbeon Forms Ajax-based server-side XForms pro- ing of a Web application between the client cessor, which can transform requested webpages (presentation tier) and the server (logic and into cross-browser JavaScript and HTML files. computer.org/ITPro 31 THE FUTURE OF WEB APPS XHTML+ Presentation XML XForms XForms Logic XML XForms Presentation Data XML (XPath) (b) XML+ XHTML+ Presentation JavaScript JSON XHTML+ Presentation Object- Java oriented Object- Object- Java/Ruby/PHP Logic Logic Java Logic oriented oriented Java Object- Data (ORM) oriented SQL/ORM Data Relational (c) (a) Data XHTML+ Presentation XML XQuery XQuery Logic XML XQuery Data XML (d) Figure 2. Presentation, logic, and data-centric approaches for expanding (a) the conventional three-tier Web application architecture. Different Web application frameworks exist for each tier: (b) XFormsDB expands the presentation tier, (c) the Google Web Toolkit is for the logic tier, and (d) Sausalito expands the data tier. For each architecture, technologies appear on the left and data models are on the right. Expanding the Logic Tier: imperative Java—beyond its intended scope so The Google Web Toolkit that it can be used not only to author the server- A Web developer working on the logic tier pos- side application logic but also a Web application sesses excellent technical knowledge but doesn’t user interface (see Figure 2c). (Authors could necessarily have the need or motivation to imple- also use XHTML to create the user interface). ment a fancy user interface for a Web application. When a GWT-based Web application

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us