Index Changes

What is the XSLTSE?

The XSLT Service Engine is a JBI component capable of provisioning XSL stylesheets as web services. Using a custom configuration file (described here), XSL stylesheets are mapped as service endpoints and deployed as JBI service units. An XSLT endpoint can even be chained, invoking other service endpoints as needed.

Using the XSLTSE

Features

The XSLT Service Engine supports the following features:
  • XSL-based Transformation Processes: a transformation process, described in detail on the TransformSL wiki page, is a list of activities executed sequentially. The supported activities are transform and invoke, though more may be added later.
  • XSL Parameters: just as any XSL stylesheet can be supplied values for global parameters, so can any XSL stylesheet deployed as part of a transformation process. Parameter values can be taken from message exchanges involved in the process at runtime or specified as literal XML content in a file or in the transformation process itself. Please see the TransformSL Param wiki page for more information.
  • Multiple invocations and transformations: as a by-product of incorporating the transformation process into XsltSE, there is no limit on the number of transformations applied or service endpoints invoked during a process' execution.
  • Limited Variable Support: any message exchange as itself or by one its parts can be expressed using variable names. These variables are used as the source and result for transformations as well as indicating the input message for invoked service endpoints. All TransformSL variables follow the BPEL convention: $varName.partName. For more information, please see the variables wiki.
  • Calling Java extension functions that are packaged in the XSLT project as Jar files: Calling Java extension functions
  • Basic fault handling: add Transform activities to apply to a fault message, which is then used as a reply. Please see the XsltSE Fault Handling wiki for more information.
  • Xslt 2.0 Support: Please use the latest installer or refer to the Xslt2Support wiki for more information.

Use cases

Use Cases

There are three basic usage scenarios for XsltSE:
  • Request-Reply
    • XML message received from NMR
    • Message is transformed using XSL stylesheet
    • Transformed message sent as reply to original consumer
  • One-way Service Bridge ("Filter One-way")
    • XML message received from NMR
    • Message is transformed using XSL stylesheet
    • XsltSE acts as service consumer, sending transformed message sent as input to service endpoint
  • Two-way Service Bridge ("Filter Request-Reply")
    • XML message received from NMR
    • Message is transformed using XSL stylesheet
    • XsltSE acts as service consumer, sending transformed message sent as input to service endpoint
    • Receive reply from consumed service
    • Reply is transformed using second XSL stylesheet
    • Second transformation result sent as reply to original consumer

For details about configuring an XSLT Project to support these use cases, see the Transformmap wiki.

Activity diagrams for XsltSE

The following diagrams describe basic the three basic XsltSE usage scenarios:
RequestReply Enlargement






















FilterOneWay Enlargement






















FilterRequestReply Enlargement





















System requirements and dependencies

XsltSE has dependencies on two JBI Shared Libraries:
  1. Sun WSDL Extensions
  2. Saxon Library

Trouble?

Please post questions on the OpenESB mailing list. File bugs in the OpenESB issue tracker; use the XSLTSE category.

Evolution of the XSLTSE

What is new?

Team

Developing the XSLTSE

Functional spec

For a summary of TransformSL wiki pages, please see the TransformSL Links wiki.

XSLTSE Source Code

The source code is in the open-jbi-components project.

JSPWiki v2.4.100
[RSS]
« Home Index Changes Prefs
This page (revision-48) was last changed on 10-Jun-09 14:29 PM, -0700 by Vitaly Bychkov