SlideShare a Scribd company logo
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

More Related Content

Viewers also liked

Building Loyalty through Customer Service
Building Loyalty through Customer ServiceBuilding Loyalty through Customer Service
Building Loyalty through Customer Service
Maximizer Software
 
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.14IMI PQ NET Romania
 
Partnership For Safety
Partnership For SafetyPartnership For Safety
Partnership For Safety
Jim Jenness
 
Granizada En Bogotá (Nov.3 2007)
Granizada En Bogotá (Nov.3 2007)Granizada En Bogotá (Nov.3 2007)
Granizada En Bogotá (Nov.3 2007)
juan ordonez
 
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_18IMI PQ NET Romania
 
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
Jane Milne
 
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...
UBC eHealth Strategy Office
 
2015 retail sustainability report
2015 retail sustainability report2015 retail sustainability report
2015 retail sustainability report
Sustainable Brands
 
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-11IMI PQ NET Romania
 
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
Nameshapers
 
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 optimalisatieStormMC
 

Viewers also liked (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
 

Similar to Extending XForms with Server-Side Functionality

XRX Presentation to Minnesota OTUG
XRX Presentation to Minnesota OTUGXRX Presentation to Minnesota OTUG
XRX Presentation to Minnesota OTUG
Optum
 
Net framework
Net frameworkNet framework
Net frameworksumit1503
 
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
Matthias Zeller
 
XML Amsterdam 2012 Keynote
XML Amsterdam 2012 KeynoteXML Amsterdam 2012 Keynote
XML Amsterdam 2012 Keynote
jimfuller2009
 
XForms for Metadata creation
XForms for Metadata creationXForms for Metadata creation
XForms for Metadata creation
eby
 
XForms for Metadata Creation
XForms for Metadata CreationXForms for Metadata Creation
XForms for Metadata Creationmw_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 cloudadm_exoplatform
 
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
rglab
 
S1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 finalS1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 finalgasbillet
 
S1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 finalS1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 finalgasbillet
 
Flex and .NET Integration
Flex and .NET IntegrationFlex and .NET Integration
Flex and .NET Integration
icaraion
 
Flex Rails Pres
Flex Rails PresFlex Rails Pres
Flex Rails Pres
philipsexton
 
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
Dave Kellogg
 
Web Technology Management Lecture III
Web Technology Management Lecture IIIWeb Technology Management Lecture III
Web Technology Management Lecture IIIsopekmir
 
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
Ido Flatow
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
Shean McManus
 
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...
Multimedia Communications Lab
 
X internet framework
X internet frameworkX internet framework
X internet framework
Neha Malik
 

Similar to 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
 

More from 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
 
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
Markku Laine
 
XIDE: Expanding End-User Web Development
XIDE: Expanding End-User Web DevelopmentXIDE: Expanding End-User Web Development
XIDE: Expanding End-User Web Development
Markku Laine
 
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
Markku Laine
 
Editable Documents on the Web
Editable Documents on the WebEditable Documents on the Web
Editable Documents on the Web
Markku Laine
 
Local Storage for Web Applications
Local Storage for Web ApplicationsLocal Storage for Web Applications
Local Storage for Web Applications
Markku Laine
 
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
Markku Laine
 
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
Markku Laine
 

More from 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
 

Recently uploaded

By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 

Recently uploaded (20)

By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 

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