What is JiBX/OTA?
JiBX/OTA is a set of examples and sample code intended to help developers working with
the Open Travel Alliance schemas. It includes
two different examples of JiBX code generation from the OTA schemas, an example of WSDL
generation from a Java interface for a web service based on OTA messages, and two different
sample implementations of a client and server for the web service.
JiBX offers a number of advantages over alternative data binding frameworks for working
with the OTA schemas. For starters, it does a better job of handling schema definitions:
- <xs:documentation> items in schema definitions are converted to JavaDocs, making
relevant documentation directly available to developers
- <xs:choice> components are converted to type-safe representations with (optionally)
checked get/set methods to prevent usage errors
- Repeated components in the schema definition, including repeated <xs:choice>
components, are represented with type-safe arrays or (for Java 5 and above) typed lists
- Unused common definitions are ignored, and definitions used only in one place are
inlined, where possible, avoiding the creation of unnecessary added classes
JiBX also provides much greater flexibility than other alternatives, including easy
ways to:
- Selectively generate only the schema components required for specific messages
- Simplify schema definitions by deleting components not needed for your application
(without any modification to the actual schemas)
- Use the popular Joda date/time types for better representations of schema data/time
types
- Substitute one schema type for another, allowing the use of simpler Java equivalents
(such as
int
or long
in place of java.math.BigInteger
- Extend the code generation with supplied decorators for purposes such as adding
java.io.Serializable
handling to generated classes (or with your own custom
decorators)
- Choose between Java 5 typed lists and arrays or untyped lists, and between Java 5
enums and custom enumeration types, for compatibility with older JVMs
- Build modular representations, so that development teams can control the portions of
the data model relevant to their own work without effecting other teams
On the web services side, JiBX gives the best support for generating WSDL service
definitions from code (even if you're not actually using JiBX at runtime). When used with
the JiBX/WS web services framework JiBX also provides the fastest web services available,
including support for XBIS encoding which doubles your
speed in converting to and from XML while cutting data volumes in half. JiBX/WS also
gives the flexibility of using direct XML document exchanges (without SOAP wrappers), and
efficient TCP socket transport (both with and without SOAP).
Module Name |
Primary Developer |
Status |
jibx-ota (svn) |
Dennis Sosnoski |
1.0 release February 14, 2010 |