JCP Watch: Extended Unicode Support, New 'New I/O's' and Class File Changes
Now with the holiday season well behind us, activity in the JCP has picked up. Let's take a look at the happenings in the past 2 weeks.
There was one new JSR dealing with Unicode. This JSR impacts support for international language characters and multilingual features of Java.
JSR-204 Unicode Supplementary Character Support
Unicode is an effort to create a universal mechanism to describe characters. In order to achieve this, Unicode provides a unique number for every character, no matter what the platform, no matter what the program, no matter what the language. This mapping of character to number is called character encoding. The J2SE supports the Unicode 3.0 specification, which maps characters to fixed length 16 bit numbers.
However, Unicode is an evolving standard. The latest Unicode specification has given up its first design principle of using fixed-width 16-bit characters, in order to allow the representation of more than 65,536 characters required in certain Asian languages. The range of Unicode characters from 0 - 65,536 is commonly denoted as U+0000 - U+FFFF and is called the Basic Multilingual Plane (BNP). Unicode 3.1 defines characters outside this range, called supplementary characters. This implies that certain encodings have to be represented by more than the fixed width 16-bit values currently supported. JSR 204 intends to add support for these supplementary Unicode characters outside the BNP.
This JSR will be under public review until 3rd February 2003. To contribute, send an email to firstname.lastname@example.org
Two JSR's were approved for further development under the guidelines of the JCP. These JSR's were approved via ballot voting by the Executive Committee members. (http://jcp.org/en/participation/committee)
JSR-203 More New I/O APIs for the Java Platform
Java 1.4 introduced the "New I/O" API's (JSR-51 http://jcp.org/en/jsr/detail?id=51) which provided an improved, faster and more efficient interface to I/O operations on sockets and files. This JSR is an extension of the original and aims to complete the feature set described in the original JSR. Notably, this JSR intends to implement a new and improved File System interface, support for asynchronous I/O operations on files and sockets and the completion of the New I/O socket functionality as described in the original JSR.
JSR-202 Java Class File Specification Update
This JSR will modify and extend the Java Class File format to support updates to the Java platform and language specifications. The JSR will add support for quicker and more efficient byte code verification, class literal support directly from the class file format and will increase certain implicit size limits within the class file.
JSR Community Draft Approvals
The Community Draft Specification is the specification developed in collaboration by members of the expert group for the JSR.
JSR-95 J2EE Activity Service for Extended Transactions
This JSR deals with supporting long running, distributed and complex transactions. The resulting API's will provide a unified and modular interface to group multiple, distributed executions into a single logical transaction. This work is based on a submission to the Object Management Group (OMG) suggesting addendums to its Object Transaction Service specification.
Public Review Specifications
The following JSR's were released for public review.
JSR-123 Service Provider Presence and Availability Management API
This specification details an API used for identifying the presence of a user/device on a network and determining the user/device availability. This JSR proposes a unified interface to presence and availability information and management of such information. This API is based on the PAMforum v1.0 specifications (http://www.pamforum.org) that define a framework for the various standards and specifications needed for end-to-end support of priority presence and availability-related applications.
The public review of this specification ends on April 24 2003. To contribute, send email to jainpamcomments at teltier.com
JSR-179 Location API for J2ME
This specification will define a generic interface for positioning. As such, this API shall work with most positioning methods, such as GPS or E-OTD, but the core API will not expose features that pertain to one technology only (however it may allow extensions for specific purposes).
The public review of this specification ends on 23rd February 2003. To contribute, send email to jsr-179-comments at jcp.org
Proposed Final Draft Specifications
JSR-000022 JAIN SLEE API Specification
This interface will define the execution environment for network services (primarily telecom services). It is a container specification for telecom services similar to the J2EE container specification for enterprise services.
- The JCP website: http://www.jcp.org
- The Unicode consortium: http://www.unicode.orghttp://www.unicode.org
- New I/O API's: http://java.sun.com/j2se/1.4/docs/guide/nio/index.html
- The Java class file specification: http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html
- Additional Structures for Object Transaction Service: http://cgi.omg.org/cgi-bin/doc?orbos/2000-06-19
- The Java Advanced Intelligent Network (JAIN) API's: http://java.sun.com/products/jain/index.html
What do you think about the current JSR's? What do you think about the JCP? Feel free to email me - jcpwatch at jcpwatch.org