January 2002 Java News

Thursday, January 31, 2002

Sun's posted the ECperf Kit Version 1.0 - Update 2 FCS on the Java Developer Connection (registration required). This benchmark is designed to measure performance and scalability of J2EE implementations.

Wednesday, January 30, 2002

Motorola's posted the proposed final draft specification for Java APIs for Bluetooth in the Java Community Process (JCP). Bluetooth is a much-hyped, emerging standard for wireless integration of small devices like cell phones and soda machines. I'm very skeptical that the technology will actually achieve significant adoption, however.

Sun and IBM have posted Java Specification Request (JSR) 168, Portlet Specification, in the Java Community Process. This proposes to "define a Portlet API that provides means for aggregating several content sources and applications front ends. It will also address how the security and personalization is handled. Portlets are web components -like Servlets- specifically designed to be aggregated in the context of a composite page. Usually, many Portlets are invoked to in the single request of a Portal page. Each Portlet produces a fragment of markup that is combined with the markup of other Portlets, all within the Portal page markup." This replaces earlier separate submissions for portlet APIs from Sun and IBM. Comments are due by February 11.

Tuesday, January 29, 2002

James Uther chipped in with some more interesting notes about Enoch Root, this time focusing on his cigar box and magical healing skills. Eventually, I'll get the discussion forums working on this site. In the meantime, if you want to contribute your thoughts, make sure to state explicitly that it's OK for me to post your e-mail on this site. I don't quote from private e-mail without explicit, prior permission.

Monday, January 28, 2002

I'm happy to announce that I've posted "Creating New XML Documents with DOM," Chapter 10 of Processing XML with Java, on Cafe con Leche. This chapter covers the Document and DOMImplementation interfaces with a particular focus on how you use DOM to create new XML in documents and elements in memory rather than parsing them from a file. The last section discusses some new bleeding edge features from DOM3.

This chapter includes some interesting examples of SOAP and XML-RPC servlets. I've also gone back to the earlier chapters, particularly 2, 3, and 5, and rewritten the SOAP and XML-RPC client examples so that they point at my personal server at www.elharo.com. The firewall is open on port 80 so if you want to test those examples out, feel free. This is just a small Linux box running off my DSL connection so please don't hit it too hard. Also, I've been playing around with the DNS and web servers for both macfaq.com and elharo.com to get them working together on the same box, so if you notice anything funny like hosts not resolving or the wrong site coming up, please let me know. I think it's all working now, but I've said that before. :-)

One warning: the examples in this chapter use JAXP's ID transform for serialization. In the process of writing this chapter, I uncovered some nasty bugs in common implementations of the javax.xml.transform classes, particularly involving the output of namespace declaration attributes. I've reported the bugs to the various parser vendors and I'm hopeful they'll be fixed soon. In the meantime, not all the examples will produce namespace-well-formed output.

Together Chapters 9 through 12 form a really solid introduction to the Document Object Model. In fact, I think Chapters 1 through 12 are a really solid introduction to processing XML with Java and form the core of the book. There are still several chapters and appendixes to go. Nonetheless, I'd certainly feel comfortable using this as the text for a course in XML as stands, perhaps in combination with a more introductory book about XML syntax like the XML Bible.

Sunday, January 27, 2002

Mark Hale's released version 0.877 of JSci, a class library containing many useful mathematical and scientific functions such as complex arithmetic. The major new feature in this release is partial support for the MathML Document Object Model (DOM) in conjunction with the Xerces parser.

Saturday, January 26, 2002

SoftSynth.com has released JavaSonics, an audio playing and recording API for Java. JavaSonics can use JavaSound if it's available but can also use a native code browser plugin instead. The native plugin runs on Windows and the Mac. Java 1.1 or later is required. The JavaSonics plugin is free. The JavaSonics Software Development Kit costs $400. A free-beer edition for personal use is also offered.

Friday, January 25, 2002

Sun has posted an early access release of the Java Web Services Developer Pack. This bundles together early releases of base XML technology (JAXP 1.2, including XML schema support), SOAP based RPC (JAX-RPC), SOAP-based messaging (JAXM), and registry client support (JAXR). It also includes a tutorial, the ANT build tool, a UDDI registry for testing, and Apache Tomcat.

