Snyders.US

The functionality will operate as a plug-in to the Eclipse 3.1 Java perspective. A menu item will be displayed on the Source menu and will offer the option to Generate an XSD file that represents the Java class.

Java-X is a by engineer-for engineer tool.

Data access tools for Eclipse is a nascent field. The Java-X Eclipse plug-in was on the leading-edge of this effort. Moreover, developing behind the scenes of Eclipse will expose the project team to a variety of emerging technologies: the Open Services Gateway Initiative (OSGi) that is the foundation of Eclipse 3.x, the Standard Widget Toolkit, using the open source development paradigm and the Common Public License (CPL).

The tradeoff of automated code generation is flexibility. Consistent rules and naming conventions have to be embedded. For example, the rules that apply to mapping Java data types to a definition in the XSD. While some might find this type of rule restrictive, others would argue that the enforcement of a naming convention is a software virtue, not an umbrage!

References
Eclipse.org (2004, Feb.). Eclipse forms independent organization. Retrieved September 4, 2005 from http://www.eclipse.org/org/press-release/feb2004foundationpr.html

Liotta, M. (2002, Aug.). What is Eclipse?. DevX.com, Retrieved September 5, 2005 from http://www.devx.com/ibm/Article/6884

Open Source Initiative (2005). Common Public License Version 1.0. Retrieved September 5, 2005 from http://www.opensource.org/licenses/cpl1.0.php

Copyright © Snyders.US. All rights reserved.

The Java-X Project


Created in 2005

Eclipse is a full-featured, robust Java development environment. It's ability to generate get and set method stubs in a class given a set of declared variables is welcome, but it needs to be extended into the next steps of creating an object schema, object collection managers, and data access procedures, alleviating the developer from these repetitive, time consuming tasks. For example, at least four stored procedures will exist for every business object: select, insert, update and delete. In addition, procedures to manage object collections are perfunctory.

Most of the Java persistence technology on the market today requires coupling to proprietary containers. Developers who need to create a straightforward business object layer without transactions or state are faced with having to purchase expensive application servers they don't really need. A simple, efficient method of creating a component-based business framework inside of the development environment would be a welcome alternative--and Eclipse offers everything right-up to data access, but stops there.

This Eclipse plug-in project is a code generator that outputs a W3C validated XML Schema Definition from any Java class. The plug-in is designed for the Eclipse Java perspective.


Java-X Project Vision

In the Eclipse Java development environment, the addition of an XSD schema generator will shield the designer from the laborious details of hand-coding data definition language or manually creating database tables. This program reads the class name, field names, and data types of a Java class file and generate a well-formed XSD document.

An XSD file can be used to generate a relational database schema, an object-oriented persistence schema, form the basis of a SOAP package, provide an in-memory representation of an object, and to create Web services.

An partial sample from an XSD file:

<xs:complexType>
    <xs:choice maxOccurs="unbounded">
        <xs:element name="customers" >
            <xs:complexType >
                <xs:sequence>
                    <xs:element name="CustomerID" type="xs:integer"
                        minOccurs="0" />
                    <xs:element name="CompanyName" type="xs:string"
                        minOccurs="0" />
                    <xs:element name="Phone" type="xs:string" />
               </xs:sequence>
            </xs:complexType>
        </xs:element>
    </xs:choice>
</xs:complexType>


Business Use Case Model