Suche senden
Hochladen
EXPath: the packaging system and the webapp framework
•
Als ODP, PDF herunterladen
•
0 gefällt mir
•
601 views
Florent Georges
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 32
Jetzt herunterladen
Empfohlen
Sax Dom Tutorial
Sax Dom Tutorial
vikram singh
File upload php
File upload php
sana mateen
Php Applications with Oracle by Kuassi Mensah
Php Applications with Oracle by Kuassi Mensah
PHP Barcelona Conference
4 sw architectures and sparql
4 sw architectures and sparql
Mariano Rodriguez-Muro
Class 1 - World Wide Web Introduction
Class 1 - World Wide Web Introduction
Ahmed Swilam
Java and XML
Java and XML
Raji Ghawi
LATEX and BEAMER for Beginners
LATEX and BEAMER for Beginners
Tilak Devaraj
File Uploading in PHP
File Uploading in PHP
Idrees Hussain
Empfohlen
Sax Dom Tutorial
Sax Dom Tutorial
vikram singh
File upload php
File upload php
sana mateen
Php Applications with Oracle by Kuassi Mensah
Php Applications with Oracle by Kuassi Mensah
PHP Barcelona Conference
4 sw architectures and sparql
4 sw architectures and sparql
Mariano Rodriguez-Muro
Class 1 - World Wide Web Introduction
Class 1 - World Wide Web Introduction
Ahmed Swilam
Java and XML
Java and XML
Raji Ghawi
LATEX and BEAMER for Beginners
LATEX and BEAMER for Beginners
Tilak Devaraj
File Uploading in PHP
File Uploading in PHP
Idrees Hussain
WEB PROGRAMMING UNIT IV NOTES BY BHAVSINGH MALOTH
WEB PROGRAMMING UNIT IV NOTES BY BHAVSINGH MALOTH
Bhavsingh Maloth
Object Relational Mapping in PHP
Object Relational Mapping in PHP
Rob Knight
Session 24 - JDBC, Intro to Enterprise Java
Session 24 - JDBC, Intro to Enterprise Java
PawanMM
Jdom how it works & how it opened the java process
Jdom how it works & how it opened the java process
Hicham QAISSI
EKON 12 Running OpenLDAP
EKON 12 Running OpenLDAP
Max Kleiner
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Marco Gralike
28 networking
28 networking
Ravindra Rathore
Java JDBC
Java JDBC
Jussi Pohjolainen
LaTeX Tutorial
LaTeX Tutorial
Tai Lun Tseng
Play framework training by Neelkanth Sachdeva @ Scala traits event , New Delh...
Play framework training by Neelkanth Sachdeva @ Scala traits event , New Delh...
Knoldus Inc.
Everything you ever wanted to know about lotus script
Everything you ever wanted to know about lotus script
Bill Buchan
XML Tools for Perl
XML Tools for Perl
Geir Aalberg
Linq To The Enterprise
Linq To The Enterprise
Daniel Egan
URL Class in JAVA
URL Class in JAVA
Ramasubbu .P
Exported resources design patterns
Exported resources design patterns
Yevgeny Trachtinov
Pf cs102 programming-8 [file handling] (1)
Pf cs102 programming-8 [file handling] (1)
Abdullah khawar
Xpath
Xpath
Manav Prasad
Balisage - EXPath - A practical introduction
Balisage - EXPath - A practical introduction
Florent Georges
Quanti libri in un libro di Paola Romagnoli
Quanti libri in un libro di Paola Romagnoli
Sistema Bibliotecario Ovest Bresciano
Puzzle Gigante
Puzzle Gigante
Sistema Bibliotecario Ovest Bresciano
La narrazione in atto incroci e idee tra gioco e storie leggendo e inventanto...
La narrazione in atto incroci e idee tra gioco e storie leggendo e inventanto...
Sistema Bibliotecario Ovest Bresciano
I gruppi di lettura come esperienza di salute e benessere di Roberto Spoldi
I gruppi di lettura come esperienza di salute e benessere di Roberto Spoldi
Sistema Bibliotecario Ovest Bresciano
Weitere ähnliche Inhalte
Was ist angesagt?
WEB PROGRAMMING UNIT IV NOTES BY BHAVSINGH MALOTH
WEB PROGRAMMING UNIT IV NOTES BY BHAVSINGH MALOTH
Bhavsingh Maloth
Object Relational Mapping in PHP
Object Relational Mapping in PHP
Rob Knight
Session 24 - JDBC, Intro to Enterprise Java
Session 24 - JDBC, Intro to Enterprise Java
PawanMM
Jdom how it works & how it opened the java process
Jdom how it works & how it opened the java process
Hicham QAISSI
EKON 12 Running OpenLDAP
EKON 12 Running OpenLDAP
Max Kleiner
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Marco Gralike
28 networking
28 networking
Ravindra Rathore
Java JDBC
Java JDBC
Jussi Pohjolainen
LaTeX Tutorial
LaTeX Tutorial
Tai Lun Tseng
Play framework training by Neelkanth Sachdeva @ Scala traits event , New Delh...
Play framework training by Neelkanth Sachdeva @ Scala traits event , New Delh...
Knoldus Inc.
Everything you ever wanted to know about lotus script
Everything you ever wanted to know about lotus script
Bill Buchan
XML Tools for Perl
XML Tools for Perl
Geir Aalberg
Linq To The Enterprise
Linq To The Enterprise
Daniel Egan
URL Class in JAVA
URL Class in JAVA
Ramasubbu .P
Exported resources design patterns
Exported resources design patterns
Yevgeny Trachtinov
Pf cs102 programming-8 [file handling] (1)
Pf cs102 programming-8 [file handling] (1)
Abdullah khawar
Xpath
Xpath
Manav Prasad
Was ist angesagt?
(17)
WEB PROGRAMMING UNIT IV NOTES BY BHAVSINGH MALOTH
WEB PROGRAMMING UNIT IV NOTES BY BHAVSINGH MALOTH
Object Relational Mapping in PHP
Object Relational Mapping in PHP
Session 24 - JDBC, Intro to Enterprise Java
Session 24 - JDBC, Intro to Enterprise Java
Jdom how it works & how it opened the java process
Jdom how it works & how it opened the java process
EKON 12 Running OpenLDAP
EKON 12 Running OpenLDAP
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
28 networking
28 networking
Java JDBC
Java JDBC
LaTeX Tutorial
LaTeX Tutorial
Play framework training by Neelkanth Sachdeva @ Scala traits event , New Delh...
Play framework training by Neelkanth Sachdeva @ Scala traits event , New Delh...
Everything you ever wanted to know about lotus script
Everything you ever wanted to know about lotus script
XML Tools for Perl
XML Tools for Perl
Linq To The Enterprise
Linq To The Enterprise
URL Class in JAVA
URL Class in JAVA
Exported resources design patterns
Exported resources design patterns
Pf cs102 programming-8 [file handling] (1)
Pf cs102 programming-8 [file handling] (1)
Xpath
Xpath
Andere mochten auch
Balisage - EXPath - A practical introduction
Balisage - EXPath - A practical introduction
Florent Georges
Quanti libri in un libro di Paola Romagnoli
Quanti libri in un libro di Paola Romagnoli
Sistema Bibliotecario Ovest Bresciano
Puzzle Gigante
Puzzle Gigante
Sistema Bibliotecario Ovest Bresciano
La narrazione in atto incroci e idee tra gioco e storie leggendo e inventanto...
La narrazione in atto incroci e idee tra gioco e storie leggendo e inventanto...
Sistema Bibliotecario Ovest Bresciano
I gruppi di lettura come esperienza di salute e benessere di Roberto Spoldi
I gruppi di lettura come esperienza di salute e benessere di Roberto Spoldi
Sistema Bibliotecario Ovest Bresciano
De Stegosaurus
De Stegosaurus
College04a Ronse
De Veloceraptor
De Veloceraptor
College04a Ronse
Balisage - EXPath Packaging
Balisage - EXPath Packaging
Florent Georges
De Brachiosaurus
De Brachiosaurus
College04a Ronse
Andere mochten auch
(9)
Balisage - EXPath - A practical introduction
Balisage - EXPath - A practical introduction
Quanti libri in un libro di Paola Romagnoli
Quanti libri in un libro di Paola Romagnoli
Puzzle Gigante
Puzzle Gigante
La narrazione in atto incroci e idee tra gioco e storie leggendo e inventanto...
La narrazione in atto incroci e idee tra gioco e storie leggendo e inventanto...
I gruppi di lettura come esperienza di salute e benessere di Roberto Spoldi
I gruppi di lettura come esperienza di salute e benessere di Roberto Spoldi
De Stegosaurus
De Stegosaurus
De Veloceraptor
De Veloceraptor
Balisage - EXPath Packaging
Balisage - EXPath Packaging
De Brachiosaurus
De Brachiosaurus
Ähnlich wie EXPath: the packaging system and the webapp framework
20100707 e z_rmll_gig_v1
20100707 e z_rmll_gig_v1
Gilles Guirand
Fast SOA with Apache Synapse
Fast SOA with Apache Synapse
Paul Fremantle
Processing XML with Java
Processing XML with Java
BG Java EE Course
Practical catalyst
Practical catalyst
dwm042
jkljklj
jkljklj
hoefo
Sword Or2008 Julieallinson
Sword Or2008 Julieallinson
Julie Allinson
IGT2009 The Open Cloud Computing Interface
IGT2009 The Open Cloud Computing Interface
Shlomo Swidler
Laurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus Presentation
Ajax Experience 2009
Spring Surf 101
Spring Surf 101
Alfresco Software
Axis2 Landscape
Axis2 Landscape
Eran Chinthaka Withana
EXPath Webapp - CXAN: a case-study for Servlex, an XML web framework
EXPath Webapp - CXAN: a case-study for Servlex, an XML web framework
Florent Georges
Letting In the Light: Using Solr as an External Search Component
Letting In the Light: Using Solr as an External Search Component
Jay Luker
Sword Bl 0903[1]
Sword Bl 0903[1]
Julie Allinson
Sword Crig 2007 12 06
Sword Crig 2007 12 06
Julie Allinson
Introducing Struts 2
Introducing Struts 2
wiradikusuma
Open Cloud Computing Interface Presentation
Open Cloud Computing Interface Presentation
Intel Corporation
2007 03 12 Swecr 2
2007 03 12 Swecr 2
kiyoshi_tezuka
PowerPoint
PowerPoint
Videoguy
SPARQLing Services
SPARQLing Services
Leigh Dodds
Developing web apps using Erlang-Web
Developing web apps using Erlang-Web
fanqstefan
Ähnlich wie EXPath: the packaging system and the webapp framework
(20)
20100707 e z_rmll_gig_v1
20100707 e z_rmll_gig_v1
Fast SOA with Apache Synapse
Fast SOA with Apache Synapse
Processing XML with Java
Processing XML with Java
Practical catalyst
Practical catalyst
jkljklj
jkljklj
Sword Or2008 Julieallinson
Sword Or2008 Julieallinson
IGT2009 The Open Cloud Computing Interface
IGT2009 The Open Cloud Computing Interface
Laurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus Presentation
Spring Surf 101
Spring Surf 101
Axis2 Landscape
Axis2 Landscape
EXPath Webapp - CXAN: a case-study for Servlex, an XML web framework
EXPath Webapp - CXAN: a case-study for Servlex, an XML web framework
Letting In the Light: Using Solr as an External Search Component
Letting In the Light: Using Solr as an External Search Component
Sword Bl 0903[1]
Sword Bl 0903[1]
Sword Crig 2007 12 06
Sword Crig 2007 12 06
Introducing Struts 2
Introducing Struts 2
Open Cloud Computing Interface Presentation
Open Cloud Computing Interface Presentation
2007 03 12 Swecr 2
2007 03 12 Swecr 2
PowerPoint
PowerPoint
SPARQLing Services
SPARQLing Services
Developing web apps using Erlang-Web
Developing web apps using Erlang-Web
Kürzlich hochgeladen
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Addepto
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
comworks
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Fwdays
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
Alfredo García Lavilla
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
charlottematthew16
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
2toLead Limited
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
RankYa
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Curtis Poe
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
Miki Katsuragi
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Mattias Andersson
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Precisely
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
Lars Bell
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Alex Barbosa Coqueiro
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
Rizwan Syed
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
Sri Ambati
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
DianaGray10
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Scott Keck-Warren
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
UiPathCommunity
Kürzlich hochgeladen
(20)
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
EXPath: the packaging system and the webapp framework
1.
EXPath
A packaging system for XML libraries and a portable web application framework XML Prague, March 13 th , 2010 Florent Georges H2O Consulting
2.
3.
Simple examples
4.
The packaging system
5.
Web applications
6.
A comprehensive example
7.
Conclusion
8.
9.
XSLT 2.0 and
needs for new extensions
10.
EXSLT 2.0, EXQuery
& EXProc
11.
XML Prague 2009
– EXPath
12.
First modules –
HTTP Client & ZIP Facility
13.
Balisage 2009 –
the Packaging System
14.
XML Prague 2010
– the Webapp module
15.
16.
Extensions for XPath
of course
17.
But also: XSLT,
XQuery, XProc (and XForms, XML Schema, DSDL, etc.; that is, XML technologies)
18.
Mainly extension functions
19.
But also: servlet
container, packaging system...
20.
21.
The main means
is extension functions
22.
The main goal
is defining portable specifications...
23.
...and convincing vendors
to endorse them
24.
But also providing
support to open-source implementations
25.
26.
The definitive goal
is writing specifications
27.
The main tool
is the mailing list
28.
Each module has
one main maintainer, responsible of editing & achieving consensus
29.
Other tools include
Subversion repositories, public Wiki, etc.
30.
More infos about
processes on the wiki
31.
32.
Simple examples
←
33.
The packaging system
34.
Web applications
35.
A comprehensive example
36.
Conclusion
37.
38.
Get the description
of the request as an XML element (with verb, headers, content...)
39.
Return a description
of the response as an XML element (with code, headers, content...)
40.
Actually the content
is handled differently (as separate items, either text, XML, HTML or binary) to avoid the SOAP envelope syndrome
41.
Examples – HTTP
Client http:send-request ( $ request as element (http:request)) as item () + <http:request href = "http://www.example.com/..." method = "post" > <http:header name = "X-Header" value = "some value" /> <http:body content-type = "application/xml" > <hello> World! </hello> </http:body> </http:request> <http:response status = "200" message = "Ok" > <http:header name = "..." value = "..." /> ... <http:body content-type = "application/xml" /> </http:response>
42.
43.
zip:html-entry ( $
href, $ path) as document-node ()
44.
zip:text-entry ( $
href, $ path) as xs:string
45.
46.
zip:update-entries ( $
zip, $ output) as empty ()
47.
Examples – Google
Contacts
48.
Examples – Google
Contacts
49.
50.
Simple examples
51.
The packaging system
←
52.
Web applications
53.
A comprehensive example
54.
Conclusion
55.
56.
Depends on the
processor
57.
Easy: just copy
the files somewhere
58.
59.
import module
namespace ubl = "http://fgeorges.org/ubl/mod-1" at "dadb://modules/ubl-helpers/mod-1.xql" ;
60.
61.
So you have
to change the import statements throughout this third-party library
62.
Wait a minute,
no problem, really, UBL Helpers have to include FunctX
63.
But your application
uses another library, which in turn also uses FunctX
64.
...
65.
66.
They help avoiding
the requirement of changing import statements...
67.
...as long as
everyone agree on URIs to use in import statements
68.
They must then
be supported by all products
69.
One has to
install configure catalogs for its system by hand, again and again
70.
71.
Must be understood
by most processors (suitable for standard libraries)
72.
Must package the
components and additional informations in a single file (suitable as a delivery format)
73.
74.
Packaging – Overview
75.
76.
Command-line repository manager
77.
Implementation for Saxon
(XQuery, XSLT)
78.
Implementation for Calabash
(RELAX NG RNG + RNC, Schematron, XProc, XQuery, XML Schema and XSLT)
79.
Implementations provide a
Java API as well as command-line scripts
80.
81.
82.
Other info can
be added in the component source files
83.
Structure and annotations
captures some packaging information, used by a packager
84.
85.
They are as
less as possible
86.
Conventions are flexible
87.
They can be
used to ease developer's day-to-day life, by automating repetitive tasks
88.
89.
90.
Simple examples
91.
The packaging system
92.
Web applications
←
93.
A comprehensive example
94.
Conclusion
95.
96.
Most existing XML
databases provide proprietary framework for that (eXist, MarkLogic, Sausalito, etc.)
97.
Then again, we
are stuck with processor-locked applications
98.
A standard would
allow to write portable web applications, libraries and frameworks
99.
100.
A component can
be an XQuery function or module, an XSLT function, template or stylesheet, or an XProc pipeline
101.
The only technical
missing piece is a way to map HTTP requests to components
102.
That means dispatching
and providing infos
103.
104.
A component is
identified by its name (if applicable) and the import URI of it module
105.
This is configured
in a simple descriptor
106.
...and packaged using
the Packaging System
107.
The Packaging System
already provides setting of the component's public URIs
108.
The web descriptor
simply builds on top of that
109.
Webapps – Requests
<web:request servlet = "name" path = "/path" method = "get" > <web:uri> http://example.org/my-app/path </web:uri> <web:authority> http://example.org </web:authority> <web:context-root> /my-app </web:context-root> <web:path> <web:part> path </web:part> </web:path> <web:header name = "connection" value = "keep-alive" /> ... </web:request> <web:response status = "200" message = "Ok" > <web:header name = "..." value = "..." /> ... <web:body content-type = "text/html" method = "xhtml" /> </http:response>
110.
111.
Server technology is
Java Servlet
112.
XSLT and XQuery
are provided by Saxon
113.
XProc is (going
to be) provided by Calabash
114.
Webapp manager to
(un)deploy applications
115.
116.
Simple examples
117.
The packaging system
118.
Web applications
119.
A comprehensive example
←
120.
Conclusion
121.
122.
Use EXPath ZIP
Facility
123.
Use EXPath HTTP
Client
124.
Use Google API
XSLT libraries
125.
Use OAuth-like authentication
126.
127.
http://expath.org/
128.
Jetzt herunterladen