Metrowerks has released version 7.2 of CodeWarrior Pro, an integrated development environment for the Macintosh and Windows. Code Warrior is $599 payware. Updates to 7.2 from 7.0 and 7.1 are free.

Thursday, January 24, 2002

I've posted The DOM Traversal Module, Chapter 12 of Processing XML with Java. This chapter covers the org.w3c.dom.traversal package including NodeIterator, NodeFilter, TreeWalker and DocumentTraversal. These classes aren't supported by all DOM implementations, but they're very convenient in those implementations that do support them. This is a shorter chapter than usual, only three main sections and about 15 printed pages. As usual all comments are appreciated.

The Apache Jakarta Project has posted the second beta of Tomcat 4.0.2, an open source servlet container that supports version 2.3 of the Java Servlet API and version 1.2 of the Java Server Pages specification. This beta features an updated AJP native connector, a new release of the webapp native connector, and various bug fixes, including a fix for problems shutting down Tomcat.

Sun's posted the maintenance release of JSR-21, the JAIN Call Control API Specification.

Kevin Herrboldt's posted version 0.6 of OpenJNLP, an open-source implementation of the Java Network Launching Protocol that lies at the foundation of Sun's Java Web Start. OpenJNLP can be found at Version 0.6 adds locale- and platform-specific JNLP parsing, native library support, a console window for seeing output from launched apps, and a better info window for apps in the app list.

Wednesday, January 23, 2002

Sun's posted the first release candidate for Java 1.4. Binaries are available for the usual batch of platforms (Linux, Solaris, and Windows). The changes in this release since the last beta are pretty obscure, and mostly reflect changes to the documentation, and occasionally a few method arguments. Most developers won't notice them.

Tuesday, January 22, 2002

IBM's IBM T. J. Watson Research Center has updated ABLE, the Agent Building and Learning Environment. ABLE is a Java framework, component library, and productivity tool kit for building intelligent agents using machine learning and reasoning. "The ABLE framework provides a set of Java interfaces and base classes used to build a library of JavaBeans called AbleBeans. The library includes AbleBeans for reading and writing text and database data, for data transformation and scaling, for rule-based inferencing using Boolean and fuzzy logic, and for machine learning techniques such as neural networks, Bayesian classifiers, and decision trees. Developers can extend the provided AbleBeans or implement their own custom algorithms. Rule sets created using the ABLE Rule Language can be used by any of the provided inferencing engines, which range from simple if-then scripting to light-weight inferencing to heavy-weight AI algorithms using pattern matching and unification. Java objects can be created and manipulated using ABLE rules. User-defined functions can be invoked from rules to enable external data to be read and actions to be invoked." New features in this release include consistent rule validation in all inferencing methods, a string function library for rule writers, transaction event support, inspector and exception enhancements, and fixes for predicate inferencing.

IBM's alphaWorks has updated their IRC Client for Java to fix some conflicts with Java class names in Java 1.2 and later.

Monday, January 21, 2002

Sun Microsystems reported a loss of $431 million for the October-December 2001, or $0.13 per share. This includes a $511 million restructuring charge. Sun posted revenue of $3.1 billion for the quarter, up from $2.8 billion in the previous quarter but down 39 percent from the same quarter last year. Excluding various special items, the loss was $99 million, 3 cents per share.

debugtools.com's DebugTool 1.0.5 is a $99 payware standalone graphical debugger for Java based on the Java Platform Debugger Architecture (JPDA).

Sunday, January 20, 2002

You may recall that at the end of last year, I was expressing some confusion about the apparent death of Enoch Root in Cryptonomicon. Most readers thought that his death was faked. One notable exception to the consensus was John J. Deighan, who agreed with me that something very fishy was going on here, and offered some tantalizing guesses as to what. Since his hypotheses involves spoilers you'll find the analysis on this page.

Saturday, January 19, 2002

