The Apache Software Foundation in its note highlighting new developments in the Apache family during the year 2005, talks of a number of Java projects. Here’s a look at some of the well known ones:
With the Ant 1.6.5 release in May 2005, Java developers obtained a stable and well-supported build tool that lets Java developers build, test and deploy applications on any Java-enabled platform. One measure of the project’s success is the increasing competition between mainstream Java IDEs to provide comprehensive Ant integration – ranging from Ant-aware editing and debugging (IntelliJ IDEA) to an Ant-only build process (NetBeans).
Apache Ant has effectively lowered the cost of switching between IDEs, allowing developers to work with their favorite products, and enabled continuous integration tools such as Apache Gump and Apache Maven’s Continuum server to facilitate automated build processes.
As a natural progressor to the highly regarded Apache Axis project, Axis2 is blazing the trail to be the core of a clean and extensible open source Web Services platform. Building on the “handler chain” model of Apache Axis, Axis2 introduces a more flexible modular architecture. Axis2’s extensibility allows it to be a foundation for implementing Web Services protocols including reliable messaging with Apache Sandesha, security through Apache WSS4J and transactions through Apache Kandula.
The high performance lightweight XML object model AXIOM enables both maximum flexibility and performance. This object model allows Axis2 to support multiple levels of abstraction for consuming and offering Web services. Axis2 is currently in a 0.94 release and is nearing its 1.0 status.
The newly available Apache Beehive 1.0 makes J2EE programming easier by building a simple object model on J2EE and Apache Struts. Using JSR-175 annotations to simplify application development for developers and the creation of Java development tools by independent software vendors, Beehive 1.0 is built around the following projects — all of which can be used together or separately depending on the requirements of a specific
2) Controls, a resource abstraction framework that enables a consistent JavaBean API to access enterprise resources such as databases and message queues, and provides a readymade set of abstracted system controls for low-level J2EE resource APIs such as Enterprise JavaBeans (EJB), Java Messaging Service (JMS), and Java Database Connectivity (JDBC); and
3) Web Service Metadata (WSM), the Apache Axis-based implementation of JSR 181, which standardizes a simplified, annotation-driven model for building Java Web Services.
The long-awaited release of Apache Cocoon 2.1.8 was made available. The latest version of the Web development framework is built around the concept of separation of concerns and component-oriented Web RAD, features several bug fixes, additions, and improvements. They include:
- AJAX support for partial updates to a form; new tree widget; experimental code for reusable form libraries (part of the Google Summer of Code project) and a sample showing how to create forms using relational databases with zero Java code;
- stack traces;
- enhancements to the portal block, including improved caching mechanisms, support for the Web Services For Remote Portlets (WSRP) standard, and provided components for database access using OJB;
- simplified build process; reworked Cocoon documentation system (now using Daisy);
- new JCR block allowing access to JCR repositories such as JackRabbit (Java Content Repository specification was designed as a part of JSR170);
- new validation block providing the ability to validate XML in a pipeline choosing from a range of schema languages (DTD, XSD, RNG);
- and the ability to use Cocoon pipelines to render JSF pages.
The Geronimo project team announced the much-anticipated Geronimo 1.0, following two years of extensive effort including testing on Linux, Windows, MacOS and zLinux as well as many hardware platforms. J2EE 1.4 certified, Geronimo 1.0 offers one of the most flexible architectures in the application server market, allowing an unmatched ease of integration via its kernel and GBean architecture.
The release included support for Java Business Integration (JBI), Jetty or Tomcat Web container deployment options, a complete Web-enabled management console based on Java Portlets, full integration with the Eclipse Web Tools Project, and integration of Apache Derby and the Apache Directory Server. In addition to the release of Geronimo 1.0, the following sister projects are being incubated as Geronimo subprojects: ActiveMQ, ServiceMix, and WADI. All of these projects in incubation already make use of the Apache License 2.0.
The Apache Maven project announced Maven 2.0.1 and Continuum 1.0.2, that, together offer a platform that delivers declarative build, dependency management, documentation creation, site publication and distribution capabilities to enable project visibility and management.
Based on a unified Project Object Model (POM) architecture, Maven 2.0 consists of metadata for describing clear, consistent phases for building projects, and
offers a unique plug-in environment that provides an extensible development framework to support multiple languages for total re-usability across projects. Maven 2.0 also features new software ‘DNA’ mapping to track and manage transitive build dependencies across repositories. The fastest growing build system for Java-based projects, Continuum 1.0 enables continuous integration by both automating the testing and packaging phases of the
software build and providing reports on build status, including success, failure and unit test coverage.
Apache MyFaces is the first free open-source implementation of the JavaServer Faces (JSF) standard for developing web applications in the Java programming language. In 2005, Apache MyFaces achieved full compatibility to the JSF specification and passed the JSFT Technology Compatibility Kit test. Apache MyFaces also released versions 1 and 1.1, where 1.1 was the first fully JSF specification compliant version. Over this year, MyFaces steadily built out its component-set – from dynamic trees to popup-calendars, MyFaces features components for most web developer’s needs.
After more than two years in development, the Apache Portals project released the Jetspeed 2 Open Source Enterprise Portal, a full implementation of the Java Portlet API. Notable features include security components backed by LDAP and database implementations and some robust administration interfaces.
Custom portals can be built and deployed using the Jetspeed plugin for Apache Maven. The Jetspeed PSML language can be used to assemble portlets with the Apache Portals Bridges project to ‘bridge’ portals with existing technologies including Struts, JSF, PHP, and Perl. Offering GUI designers several built-in templates to decorate portals and portlets, Jetspeed 2 is fully compliant with the Portlet Specification 1.0 (JSR-168), has passed the TCK (Test Compatibility Kit) suite, and is fully certified to the Java Portlet Standard.