|
YOUR FEEDBACK
Did you read today's front page stories & breaking news?
SYS-CON.TV |
TODAY'S TOP SOA & WEBSERVICES LINKS Data Binding XML Binding Frameworks in the Context of Service-Oriented Architecture
Make an informed choice about a binding framework for your SOA needs
Aug. 2, 2005 04:00 PM
Semantic Interoperability among stakeholders in SOA
XML-based data sharing and persistence
Shared Data Services One of the key data formats for working with SDS is XML Schema. The underlying database serving an SDS platform is either a native XML database or a relational database. An XML binding can be used to push data into/from a native XML database or to pull/push data from a relational database accompanied with mapping to/from an XML schema
A Characterization of XML Binding Frameworks Many XML binding frameworks are focused on code generation from XML Schema. Using this approach, the starting point is a schema grammar for the documents to be processed, and then you use the binding framework to generate the target source code. The object model or document constructed from a schema can provide a fast way to start working with documents. This can be classified as a document-centric approach. An alternative approach would be to use the mapped binding in a target language. It works with classes you define in your application in the target language rather than using a set of generated classes based on a schema. This is more of an object-centric approach. This is convenient for the developers because of the closeness of the programming component to the target language. Most of the conventional applications however stress working with the data, with XML only as a potential form for enabling data to be available to services or applications. These applications are bothered about the consistency of the data rather than the structure of the schema. Such usages of XML binding frameworks can be termed as data-centric. Figure 2 illustrates a schematic mapping of potential usages of these categories in the context of different SOA applications. Figure 3 shows a summary of the characteristics of the approaches. Data warehouses and database applications in SOA, e.g., Shared Data Services, can be highlighted as constituting the data management layer, and hence tend to concentrate on a data-centric use of XML binding frameworks. Similarly B2C, intranet, and Internet applications that stress business logic that deals with business entities, constitute the business layer. Typically the business layer applications can be thought of as using an object-centric approach to access the entities, though in some cases a document-centric approach can be used. Integration and B2B trading applications in the context of SOA that need to exchange contracts/schemas will likely use the document-centric approach.
Some Key XML Binding Frameworks Castor (www.castor.org): Castor XML can marshal almost any "bean-like" Java object to and from XML. The marshalling framework uses a set of descriptors to describe how an object should be marshaled and demarshalled from XML. Castor performs marshalling and demarshalling using Source Generator, which creates a Java object model and provides the binding to marshal, demarshall, and validate instances of XML schema. The source code generator takes as input XML schema document and produces the Java object model pertaining to the specifications of that schema. JiBX (www.jibx.org): JiBX provides binding from XML data to Java objects. The binding is specified using a definition document, and JiBX uses a binding compiler to compile the definitions into Java byte code for efficiency. JiBX is designed for high performance. Once the definition is ready, the binding compiler enhances binary class files produced by the Java compiler, adding code to handle converting instances of the classes to or from XML. The enhanced class files generated use a runtime component both for demarshalling and marshalling. The runtime uses a parser that implements the XML Pull API. JiBX uses the XML Pull parsing technique. Instead of the parser calling methods in the handler to report document parts, one calls the parser to get each component in turn, easing the maintenance of the document state. SOA WORLD LATEST STORIES
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
|
SYS-CON FEATURED WHITEPAPERS MOST READ THIS WEEK |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||