The Aubjex 1.3 Platform is designed to enable Java programmers to browse, understand, analyze, convert, refactor, and generally manipulate Java source code. There are scripts that convert Java source to hyperlinked html files, scripts for formatting, obfuscating, jaring, and a Scripter option that enables you to program your own scripts using a GUI interface to a data flow language. The basic platform is free, but most of the useful options cost $100 to $200. In other words, they're giving away the razor in order to sell the blades.

Friday, January 18, 2002

Claude Pany's released the FileSelector Kit, a Mac OS 8.x/9.x alternative to the java.awt.FileDialog. It accesses the Macintosh Navigation Services 1.x/2.x.

Thursday, January 17, 2002

Version 1.1.6 of BlueJ, an open source Java IDE geared toward education has been released. New features in this release include:

Sun's posted two new Java Specification Requests for the Java Advanced Intelligent Networking (JAIN) project. JSR-164, JAIN SIMPLE Presence, "provides a standard portable and secure interface to manipulate presence information between a SIMPLE client (watcher) and a presence server (presence agent). SIMPLE is an extension of SIP to support presence and instant messaging." JSR-165, JAIN SIMPLE Instant Messaging, "provides a standard portable and secure interface to exchange messages between SIMPLE clients." Comments are due by January 22.

Wednesday, January 16, 2002

Sun's posted the public review draft specification of JSR-45: Debugging Support for Other Languages, in the Java Community Process. "This specification establishes standardized tools for correlating JavaTM virtual machine byte code to source code of languages other than the JavaTM programming language."

Tuesday, January 15, 2002

The Apache Jakarta Project has reported a denial-of-service vulnerability "affecting Tomcat 3.3 running on Windows systems. A special HTTP request can cause the request to hang and never complete. This prevents the thread handling the request from handling any further requests until Tomcat is restarted. Other systems are not affected, and both Tomcat 3.2.x and Tomcat 4.x do not have this vulnerability." Tomcat 3.3a has been released to fix this problem. All Tomcat 3.3 users on Windows should upgrade. Unix and Tomcat 4.0 users are not affected.

Chaeron Corporation has posted a beta of Java GPS Access Library 0.95, a Java library (and sample programs) for interfacing with Global Positioning System devices. The license is GPL.

Monday, January 14, 2002

I've posted The Document Object Model Core, Chapter 11 of Processing XML with Java. This chapter covers most of the interfaces in the org.w3c.dom package including Element, Attr, DocumentType, Comment, Text, ProcessingInstruction, CDATASection, Character, Notation, Entity, and EntityReference. As usual all comments are appreciated.

Chapter 10, Creating XML Documents with DOM, is not yet finished. Some of the examples exposed bugs in various third party software that needs to be fixed. I've reported the bugs, and at least one vendor should fix the problem soon. I also need to fix some problems on my Sun Cobalt Qube at http://www.elharo.com to test some of the other examples. (The last kernel update apparently killed the administration interface.) In the meantime. there's probably enough content in Chapter 10 for you to learn what you need to know and continue on to Chapter 11. Just be warned that it's a lot rougher than what I normally announce and not all the examples may work quite as advertised. I wouldn't bother reporting any errors you spot in this chapter. Chances are I'm aware of them already and will be fixing them as quickly as possible.

Sunday, January 13, 2002

Sun's posted the maintenance review draft specification of Java Specification Request 6 (JSR-6), the Unified Printing API (Java Print Service API) to the Java Community Process. Comments are due by February 11, 2002.

Saturday, January 12, 2002

Sun's posted the maintenance review draft specification for Java Specification Request (JSR) 51, New I/O APIs for the Java Platform, in the Java Community Process. Comments are due by February 11. This might be a good time to ask Sun why there's no sign of the new cross-platform file system APIs that were promised, so we're stuck with the horrid java.io.File class for the foreseeable future. This is something that should have been solidly in place in Java 1.0. That six years and four major releases later, we still don't have a reliable way to copy a file is simply unbelievable.

Friday, January 11, 2002

