The Coad Letter: Modeling and Design, Issue 109, JavaOne 2003, by Granville Miller

By: Coad Letter Modeling Editor

Abstract: This year's JavaOne introduced some exciting new advancements in Java technology.

Greetings from JavaOne!

This is my first JavaOne trip report for the Coad letter. Steve Palmer has traditionally created this trip report as part of the Coad Letter. I will be continuing this tradition for the Borland Developer Network and hope to live up to the high standard that Steve produced.

JavaOne has been a place where exciting new initiatives and developments in the Java programming language, frameworks, and community are often announced. This year was no exception. The tiger initiative or J2SE 1.5 was the subject of many talks. Java Server Faces looks to be the next new way of creating user interfaces from server-side Java, looking to build on the functionality of Java Server Pages and struts. Of course, I would be remiss if I didnt mention new versions of JBuilder and Together, part of Borlands Application Lifecycle Management (ALM) initiative. Finally, Ill talk about Web Service Orchestration, the newest area of web services.

Tiger

As C# becomes a greater threat to Java, the speed of new developments in the Java programming language has begun to increase. Tiger, the J2SE 1.5 specification, adds many new features to Java. The Beta of this new version of Java is slated to be available as soon as the end of 2003.

The most dramatic of these features is generics, a feature borrowed from C++. Generics allow types to be associated with classes such as collections. Therefore, they behave like C++ templates but are lacking some of the common problems found in templates such as code bloat. As a result, they simply eliminate casting found in certain kinds of classes like collections.

The foreach from VisualBasic and C# is also added, although it is abbreviated for. The enhanced for loop removes the iterator variable by providing a one argument version of the traditional three argument loop.

Varargs is also added from C and C++. Varargs is the ability to specify an arbitrary number of arguments on a method. There are many other features in this new version such as Metadata (annotations on the code) and Autoboxing (automatically converting ints to first class objects and back). This new release continues the Java evolution.

Java Server Faces

Java Server Faces (JSF) is an XML-based technology for generating user interfaces from server-side Java. There is a lot of momentum behind this Java Community Process standard (JSR-127) as it clearly creates a Model/View separation. The result is easier to build, cleaner user interface designs. JSF provides a class library for defining JSF-based user interfaces and a tag library for using JSF within a Java Server Page environment.

Perhaps the best quality of JSF is that it is device independent. Since JSF is independent of how it is rendered, the same JSF stream can be rendered one way on a wireless device and another way in a browser. You can even write your own tag library that renders a given protocol.

Perhaps the most interesting area of JavaOne was the struts sessions, or lack of them. It is clear that JSF is slated to be the heir apparent to struts. But all of you struts fans can take heart in the knowledge that very few integrated development environments will have complete JSF support until the end of the year.

Application Lifecycle Management

Borland announced JBuilder 9 at JavaOne, stepping up its level of integration with Together, StarTeam, and JDataStore. A new set of upgrades (6.1) to Together was also announced across all of the Together Editions. These new releases continue to add to Borlands Application Lifecycle Management (ALM) strategy. Many of you may have heard of this new initiative through our presentations around the world and through our presentations at various industry conferences.

The initiative links tools that span the entire software development lifecycle to help you deliver better software faster. An integrated toolset that promotes collaboration provides the increased productivity and rapid communication necessary to deal with schedule pressure and change. These two factors can be found on just about every software development project.

Touchpoint integration[1] gives you the ability to move from one product to another in the application lifecycle through menu items. Together and JBuilder are linked through touch point integration. It is easy to move from JBuilder to Together and back again through these menu items. Best of all, the code and the model stay synchronized.

Touchpoint integrations are often a prelude to embedded integrations. Embedded integrations take two products such as CaliberRM and Together and combine them in a single window or portal. The idea is that these products provide complete support for an activity such as use case modeling where the use case descriptions (textual representations of the systems functionality) and the use case diagram can be shown together and linked. Other embedded integrations include JBuilder and OptimizeIt and JBuilder and StarTeam.

Synergistic integrations provide a combination of two products to form a single, new one. For example, Borland combined the editor and the compiler to create the first integrated development environment, Turbo Pascal. Turbo Pascal is an example of a synergistic integration. Synergistic integrations make sense when two activities are complimentary such as writing code (editor) and syntax checking (compiler). Complimentary activities[2] can be found in many areas of software development. Look for new advances in synergistic integration from Borland at the end of the year and throughout the next.

Web Service Orchestration

Web service orchestration is the newest way of describing business processes. Based on XML-based web service flow languages such as ebXML, WSFL, XLANG, and BPEL are finding their way into the standards bodies and subsequently into business process modeling tools. There were a very large number of web service orchestration, choreography, and business process talks. You might get the feeling that Java was headed in this direction.

Many of the talks discussed the roadmaps for this technology. As web services are slated for business use, web service orchestration links these services together to automate business processes. The result is the use of application servers to provide a business process platform. The methodology for building these business process automation systems is called Service-Oriented Architecture. Many folks are clearly beginning to look into this promising way of building IT solutions.

Final Observations

JavaOne continues to be one of the larger industry conferences. New Java technology continues to garner interest in the software development community for new features in the language, frameworks, and the development environment. Development tools continue to reflect these new features to provide better productivity and an enhanced user experience. The mobile community was also out at JavaOne in force.

Other than that, the conference was chock full of the usual entertainment. A broom hockey game between Apple and Sun. Pinball machines and video games were available in the lobby for folks to use to relax. Bean bag chairs made comfortable places to check email using the latest wireless technology. A huge bash by Borland at one of the local clubs that can only be outdone by this years BorCon where Borland will celebrate its twentieth anniversary. In all, a thoroughly enjoyable time was had by all. I hope to see you all there next year.



[1] Blake Stone authored these integration levels.

[2] There will be a complete article on Complimenting in an upcoming issue of IEEE ITPro. It is also an essential part of agile software development (see my column, The Agile Software Developer).


Server Response from: ETNASC04