Three interesting announcements – EJB 3.0, Eclipse WTP and a new database: H2 (source included, Java)
Just browsing through my RSS feeds-reader, I stumbled across three very interesting announcements:
- JSR-220, the Enterprise JavaBean 3.0 specification, has reached Proposed Final Draft status. Programmers should expect that implementations should start to solidify now, although minor changes can still occur. It was predicted by Mike Keith in his presentation at JavaPolis (see my previous post on this talk and EJB 3.0 Persistence in general):EJB 3.0 Reference Implementation with teeth – Open Source EJB 3.0 by Sun and Oracle (Report from JavaPolis)
- The Eclipse Foundation today launched the Eclipse Web Tools Platform (WTP) 1.0. Release 1.0, which is an upgrade of the original 0.7 release and is built on top of the Eclipse 3.1.1 maintenance release, achieves two major goals in the WTP roadmap: It defines the WTP application programming interface (API) and remains current with the underlying Eclipse platform. See the homepage of the Eclipse Web Project: http://www.eclipse.org/webtools/main.html
- The creator of Hypersonic SQL has written a new database engine: H2.
It’s is written in Java, is free, source code is included. Available as
Java library and as native executable (GCJ). JDBC and (partially) ODBC
APIs are supported. Embedded and client/server mode, disk based or
in-memory operation, a web console application is included. Clustering
is supported as well. (source: TSS)
On EJB 3.0
There is already a number of preview implementations of EJB 3.0 available: the Reference Implementation, such as JBoss, Oracle OC4J and GlassFish – the Reference Implementation. GlassFish is composed of (core components of) the Sun Application Server and Oracle’s TopLink ORM Tool. On the GlassFish project page, we find the following fragment on persistence: "Persistence applications written to Enterprise JavaBeansTM 3.0 Specification use entities as lightweight persistent domain objects instead of CMP beans. Such entities can be inserted, deleted, or fetched from a database via the new persistence Java API that can be used either in a Java EE container or stand-alone with Java SE. An entity is defined by the entity class which can extend another entity class as well as a non-entity class. Entities can participate in polymorphic associations, and be subject to polymorphic queries. Persistent state of an entity can be represented either via JavaBeans style property accessors or via instance variables (though clients should never access state variables directly)." Details on EJB 3.0 Persistence Support in GlassFish can be found on https://glassfish.dev.java.net/javaee5/persistence/entity-persistence-support.html. It also describes how the EJB 3.0 Persistence Technology of GlassFish can be used in Java SE, outside the J2EE container: Out of container Persistence.
On WTP 1.0
The goal of the WTP project, which was launched in July 2004, is to
extend the open source Eclipse platform to Web and J2EE application
development. WTP has already been adopted by leading J2EE suppliers,
Cascading Style Sheets, JavaServer Pages, SQL, XML, Document Type
Definition, XML Schema Definition and WSDL, as well as graphical
editors for XSD and WSDL. Release 1.0 is also more scalable and robust. It fixes
important bugs, and includes major document and help-system
contributions from IBM that include both end-user and adopter
documentation. Future releases of WTP will focus more on the third
roadmap goal, which is currency with Web and J2EE standards like Java
EE 5 and WSDL 2.0.
The next WTP release in February will be a service pack for 1.0. Then in June all the Eclipse top-level projects are
expected to attempt a coordinated release around the 3.2 release of the
Eclipse platform, dubbed Callisto. That coordinated release, which
Wagner said is subject to the Eclipse Planning Council, is expected to
include the 1.5 release of WTP. The WTP 1.5 is expected to include the
JavaServer Faces tools subproject, which was proposed by Oracle Corp.
earlier this year and is now in incubation.
See the article Eclipse touts Web, J2EE development in tools release by Paul Krill (19th December 2005) on InfoWorld http://www.infoworld.com/article/05/12/19/HNeclipsewebtools_1.html
It is free to use and distribute, and the source code is included.
But currently does not have a ‘open source style license’, but this will probably change soon.
See also under license. It certainly looks interesting, especially the emphasis on speed and performance, not typically expected from a Java based database:
Some people think that Java is still too slow for low level operations,
but this is not the case (not any more). In general, the code can be written a lot faster
than using C or C++. Like that, it is possible to concentrate on improving the algorithms
(that make the application faster) rather than porting the code and dealing with low
level stuff (such as memory management or dealing with threads).
Garbage collection is now probably faster than manual memory management.