XmuLator XSLT Generator
by Charteris, Ltd.
Preliminary Report
John Robert Gardner
EMA: Burlington
joohn.robert.gardner@east.sun.com
General
XmuLator is a GUI-driven interface for mapping multiple kinds of logical structures for XML and database/spreadsheet information to one another via one single centralized model/DTD/Schema. XMuLator is pure Java, interfaces directly with central data model over a LAN/WAN, and works easily with Oracle XSU output from the Oracle XML tool, as well as any standard native ODBC.
XmuLator provides several built-in schema mappings, including biztalk, cXML, XSU, navision, basda, and is developing XMI now for Sun as part of their interaction with JR Gardner for the IT-IS project. Java applets for mappings are a next step in development, which makes for a good fit with XSLTC translets from the XTC group in Sun.
Sources
XMuLator
http://www.charteris.com/xmulator/xmulator_links.htm
contact: Dr. Robert Worden: rworden@dial.pipex.com
IT-IS http://itis.central.sun.com:8080/
Costs
Currently no detailed cost discussions. The full package would license to Sun for $6-9k per year. Users of the GUI would be largely unlimited.
***This remains unconfirmed and reflects only preliminary questions.***
In terms of development, there is a cost in person-days/person-weeks for creating the central model mapping.
General Benefits
The tool aids in the life-cycle of IT-IS and any project in which it is deployed, as only one central model need be learned and passed on, individuals can map to it and add to it enabling output in any format mapped by either their division or another division (or an industry standard) needing to know only their own data and the central model. XmuLator assures conversion via the central model to all other models
Pure Java, aids in use as an applet, security controls
GUI for adding new elements, associations or other mappings, so that users need not understand XML or XSLT to create conversion stylesheets, only understand an intuitive tree-structured graphic representation of their model and the central model and point and click to establish/change/add mappings or classes
Works with an industry standard UML Class diagram internal virtual model of the data
The company, Charteris, Ltd., is very keen to work specifically with Sun and, insofar as the IT-IS project is concerned, especially XMI/UML enterprise architecture modeling standards
The ability to map data visually allows multiple categorizations of business information to seamlessly map to other schema's --one division's Oracle file can map to another division's StarOffice Spreadsheet: roundtripping is convenient.
As a Java program, direct interface from the created XSLT stylesheet to a Java XSLT engine--e.g., the Apache Xalan engine being used for IT-IS, or the translets developed by XTC is readily possible, increasing the seamless GUI/codeless interface.
In creation of the central model, significant groundwork for a "language of architecture" at Sun is facilitated and advanced.
Already supports emerging XML Schema standard
How XMuLator Works
A central business information model can be created/loaded from a DTD or Schema. A GUI reads the model and generates a list of tags and attributes which are then viewable in tree form. This tree view is very informatively interactive with pop-up descriptors of classes/elements in mouse-rollovers, click-box drill-down to detail, and additional right-click access to any attributes, relations, and association mappings.
Once the central model is created, additional models can be read in either as spreadsheet data, XSU output of flat XML from Oracle, or a DTD/Schema, in the same interface window as was used for the original model mapping. The central model components are then selected for mapping to the new model.
Once the elements and attributes are mapped (and XmuLator has mechanisms for negotiating any impedance mis-matches in logical structure granularity), any pair of models can be translated from one to the other by opening the tools panel, clicking on one model as the original, and any other as the output, and clicking to write the XSLT file. An excellent, well-annotated/commented XSLT transformation stylesheet is generated to the directory of choice from which it can be further edited if desired or invoked by a GUI XSLT engine interface such as one we already have here in EMA for Xalan (care of JR Gardner's XSLT book CD--advance preview).
Customized mappings are also possible, allowing re-alignment of selected attributes, classes, associations, etc. according to specific needs or to pare-down a model. This is afforded through dual windows of the GUI tree representation and right-clicking selected elements for mapping and choosing the kind of mapping to add/change. New mappings are then immediately updated and are visible in mouse-rollovers and drill-downs. Associations between elements can be color-represented for model learning.
Caveats
XmuLator is currently untested for its interface with Solaris StarOffice spreadsheets
Have not yet installed on Solaris
XMI native support needs completion
Java GUI interfaces to XSLT processors/browser-launch interface/security will have to be added.
List of Next Steps Under Way
- install XMuLator on Solaris
- create XMI central model
- map IT-IS DTD
- Map test sun.net data to central model
- build the UML-like business information model
- capture the Oracle XSU schema and map it onto the business model
- map other XML languages onto the business model
- generate transformations