On April 21, 2004, IBM announced that it is delivering new offerings to help customers transition their IT software infrastructures. These offerings use a service-oriented architecture (SOA) of software and services aimed at organizations that need to figure out how to implement Web services.
According to IBM spokesman, Michael Kiess, "It's about treating business processes, and the IT infrastructure you have to run them, as standardized components that can be reused and combined for different processes."
WebSphere Business Integration Server Foundation
Using IBM's WebSphere Business Integration Server Foundation software, customers and clients will be able to reuse parts of their IT systems and combine them in new ways. Moreover, according to IBM, businesses won't be required to transform the entire IT infrastructure in a single step to obtain results.
"This product facilitates business flexibility by building a modular architecture," Kiess said. "It's a framework that supports our vision of service-oriented architecture."
Other SOA Offerings by Global Services
IBM's Global Services division is providing a service called Assessments for Service Oriented Architectures by which IBM will assess whether a proposed design for using Web services will meet the demands of the organization.
A second service, called Strategy Planning for Service Oriented Architectures, identifies customer objectives and builds a chart of business services that will map to the use of IBM's SOA. The customer receives a reference model for how the various SOA services will work together so that the IT infrastructure of software can be transitioned to a SOA.
In addition, IBM Global Services has an offering called Application Renovation and Integration for Services Oriented Architectures that identifies how legacy systems can be integrated into a SOA.
Providing the Know-How
This combination of new Global Services consulting offerings indicates how complex the technology of Web services has become. Web services struggle for wide acceptance in the customer base for a number of reasons: Its standards and protocols are still evolving; its security mechanisms are still developing, and its technical complexity is quite dense. Yet the technology, as it is delivered, will open up new opportunities for distributed reusable code, promising to transform how e-business applications are constructed.
Web Services: Delivering on the Promise
The mechanisms of Web services "granulates" software components to create a transparent application-serving process that dynamically pulls software components from multiple servers across the entire network.
Instead of building monolithic programs on centralized servers, Web Services allows program designers to build composite routines that actually extract the desired code modules from other sources connected on the network.
In principal, this is much the same way that an HTML Web page extracts resource links from across the Internet: Clicking on an HTML link may instruct the HTML browser to download a page of text from across the room or across the continent.
However, in a Web Services world, the difficulty is much more advanced. In Web Services, an individual program module must communicate with other program modules, creating a nest of reusable functionality that automatically "snaps" together. Designers anticipate that this kind of technology will allow programmers to quickly build custom e-business applications from standardized components that might exist anywhere in the world.
Getting Beyond Barriers of Technical Complexity
However, the down side of Web Services is the complexity of getting everything to work together. Different program technologies--such as J2EE and Microsoft .NET--have differing underlying technical requirements, and this makes intercommunication between Web Services modules extremely complicated. Thus, there has been a race over the last few years to develop comprehensive standards that work with the underlying programming technologies.
In response to this complexity, IBM, Microsoft, Sun, and others have been designing SOAs that describe broadly how the underlying elements are supposed to interoperate. IBM's WebSphere Business Integration Server Foundation software is the packaging of code that describes one such SOA, designed specifically for business integration.
A SOA is a distributed software model where software components may reside on multiple servers spanning the network. Following the precepts of a SOA enables discrete Web Services modules to be placed anywhere on the network, to be securely executed as required by other modules.
In brief, the key components of a SOA describe services, dynamic discovery, and messages.
A service is a callable routine or module that is made available over a network. In addition, a service exposes an interface contract, which defines the behavior of the service and the messages that the service will accept and return. This contract is the "public face" of the service routine, telling other routines what it can do and how to interact with it.
The interface contracts for multiple individual services can be published in public registries or directories, where they are categorized based on different kinds of services that are available. This is how one service finds another across the 'net. Software clients can then look up a particular service programmatically by dynamically querying the catalogues of categorized services. This process is called dynamic discovery of services.
For instance, one service may need to perform an amortization of loan data. It then goes to a published registry of services and looks for the appropriate routine that can perform this function. It chooses the routine it needs and calls that service from across the network.
Client software consumes services via messages. Because interface contracts are platform- and language-independent, messages are typically constructed using XML documents that conform to an XML schema. For instance, in the above example, the amortization module would communicate to the client via formatted XML code.
Inherent with the design of Web Services is the need for an adequate security mechanism to ensure that data is protected and that individual Web Services are not abused. Again, different underlying program technologies (e.g., J2EE and .NET) provide different security mechanisms, and these too must be taken into account when describing a SOA.
Business Integration with Legacy Data and Applications
Needless to say, investing in a Web Services e-business implementation would, in the past, necessarily require a completely new kind of application development strategy for organizations. The old monolithic programming models are not readily adaptable to this burgeoning technology.
IBM says that WebSphere Business Integration Server Foundation is one of the first products that delivers a SOA in a package that can be used productively by a customer that is considering implementing Web Services using J2EE.
But the fact that IBM is announcing WebSphere Business Integration Server Foundation with a bundle of supplementary Global Services consulting offerings is also an indication that implementing Web Services is still far from slam-dunk. Though it may represent the next step in Web Services implementation, it is by no means the final step to delivering the promise of Web Services technologies to the industry.
Thomas M. Stockwell is Editor in Chief of MC Press Online, LP.