W3C has issued SOAP 1.2 as a recommendation. This means that the SOAP 1.2 specification is now (effectively) a web standard. Apache software related to SOAP can be found in the Web Services and XML projects. The press release is here.

Discussions on general mailing list have been fairly light-weight these 2 months. The Main page of the Jakarta Site has been updated in order to arrange the "Jakarta-Related" projects properly. Now, Jakarta website has renewed to become one of the most powerful "Java-Portal" sites. The JavaOne Conference was held in June, and there seemed many atendees from jakarta participants.

As Sun Microsystems set up the http://java.net/ site, there was alot of talk surrounding this issue.

Jakarta Tapestry, which had been longed to become a Top Project in Jakarta, finally joined in the Jakarta Umbrella in May. The first proposal was made at General Mailing List in October last year by Howard M. Lewis Ship, so it took about a half year. We look forward to the Tapestry Teams playing a more active part in Jakarta.

Project: { { { Jakarta Log4j } } }

"Log4j allows developers to control which log statements are output with arbitrary granularity"

Editor: Mark Womack, Ceki Gülcü

Scott Deboy and Paul Smith have been enthusiastically voted in as log4j committers. They have done extensive work on improving chainsaw and other parts of log4j. In relation with this vote, Mark Womack stated:

{{{ With all of our new contributors, I think it is a validation of the sandbox

that we started. It is an excellent way to let people contribute, get familiar with the environment, process, etc. And then when merit is demonstrated, granting appropriate committer access. I like that we set up that process. I think it has really rejuvenated and helped the log4j development community, affecting my previous commentaries. I hope it continues and that more people out there will take advantage of it, start the process for themselves, and get involved at whatever level they can/want. }}}

Chainsaw v2 has been moved out of the sandbox into log4j main.

Certain operations on Loggers are now made using { { { ReaderWriterLocks } } } which allows simultaneous read operations but only one write operation. This should significantly improve logging throughput in heavily loaded server environments.

Rolling can now be triggered based on time or size as was already the case in log4j 1.2. However, the new architecture allows for much more variation in the timing of the rollover and the actions taken during rollover (i.e on the fly compression, renaming, moving). The new architecture was suggested a long time ago by James P. Cakalic. A similar design can be found in the Avalon Logkit.

We have started to closely collaborate with the Avalon project in order to better cater for their needs.

In addition to Ant's Java World Editors' Award, the Apache Ant has also been awarded the Java Pro Readers' Choice award for Most Valuable Java Deployment Technology.

Anyone upgrading to Java1.4.2 should note that <javah> breaks, on account of the entry point to the javah code being moved. This is fixed in CVS, and may merit a release of an update of the 1.5.x branch simply to reduce developer grief. We must actually credit Sun for giving us an early warning of the change, but cannot fail to observe that leaving entry points alone would have been better.

In the Ant core itself work on the new task loading mechanism <antlib> is progressing; once this is stable it should improve how tasks load. To address with the related increase in .jar files that come from splitting optional.jar up by dependency Conor has recently added an alternate startup mechanism, Launcher, which should offload much of the work of the surprisingly troublesome startup scripts into the Java code itself. With a single means of adding ANT_HOME/lib jars to the classpath, finding the JDK and such like, life should be easier for everyone, especially those who insist on installing Java in directories with spaces in them.

Ant is gearing up for the 1.6 release. There will be a number of new features and improvements. There is still a lot of development to do so it's a month or two away at this stage. There are things such as the import task, xdocs documentation generation, possible type polymorphism, etc. There are nightly builds to try now if you want to see what sort of features are coming and you want to test them out.

There is a new task <scriptdef> allowing tasks to be created from BSF scripts. It's a piece of a larger, interesting discussion about scripting within Ant. One approach is speculating about the use of scripting based alternatives to the Ant XML representation that still leverage the tasks in the Ant codebase.

There is a new book on Ant in the stores, "Extreme Programming with Ant", by Niemeyer and Poteet. Covering Ant 1.5.3, JUnit, XDoclet and related tools with an XP build and deploy focus. It sounds like an interesting read.

Project: { { { Jakarta Commons - General } } }

"creating and maintaining reusable Java components"

Editor: Robert Burrell Donkin

