Welcome Guest. | Log In| Register | Membership Benefits

InformationWeek.com April 30, 2001
Printer-friendly
Printer-friendly

JAVA
Java Hits The New Sweet Spot

Sun's Java 2 Enterprise Edition version 1.3, due later this year, promises enhancements for application and XML integration. Sun also is extending the Java environment to address messaging, wireless, networking, and storage issues.

More on Java 2 Enterprise Edition:

  • sidebar:Jini And Web Services

  • TechWeb News: IBM Offers Web Services Tools For J2EE (03/14/01)

  • InternetWeek: Reused Java: Stronger And Longer-Lasting (02/16/01)

  • TechWeb News: Sun Launches Web Services Strategy (02/05/01)
  • T he upcoming version of Sun Microsystems' Java 2 Enterprise Edition version 1.3, due in the third quarter, promises to be packed with enhancements designed to win the hearts of IT. But will IT departments and the rest of the industry be ready?

    J2EE 1.3 will include an enterprise integration framework, called the Java Connector Architecture, that's designed to ease the integration of enterprise applications such as enterprise resource planning, customer-relationship management systems, databases, and mainframe transaction applications. The J2EE upgrade also will have better integration with XML.

    Beyond Java 2 Enterprise Edition, Sun also is continuing to extend the Java environment to address messaging, wireless, networking, and storage issues. The Java Message Service provides asynchronous messaging among Java components in a distributed environment. Jini is a wire-and transport-independent technology that will let users and applications find and connect to Web services. Jiro is designed to facilitate intelligent storage services over a network. And Java 2 Micro Edition addresses the need for data access over wireless links.

    J2EE 1.3 is directed at large-scale computing. "Sun is putting the finishing touches on what amounts to a pretty comprehensive enterprise API set," says Evan Quinn, chief research officer at the Hurwitz Group.

    Business customers should be quite satisfied with J2EE 1.3, although it will be some time before anyone can take advantage of it. At this point, application server vendors are rushing to support J2EE 1.3 in their next releases. In the meantime, messaging middleware and packaged application vendors will have to build support for the Java Message Service and Java Connector Architecture into their products before IT departments can capitalize on them.

    But the pieces appear to be falling into place. "We already have 10 compatible application servers," says Rick Saletta, Sun's Java 2 Enterprise Edition group marketing manager. He says he expects all the J2EE-compatible application servers to make the move.

    Developers have only recently started to download beta copies of the latest Java Development Kit and work out the kinks. Similarly, the beta version of the Java Connector Architecture reference implementation became available even more recently, though the final draft specification has yet to be nailed down. Developers are advised not to attempt any serious work with Java Connector Architecture, such as building a connector, until the final spec is approved.

    Although few rank-and-file developers have seen the new code or experimented with the new Java 2 Enterprise Edition capabilities, the professional Java development community is enthusiastic. "The JCA is going to make a big impact with corporate IT," says George Kassabgi, engineering VP for BEA Systems Inc., which has been beta testing J2EE 1.3.

    The Java Connector Architecture will make it easier to synchronously connect Java applications running in a J2EE application server with enterprise applications, such as packaged enterprise resource planning, customer-relationship management, and human resources systems. With the Java Connector Architecture, developers can plug enterprise apps into a J2EE 1.3 application server through a standard API. They need only write a standard Java call--a Java Connector Architecture connector--and J2EE 1.3 will take care of the rest.

    Until now, companies that needed to integrate their back-end legacy systems with J2EE apps had to either wrap the legacy code as a Java component or turn to proprietary enterprise application integration tools. Both approaches created problems. Wrapping of legacy code requires advanced Java programming, which is time consuming and costly. The final results can be brittle, unable to take full advantage of services such as failover or load balancing provided by the J2EE application server, Kassabgi says. The custom EAI tools are expensive and proprietary.

    "In the past, when you needed to call another application, you never knew what it would support," says Richard Monson-Haefel, author of Enterprise JavaBeans (O'Reilly & Associates, 2nd edition, 2000). "You didn't know if the transaction would span both systems, and there was no standard way to do it."

    The combination of J2EE and the Java Connector Architecture lets developers focus on the business logic part of the application. "The connector provides a higher level of abstraction, and the framework takes away the complexity so the developer doesn't have to deal with the inner workings of the back-end systems," says Sanjay Sarathy, director of application services at iPlanet, a Sun-Netscape alliance.

    Off-the-shelf Java Connector Architecture connectors for leading packaged apps are expected soon after J2EE 1.3 is officially released. A vendor could write a Java Connector Architecture connector in a few weeks or a couple of months at most for a complex application, estimates Monson-Haefel. An IT department could build its own connector for an in-house application, particularly if it was a narrow and tightly defined system, but it's unlikely IT would want to tackle building a full-blown connector for, say, SAP.

    EAI middleware vendors will likely incorporate the Java Connector Architecture as another supported interface in their products. Companies that already have invested in EAI tools will continue to use them for current applications, but in the long term, IT will probably opt for the open, standardized approach over a proprietary EAI approach for new applications.

    Messaging is another area where Java 2 Enterprise Edition 1.3 will offer attractive improvements. Support for the Java Message Service is required in J2EE 1.3. It's an asynchronous messaging service, similar to the messaging provided by a number of other messaging-oriented middleware products, such as IBM's MQ Series.

    Dave ChappelPhoto by Asia Kepka

    "JMS provides standard APIs and rules for message-delivery semantics," says Dave Chappell, co-author of The Java Message Service (O'Reilly & Associates, 2000) and chief technology evangelist at Sonic Software in Bedford, Mass. Java Message Service consists of the specification, a set of class libraries, and a reference implementation. Chappell expects it to be used in conjunction with other message-oriented-middleware, such as Sonic's own Sonic MQ.

    Java Message Service provides a dual messaging model. It supports both message queuing, by which messages are stored in a queue until an application takes them out, and the publish-and-subscribe model in which applications register their interest in certain subjects. "Both models are useful, and you would want both," says Tom Laffey, chief technology officer at Talarian Corp. in Los Altos, Calif. Queuing is used when you need guaranteed message delivery. Publish-and-subscribe doesn't guarantee delivery and can be used with less-critical data.

    Java Message Service, however, is not without weaknesses. "We'd like to see tighter integration between JMS and security," specifically Java Message Service over Secure Sockets Layer, Laffey says. He'd also like to see better monitoring capabilities so you'd know if a message was delivered. Today, Java Message Service offers only two levels of service, persistent and nonpersistent. The persistent level ensures messages are delivered; the nonpersistent doesn't. There are substantial performance differences between the levels. "We like to see a few more levels in between," Laffey says, such as attempting message delivery a couple of times before the message is dropped.

    Previously, the only way to invoke Java components was through synchronous request-reply messages or Java remote method invocation--Java's equivalent to a remote procedure call. However, these approaches required the application to wait until it received a response to its message. JMS's asynchronous messaging lets the application continue its activity without waiting for a response. This lets Java apps support noncoupled business processes such as in loan originations, where appraisal or credit may take some time, but other steps in the process will continue without having to wait.

    Along with Java Message Service support, Java 2 Enterprise Edition 1.3 introduces a new Enterprise JavaBean. The message-driven bean lets the J2EE platform receive asynchronous Java Message Service messages. While the message-driven bean is intended to work with Java Message Service, it will also work with other asynchronous messaging protocols.

    Without the message-driven bean, Java developers have to manually code the connection between the incoming message and the business logic contained in an Enterprise JavaBean. "The new bean defines how the messaging and logic tie together, which gives developers a much better starting point," Kassabgi says.

    J2EE 1.3 will offer a host of other enhancements. For example, it will provide improved interaction between Java and XML through a new Java API for XML parsing. This will let developers create applications that receive XML documents as Java Message Service messages and parse and process the incoming data. They can also generate Java Server Pages using XML.

    Beyond Java 2 Enterprise Edition, Sun is also continuing to expand the boundaries of Java. J2EE promises to bring Java capabilities to mobile devices such as cell phones, PDAs, and even cars. The goal is to extend Java applications from the server all the way to the smallest pocket device.

    Jiro is a Java initiative that addresses storage. Sun says Jiro is the storage industry's first intelligent development and deployment environment. Jiro defines an architecture of components and management services specific to the needs of storage networks. Sun argues that Jiro will simplify storage network management and reduce costs through its inherent intelligent connectivity in Jiro. Though several dozen vendors have indicated intentions to support Jiro, only Sun itself and Veritas Software Corp. have certified products ready to ship.

    As companies focus on increasing collaboration with their trading partners, the enhancements to Java 2 Enterprise Edition 1.3 will give IT departments a useful tool for simplifying and speeding the integration of business processes and the underlying systems that drive business innovation.

    Photo by Asia Kepka


     E-mail To A Friend | Printer-Ready Printer-Friendly |  Send Us Your Feedback
    Home | This Week's Issue | Workplace and Careers | Resource Centers | Research