ExoLab     OpenEJB     OpenJMS     OpenORB     Castor     Tyrex     
 

Main
  Home
  About
  Features
  Download
  API
  Schema
  Castor Forums
  Mailing Lists
  CVS / Bugzilla
  Support
  CastorWiki

XML
  Using XML
  Source Generator
  Schema Support
  XML Mapping
  XML FAQ

JDO
  Using JDO
  JDO Config
  Types
  JDO Mapping
  JDO FAQ
  Other Features

Advanced JDO
  OQL
  Trans. & Locks
  Design
  KeyGen
  Long Trans.
  Nested Attrs.
  Pooling Examples
  LOBs

More
  Presentations
  The Examples
  3rd Party Tools
  JDO Tests
  XML Tests
  Configuration
  Tips & Tricks
  Full JavaDoc
  CastorWiki
  
  

About
  License
  Contributors
  Status, Todo
  Changelog
  Library
  Contact
  Project Name

  



Supported Features
    Castor XML
    Castor JDO
    Castor DSML
What's missing
TODO
    JDO
    XML
        Marshalling Framework
        Source Code Generator
        Mapping
        Miscellaneous
When is the next release?

Supported Features

Castor XML

-Automatic XML data binding for class definitions which adhere to the Java Beans design pattern. This is often referred to as default introspection in our documentation.
-Java to XML mapping automates transformation of Java objects to and from XML documents and provides Java object validation
- An XML based mapping file to specify XML bindings for existing object models (see xml-mapping).
-Source Code generator can produce Java class definitions, XML binding information, and validation code based on a given XML schema (see Source Generator)
-Supports the W3C XML Schema 1.0 Recommendation (2001-05-02). For more information refer to the Source Code Generator and XML Schema Support.
-Supports "customization" binding file used in conjunction with an XML Schema for greater control over the generated source code. Name collision is avoided with this binding file. for more information refer to the Binding File.
- Automatically create XML Schema from XML instance documents.

Castor JDO

-Java to SQL mapping (object/relational) automates Java persistence into any relational database server using JDBC
-Java to SQL mapping uses an XML document to specify the mapping textually, and provides an API to specify them programatically
-Supports one-one and one-many relation types, SQL/Java inheritance, object graph to single row mapping, and multiple column primary keys and automatic type conversion
-Optimistic and pessimistic locking modes, in-memory concurrency engine, and dead-lock detection
-Provides support for EJB 1.1 CMP entity beans (release 0.9) and CMP finder declaration using OQL
-Efficient implementation incurs little overhead compared to direct JDBC access
-Support for JTA transaction demarcation, inclusion as resource in transactional environment, and JDBC connection pooling (release 0.9 integrated with Tyrex)
-Cache control at JDO configuration and mapping file specification - no-cache option, cache object limit, cache time limit, LRU removal deamon
-New architecture separating the responsibility of the CacheEngine from that of the persistent object, in order to better support relations (especially many-many) and better handle dependency object commits.
-Multi column primary keys and contained objects.
-Mapping file supporting object dependency and relations.
-Serializable field type

Castor DSML

Note: DSML is no longer supported until we find a contributor who is willing to upgrade and maintain it. If you are interested in working on Castor DSML please let us know.

-Import/export an LDAP directory or search results to/from XML based on the industry standard DSML schema
-XML document for specifying LDAP queries and import rules
-Supports both JNDI service providers and the Mozilla Directory SDK

What's missing

-Work *was* under way on a direct SQL->XML bridge which uses the same mapping file but does not involve any Java objects in the process. The developer who was working on this feature left the company is no longer has time to work on this. If any one is interested in working on this feature...let us know!
-The EJB CMP implementation is now developed in the scope of the OpenEJB project.
-Consolidation between the SQL and LDAP engine through a shared DataStore API, potentially supporting other relational back-ends.
-More generic mapping API and mapping tools.
-Stored procedures, BLOBs, XML content.
-Debugging tools.

TODO

JDO

-Add type convertors to bind parameters and load() method
-DataStore API replacing existing persist SPI. Consolidation of JDO and DAX.
-New mapping DTD
-Support for read-only fields
-SQLData, DOM and Castor XML data object field types
-Stored procedures

XML

Marshalling Framework

-Improve SAX-2 support for Marshaller instead of using XMLReaderAdapter (kvisco)
-Improve ID/Key reference handling, including improvements to IDResolver. (kvisco)
-Improve ClassDescriptorResolverImpl to support nested Resolver (kvisco)
-Improve error reporting. (all)
-Improve documentation. (all)
-Improve performance. (kvisco, afawcett)
-Provide a JAXB compatibility layer. (kvisco + arnaud)
- For more items, please use Bugzilla

Source Code Generator

-Provide a JAXB compatibility layer. (kvisco + arnaud)
-Full Support Union type (union of string and Qnames are supported)
-Extensibility API.
- For more items, please use Bugzilla

Mapping

- Support for element containers, also called element wrappers.
-Improve Collection handling in default FieldHandler
-Improve mapping file usability
-Improve namespace support
- For more items, please use Bugzilla

Miscellaneous

-Support for creating an XML Schema from Java Object Model.

When is the next release?

Typically a release is done when all scheduled items for the release are finished and tested. However, this can take a while to accomplish depending on the tasks, therefore we may do "interim" releases that contain some of the features scheduled for a particular release. An interim release alls the community to take advantage of the new features and bug fixes, without needing to wait until all features of the release have been finished. An interim release can be done at any time that the CVS is in a stable state and especially if some important bug fixes are available.

The current tasks for the next release are being tracked in Bugzilla (http://bugzilla.exolab.org).

 
   
  
   
 


Copyright © 1999-2004 ExoLab Group. All rights reserved.
 
Java, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and in other countries. XML, XML Schema, XSLT and related standards are trademarks or registered trademarks of MIT, INRIA, Keio or others, and a product of the World Wide Web Consortium. All other product names mentioned herein are trademarks of their respective owners.