An OnJava Article [1] covering the components in Jakarta Commons [2] has been published. If you've ever wondered about what's all these components do, this is a good place to start. Due to the diverse nature of the commons group, this section has been split up to make it easier to pick out the topics of interest. These months' stories come from the following:

There has been renewed interest in DBCP, which has sparked a requirements discussion. The list of bugs and tasks for the next release are becoming clear, as well as how to extend DBCP moving forward. We hope to have a good bug fix in the next month or two, and then have a major release later this year.

HttpClient has continued to be busy. 2.0 beta 2 was released July 2 and a final 2.0 version should follow shortly.

A 2.0 branch will be created in early July so that 2.1 development can begin. The plan for 2.1 is coming together (2.1 release plan thread [1]) and will provide some significant refinement of the 2.0 release.

Adrian Sutton was warmly welcomed into the committer team in early June and has continued to be a valuable member of the HttpClient community.

For more information please see the HttpClient component home page [2].

Commons-math is a new Commons Sandbox component. The goal is a small, self-contained, ASL-licensed library of utilities addressing common math/stat programming problems that can't be solved directly using the JDK or the extensions in commons-lang.

Here is a sample of the kinds of things supported by the initial code base:

Computing means, variances and other summary statistics for a list of numbers

Fitting a line to a set of data points using linear regression

Solving equations involving real-valued functions (i.e. root-finding)

Performing statistical significance tests

Solving systems of linear equations

Generating random numbers with more restrictions (e.g distribution, range) than what is possible using the JDK

Generating random samples and/or datasets that are "like" the data in an input file

Finding a smooth curve that passes through a collection of points (interpolation)

Miscellaneous mathematical functions such as factorials and binomial coefficients

Suggestions for new components or enhancements to existing functionality are always welcome!

After a long period of quiet, the Velocity developer community has recently gained some new momentum. Work has begun on a patch to add floating point number capability to the velocity syntax. Other changes under discussion include

Also, the VelocityTools subproject has been stable for months now and is nearing first release. Among other things, it provides good support for rapid, clean development of web applications with Velocity and optional integration with the Struts framework. Anyone developing web applications with Velocity needs to check this out.

More info is on the velocity-dev list. Please come and share any comments you might have!

Jakarta Jetspeed Team realeased the Jetspeed 1.4 Beta 4 on 27 April 2003, and made a lot of changes after the Beta 4 Release [1]. Now, our team is planning to release the official final release 1.4, long overdue however, around the end of July or thereabouts.

Jakarta Jetspeed has grown in recognition and influence as an internationalizable portal site system. The Jakarta Jetspeed Team welcomes any input, feedback or comments.

JMeter has grown quickly in the past year, with new releases coming out about every 6 months. Right now, JMeter 1.9 is nearing completion (see JMeter-1.9RC2). JMeter has become a full-fledged client/server testing tool, useful for both stress testing and functional testing of web apps, databases, ftp, soap services, ldap, and more.

In the past few months, several articles have been written about JMeter:

The Struts team is proud, and extremely pleased, to announce the Final release of Struts 1.1. This release includes significant new functionality, as well as umerous bug fixes which were reported against the previous release, and supersedes the earlier 1.0.2 version as the latest official release of Struts from the Apache Software Foundation.

Both source [1] and binary [2] distributions, including a minimal binary distribution, are available through the usual Apache mirror sites. Please remember to verify the signatures of the distribution using the keys found on the main Apache web site when downloading from a mirror.

Also, as of June 25, 2003, there were 2744 subscribers to STRUTS-USER (plus an unknown number who read it through newsfeed mirrors). It has come to be the largest user mailing list at Jakarta, exceeding TOMCAT-USER that has about 2400 subscribers.

The Jakarta Tapestry team is tickled pink by the ascension of Tapestry to a full Jakarta sub-project [1]. The first beta release of Tapestry has been released [2]. Tapestry distributions are now properly mirrored (now more SourceForge downloads!). A second beta is expected soon.

The Tapestry user list currently stands at 250 subscribers (as of July 5, 2003).

Christian Sell has written an article [3] comparing the WebWork and Tapestry frameworks. The article was published in the German language magazine Javamagazin [3]. The text of the article is available (in German) at [4], and its very favorable to Tapestry. Tapestry continues to gain mind-share.

Contributor: Richard Lewis-Shell

