Earlier this year, BEA donated several proprietary technologies to the open source community primarily to increase the adoption of BEA WebLogic Workshop, which is the basic entry point into the WebLogic Platform suite. Although for typical J2EE applications deployed on the WebLogic Server, Workshop serves only as a basic IDE; for development in WebLogic Portal, BEA WebLogic Integration or BEA Liquid Data for WebLogic, Workshop forms the only IDE that you can really use.
By open sourcing several technologies such as XML Beans, Java PageFlows, Controls, and others, BEA hopes that several plugins will be created so that more popular development tools can be used to develop J2EE and Web services applications on WebLogic Workshop.
XMLBeans In September 2003, BEA released the XMLBeans technology to open source. Like OR mapping tools allow you to make relational data to objects, XMLBeans provide a way to map XML data to objects. XMLBeans fully support XML Schemas and provide an easy API to access XML data as if you were accessing data in a JavaBean. XMLBeans 1.0 is currently a stable release, and a lot of work is being done to make it more suitable for large Web services applications.
Assume you have an XML Schema. You can easily generate a set of classes that allow you to work with this schema. In BEA WebLogic Workshop, this can be done using an XML Schema project. You get a JAR file with the classes that are used to work with any XML file that conforms to this schema. For example, you can access data from the XML file using these simple commands.
// Load an XML document
MyDocument myDocument = MyDocument.Factory.parse(inputFile);
Document doc = myDocument.getDocument();
// get an element from the head
Header header = doc.getHeader();
Element element = header.getElement();
Attribute attribute = element.getAttribute();
One good way to use XMLBeans is as Data Transfer objects from your View layer to your Model layer.
Apache Beehive Project The Beehive project was created with the Java PageFlow technologies that were introduced in BEA WebLogic Workshop. The main focus of the project is to simplify J2EE and Web services programming by using annotations. Java PageFlows are directly on top of Struts, and provides support for JSR-175, a metadata specification that allows you to reduce the J2EE coding required.
In addition to PageFlows, the Beehive project also has support for the technology called "Controls" - a component framework with support for metadata. The final piece of the Beehive project is JSR-181 - an annotation-driven model for Web services.
Initially, development for Java PageFlows and Controls could only be done using WebLogic Workshop as your IDE. Recently the Eclipse Foundation launched a project called "Pollinate" to build support for Beehive into the Eclipse IDEs. Other popular IDEs, such as IDEA IntelliJ, NetBeans, and JBuilder will soon fully support Beehive projects. (Note: This is not to say that you cannot use these IDEs today. See the Beehive Wiki in the References for more information.)
Beehive has been released under the Apache License v2.0 and is being promoted widely by BEA. Only 50% of the committers to Beehive are BEA employees, which should encourage other developers to contribute to this project.
My Take Personally, I believe BEA made a great decision by open sourcing several of their proprietary technologies. Not only will this foster a greater adoption of BEA WebLogic Workshop as a tool, but as more J2EE applications are built faster, it will help the WebLogic Server find greater adoption. J2EE and Web services developers will be able to build applications faster and more easily using the metadata annotation for a lot of core/redundant tasks (like writing getters and setters for your Java Beans).
References
Apache XML Beans Web site: http://xmlbeans.apache.org
BEA's dev2dev from BEA: http://dev2dev.bea.com
Apache Beehive: http://incubator.apache.org/beehive
Beehive Wiki: http://wiki.apache.org/beehive
Eclipse Pollinate: www.eclipse.org/pollinate |