SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Extending XForms with
Server-Side Functionality
Markku Laine, Denis Shestakov, Petri Vuorimaa
Aalto University
Finland




                           The 27th ACM Symposium on Applied Computing (SAC'12)
                                                      Riva del Garda, Trento, Italy
                                                                March 26-30, 2012
Presentation is about...


     Web application architectures
     XML technologies
     End-user programming




                              2
Presentation Outline


     Introduction
     Proposed approach
     Proposed XForms server-side extensions
     The XFormsDB framework
     Conclusions




                            3
Introduction




        4
Three-Tier Web Application Architecture



                Presentation



                   Logic



                   Data



                           5
Conventional Web Application Architecture



            (X)HTML
                        Presentation
          JavaScript


 Java / Ruby / Python      Logic



                SQL        Data



                                   6
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
Problems with the Architecture


     Multiple programming languages
     Multiple data models
     Multi-paradigm approach

      Makes the development of entire Web
       applications extremely complex




                            8
How could we simplify the
     architecture?

   ...and as a result...

turn more people into Web
       developers.
                9
Proposed Approach




          10
Proposed Approach


    One programming language
    One data model
    One paradigm approach

     Unified Web application architecture




                             11
Proposed Approach


    "Everyone" knows (X)HTML, right?

     Let's use it as the base language




                             12
What about interaction?




             13
Proposed Approach


    Prefer XForms over JavaScript

     XForms is even part of XHTML 2.0!




                            14
XForms Web Application Architecture



       XHTML
                Presentation    XML
       XForms



                   Logic



                   Data



                           15
Proposed Web Application Architecture



       XHTML
                 Presentation    XML
       XForms


       XForms       Logic        XML



       XForms
                    Data         XML
       (XPath)



                            16
Proposed Web Application Architecture



       XHTML
                 Presentation    XML
       XForms


       XForms       Logic        XML



       XForms
                    Data         XML
       (XPath)



                            17
Proposed XForms
Server-Side Extensions




             18
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
<?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
The XFormsDB Framework




            21
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
Evaluation: Web Applications and Widgets




                      23
Conclusions




       24
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
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 WEBIST'12, pages xxx-xxx, 2012.

                                 26
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

Weitere ähnliche Inhalte

Andere mochten auch

Buletin informativ IMI PQ NET nr.14
Buletin informativ IMI PQ NET nr.14Buletin informativ IMI PQ NET nr.14
Buletin informativ IMI PQ NET nr.14
IMI PQ NET Romania
 
Buletin informativ imi_pq_net_nr_18
Buletin informativ imi_pq_net_nr_18Buletin informativ imi_pq_net_nr_18
Buletin informativ imi_pq_net_nr_18
IMI PQ NET Romania
 
Newsletter 16 imi-pq-net 2012-11
Newsletter 16 imi-pq-net 2012-11Newsletter 16 imi-pq-net 2012-11
Newsletter 16 imi-pq-net 2012-11
IMI PQ NET Romania
 
Webanalisten congres 2014 expert sessie conversie optimalisatie
Webanalisten congres 2014   expert sessie conversie optimalisatieWebanalisten congres 2014   expert sessie conversie optimalisatie
Webanalisten congres 2014 expert sessie conversie optimalisatie
StormMC
 

Andere mochten auch (14)

MEN - IMI PQ questions list
MEN - IMI PQ questions listMEN - IMI PQ questions list
MEN - IMI PQ questions list
 
Proiect
ProiectProiect
Proiect
 
Building Loyalty through Customer Service
Building Loyalty through Customer ServiceBuilding Loyalty through Customer Service
Building Loyalty through Customer Service
 
Buletin informativ IMI PQ NET nr.14
Buletin informativ IMI PQ NET nr.14Buletin informativ IMI PQ NET nr.14
Buletin informativ IMI PQ NET nr.14
 
Partnership For Safety
Partnership For SafetyPartnership For Safety
Partnership For Safety
 
Granerror
GranerrorGranerror
Granerror
 
Granizada En Bogotá (Nov.3 2007)
Granizada En Bogotá (Nov.3 2007)Granizada En Bogotá (Nov.3 2007)
Granizada En Bogotá (Nov.3 2007)
 
Buletin informativ imi_pq_net_nr_18
Buletin informativ imi_pq_net_nr_18Buletin informativ imi_pq_net_nr_18
Buletin informativ imi_pq_net_nr_18
 
Sustainability And Waste - A UK Retail Perspective Oct 08
Sustainability And Waste - A UK Retail Perspective Oct 08Sustainability And Waste - A UK Retail Perspective Oct 08
Sustainability And Waste - A UK Retail Perspective Oct 08
 
Developing social media guidelines for education, training and change managem...
Developing social media guidelines for education, training and change managem...Developing social media guidelines for education, training and change managem...
Developing social media guidelines for education, training and change managem...
 
2015 retail sustainability report
2015 retail sustainability report2015 retail sustainability report
2015 retail sustainability report
 
Newsletter 16 imi-pq-net 2012-11
Newsletter 16 imi-pq-net 2012-11Newsletter 16 imi-pq-net 2012-11
Newsletter 16 imi-pq-net 2012-11
 
Nameshapers food service network workshops 15 02-2012 (belgië) handout
Nameshapers food service network workshops 15 02-2012 (belgië) handoutNameshapers food service network workshops 15 02-2012 (belgië) handout
Nameshapers food service network workshops 15 02-2012 (belgië) handout
 
Webanalisten congres 2014 expert sessie conversie optimalisatie
Webanalisten congres 2014   expert sessie conversie optimalisatieWebanalisten congres 2014   expert sessie conversie optimalisatie
Webanalisten congres 2014 expert sessie conversie optimalisatie
 

Ähnlich wie Extending XForms with Server-Side Functionality

Net framework
Net frameworkNet framework
Net framework
sumit1503
 
XForms for Metadata Creation
XForms for Metadata CreationXForms for Metadata Creation
XForms for Metadata Creation
mw_park
 
Srinivasan resume updated
Srinivasan resume updatedSrinivasan resume updated
Srinivasan resume updated
Srinivasan V N
 
Java application server in the cloud
Java application server in the cloudJava application server in the cloud
Java application server in the cloud
adm_exoplatform
 
S1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 finalS1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 final
gasbillet
 
S1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 finalS1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 final
gasbillet
 
Web Technology Management Lecture III
Web Technology Management Lecture IIIWeb Technology Management Lecture III
Web Technology Management Lecture III
sopekmir
 

Ähnlich wie Extending XForms with Server-Side Functionality (20)

XRX Presentation to Minnesota OTUG
XRX Presentation to Minnesota OTUGXRX Presentation to Minnesota OTUG
XRX Presentation to Minnesota OTUG
 
Net framework
Net frameworkNet framework
Net framework
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe Flex
 
XML Amsterdam 2012 Keynote
XML Amsterdam 2012 KeynoteXML Amsterdam 2012 Keynote
XML Amsterdam 2012 Keynote
 
XForms for Metadata creation
XForms for Metadata creationXForms for Metadata creation
XForms for Metadata creation
 
XForms for Metadata Creation
XForms for Metadata CreationXForms for Metadata Creation
XForms for Metadata Creation
 
Srinivasan resume updated
Srinivasan resume updatedSrinivasan resume updated
Srinivasan resume updated
 
Java application server in the cloud
Java application server in the cloudJava application server in the cloud
Java application server in the cloud
 
XML Sapiens unified site-building concept in focus of XML/PHP
XML Sapiens unified site-building concept in focus of XML/PHPXML Sapiens unified site-building concept in focus of XML/PHP
XML Sapiens unified site-building concept in focus of XML/PHP
 
S1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 finalS1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 final
 
S1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 finalS1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 final
 
Flex and .NET Integration
Flex and .NET IntegrationFlex and .NET Integration
Flex and .NET Integration
 
Flex Rails Pres
Flex Rails PresFlex Rails Pres
Flex Rails Pres
 
The Magic's in the Glue: Daniela Florescu Presentation on XQuery and the Cloud
The Magic's in the Glue:  Daniela Florescu Presentation on XQuery and the CloudThe Magic's in the Glue:  Daniela Florescu Presentation on XQuery and the Cloud
The Magic's in the Glue: Daniela Florescu Presentation on XQuery and the Cloud
 
Web Technology Management Lecture III
Web Technology Management Lecture IIIWeb Technology Management Lecture III
Web Technology Management Lecture III
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
 
Social Learning and Knowledge Sharing Technologies Lecture Slides about Socia...
Social Learning and Knowledge Sharing Technologies Lecture Slides about Socia...Social Learning and Knowledge Sharing Technologies Lecture Slides about Socia...
Social Learning and Knowledge Sharing Technologies Lecture Slides about Socia...
 
X internet framework
X internet frameworkX internet framework
X internet framework
 
soa1.ppt
soa1.pptsoa1.ppt
soa1.ppt
 

Mehr von Markku Laine

Responsive and Personalized Web Layouts with Integer Programming
Responsive and Personalized Web Layouts with Integer ProgrammingResponsive and Personalized Web Layouts with Integer Programming
Responsive and Personalized Web Layouts with Integer Programming
Markku Laine
 
Layout as a Service (LaaS): A Service Platform for Self-Optimizing Web Layouts
Layout as a Service (LaaS): A Service Platform for Self-Optimizing Web LayoutsLayout as a Service (LaaS): A Service Platform for Self-Optimizing Web Layouts
Layout as a Service (LaaS): A Service Platform for Self-Optimizing Web Layouts
Markku Laine
 

Mehr von Markku Laine (9)

Responsive and Personalized Web Layouts with Integer Programming
Responsive and Personalized Web Layouts with Integer ProgrammingResponsive and Personalized Web Layouts with Integer Programming
Responsive and Personalized Web Layouts with Integer Programming
 
Layout as a Service (LaaS): A Service Platform for Self-Optimizing Web Layouts
Layout as a Service (LaaS): A Service Platform for Self-Optimizing Web LayoutsLayout as a Service (LaaS): A Service Platform for Self-Optimizing Web Layouts
Layout as a Service (LaaS): A Service Platform for Self-Optimizing Web Layouts
 
Monitoring the Spreading of Infectious Diseases in Finland
Monitoring the Spreading of Infectious Diseases in FinlandMonitoring the Spreading of Infectious Diseases in Finland
Monitoring the Spreading of Infectious Diseases in Finland
 
XIDE: Expanding End-User Web Development
XIDE: Expanding End-User Web DevelopmentXIDE: Expanding End-User Web Development
XIDE: Expanding End-User Web Development
 
Connecting XForms to Databases: An Extension to the XForms Markup Language
Connecting XForms to Databases: An Extension to the XForms Markup LanguageConnecting XForms to Databases: An Extension to the XForms Markup Language
Connecting XForms to Databases: An Extension to the XForms Markup Language
 
Editable Documents on the Web
Editable Documents on the WebEditable Documents on the Web
Editable Documents on the Web
 
Local Storage for Web Applications
Local Storage for Web ApplicationsLocal Storage for Web Applications
Local Storage for Web Applications
 
Performance Evaluation of XMPP on the Web
Performance Evaluation of XMPP on the WebPerformance Evaluation of XMPP on the Web
Performance Evaluation of XMPP on the Web
 
Web Services for the Internet of Things
Web Services for the Internet of ThingsWeb Services for the Internet of Things
Web Services for the Internet of Things
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Extending XForms with Server-Side Functionality

  • 1. Extending XForms with Server-Side Functionality Markku Laine, Denis Shestakov, Petri Vuorimaa Aalto University Finland The 27th ACM Symposium on Applied Computing (SAC'12) 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
  • 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
  • 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?  Let's use it as the base language 12
  • 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
  • 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
  • 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
  • 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 WEBIST'12, 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