Presentation on theme: "1 XML Technologies You Need For Workflow Applications Roger L. Costello 2 January, 2009."— Presentation transcript:
1 XML Technologies You Need For Workflow Applications Roger L. Costello 2 January, 2009
2 Workflow Applications Workflow applications are those applications where documents are moved around a community of people who each perform on it. XML Rob SallyPete JillAnthony
3 XML Technologies The following slides lays out the XML technologies you will need for implementing an XML-based workflow application –It's a core list, you may need additional XML technologies, depending on your application This is an all-XML solution. No imperative languages (Java, C#, etc) required.
4 XHTML + CSS XHTML is an XML'ized version of HTML Use CSS to style XHTML documents XHTML + CSS = your GUI language
5 XForms Use XForms to collect user input and automatically generate an XML document composed of the user's input John A Smith B … Web Server XML
6 XML Schema Use XML Schemas to validate input as it's entered by the user …
7 XML Schema, Schematron, Relax NG, DTD, NVDL Use one or more XML validation languages server-side John A Smith B … Web Server XML XML Schema Relax NG Schematron DTD Valid!
8 XSLT/XPath Use XSLT and XPath to process (apply functions to, transform, merge, sort, etc) the XML document John A Smith B … Web Server XML XSLT/XPath
9 XML Database Many XML documents will be generated over time. Store them in an XML database (native, or XML-enabled) John A Smith B … John A Smith B … John A Smith B … John A Smith B … John A Smith B … Web Server XML
10 XQuery Use XQuery to query the XML documents that are in the XML database John A Smith B … John A Smith B … John A Smith B … John A Smith B … XQuery
11 XProc Use the XML Pipeline language, XProc, to specify the series of actions (steps) to be applied to the XML document –e.g. validate then process then store in DB then query then … Pipeline
12 Further Info See Michael Kay's paper: Building Workflow Applications with XML and XQuery Also see Michael Kay's Q&A on Application Processing: