6.5 million software developers and still going strong

Java Developer Magazine

Subscribe to Java Developer Magazine: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Java Developer Magazine: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Java Developer Authors: Stackify Blog, Douglas Lyon, Glenda Sims, APM Blog, Pat Romanski

Related Topics: Java EE Journal, Apache Web Server Journal, XML Magazine, SOA & WOA Magazine, Java Developer Magazine

J2EE Journal: Article

JSR Update: A Web Services and XML Special Round-Up

From the Java Community Process Program - A Look at the Key JSRs From Among the 20 Or So That Offer Benefits for Web Services

If you're reading this at the Web Services Edge 2005 East Conference, you're probably having a great time. If, on the other hand, it's before February 15th, you might still have time to get to Boston and attend. For anyone interested in Web services or XML, this conference will be big.

Whether you're at the conference or not, I want to highlight several of the newest JCP Program Java Specification Requests (JSRs) that promise to improve Web ser-vices development and deployment. Of the 20 or so JSRs that offer benefits for Web services, I've described what's happening on several that might be of interest to you. I apologize in advance if I missed your favorite.

Steady As It Goes
The Java platform will celebrate its 10th birthday later this year, and it has evolved as an undeniable foundation for secure, compatible Web and networked services. In fact, I believe the Java platform is the most secure, reliable, and supported architecture for Web services and a service-oriented architecture (SOA).

The JCP program joint community effort is the key to what's been achieved in maintaining the platform's compatibility, interoperability, and flexibility for Java technology and Web service developers. There are challenges, obstacles, and hurdles ahead, but it's great fun to take a look at the work being accomplished by the JCP program membership.

Let's check out a dozen or so perfect examples now.

JSR 173
The Streaming API for XML is a new method for pull-parsing XML; it allows the programmer to ask for (or pull) the next event. "It's bidirectional, supporting reading and writing, and is designed to integrate with JAX-RPC," says Chris Fry, spec lead from BEA Systems. "Parsing XML for high-performance streaming and the associated API grew out of BEA's XML and Web services team." The reference implementation is open source, and is available at codehaus.com: http://stax.codehaus.org/. There's also a mailing list for anyone interested, StAX Builders at Yahoo! Groups: http://groups.yahoo.com/group/stax_builders/.

JSR 181
Web Services Metadata for the Java Platform makes Web services development easier to learn and do. "It's a spec for creating Web services using the new JSR 175 annotations, and it's setting a precedent among other JSRs for using annotations in a declarative programming model," says Brian Zotter, spec lead from BEA Systems. "We really think this is going to be the develop-ment model of the future." JSR 181 is in the final stages of the spec headed for final approval in a matter of months. Catch the JSR 181 messages at Yahoo! Groups: http://groups.yahoo.com/group/jsr181/.

JSR 262
Web Services Connector for Java Management Extensions (JMX) Agents is now open and inviting nominations for Expert Group membership at http://jcp.org/en/jsr/egnom?id=262. Eamonn McManus, spec lead, says this JSR will define a connector for the JMX Remote API that uses Web services to make JMX instrumentation available remotely. Clients don't have to be Java applications, but they can be.

JSR 208
Java Business Integration (JBI) extends J2EE and J2SE with service provider interfaces (SPIs) for business integration. These SPIs will enable the creation of a Java business integration environment for specifications such as BPEL4WS and the W3C Choreography Working Group.

The actual SPIs will probably be of great interest to integration technology implementers, even more so than developers. Developers will be more interested in the ability to plug best-of-breed components, often based on disparate technologies, to create a service-based architecture. This standard enables a composite view of an SOA-based enterprise for the first time. In addition to the SPIs, a JBI-compliant platform will provide crucial enterprise services such as a normalized message service, protocol bindings, and service engines. Recent additions to the Expert Group include Apache Software Foundation, Fujitsu, and JBoss.

JSR 244
The J2EE 5.0 Specification is expected to be finalized in Q1 of 2006, and enterprise developers are watching this release very closely. It's focused on J2EE ease of development. It will embrace the needs of both sophisticated and beginning enterprise developers, and, of course, support the latest Web service standards. If you're doing any kind of enterprise development for Web services, J2EE 5.0 is definitely a release to explore.

Two of the most exciting additions to J2EE are JSR 181 and EJB 3.0. JSR 181 provides a much easier way to create Web services using simple annotations on Java code. EJB 3.0 greatly simplifies the EJB programming model and introduces a new Java persistence API that makes it much easier to map Java classes to information in a database.

JSR 267
Take a look at the JavaServer Pages (JSP) Tag Library for Web Services. A standard JSP tag library for accessing Web services would be quite helpful, and this should be finished for final release near the end 2005. It will help JSP authors integrate Web services into Web applications with much less effort and quicker turnaround times. The benefits are strong, and it's a compelling assignment, well worth the effort, supported by JBoss, Oracle, and Sun Microsystems. Stay tuned for the public review scheduled for July 2005.

JSR 206
Java API for XML Processing (JAXP) 1.3 is a dot-release update to JSR 63, JAXP 1.2, both of which enable applications to parse, validate, and transform XML documents. This version accommodates the newest revisions to several core XML standards, including XML 1.1, Namespaces in XML 1.1, Document Object Model (DOM) Level 3, and Simple API for XML (SAX) 2.0.1. It's included in J2SE 5.0. The JAXP 1.3 design centers are standards compliance, performance, and ease of development. It introduces an object model agnostic XPath 1.0 API and a validation API that supports the reuse and caching of schemas.

JSR 222
Java Architecture for XML Binding (JAXB) 2.0 is a follow-up to JSR 31, JAXB 1.0. It simplifies development by binding XML documents to Java objects based on a document's schema. The binding enables the manipulation of XML content at the object rather than at the parser level. JAXB 2.0 has significant new functionality, including support for all XML schema, the binding of existing classes to XML schema, and data binding support for JAX-RPC 2.0 for Web services development.

JSR 224
Java API for XML-Based RPC (JAX-RPC 2.0) is, in short, an easy-to-develop programming model that helps you build Web service clients and endpoints based on SOAP. JAX-RPC clients can invoke Web services developed across heterogeneous platforms. Similarly, JAX-RPC Web service endpoints can be invoked by heterogeneous clients. This update supports a lot of new functionality: JAXB 2.0-based data binding, SOAP 1.2,, and standardized metadata for Java-WSDL mapping. You'll also notice its new ease-of-development features, support for easier evolution of Web services, an improved framework, and support for asynchronous RPC and non-HTTP transports.

JSR 265
The API for Utilizing Web Services Policy is led by SAP. This specification aims to standardize an API for utilizing Web services constraints and capabilities. Constraints and capabilities refer to Web services metadata, such as quality of service (QoS). It will provide interfaces to obtain and access the capabilities in effect for any given message exchange instance. This API will enable other Java technologies to utilize constraints and capabilities in a uniform manner, thereby strengthening Java as a competitive Web services platform.

It's expected that JSR 265 will be utilized from within other Java specifications for Web services, such as JAX-WSA (JSR 261), JAX-RPC (JSR 224), and JBI (JSR 208).

More Stories By Onno Kluyt

Onno Kluyt is the chairperson of the JCP Program Management Office, Sun Microsystems.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.