HomeDigital EditionSys-Con RadioSearch Web Services Cd
B2B Beginning WS Business Process Management Case Studies Content Management Distributing Computing e-Business Electronic Data Interchange Enterprise Industry Insight Integration Interviews Java & Web Services .NET Portal Product Reviews Scalability & Performance Security SOAP Source Code UDDI Wireless WS Standards WS Tips & Techniques WSDL WS Editorials XML

Back in the early 1980s, a popular fast-food restaurant ran a series of humorous commercials on television based on an elderly woman visiting a competing fast food chain. After receiving her order, she would pry open an oversized hamburger bun and utter a shrill complaint for all to hear: "Where's the beef?" It seemed that for a while everyone was saying it, including yours truly. Now, roll the clock forward a decade or two (sigh), and I'm having my first look at IONA's Orbix E2A XMLBus Web Services Integration Platform, XMLBus Edition 5.0. After a while I couldn't stop muttering to myself a slightly modified version of that catchy phrase ­ "OK, where's the XML?"

First off, please don't think there's something wrong with the product, because there isn't. I tend to be a hands-on kind of person, and I like to be able to futz with the XML code when I create a Web service. It's similar to wanting to continue to program in assembler code when a 3GL language can do it all for you in a fraction of the time.

In a similar fashion, having all of the XML programming done for you is part of an increasing trend by Web service integration platforms ­ you're literally just a few point-and-clicks away from deploying your own Web service. Here's what IONA has to offer:

Overview
The XMLBus Edition 5.0 Web Services Integration Platform consists of a suite of Web service development and administration tools, including:

  • Web Service Builder
  • Web Services Manager
  • Web Service Test Client
  • UDDI Browser
  • Soap Message Test Client
The suite can be installed standalone, or deployed to leading application servers, including WebLogic, WebSphere, and IONA's Orbix E2A Application Server platform. I chose to install the product on the Orbix E2A Application Server.

In addition, the platform includes a toolset for integrating various B2B Web services in a process engine framework:

  • XDI Suite.
  • XDI Monitor.
This feature in particular caught my interest in that it takes the whole notion of Web services to the next logical step in the evolutionary process. I'll have more on this later.

Features
IONA XMLBus is compatible with current Web service specification levels, including:

SOAP 1.1 and 1.2

  • Various encoding styles are supported, including document-literal, document-encoded, RPC-literal, and RPC-encoded.
  • SOAP with attachments, for transporting large XML documents or binary data.
WSDL 1.1
  • Supports primitive, common, and complex data types.

    In addition, XMLBus Edition 5.0 includes:

  • Synchronous transport of SOAP protocol over HTTP and HTTPS Internet protocols
  • Support for MS .NET toolkit and MS SOAP
  • Ability to expose CORBA objects as Web services
  • Client-code generation for J2ME (WAP-enabled wireless equipment) and J2SE proxy clients
  • Process flow engine for long-running Web service transactions
  • UDDI Browser
  • A rich Java API set
Web Service Component Model
IONA innovatively introduces the concept of a component model in their product by designing their Web services to operate within a runtime container in the application server. Similar to an EJB component, a Web service can be activated and deactivated within its container by using an administrative interface. The container provides services such as performing SOAP-message validation against the WSDL of the containing service.

In addition, Web services are compiled into a deployable unit called an XAR file, which contains WSDL definitions, interface code, etc. One note: it would be great if Web service vendors could begin the process of developing a single standard (similar to the EJB specification) regarding a component model and deployment mechanisms.

Web Service Builder
The Web Service Builder is a Windows-based application that includes a series of navigation and builder panes that allow you to create Web services from existing CORBA-, EJB-, and Java-based applications. A wizard guides you through the process of creating a Web service for each legacy technology. The output of the process is a deployable XAR file containing the Web service. All of the SOAP and WSDL code is generated for you.

The wizards employ an introspection mechanism that exposes the various APIs in the source enterprise applications. In the case of Java applications, the builder will list the public methods for you. All you need to do is enable the interface, choose the appropriate SOAP binding mechanism (RPC vs. document, data types), enter external libraries, and the builder takes care of the rest. In the case of EJB components, the builder will communicate with the application server (using the appropriate network protocol) and obtain the remote interface information without having to directly copy the deployment unit to the development system. In the same manner, the CORBA wizard will guide you through the process of converting a service IDL to a Web service interface (see Figure 1).

Figure 1

To generate Java client code for your service, the Web Service Builder will take the WSDL associated with your service and generate client stub code. One particularly nice and forward-thinking feature is that you can generate J2ME code designed for palm-sized devices.

Web Services Manager
The Web Services Manager is a browser-based utility for monitoring Web services. You can enable or disable a service with the click of a button while running in a live production environment. With its drill-down capability, you can view the various services and ports of a Web service application, and view the underlying WSDL XML. The Web Services Manager doesn't include any instrumentation or performance-related data at the present time. You may need to wait a release or two to see it.

Process Flow Engine
I found the Process Flow Engine to be the most interesting part of XMLBus. In a manner similar to TIBCO and webMethods, you can use the XDI Suite to assemble one or more Web service components together into a single aggregate Web service (see Figure 2). To develop the process flow, you can paste in flow-of-control components (switch, parallel operations, etc.), as well as transport components (MAIL, FTP, HTTP). What is interesting is that this is achieved without a message bus, and appears to rely on HTTP transport mechanisms to move the flow along.

Figure 2

Debugging the Service
Here's where the XML was hiding out. XMLBus comes with two debugging facilities, a SOAP Message Spy and WSDL Dynamic Test Client. The SOAP Message Spy allows you to monitor the HTTP protocol request and response streams from the Web application server. In addition, you can manually enter a SOAP request and send it to the server.

The WSDL Dynamic Test Client is a browser-based utility that dynamically reads the WSDL for the service and provides a list of services and ports to test. After choosing a port, you can enter one or more parameters and directly invoke the service. A third window displays the SOAP request and response XML messages.

Additional Tools
Another interesting feature is the UDDI Browser, which allows you to shop around for Web services listed on UDDI registered repositories (see Figure 3). Although the number of public UDDI repositories are limited at the present time, the ability to browse and integrate a Web service through a single development toolset is the wave of the future. IONA has the right idea, but should integrate the browser directly into the XDI toolset. Point-and-click service integration, anyone?

Figure 3

Installation
The installation process is fairly straightforward, but not entirely foolproof. If you're installing on a Microsoft Windows-based platform, stay away from installing to a directory structure that has embedded spaces in it (i.e., "C:\Program Files"), and you should do fine. Depending on your development environment, you may need to tweak some of the CLASSPATH environment variables in the various script-based command files in the toolset. In most cases, the documentation will guide you through the necessary modifications, and shouldn't be a problem for the Java-versed. Also, make sure you know what IONA software prerequisites you need prior to installing. For instance, creating Web services from CORBA components will require you to install and configure Iona's CORBA Services before you can see any of the configuration features in the builder.

Concluding Thoughts
It took a while for me to fully appreciate the capabilities of this product. Its true strengths aren't immediately apparent when initially working with the builder and admin tools. It almost seemed too easy to create a Web service. But what goes on under the surface makes XMLBus Edition 5.0 a leading contender in the family of Web service integration platforms. Given that the platform includes a process flow engine and can interface with a solid base of legacy CORBA applications, it makes it even more appealing at the enterprise level. And that's nothing to beef about!

Author Bio
Joe Mitchko is a senior consultant with Phase II Consulting, a leading New Jersey firm specializing in Internet and database-related architecture. jmitchko@rcn.com

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.

  E-mail: info@sys-con.com

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.