Your SlideShare is downloading. ×
0
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Extending XForms with Server-Side Functionality

1,339

Published on

My presentation at the 27th ACM Symposium on Applied Computing (SAC'12). …

My presentation at the 27th ACM Symposium on Applied Computing (SAC'12).
by Markku Laine, http://www.tinyurl.com/mplaine

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,339
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Extending XForms withServer-Side FunctionalityMarkku Laine, Denis Shestakov, Petri VuorimaaAalto UniversityFinland The 27th ACM Symposium on Applied Computing (SAC12) Riva del Garda, Trento, Italy March 26-30, 2012
  • 2. Presentation is about... Web application architectures XML technologies End-user programming 2
  • 3. Presentation Outline Introduction Proposed approach Proposed XForms server-side extensions The XFormsDB framework Conclusions 3
  • 4. Introduction 4
  • 5. Three-Tier Web Application Architecture Presentation Logic Data 5
  • 6. Conventional Web Application Architecture (X)HTML Presentation JavaScript Java / Ruby / Python Logic SQL Data 6
  • 7. Conventional Web Application Architecture (X)HTML XML Presentation JavaScript JSON Object-JSON Mapper Java / Ruby / Python Logic Object Object-Relational Mapper SQL Data Relational 7
  • 8. Problems with the Architecture Multiple programming languages Multiple data models Multi-paradigm approach  Makes the development of entire Web applications extremely complex 8
  • 9. How could we simplify the architecture? ...and as a result...turn more people into Web developers. 9
  • 10. Proposed Approach 10
  • 11. Proposed Approach One programming language One data model One paradigm approach  Unified Web application architecture 11
  • 12. Proposed Approach "Everyone" knows (X)HTML, right?  Lets use it as the base language 12
  • 13. What about interaction? 13
  • 14. Proposed Approach Prefer XForms over JavaScript  XForms is even part of XHTML 2.0! 14
  • 15. XForms Web Application Architecture XHTML Presentation XML XForms Logic Data 15
  • 16. Proposed Web Application Architecture XHTML Presentation XML XForms XForms Logic XML XForms Data XML (XPath) 16
  • 17. Proposed Web Application Architecture XHTML Presentation XML XForms XForms Logic XML XForms Data XML (XPath) 17
  • 18. Proposed XFormsServer-Side Extensions 18
  • 19. Proposed XForms Server-Side Extensions Definition of Server-Side Requests Submission of Server-Side Requests Notification about Server-Side Errors Permission Management Reuse of Code Fragments  Seamless integration with XForms 19
  • 20. <?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml" ...> <head> <title>Notes</title> <xformsdb:include resource="xinc/meta.xinc" /> <xforms:model> <xforms:instance id="notes"> <dummy xmlns="" /> </xforms:instance> <xformsdb:instance id="select-notes"> <xformsdb:query datasrc="notes"> <xformsdb:expression>/root/notes</xformsdb:expression> </xformsdb:query> </xformsdb:instance> <xformsdb:submission id="sub-select-notes" replace="instance" instance="notes" requestinstance="select-notes" /> <xforms:send submission="sub-select-notes" ev:event="xforms-ready" /> </xforms:model> </head> <body> ... </body></html> 20
  • 21. The XFormsDB Framework 21
  • 22. The XFormsDB Framework Implements the proposed extensions Supports all major Web browsers Supports various data sources Supports extensibility on all three tiers Open source! 22
  • 23. Evaluation: Web Applications and Widgets 23
  • 24. Conclusions 24
  • 25. Conclusions• Entire Web applications can be developed using only one programming paradigm, language, and data model – Simplifies the architecture• Presentation tier technologies provide a good basis for the architecture – Especially markup languages (e.g., (X)HTML) due to their wide adoption and ease of use• Our proposed approach is based on XForms – Only a few new elements, good XML knowledge is needed• The implementing framework, XFormsDB, suits well for developing small- and medium-sized Web applications and widgets 25
  • 26. Related Work• Kuuskeri, J. and Mikkonen, T. “REST Inspired Code Partitioning with a JavaScript Middleware”. In Proceedings of ICWE’10, pages 244-255, 2010.• Fourny, F. et al. “XQuery in the Browser”. In Proceedings of WWW’09, pages 1011-1020, 2009.• Laine, M. et al. “Toward Unified Web Application Development”. In IT Professional, Vol. 13, No. 5, pages 30-36, 2011.• Litvinova, E., Laine, M., and Vuorimaa, P. “XIDE: Expanding End-User Web Development”. In Proceedings of WEBIST12, pages xxx-xxx, 2012. 26
  • 27. Thank you for your attention! Markku Laine M.Sc. (Tech.), Ph.D. student +358 50 565 8179 markku.laine@aalto.fi http://media.tkk.fi/webservices/personnel/markku_laine.html 27

×