BEA Systems on Monday is introducing a technology called XMLBeans, which is designed to improve developer productivity by eliminating challenges to incorporating XML data into Java.
To debut initially as a free, hosted service, XMLBeans aims to enable developers to focus time on value-added development for Web services and enterprise applications. The hosted service eventually will be 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," and get it broadly adopted, said Carl Sjogreen, senior product manager for BEA WebLogic Workship, in Seattle.
"Without a technology like XMLBeans, it's very painful to use XML. We think this is going to drive the adoption of XML," he said.
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, according to BEA. It features a core set of Java classes that provide a common XML store.
A core set of libraries are provided for specific documents, such as libraries for a purchase order, Sjogreen said.
"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," he said.
An XMLBean actually is a Java Bean, Sun's technology for Java classes, Sjogreen said.
"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.
Analyst Tom Murphy, senior program director at Meta Group, in Stamford, Conn. , said the XMLBeans concept was interesting but that it was important that the technology did 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 wants to make XMLBeans a standard but has not yet decided which specific route it will take toward that end.
BEA's XMLBeans provides direct access to XML using a conventional set of interfaces such as XQuery, Sjogreen said. "It makes it very easy for [developers] to access that XML information," without losing any information in the XML Schema, he 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 due to 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, Sjogreen said.
"The problem with [JAX-B and Castor] is they generally sort of force-fit XML into Java," thereby losing a lot of the original XML information, such as rules on XML data organization or data constraints, said Sjogreen.
BEA hopes 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 here.