XMLBeans will debut initially as a free, hosted service and aims to enable developers to focus time on value-added development for Web services and enterprise applications. The hosted service will, eventually, form part of BEA's WebLogic for Java application development and deployment.
Version 8.1 of WebLogic, due in beta release at the BEA eWorld conference in March, will feature XMLBeans.
"We're trying to push this into the standards layer," said Carl Sjogreen, senior product manager for BEA WebLogic Workship. "Without a technology like XMLBeans, it's very painful to use XML. We think this is going to drive the adoption of XML."
XMLBeans provides a Java object-based view of XML data. Unlike other Java "binding" solutions, XMLBeans enables programmers to maintain the fidelity of raw XML data while gaining the productivity and flexibility benefits of Java. It features a core set of Java classes that provide a common XML store.
A core set of libraries is provided for specific documents, such as libraries for a purchase order.
"It's designed to make it easier for developers to access XML from within Java," Sjogreen said. "The current solutions that leverage that XML data are really insufficient."
"It's more like regular Java Beans," than Enterprise Java Beans, which reside on the server and manage transactions and security, Sjogreen said.
"Java Beans basically provide a standard format for simple Java classes to get and set values and we've used sort of some of the same naming conventions and paradigms for getting and setting XML values," Sjogreen said.
Meta Group senior program director Tom Murphy said the XMLBeans concept was interesting but added that the technology should not remain proprietary to BEA.
"I think [an open source route is] a good idea," Murphy said. He questioned whether BEA would go through the formal JCP (Java Community Process) for including technology in Java or attempt to establish it as a standard by simply publishing it and attempting to garner support outside the JCP.
"The issue [is] from a developer perspective, is this proprietary BEA, and often developers, when they choose Java, they choose things that are portable across different platforms," Murphy said. "They don't want vendor lock-ins."
A BEA representative said the company wanted to make XMLBeans a standard but has not yet decided which specific route it would take toward that end.
BEA's XMLBeans provides direct access to XML using a conventional set of interfaces such as XQuery. "It makes it very easy for [developers] to access that XML information," without losing any information in the XML Schema, Sjogreen said.
XMLBeans differs from other approaches to incorporating XML data into Java, such as DOM and SAX, in that it does not result in loss of data because of fundamental differences between the two languages, requiring recoding of information and development of custom linkages.
DOM and SAX present low-level API approaches to using XML that are tedious to work with and make applications brittle, while other technologies, such as JAX-B or Castor, force developers to fit XML into Java classes.
"The problem with [JAX-B and Castor] is they generally sort of force-fit XML into Java," said Sjogreen, thereby losing a lot of the original XML information, such as rules on XML data organisation or data constraints.
BEA hoped to get feedback from developers via launching XMLBeans as a hosted service. Developers can log onto the site and upload a schema that describes documents they want to use and, in return, will get back XMLBeans classes needed to process that document in their application, according to Sjogreen.
XMLBeans is available at: http://dev2dev.bea.com/techtrack/detail.jsp?highlight=xmlbeans.