October 2001 Java News

Wednesday, October 31, 2001

Sun's posted the maintenance review draft specification of the Java API for XML Processing 1.1 in the Java Community Process. The goal for this release is to add standard schema support to JAXP by defining two new SAX properties, http://java.sun.com/xml/jaxp/properties/schemaLanguage and http://java.sun.com/xml/jaxp/properties/schemaLocation. This seems like a reasonable proposal, though I'd prefer to see it done as a part of the next iteration of SAX rather than JAXP (e.g. http://xml.org/sax/properties/schemaLanguage and http://xml.org/sax/properties/schemaLocation). I also think they need a third http://java.sun.com/xml/jaxp/properties/noNanespaceSchemaLocation property. Comments are due by December 3.

Onion Networks has released an open source Java FEC Library. Forward Error Correction (FEC) is an essential building block of any satellite or IP multicast based content distribution system. This library offers:

Tuesday, October 30, 2001

IBM Research has released the Jikes Research Virtual Machine (RVM):

The RVM is designed to execute Java programs that are typically used in research on fundamental virtual machine design issues. It will provide academic and research communities with a flexible testbed to prototype new virtual machine technologies and experiment with different design alternatives. It runs on the AIX/PowerPC, Linux/PowerPC, and Linux/IA-32 platforms, and exhibits industry-strength performance for many benchmark programs on the first two of these platforms.

The Jikes RVM includes the latest VM technologies for dynamic compilation, adaptive optimization, garbage collection, thread scheduling, and synchronization. The Jikes RVM is implemented in the Java programming language.

It was originally hoped to release the project using the name "Jalapeno" that was internally used during its development. However, it turns out some company has a claim on this name, so we decided to use "Jikes", as we have done before for projects from the Software Technology department here at IBM Research.

The project has no direct link to the Jikes Compiler Project other than requiring the Jikes compiler for its compilation. Indeed, this is the reason Jikes supports the the "+K" option.

Tomcat logo

The Jakarta Apache Project has posted the second release candidate of Tomcat 3.3, a servlet engine for Apache that supports version 2.2 of the Java Servlet API and version 1.1 of the Java Server Pages API.

sync4j is an open source Java implementation of the SyncML data synchronization protocol for PDAs and similar devices. sync4j uses JDOM for XML manipulation.

IBM's released version 1.15 of their open source Jikes Java compiler. This release fixes numerous bugs.

Sybase has submitted a Java Specification Request for ebXML CPP/A APIs for Java to the Java Community Process. This JSR aims to provide a standard set of APIs for representing and manipulating Collaboration Profile and Agreement information described by ebXML Collaboration Protocol Profile/Agreement documents. Comments are due by November 5.

Hewlett Packard's submitted a Java Specification Request for an XML Transactioning API for Java (JAXTX) to the Java Community Process. JAXTX proposes an API for packaging and transporting ACID transactions (as in JTA) and extended transactions (e.g., the BTP from OASIS) using the protocols being defined by OASIS and the W3C. Comments are due by November 5.

IBM's alphaWorks has released URL Cache, a tool that enables the caching of URLs retrieved by java.net.URL without any changes in your own code. The set of URLs cached and their expiration is configurable. By default it only caches DTDs (URLs ending in *.dtd) with no expiration; but it can easily be configured for non-default behavior.

Sun's released the Java 2 Micro Edition Mobile Information Device Profile (J2ME MIDP) for Palm OS 1.0. This is a Java runtime environment for Palm Pilots and the like.

Monday, October 29, 2001

Sun's posted the fourth proposed final draft specification for JDBC 3.0 in the Java Community Process. Version 3.0 updates JDBC to reflect changes in both SQL and Java.

The Expert Group for JSR-51 has posted a public working draft specification of New I/O APIs for the Java Platform.

The IETF has published RFC 3160, The Tao of IETF - A Novice's Guide to the Internet Engineering Task Force. This document describes the inner workings of IETF meetings and Working Groups, discusses organizations related to the IETF, and introduces the standards process.

Version 1.1.5 of the free BlueJ integrated development environment (IDE) has been released. The major new feature of this release is much improved support for MacOS X.

Sun's posted the first beta of NetBeans 3.3, an open source IDE for Java. There are quite a few new features in this release including support for Java 1.4, user interface enhancements, and the ability execute and debug servlets.

Tomcat logo

The Jakarta Apache Project has posted the first beta release of Tomcat 3.2.4, a servlet engine for Apache that supports version 2.2 of the Java Servlet API and version 1.1 of the Java Server Pages API. Version 3.2.4 just fixes bugs found in 3.2.3.

Sunday, October 28, 2001

The Apache Avalon team has released LogKit 1.0 final. LogKit is a Java class library designed for secure, high performance logging that can be integrated into existing products with minimal impact.

Saturday, October 27, 2001

Sun's released version 1.3.1_01a of the Java Development Kit for Windows only. The changes appear to be purely in the Java plug-in. In particular, the Java Plug-in now supports the APPLET tag for launching of applets in Internet Explorer 4.0 and later and Netscape 6.0 and later. In addition, performance has been improved, sun.audio is supported, and many bugs have been fixed.

Friday, October 26, 2001

Sun's posted Java Specification Request 153, Enterprise JavaBeans 2.1, in the Java Community Process. This proposes to add "support for JAXM message-driven beans, enhancements to EJB QL to support aggregate and other operations, support for linking of messaging destinations, support for web services usages within EJB, and a container-managed timer service."

Thursday, October 25, 2001

Sun's posted Java Specification Requests (JSRs) for the next version of Java Server Pages (JSP) and the Java Servlet API. The two primary new features planned for JSP are custom actions and expression language support in the container. Servlets 2.4 is planned to be a relatively small upgrade including modularization of the deployment format, enhancements to the security model, portable logging, some enhancements to the filter and listener models, request and response level listeners and event notifications, and backwards compatible enhancements to the servlet API and semantics to allow containers to take advantage of the new J2SE IO package.

Wednesday, October 24, 2001

Sun's submitted Java Specification Request 151, Java 2 Platform, Enterprise Edition 1.4 Specification, to the Java Community Process. This proposes "J2EE 1.4, the next release of the Java 2 Platform, Enterprise Edition." Quoting from the JSR:

This JSR is to develop J2EE 1.4, the next release of the Java 2 Platform, Enterprise Edition, targeted to ship in the second half of 2002.

The major theme for the next version of J2EE is web services. The clear message we've gotten from J2EE vendors and users is that the J2EE platform must evolve quickly to provide support for web services, initially using SOAP/HTTP as the primary protocol. This protocol support is being defined in other JSRs (enumerated below). We propose that:

  • J2EE 1.4 will define the J2EE component model, deployment, packaging, and container requirements for J2EE components that use JAX-RPC and JAXM to implement web service endpoints.
  • J2EE 1.4 will define the J2EE component model, deployment, packaging, and container requirements for J2EE components that use JAX-RPC and JAXM to access web service endpoints.
  • J2EE 1.4 will define the J2EE component model, deployment, packaging, and container requirements for use of JAXR to access web service registries.

J2EE 1.4 will also deliver on work in progress to improve the support for J2EE tools, and will provide minor enhancements to existing APIs as required.

This JSR will not itself define any new APIs, rather it will enumerate APIs defined in other JSRs or through the JCP maintenance process. We propose to include the following new APIs or API revisions in J2EE 1.4 in support of the above goals:

  • J2EE 1.4 is the Enterprise Edition of version 1.4 of the Java platform, and thus will be built on J2SE 1.4.

    The following JSRs provide the basic web services support for J2EE.

  • JSR-109 (Web Services)
  • JSR-101 (JAX-RPC)
  • JSR-67 (JAXM)
  • JSR-93 (JAXR)

    The following JSRs provide new capabilities to J2EE 1.4.

  • JSR-77 (management)
  • JSR-88 (deployment API)
  • JSR-115 (J2EE Authorization SPI)
  • JSR-56 (JNLP)

    The following JSRs enhance APIs that are in J2EE 1.3.

  • JSR-112 (J2EE Connector Architecture 2.0)
  • JSR-152 (JSP 1.3)
  • JSR-154 (Servlet 2.4)
  • JSR-153 (EJB 2.1)
  • JSR-9XX (JAXP 1.2 - XML Schema support)
  • JSR-9XX (JMS 1.1 - queue/topic unification)

We believe that it is critical to deliver a J2EE platform with web services support as soon as possible. To be successful, the target feature set will need to be carefully managed. Very few technologies that aren't already well defined will be able to be included, and such new technologies will need to be tightly focused on the essential items necessary for web services support. Future J2EE releases will expand on this basic web services support and will provide support in other areas as well.

Some of the JSRs listed above are near completion, others are just starting. Spec leads for all included JSRs will need to remain focused on the goal of delivering web services support in J2EE 1.4 as soon as possible. Those that complete in time will be included in J2EE 1.4. Those that fail to complete in time may not be included. In the rare case that a critical JSR fails to complete in time or fails to define the level of web services support required by J2EE, this JSR may define a minimal set of such features as needed to successfully deliver on the goal of web services support.

Tuesday, October 23, 2001

The Expert Group for JSR-23 has released the JAIN Media Gateway Control Protocol API Specification. This spec defines the JAIN API for access to protocol stacks that support the Media Gateway Control Protocol (RFC 2705).

Monday, October 22, 2001

Sun's posted the proposed final draft of JSR-55 Certification Path API in the Java Community Process. This is "a set of provider-based APIs for creating, building, and verifying certification paths (also known as 'certificate chains')."

Sunday, October 21, 2001

Sun's posted the maintenance release of JSR-11, JAIN TCAP Specification, following the recent Maintenance Review.

Saturday, October 20, 2001

The Java Community Process Maintenance Lead for JSR 907, the Java Transaction API, has posted another set of errata for Maintenance Review: The review closes on November 5, 2001.

Friday, October 19, 2001

Sun's posted the maintenance review draft specification for JSR-916 J2SE 1.4 Merlin Beta 2 in the Java Community Process. Review closes on November 5, 2001.

Thursday, October 18, 2001

I've posted SAX, Chapter 6 of Processing XML with Java, on Cafe con Leche. This chapter provides in-depth coverage of the ContentHandler interface, and discusses some common usage patterns for SAX.

As always, all comments are appreciated. Just email them to me at elharo@metalab.unc.edu. I have two questions in particular about this chapter. First, is the sidebar on SAX in other languages (Python, Perl, C++) accurate? I don't use these languages routinely, so it's entirely possible I've misrepresented the actual status of SAX in these environments. Secondly, is SAXSpider, my example of the Attributes interface, too complex for an example at this level? Would a simpler example (say verifying all the URLs in an XHTML or RDDL document) make a better example of the Attributes interface?

Wednesday, October 17, 2001

About half the people who wrote in yesterday about the properties suggested various solutions, while the other half provided proofs of why what I wanted to do couldn't be done. Unfortunately, the latter group was correct. :-(

A couple of XML folks suggested modifying jre/lib/jaxp.properties. Unfortunately that file doesn't necessarily exist, nor can I assume that JAXP is available or being used. Although the specific example I cited and my immediate problem was org.xml.sax.SAXDriver, I'm looking for a general solution for all system properties. Furthermore, the specific org.xml.sax.SAXDriver property is relevant in non-JAXP SAX environments.

Several other people suggested using System.setProperty(). Unfortunately, that only works for the current invocation of the Java VM. It is not persistent. Several people also suggested writing my own application default properties file. Again, that's not exactly what I need. I need to set global, persistent properties for all applications, not just the ones I write. A couple of people suggested aliasing java to "java -Dorg.xml.sax.SAXDriver=org.apache.parsers.SAXParser" or some such. That would work, but it's really painful, especially on Windows, and it doesn't scale very well. Furthermore, it doesn't pick up applications like Limewire that use their own scripts and aliases to launch.

Sebastian Fernandez was the first to point out the specific problem in Sun's Bug Parade on the Java Developer Connection (registration required) so he wins the promised copy of the XML Bible Gold, which will ship out tomorrow if he sends me his snail mail address today.

Greg Guerin's posted the first public beta of the WeatherEase Toolkit, an open source Java class library for working with digital weather-report data retrieved in real time from web-based and other sources. The data is then decoded and used to build Java objects represented by classes like Sky, Wind, Temperature, and WeatherReport.

Cisco Systems has submitted Java Specification Request 155 (JSR-155), Web Services Security Assertions to the Java Community Process. The goal is to "provide a set of APIs, exchange patterns &; implementations to securely (integrity and confidentiality) exchange assertions between web services based on OASIS SAML." Assertions could include credentials, authentication, authorization, and sessions; and are based on top of XML digital signatures.

Tuesday, October 16, 2001

Quick question for anyone who knows the answer: is there a way to globally set a Java system property such as org.xml.sax.SAXDriver? I know about the -D flag to the interpreter. However, I'm looking for something I can set once and forget. There at least used to be a way to set properties using files like .hotjava and applet.properties; both those seem to have disappeared from recent distributions. Preferably I'd like to edit a text file that doesn't require me to go digging around in the depths of various JAR archives. First person to send a complete answer (assuming such an answer exists) to me at elharo@ibiblio.org gets a free copy of the XML Bible Gold Edition.

The first alpha release of MySQL 4.0.0 has been posted. This is an open source relational database not written in Java, but used by many different web sites. At various times over the past couple of years I've begun the process of converting this site to a database-backed site sitting on top of MySQL, but I keep distracted by book projects. THe major new features in 4.0 include using MySQL as an embedded library, InnoDB (transactions) as a standard table type, UNION, and multi table delete.

Monday, October 15, 2001
Tomcat logo

The Jakarta Apache Project has released Tomcat 4.0.1, a maintenance release of the reference server for the Java Servlet API 2.3 and Java Server Pages 1.1. This release does include some security fixes, and all Tomcat 4.0 users should upgrade.

Dmitry Markman's released RXTX 1.4.12, a GPL'd implementation of the Java Communication API.

Saturday, October 13, 2001

Sun's released the JAIN Call Control API. This is probably only relevant if you work at a phone company.

Friday, October 12, 2001
Cover of the XML Bible, Gold Edition

I'm pleased to announce the release of the XML Bible, Gold Edition. At just barely under 1600 pages, this is my largest book yet, and possibly the largest XML book published to-date. In fact, I wrote more pages than the printer could glue between two covers, so this edition is also my first English language hard back. Why so big? Because we needed to fit in everything that was in the second edition plus oodles of new and updated material including:

In addition, the treatment of several existing topics was expanded and/or updated significantly including schemas, XSL Formatting Objects, and the design of XML applications. The XML Bible, Gold Edition has arrived at pretty much all bookstores that carry computer books including Amazon, FatBrain, and Barnes & Noble. The list price is $69.99, though most stores are offering their usual discounts. If you need to special order it, the ISBN number is 0-7645-4819-0, and it's written by me, Elliotte Rusty Harold. I'll get the web pages for the Gold edition online at Cafe con Leche soon, but in the meantime the sample chapters from the second edition are pretty much what's been printed in the Gold edition. In fact, the updated schemas chapter I've posted here was actually taken from the manuscript for the Gold edition.

The plan is to keep selling both the second and gold editions simultaneously which raises the obvious question of which you should buy. On the down side, the Gold edition costs $20 more, and is about 2 pounds heavier. If you're strapped for cash or bookshelf space, you should probably choose the second edition. On the upside, the Gold edition is a little more up-to-date. If you have a particular interest in any of the new topics listed above or schemas, I'd suggest getting the Gold edition. Otherwise the second edition will probably serve you well without inducing a hernia.

For this edition, I focused on adding new material, not on rewriting and updating what had already been written. If you already own the second edition, it's probably not worth upgrading unless you have a particular need for one of the new chapters. It's only been about 5 months since the second edition came out, and pretty much everything in that edition is still current. On the other hand, if you're still using the first edition, it might be time to upgrade. The first edition is now over two years old, and there've been a lot of developments in the XML world since 1999. I'm sorry but there's no special upgrade price. Unlike software, the incremental cost of printing extra copies of a book is a non-trivial. However, if you did like the first edition, I think you'll like the Gold edition even more.

Thursday, October 11, 2001

The Jakarta Apache Project's posted the first beta of Tomcat 4.0.1, a Java servlet and Java Server Page engine for Apache. 4.0.1 is a bug fix release.

Microsoft's posted (and then retracted, and then posted again) a beta of Visual J# .NET, a Java compiler for the .NET platform. It includes tools to automatically convert existing Visual J++ 6.0 projects to Visual Studio .NET. Note that this only supports the Java language, not the Java class library and API, though some parts of the API do appear to be emulated by through wrappers around the .Net API.

Monday, October 8, 2001

Planetweb has announced version 3.0 of their Web browser for the Sega Dreamcast game console. The big new features in this release are support for Java, Flash, and instant messaging. The browser costs $20 until October 15 when the price rises to $25. Preorders are being taken on amazon.

Saturday, October 6, 2001

Sun's announced plans to layoff almost 4,000 people, approximately 9% of their total workforce, and consolidate some facilities. They also announced an expected first-quarter fiscal year loss of between 5 cents and 7 cents a share and revenue somewhere between $2.7 billion and $2.9 billion.

Friday, October 5, 2001

The 16th International Obfuscated C Code Contest has started. Entries are accepted until December 1, 2001. The goals of the competition are to:

The first alpha of the Gnome 2.0 window manager for Linux has been posted. New features include:

Sun's posted an early access release of the ECperf Kit 1.0 Update Release 1. This benchmark is designed to measure performance and scalability of J2EE implmentations.

Thursday, October 4, 2001

Sun's posted the proposed final draft of the Java Certification Path API 1.0 specification in the Java Community Process.

Sun's posted the Sun Specifications for DVB version 1.1 (whatever that is).

Older news:

JanuaryJanuary, 2001January, 2000January, 1999January, 1998
FebruaryFebruary, 2001February, 2000February, 1999February, 1998
MarchMarch, 2001March, 2000March, 1999March, 1998
AprilApril, 2001April, 2000April, 1999April, 1998
MayMay, 2001May, 2000May, 1999May, 1998
JuneJune, 2001June, 2000June, 1999June, 1998
JulyJuly, 2001July, 2000July, 1999July, 1998
AugustAugust, 2001August, 2000August, 1999August, 1998
SeptemberSeptember, 2001September, 2000September, 1999September, 1998
OctoberOctober, 2001October, 2000October, 1999October, 1998
NovemberNovember, 2001November, 2000November, 1999November, 1998
DecemberDecember, 2001December, 2000December, 1999December, 1998

[ Cafe au Lait | Books | Trade Shows | FAQ | Tutorial | User Groups ]

Copyright 2001 Elliotte Rusty Harold
Last Modified October 26, 2001