Presentation is loading. Please wait.

Presentation is loading. Please wait.

4th Annual ObjectWeb Conference January 17-19,2005 – Lyon, France ESB illustration 3: XML pipelines for transformation and presentation.

Similar presentations


Presentation on theme: "4th Annual ObjectWeb Conference January 17-19,2005 – Lyon, France ESB illustration 3: XML pipelines for transformation and presentation."— Presentation transcript:

1 www.objectweb.org 4th Annual ObjectWeb Conference January 17-19,2005 – Lyon, France ESB illustration 3: XML pipelines for transformation and presentation By Erik Bruchez Tutorial 5 : Integrating Enterprise Data & Applications with ESB

2 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D2 About Orbeon è Founded in 1999 by two architects from Symantec’s Internet tools division è Open Source Products  Orbeon Presentation Server (OPS)  Orbeon Studio  XML Server (under development)  Soon on the ObjectWeb Forge! è Services  Consulting  Training  Support è For more information visit: http://www.orbeon.com

3 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D3 About Myself è Involved with Java since 1995 è Worked at Symantec on VisualCafe è Co-founded Orbeon in 1999 è Contributed to large enterprise Web applications using J2EE and XML technologies è Favorite domains  Web applications architecture  Online publishing

4 www.objectweb.org Presentation Server Overview

5 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D5 Service Oriented Architecture

6 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D6 Service Oriented Architecture (cont.) è ESB  Reliable “pipe” for XML messages between services  Routing, transformation, monitoring, security, etc. è BPEL Server  Business Process Orchestration  Long-running, reliably-running processes

7 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D7 Service Oriented Architecture (cont.) è XML is at the center!  Document-oriented Web Services  More and more data standards (OASIS)

8 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D8 Goal of Presentation Server è Create Web applications that:  Capture XML (typically with XForms)  Present XML (typically with XSLT and XML pipelines)  Communicate with XML Services è It is the ESB’s user interface! End-user XML services Capture InvokeReceive Present

9 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D9 Goal of XML Server è Create XML services that:  Validate XML data  Aggregate XML data  Transform XML data è It is a container for simple XML services!

10 www.objectweb.org Scenarios

11 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D11 Scenario 1: Capture è Web form presented to user è Form submitted è Data validated è Data sent to an XML service if valid

12 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D12 Scenario 2: Presentation è Data retrieved from XML service è Data formatted (HTML table, PDF, etc.) è Data presented to the user

13 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D13 Scenario 3: Transformation è Data provided to XML service è Service converts data to legacy XML format (with XSLT) è Data returned by XML service

14 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D14 Common Points è Data inputs and outputs è Sequences of steps  Transformation  Validation  Etc. è Conditions, etc. è No rocket science but…

15 www.objectweb.org Why XML Pipeline Languages

16 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D16 XML Processing Today è Existing  Specifications (XML, XSLT, Schema, etc.)  Implementations (Xerces, Saxon, etc.) è But  No component API  No easy way of combining components

17 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D17 Example: Cascaded Transforms

18 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D18 XML Processing Today (cont.) è Programming Languages (Java, Python, etc.)  General-purpose (facilities for XML added later)  Complex APIs like JAXP, with a plethora of other APIs like SAX, DOM, JDOM  Missing APIs like validation API, etc.  No declarative programming  You reinvent the wheel! è Business Process Execution Languages  More Web Services-oriented (no API)  Higher granularity  Not mature yet

19 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D19 Solution è Use the right tool for the job:  XML Pipeline Language!

20 www.objectweb.org XPL

21 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D21 Brief History è Practical need recognized in 2002 è No suitable specification or implementation è First implementation by fall 2002 è Since then, constantly improved within Presentation Server (then OXF)

22 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D22 XML Components è Also called XML processors è Can have any number of XML inputs and outputs è Examples  Transformation (XSLT)  Validation (W3C Schema)  Database access è API  Set of interfaces  Processors implement those interfaces

23 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D23 XPL è XML Pipeline Language è Simple, declarative, implementation-agnostic language è Connects XML processors following pipeline metaphor è Fills a void left by existing standards and APIs (JAXP, etc.)

24 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D24 XPL Features è XML-based syntax (like XSLT) è Main features  Non-linear pipelines  Conditionals (p:choose)  Loops (p:for-each)  Validation (W3C Schema and Relax NG)  Aggregation and XPointer support  Sub-pipelines è Execution model  Declarative approach  Based on lazy evaluation

25 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D25 Reference Implementation è Open source (LGPL) è Ships with Presentation Server (ObjectWeb) è SAX-based è Implements caching strategies è Use cases  Command line  Embedded in your Java applications  Part of Presentation Server è Works on any Java 1.4.2 platform!

26 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D26 XPL Basics è A pipeline is defined in a.xpl file è A pipeline may have inputs and outputs è A pipeline uses one or more processors

27 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D27 Basic Syntax <p:input name="config“ href="my-stylesheet.xsl"/>

28 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D28 XPL: Connections è Processors are connected together with  Input Parameter: name="my-input"  Ouput Parameter: ref="my-output"  Processor Output: id="my-id"  Processor Input: href="#my-id" (notice the "#")

29 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D29 Simple Pipeline <p:input name="config“ href="my-stylesheet.xsl"/>

30 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D30 Connections

31 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D31 Inline XML Inputs Mary Albright malbright@sddpc.org

32 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D32 Aggregation <p:input name="data" href="aggregate(‘root’, #my-input-1, #my-input-2"/>

33 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D33 Conditionals = /root/amount">......

34 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D34 For Each <xsl:value-of select="sum(/year/quarter/@sales)"/>

35 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D35 Other Pipeline Languages è Cocoon “sitemap”  Mixes “site map” and XML pipelines è 2002 W3C Note  Fairly simple but not mature and not maintained è SXPipe (Simple XML Pipelines)  Very simple (on purpose)

36 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D36 Future Steps è Increase awareness of XPL è Ship separate XPL engine è Write formal XPL specification è New W3C Note / Start standardization efforts è Keep making XPL useful

37 www.objectweb.org Using XPL in the Presentation Tier

38 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D38 Presentation Server Components

39 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D39 Presentation Tier è Presentation Server  Captures and presents data (scenarios 1 & 2)  Communicates through XML services  Follows well-established MVC architecture  Leverages standards (XSLT, XForms, etc.)  Leverages pipelines (XPL) è Presentation logic does not require any Java programming!

40 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D40 MVC Architecture

41 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D41 Presentation Server Technologies è View  XSLT for page templates  XForms as web forms language è Model  XML pipelines (XPL)  Processors (XSLT, SQL, Web services, etc.) è Controller  Page Flow Controller (PFC)  Glues everything together

42 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D42 Example of Page Flow

43 www.objectweb.org Using XPL for Transformations

44 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D44 Transformation è XML Server  Transforms data (scenario 3)  XPL pipelines Respond to Web Services requests Execute transformations based on inputs Return result of transformations to caller Not limited to simple transformations: can call Web Services, etc. è Again: no need for Java!

45 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D45 XPL: A tool to Build an ESB è As routing + transformation part of ESB è Basic ESB  XML server  JMS implementation (JORAM)  Some glue  Prototype!

46 www.objectweb.org 4th Annual ObjectWeb Conf. – Jan.17-19,2005 – Lyon, France - D46 XPL: A tool to Build an ESB

47 www.objectweb.org Q & A

48 www.objectweb.org End of the Presentation!


Download ppt "4th Annual ObjectWeb Conference January 17-19,2005 – Lyon, France ESB illustration 3: XML pipelines for transformation and presentation."

Similar presentations


Ads by Google