Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EclipseLink/FAQ/MOXy"

Line 1: Line 1:
 
== What is EclipseLink MOXy?==
 
== What is EclipseLink MOXy?==
  
MOXy is EclipseLink's Object to [http://en.wikipedia.org/wiki/Xml XML] Mapping services.  MOXy allows for a [http://en.wikipedia.org/wiki/Plain_Old_Java_Object POJO] object model to be mapped to an XML schema. The [http://en.wikipedia.org/wiki/JAXB Java Architecture for XML Binding] (JAXB) provides a Java standard for object XML mapping (OXM).  MOXy supports JAXB, as well as providing its' own POJO API and integration with [http://en.wikipedia.org/wiki/Web_services Web Services].
+
MOXy is EclipseLink's Object to [http://en.wikipedia.org/wiki/Xml XML] Mapping services.  MOXy allows for a [http://en.wikipedia.org/wiki/Plain_Old_Java_Object POJO] object model to be mapped to an XML schema. The [http://en.wikipedia.org/wiki/JAXB Java Architecture for XML Binding] (JAXB) provides a Java standard for object XML mapping (OXM).  MOXy supports JAXB, as well as providing its' own native API and integration with [http://en.wikipedia.org/wiki/Web_services Web Services].
  
 
== How does EclipseLink MOXy differ from the JAXB reference implementation? ==
 
== How does EclipseLink MOXy differ from the JAXB reference implementation? ==
  
* EclipseLink MOXy provides support externalized mapping metadata. This means that plain old java objects can be mapped onto an XSD without requiring any annotations at all.
+
EclipseLink MOXy offers additional benefits versus usage of the JAXB reference implementation. These include:
* EclipseLink offers superior mapping flexibility with positional and path mappings that allow more complex mapping without introducing additional unnecessary classes to the domain model.
+
 
* EclipseLink offers excellent runtime performance.  
+
* Greater flexibility with meet-in-the-middle mapping
 +
* Integrated support for usage with EclipseLink JPA
 +
* Specific support for usage with SOA and SCA
 +
* Transaction XML Storage
 +
 
 +
'''Meet in the Middle Mapping'''
 +
 
 +
In addition to the schema-to-Java and Java-to-schema approaches offered by standard JAXB, EclipseLink JAXB offers meet in the middle mapping. Meet-in-the-middle mapping allows you to map your own classes to your own XML schema.
 +
The mapping is XPath based, this breaks the one-to-one correspondence between classes and XML elements in your schema.
 +
The mapping isolates the object model from changes in the XML schema and vice versa.
 +
 
 +
The mapping is built on the same framework as EclipseLink's object-relational mapping and benefits from all that customer input.
 +
There is an external representation for the metadata.
 +
 
 +
'''JPA Compatibility'''
 +
 
 +
EclipseLink JAXB extensions to map compound keys
 +
EclipseLink JAXB extensions to map back-pointers
 +
When using EclipseLink JPA, EclipseLink MOXy can be made aware of such enhancements as lazy loading and change tracking.  
 +
 
 +
'''EclipseLink JAXB in your SOA'''
 +
 
 +
EclipseLink JAXB was designed to turn your JPA applications into SOA components.  Through the meet-in-the-middle mapping and JPA compatibility you can map your existing JPA models to industry standard schemas.
 +
Not using JAX-WS?  You can use our POJO/SDO bridge to expose your data as SDO (JSR-235, EclipseLink is the RI) Data Objects.  The bridge leverages EclipseLink JAXB.  
 +
 
 +
'''Transactional XML Storage'''
 +
 
 +
Interacting with a persistent data store based on XML?  Since EclipseLink MOXy is built on the EclipseLink Foundation you can combine MOXy mappings and EclipseLink's persistence framework to interact with your data through JCA.
  
 
[[Category:EclipseLink FAQ|MOXy]]
 
[[Category:EclipseLink FAQ|MOXy]]

Revision as of 10:47, 4 August 2009

What is EclipseLink MOXy?

MOXy is EclipseLink's Object to XML Mapping services. MOXy allows for a POJO object model to be mapped to an XML schema. The Java Architecture for XML Binding (JAXB) provides a Java standard for object XML mapping (OXM). MOXy supports JAXB, as well as providing its' own native API and integration with Web Services.

How does EclipseLink MOXy differ from the JAXB reference implementation?

EclipseLink MOXy offers additional benefits versus usage of the JAXB reference implementation. These include:

  • Greater flexibility with meet-in-the-middle mapping
  • Integrated support for usage with EclipseLink JPA
  • Specific support for usage with SOA and SCA
  • Transaction XML Storage

Meet in the Middle Mapping

In addition to the schema-to-Java and Java-to-schema approaches offered by standard JAXB, EclipseLink JAXB offers meet in the middle mapping. Meet-in-the-middle mapping allows you to map your own classes to your own XML schema. The mapping is XPath based, this breaks the one-to-one correspondence between classes and XML elements in your schema. The mapping isolates the object model from changes in the XML schema and vice versa.

The mapping is built on the same framework as EclipseLink's object-relational mapping and benefits from all that customer input. There is an external representation for the metadata.

JPA Compatibility

EclipseLink JAXB extensions to map compound keys EclipseLink JAXB extensions to map back-pointers When using EclipseLink JPA, EclipseLink MOXy can be made aware of such enhancements as lazy loading and change tracking.

EclipseLink JAXB in your SOA

EclipseLink JAXB was designed to turn your JPA applications into SOA components. Through the meet-in-the-middle mapping and JPA compatibility you can map your existing JPA models to industry standard schemas. Not using JAX-WS? You can use our POJO/SDO bridge to expose your data as SDO (JSR-235, EclipseLink is the RI) Data Objects. The bridge leverages EclipseLink JAXB.

Transactional XML Storage

Interacting with a persistent data store based on XML? Since EclipseLink MOXy is built on the EclipseLink Foundation you can combine MOXy mappings and EclipseLink's persistence framework to interact with your data through JCA.

Back to the top