Sun's posted the public review draft of Java APIs for Integrated Networks (JAIN) Service Provider Mobility API Specification. Public Review closes June 29, 2001.
Sun's also posted the public review draft of JSR 26, the UML/EJB Mapping Specification. Public Review closes June 29, 2001.
Sun's posted an early access release of the Mobile Information Device Profile for Palm OS on the Java Developer Connection (registration required).
Sun's submitted Java Specification Request (JSR) 133, Java Memory Model and Thread Specification Revision, in the Java Community Process. This proposes to clearly describe the behavior of threads, locks, volatile variables and data races. Comments are due by June 11, 2001.
Sun's also submitted a Java Game Profile JSR for a Java 2 Micro Edition (J2ME) profile for PlayStations, X-Bozes, and similar gaming consoles. Comments are due by June 11, 2001.
The Apache Jakarta Project has released Tomcat 3.2.2, a maintenance release of the Java Servlet engine for the Apache web server.
Microsoft's released Internet Explorer 5.1.1 for Mac OS X. This is a minor update that fixes some bugs in Java support, among other things.
IBM's alphaWorks has released Joshua, a framework for developing distributed thin clients in Java.
I'm pleased to announce the release of the much anticipated second edition of the XML Bible. It's available now from Amazon, FatBrain, and other purveyors of computer books. This edition was extensively revised on almost every page. Every section and example was brought completely up to date with the state of the art in XML in 2001, and many new chapters were added. There are four completely new chapters in this edition covering:
Many other chapters were totally revised to bring them up to date with the latest version of various specifications, including:
I am now happy to say that this book is almost completely in-sync with all the latest XML specifications including the second edition of XML 1.0, XSLT 1.0, XPath 1.0, and the latest drafts of XLink and XPointer. (The one exception, unfortunately, are a few bugs in the later parts of the schemas chapter, particularly with regard to attribute declarations. That's the penalty for working on the bleeding edge. But even so, the vast majority of the examples in the schemas chapter are completely current with XML Schemas 1.0. I'll post the updates for the schemas material here soon.)
Perhaps most importantly, I rewrote almost every word, sentence, and paragraph to make the exposition clearer, the examples shorter, and the XML terminology more accurate. Mixed content finally gets its due. External DTDs are now emphasized in preference to internal DTDs, and everywhere I'm careful to distinguish between document type definitions and document type declarations. Mozilla and Opera are now used throughout the text as well as Internet Explorer. Since the first edition was released a year and a half ago, XML has gone from a bleeding edge technology to a solid. well-tested, and well-proved foundation of many of today's technologies. The second edition of the XML Bible reflects the increased maturity and stability of XML.
This is in every way a much better book than the first edition. If you liked the first edition, you'll love this edition. If you didn't like the first edition, you may find that the second edition fixes what bothered you about the first. The second edition is still only $49.99 even though it's more than 200 pages and 20% longer than the first edition. There is unfortunately no upgrade path, as is the case for most paper books. However, I will be posting some of the updated chapters here at Cafe con Leche in the near future, and the usual discounts do apply. Amazon and FatBrain are selling it for $39.99. Bookpool doesn't have it in stock yet but should get it soon. Amazon almost always sells out of my new books within a few hours of me announcing one here, but generally gets more instock much more quickly than they say they will. It will not take 4-6 weeks to get your copy. Many brick-and-mortar bookstores still have the first edition on the shelves. You can recognize the second edition by the robot on the cover. (A special prize goes out to the first person who successfully guesses just what that robot has to do with XML and the content of the book.) If you need to special order it, the title is XML Bible, 2nd Edition. The ISBN number is 0-7645-4760-7, and it's written by me, Elliotte Rusty Harold.
Sun's published an experimental implementation of JSR-14, Adding Generics to the Java Programming Language, on the Java Developer Connection (registration required). This is a prototype implementation of a Java compiler that supports generics (a.k.a templates). The compiler produces class files that can be run on standard Java 1.3 and later virtual machines.
Sun's posted an early acccess release of the Java 2 Platform Micro Edition (J2ME) Wireless Toolkit 1.0.2 on the Java Developer Connection (registration required). New features in this release include:
Yesterday's 40 megabyte release of the JDK 1.4 inspired Chris Kelly to petition Sun to concentrate on actually making Java work (performance, distribution, etc.) while leaving the APIs to third-parties. You can sign it if you like.
Sun's posted the first public beta of the JDK 1.4 for Windows, Solaris, and Linux. The Windows download is almost 50 megabytes! (and my new DSL line isn't installed yet. Damn Northpoint!). They must have a huge amount of debugging code or fonts in this release. There are many new features, but not that many. New features include:
At least partial Unicode 3.0 support I have to check on surrogate pairs and characters beyond the
the Basic Multilingual Plane (BMP). OK. I just checked. Sun seems to be blessing surrogate pairs as the way they'll
handle non-BMP characters. From the documentation
for the new Charset
class:
The native coded character set of the Java programming language is that of the first seventeen planes of the Unicode version 3.0 character set; that is, it consists in the basic multilingual plane (BMP) of Unicode version 1 plus the next sixteen planes of Unicode version 3. This is because the language's internal representation of characters uses the UTF-16 encoding, which encodes the BMP directly and uses surrogate pairs, a simple escape mechanism, to encode the other planes. Hence a charset in the Java platform defines a mapping between sequences of sixteen-bit values in UTF-16 and sequences of bytes.
I'll have to investigate more closely and see if this really works or not.
The Java API for XML Processing (JAXP) 1.1 is now included. This supports DOM2, SAX2, and TRAX.
JDBC 3.0 lets you set savepoints in a transaction, keep result sets open after a transaction is committed, reuse prepared statements, get metadata about the parameters to a prepared statement, retrieve keys that are automatically generated, and open multiple result sets at the same time.
The Java Secure Socket API, the Java Cryptography Extension, the Java Authentication and Authorization Service, Kerberos support, and a Certificate Path API are all now part of the standard distribution
64-bit support
The new I/O (NIO) APIs in the java.nio
package offer:
That should give me something to put in the second edition of Java I/O. :-)
The Java Image I/O Framework provides a pluggable architecture for loading and saving images.
Java 2D should be faster, supports hardware acceleration for offscreen images, and some new font features.
Reflection is faster.
AWT improvements include:
Swing enhancements include:
Networking enhacements include:
NetworkInterface
class allows enumeration of interfaces and addressesMy gut reaction is that there's not enough new material here to justify a third edition of Java Network Programming. This is pretty tame stuff. A lot of it is purely behind the scenes implementation issues like IPv6 support and the new FTP protocol handler. This hardly changes the public API at all. More are very advanced features like unconnected sockets that 99% of network programmers won't need. The major new feature is JSSE which is already covered as a standard extension in the second edition. What's left for me to write about is really quite small. I'll probably do the second editions of Java I/O and XML in a Nutshell as well as the first edition of a new book I'm working on, and then see if a third edition is called of Java Network Programming is called by the time I'm done with those three.
A java.util.regex
package for regular expressions
The Java Naming and Directory interface (JNDI) is now bundled with the JDK.
Thai and Hindi support
Enhancements to the Java Collections API include a marker interface to advertise random access, an identity-based Map, insertion-order-preserving Map and Set implementations, and several new algorithms for manipulating and returning values from lists.
Finally, what is possibly the sleeper feature of this release, but has the potential to change the way Web sites are implemented, is giving the Java Plug-in "access to the DOM via standard, w3c-defined interfaces". If this means what I think it means, you'll now be able to write applets that can control and interact with the HTML markup on a page. I can't believe it's taken six years to get to this. Something like it should have been available in Java 1.0 alpha 1. If it had been, the whole JavaScript mess could have been avoided.
A couple of related .0.1 releases from Sun today. First is Java Web Start 1.0.1 for Windows. Next is the Java Network Launching Protocol (JNLP) Developer's Pack 1.0.1.
Bare Bones Software has released BBEdit 6.1.2, the payware Macintosh text editor I use to create this Web site. Version improves performance under Mac OS X, is compatibile with more FTP servers, and can preview documents in OmniWeb, a MacOS X Web browser.
The Jakarta Apache Project has released Log4j 1.1. Version 1.1 is mainly maintenance release that corrects *many* small or big wrinkles in previous versions. This release is identical to 1.1beta7 with the exception of minor documentation improvements.
Phosphor is an open source peer-to-peer file sharing program written in Java 2. With it you can search for and download files of all types, as well share your own. Features include:
The Apache Jakarta Project has posted the third milestone release of Tomcat 3.3. This is an implementation of the Java Servlet API 2.2 and Java Server Pages (JSP) 1.1 for Apache. Milestone 3 fixes various bugs. It also introduces tag pooling.
Sun's released the Java Development Kit (JDK) 1.3.1 for Solaris, Linux, and Windows. This is primarily a bug fix release. Version 1.3.1 also makes the Java Plug-in easier to use and configure, adds a new error handling mechanism in the Java virtual machines, and localizes the Java Runtiem Environment (JRE) into ten languages (Simplified and Traditional Chinese, English, French, German, Italian, Japanese, Korean, Spanish, Swedish). The API has not changed at all.
Sun's posted three new Java Specification requests to the Java Community Process:
We note with sadness the passing of Eazel, the company which produced the spectacular Nautilus desktop GUI for Linux. Of course one of many wonderful things about open source software is that even though the company failed and went out of business, the product lives on. Cusotmers can still use Nautilus, can still get support, and can still get a regular stream of upgrades. This is almost unheard of in the payware world.
The Proposed Final Draft Specification of ECperf 1.0 has been posted to the Java Community Process. ECPerf is a benchmark for J2EE servers.
IBM's released version 1.14 of the open source Jikes Java compiler. According to Christopher Abbey, "A number of highly annoying bugs have been squashed, like the timestamp assert under windows and DBCS -encoding under GLIBC2.2. Some bugs have been made better, but are not yet 100% fixed (JPDA debugging). Also classpath related command line options have been given a major kick in the pants with the landing of -bootclasspath and -extdirs, see the manual for details."
The Jakarta Apache Project has posted two new betas of Tomcat, a Java servlet/JP engine for Apache. Tomcat 4.0-beta-4 is the latest update to the next generation version of Tomcat 4.0. It supports the most recent specification updates (Servlet 2.3 Proposed Final Draft 2, JavaServer Pages 1.2 Proposed Final Draft 2), support for looking up users and roles in a JNDI-accessed directory server, and fixes many bug.
There's also a new beta in the 3.x family. Tomcat 3.2.2 beta 5 fixes a security problem that caused a URL such as http://localhost:8080/examples/jsp/num/numguess.jsp%00 to return the JSP source text on some platforms. All 3.2.2 users should upgrade.
Meanwhile the The Jakarta Avalon team has posted the first betas of three of their sub projects:
The following warning comes from the USISPA, the US Internet Service Providers Alliance, and was forwarded to me by someone who generally seems to know what he's talking about. Please read, and then call your congressman.
Date: Friday, May 11, 2001 6:43 AM
From: "Debra Sweezey" <dsweezey@yahoo.com>
Subject: Telecom Act Nixed -- Feds Hand Bells the Net
Telecom Act Nixed -- Feds Hand Bells the Net
This is very likely to be a headline you'll read in next week's paper. When it happens -- and it is happening -- ISPs and CLECs are history, and monopolies rule again. You have just a few weeks to change tomorrow's history, and you have the world's greatest tool for change right at your fingertips.
Post notices on news groups, use your mailing list, chat, whatever, as long as you CALL FOR ACTION NOW! There is federal legislation that threatens to hand the Bells the Net. It is called H.R. 1542, misleadingly named the Broadband Relief Act of 2001. It is authored by two very powerful Congressmen, House Commerce Chairman W.J. "Billy" Tauzin (R-LA) and Ranking Minority Member John Dingell (D-MI), and supported - surprise, surprise, by only four companies. Perhaps you've heard of them: SBC, Verizon, Bell South and Qwest.
In essence, the bill allows the RBOCs to immediately begin offering long-distance data service, and eliminates the Telecom Act's requirement that they lease parts of their networks -- including equipment used for high-speed Internet service -- to competitors. Out goes the competition, up go the prices.
Share this information with your friends, family, customers, colleagues today! Beg them to make their voices heard. Do they really want the local phone monopoly running the Internet? Do they want higher prices, lousy service, and no new technology?
USISPA, the US Internet Service Providers Alliance, is comprised of ISPs and ISP state association across the country, and we are working in the trenches trying to protect consumers and the Internet from the Bell monopolies. We need your help in letting Congress know that what they're trying to do, on the Bells' dime, is not okay with America.
We willing and ready to help you any way we can. Please call or email Debra Sweezey of the US Internet Service Providers Alliance, and we'll give you all the information you need. We will give you the contact information for your local representative in addition to sample statements or letters, or we're happy to contact your representative on your behalf. Whatever's easiest for you.
We hope you will join the fight for a free and open Internet. We need you!
This message comes to you through the United States Internet Service Providers Alliance (USISPA), an alliance of state ISP associations and ISP across the country working to ensure a fair and competitive open telecommunications environment nationwide. For more info or to find how you can help USISPA help you, email Debra Sweezey, Project Director for USISPA, at sweezey@usispa.org or call her at 202-326-0440.
=====
Debra Sweezey
Project Director, USISPA
202.326.0440
sweezey@usispa.org
Sun's posted the proposed final draft of JSR-12 Java Data Objects Specification (JDO) 1.0, in the Java Community Process. JDO "provides for interface-based definitions of data stores and transactions; and selection and transformation of persistent storage data into native Java programming language objects"
Slava Pestov's posted the first pre-release of jEdit 3.2, an open source programmer's editor written in Java. New Features in this release include:
IBM's alphaWorks has updated TSpaces, a "set of network communication buffers, APIs, and classes that allows heterogeneous, Java-enabled devices to exchange data with little programming effort." This release fixes some bugs.
IBM has also updated the Jinsight profiler with a new OS/390 download file and instructions.
The Public Review Draft Specification for JSR-014 Adding Generics to the Java Programming Language has been posted in the Java Community Process. Comments are due by August 1, 2001.
Sun's released version 3.2 of the NetBeans open source Integrated Development Environment. Java 1.2 or later is required. New features in this release include:
The Public Review Draft Specification for JSR-000024 JAIN Service Provider API has been posted in the Java Community Process. Comments are due by June 4, 2001.
The Public Review Draft Specification for JSR-000029 JAIN MAP API is now available for Public Review in the Java Community Process. Comments are due by June 2 2001.
IBM's alphaWorks has updated Bridge2Java, a tool that allows Java programs to communicate with ActiveX controls. This release improves the Proxy Generator, and fixes various bugs in SAFEARRAY, array indexes, DATE support, and other areas.
Several new public review drafts have been posted to the Java Community Process including:
Zero G has released version 4 of InstallAnyhwere. Price ranges from free beer to $2495.
Java Specification Request 123, Service Provider Presence and Availability Management API, has been posted to the Java Community Process. This is another part of JAIN, Jaav Advanced Intelligent Networks, which only seems relevant to phone companies. In particular this will develop a Java API for the PAMforum Presence and Availability Management being adopted into Parlay Version 3.0. Comments are due by May 14, 2001.
Kevin Herrboldt's posted version 0.2 of OpenJNLP. This release focuses on improving performance.
Sun's posted the J2ME Connected Limited Device Configuration Specification 1.0a.
IBM's alphaWorks has released Tengger, a tool "for rapidly moving from your UML class diagram design to a Java basis for implementing your real function."
Sun's posted "Proposed Final Draft 3" of the the JDBC API 3.0 Specification in PDF and PostScript format. JDBC 3.0 will be included in JDK 1.4.
Frederic Giacometti has posted the first beta of JPE, the Java-Python Extension. JPE is