The ECMA General Assembly has ratified the C# language as a de jure standard. The ECMA standards are ECMA-334 (C# Language) and ECMA-335 (Common Language Interface). The ECMA will also submit these for fast-track approval by the ISO. The standards documents are available from Microsoft.

Thursday, January 10, 2002

IBM's alphaWorks has updated RBManager, a tool that automates many of the tedious tasks associated with creating, updating, and managing resource bundle files. Version 0.5a has a new Project View for working with multiple resource bundles at once, improved XML import and export, and should be more stable overall.

Wednesday, January 9, 2002

Sun's posted the Maintenance Review Draft Specification for JSR-000918 J2SE 1.4 Release Candidate. This describes a couple of dozen minor changes and clarifications since beta 3.

IBM has submitted Java Specification Request 162 (JSR 162) for a Portlet API to the Java Community Process (JCP). According to the JSR:

The Portlet API specification defines an API for web application components that interact with and can be aggregated in web applications like portals. We refer to these components as portlets in the remainder of this text. Portlets are web components like servlets, but have additional, special properties that allow them to easily plug into and run in enclosing web applications like portals. Portlets are designed to be aggregatable in the larger context of composite pages, e.g. multiple instances of the same portlet parameterized with different per-user, per-instance portlet data can coexist on the same portal page. Usually, many portlets are invoked in the course of handling a single request to aggregate their respective produced markup fragments in a page of markup. The markup fragments generated by portlets often need to contain links to trigger actions in the portlet, therefore URL-rewriting methods are required that allow portlets to transparently create links within the markup fragments they output, without needing to know how URLs are structured in the particular web application.

Portlets rely on the portlet container infrastructure accessible via the Portlet API for functions like access to user profile information for the current user, access to the window object that represents the window in which the portlet is displayed, participation in the portal window and action event model, access to web client information, inter-portlet messaging and a standard way of storing and retrieving per-user/per-instance data persistently. The Portlet API provides standard interfaces for the functions mentioned above. The Portlet API extends the servlet programming model and defines a common base class and interfaces for portlets and tags for JSPs called by portlets, cleanly separating portlets from the surrounding infrastructure so that portlets can run on different portal servers like servlets can run on different application servers.

The Portlet API specification shall evolve from the portlet concept as developed in the Apache JetSpeed Open Source project. In many aspects, the Portlet API is an extension of the Servlet API, defining additional interfaces for portlet-specific functionality. In some other aspects, it restricts use of functions provided by the Servlet API to the subset that makes sense for portlets just producing aggregatable markup fragments and not having ownership of the entire page that displays them. For example, unlike servlets, portlets may not send errors or redirects as a response, this may only be done by the application that invokes and aggregates the portlets into a larger page. Portlets can be grouped in Portlet Applications. Portlets in one portlet application can exchange messages via the Portlet API. Portlet Applications are packaged, distributed and deployed using WAR files that include portlet-related meta-information, utilizing existing Servlet infrastructure. The Portlet API shall be compatible with the Remote Portlet Web Services concept in the sense that portlets written to the Portlet API can act as local proxies in a portal server for remote portlet web services located on other servers and portlets written to the Portlet API can be wrapped into remote

Comments are due by January 22, 2002.

Sun has submitted JSR 163, Java Platform Profiling Architecture to the Java Community Process. This proposes a "mechanism and APIs for extracting time and space profiling information from a running Java virtual machine." Comments are due by January 22, 2002.

Doug Lea has submitted JSR 166, Concurrency Utilities to the Java Community Process. This "JSR proposes a set of medium-level utilities that provide functionality commonly needed in concurrent programs." Support will be offered for:

Comments are due by January 22, 2002.

Tuesday, January 8, 2002

Gaudenz Alde's JGraph is an open source graph component for Swing. JGraph is accompanied by Graphpad, an open-source diagram editor for Swing that offers Automatic Layout, Printing, Zoom, and much more. It is available in English, German and French.

Monday, January 7, 2002

Sun's released the final draft of Java Specification Request 00000 1 (JSR-000001), the Real-time Specification for Java. I'd forgotten about this one a long time ago. I suppose it's better to be right than quick. I just hope it's right. :-) Personally, I'm not qualified to judge that.