May saw Tapestry accepted as a full-fledged Jakarta project [1] - the incubator is behind us! Since then Tapestry has continued to thrive, making solid progress towards the first release under the Jakarta banner - 3.0. A feature complete beta-1, and a quick followup beta-1a, have been released [2], with beta-2 imminent. beta-2 will feature a number of bug fixes, and small enhancements over beta-1a, and Mind Bridge's converted code enhancer from BCEL to Javassist. Attention is starting to turn to 3.1 with a refactoring to Howard Lewis Ship's HiveMind [5] sandbox project on the cards.

In related news, Geoff Longman has made an early version of Spindle [6] available (the Eclipse IDE plugin for Tapestry) for Tapestry 3 looking quite unlike previous versions of Spindle, but showing great potential.

The Tomcat team is hard working on Tomcat 5, with the recent release of Tomcat 5.0.3, and the upcoming Tomcat 5.0.4 release (another alpha). The quality of Tomcat 5.0.3 seems to be quite high for an alpha (which isn't that surprising given it is a direct evolution of the Tomcat 4.1.x codebase), so we encourage fearless users to test drive it and report issues.

The James team has been on a roll lately, incorporating several long-outstanding feature requests into the stable 2.X release branch. The biggest new feature is a custom class-loading system, so custom mailets and matchers do not need to be built and included within James itself. This will allow much faster and easier development of email based applications.

James was featured this month on IBM Developer works with two excellent articles by Claude Duguay. He first introduces "users to James" [1] and then gets into "building some custom mailets and matchers" [2].

Other recent changes include clarifying exception handling and adding the ability to configure how James should handle these unexpected errors. There have also been a large number of bug fixes, and we are rolling out releases almost every month. Some upcoming features include an enhanced mailing list system, better database connection pooling, and some improvements to the mailet API. The differences between the 2.X and the 3.X branch are gradually shrinking as features are being backported to the current stable branch.

Since becoming a top-level project (TLP), the James community continues to experience strong growth, this spring averaging over 12,000 downloads per month. Vincenzo joined us as a new ASF committer this month, and we plan to continue to grow the developer community. We have recently migrated our CVS and mailing lists to reflect our new TLP status, so please check the website if you want to subscribe or check out the source code.

OJB is in the process of finalizing a 1.0 release. We plan to have a new release candidate in July and hope to get out the 1.o release by end of July. In the last months OJB attracted more public attention.

Since its last release on Dec, 6 2002, the Turbine Web Application Framework has undergone some significant improvements and changes.

Most of the sore points (Logging, Configuration, Component Integration) have been addressed, improved and resolved. Currently, the Turbine Developers are working hard towards the next release which is scheduled for Mid to End of July. A first Release Candidate (RC) is to be expected around July, 7th.

Changes from the last release include:

Usage of commons-logging everywhere for unified logging of all parts of an application

Centralized configuration with the ability to configure from XML files and JNDI servers

Multiple new security implementations, including LDAP and a flexible, database driven security service

Crypto Service for various kinds of encryption (including Unix crypt)

Completely overhauled and reworked input validation service (Intake)

An Avalon Component Service is available which allows users to integrate Avalon components into Turbine applications. The Turbine Development Team recommends using this new Service for accessing the Torque object persistence framework which is the foundation for some of the Turbine Services such as Security Service and Scheduler Service

Many bug fixes and code cleanups

For more information see the Homepage of the Jakarta Turbine Project [1].

We updated the build system from Crysalys Centipede to XML-Forrest. Thanks to all the contributors to XML-Forrest. We are preparing the release of the Poi 2.0-pre2 within a few days. Poi TNEF -- Java implementation for MS-TNEF mail extraction -- will join to the Poi Team contributed by Amichai Rothman (http://www.freeutils.net/source/jtnef/). HDF (Horrible Document Format, Microsoft Word compatible format reader/writer), inactive for some time, has become active again due to our excellend developers.

Implementing full support for Avalon 4 interfaces Fortress provides a straightforward upgrade path from the outdated ECM Avalon container.

The most lightweight of the modern Avalon containers Fortress is easy to embed into managed environments like servlet engines. It features high scalability and facilates creation of application-specific avalon containers.

The difference that all ECM users will notice is the decomission of role files -- this information is now expressable via javadoc tags in component's source.