Sunday, January 6, 2002

There's a lot of speculation about what Apple's Steve Jobs is going to announce tomorrow at MacWorld. With the possible exception of a tablet-based Mac with decent pen input, none of them strike me as justifying the hype, so I thought I'd toss out one more possibility that might actually go "beyond the rumor sites, way beyond." Let me emphasize first that this is just a wild guess with no inside information of any kind. It's not even a rumor, just something I thought up out of thin air.

I began by thinking about what could be revolutionary enough to justify the hype. A computer wouldn't do it, no matter how fast or colorful. We've got plenty of computers. I'm sure there'll be a faster computer of some kind, and probably in a different form factor, and it will be nice and all; but it's not enough. There may be a new version of MacOS X, but it won't be that much better than the one we have. There could be a new home entertainment console, but we've got those. It could be a PDA of some kind, but Apple already abandoned the Newton and Palm has a lock on the market; and again, we've seen those before. It wouldn't be that new. To justify the hype, Jobs has to have something that we've never seen before up his sleeve. What could that possibly be?

I think Apple's going to introduce a fabricator, that is, a three-dimensional printer that can build objects like dishes, knives, furniture, toys, and more out of some form of plastic. Such machines already exist, but they're very expensive special purpose equipment. I think Apple's going to put one on the desktop for about $9995. I think they're going to do to manufacturing what they did to publishing almost twenty years ago with the first LaserWriter. And I think they're going to reinvigorate Mac sales by once again giving the Mac the ability to do things that no other computer on the planet can do. That's my bet. Of course, as I said, I have no evidence for this at all, and I could be totally wrong. But it wouldn't it be cool if I'm right?

Saturday, January 5, 2002

The Avalon team of the Apache Jakarta Project has released version 4.1.1 of the Avalon Framework, Apache's Java Server Framework. Avalon is separated into five sub projects: Framework, Excalibur, LogKit, Cornerstone, and Phoenix. This release features many small corrections, additions, improvements, and fixes. The main change in this release is that all class files should now be compliant with JDK 1.2.

Friday, January 4, 2002

Sun's posted the Public Review Draft Specification for JSR-000101 Java APIs for XML based RPC (Version 0.6) to the Java Community process. Comments are due by February 17.

The Jakarta Apache Project's Tomcat Team has posted the first beta release of Tomcat 4.0.2. Tomcat is a servlet and Java Server Pages engine for Apache. This release fixes some specification compliance issues, handles SingleThreadModel servlets better, and fixes many bugs in Catalina and Jasper.

Thursday, January 3, 2002

TIOBE Software's JACOBE Java Code Beautifier 4.2 is a free-beer reformatting tool for Java Source code. It runs on Linux and Windows.

Wednesday, January 2, 2002

IBM's alphaWorks has updated their Logging Toolkit for Java with "bug fixes and functional enhancements, including support for a Security Manager." "Logging Toolkit for Java includes loggers, handlers, filters, and formatters. Loggers generate the data to be logged; there are message loggers for end users and administrators and trace loggers for developers. Handlers process the event data generated by the loggers and correspond to a physical device, such as a console, file, or socket. Filters control which log records are written to the output devices controlled by the Handlers. Formatters present event data in a desired format and recognize specific types of events; multiple formatters may be attached to a handler, which allows the handler to process diverse event types."

Tuesday, January 1, 2002

Happy New Year. May 2002 be better than 2001 for everyone.

Sun's posted the Jini Technology Starter Kit 1.2 and the Jini Technology Core Platform Compatibility Kit 1.2A. The starter kit "contains Jini technology infrastructure implementations, as well as supporting helper classes and services, including JavaSpacesTM. technology. This version continues to build on prior starter kit releases by adding new features which, for some environments, are designed to reduce resource requirements and provide greater efficiency in building and deploying applications using Jini technology. Among other requested enhancements, this release enables multiple Jini services to be run in a single Java virtual machine* and supports multi-threading of the helper utilities included in the starter kit."

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 2002 Elliotte Rusty Harold
Last Modified January 17, 2002