SOAP

Simple Object Access Protocol (SOAP) defines the Extensible Markup Language (XML)-based message format that Web service-enabled applications use to communicate and interoperate with each other over the Web. The heterogeneous environment of the Web demands that applications support a common data encoding protocol and message format. SOAP is a standard for encoding messages in XML that invoke functions in other applications. It is analogous to Remote Procedure Calls (RPCs) used in many technologies, such as DCOM and CORBA, but eliminates some of the complexities of using these interfaces. SOAP enables applications to call functions from other applications, running on any hardware platform regardless of operating system or programming language (see Figure 15.1).

Figure 15.1. SOAP provides a communication mechanism between client and server.

graphics/15fig01.gif

Integrating the World with .NET...Again

Ever since the beginning of modern computing, we have sought out mechanisms that allow applications to access both the services and data of other applications, no matter where they exist. Indeed, it has been the whispered goal of developers to create applications so open and so well architected that other applications could access their value without having to understand anything about them.

This was the goal of the distributed object movement of the early 1990s. Common Object Request Broker Architecture (CORBA), Component Object Model (COM), and a handful of other, more proprietary instances of distributed objects promoted technology that promised open access to application services and information. That is, if we would only do things their way.

We are about to see another attempt to reach application development nirvana with the advent of the .NET strategy from Microsoft. Once again, we have another framework for doing something we've been trying to do for years. What's changed? In a word: the advent of the "Internet," and I don't mean the Web.

Integration Obstacles

Over the last few years, there has been a new interest in application integration, or allowing applications to share information and processes between and within enterprises. This has proven to be a difficult problem to solve, because differences in systems, both at the platform and application levels, are difficult to work around. For example, the simple structure of a customer record is different from application to application, and processes are exposed differently (if they are exposed at all).

Enter a new breed of application integration technology, including products that work from the inside out, or from the enterprise to the trading community, and those that work from the outside in. While we're clearly getting better and allowing very different applications to exchange information (and sometimes processes), achieving total integration is still out of reach.

We can define total integration as the ability to have many applications network-connected, exchanging information and sharing processes without having to understand anything about the applications they are interacting with. Indeed, the application would only need to leverage a common infrastructure for locating, understanding, and invoking remote application services.

The uses for this type of integration are endless and include creating composite applications, or applications that aggregate the processes and information of many applications. For example, using this paradigm, application developers simply need to create the interface and add the application services by binding the interface to as many Internet-connected application services as required.

.NET to the Rescue

The concept of .NET is to provide this total integration. .NET defines Internet-connected applications as Web services. You can think of Web services as methods exposed by a company or software program that are both discoverable and accessible by other programs or organizations in need of a particular service; for example, purchasing a product, reserving a flight, and calculating tariffs discrete business services that have value to many organizations.

.NET is an architectural vision, more than actual technology. However, pieces have already emerged, such as Universal Description, Discovery and Integration (UDDI), and a host of tools forthcoming from Microsoft that provide the opportunity for total integration. What is more, SOAP provides .NET with a standard way to expose objects through firewalls, business to business.

The UDDI specification aims to define a common mechanism to both publish and discover information about Web services. Those that put UDDI together (IBM, Microsoft, and Ariba, and 63 others) look to create a type of "Yellow Pages" for the Internet. The first generation of the specification is out now. (See the "UDDI" section later in this chapter for more details.)

Critical Success Factors

Okay, understanding that .NET, at its core, is really nothing new, what are the chances that .NET will influence application development going forward? What are the chances that it will change the way businesses think about integration, inside and outside? Before any of this happens, a few things need to occur:

First, developers must widely accept the .NET way of doing things. I am not sure Microsoft has captured the hearts and minds of most developers. Java still makes up a large part of enterprise development, for example. If Microsoft is to succeed here, it has to show capabilities at the enterprise level not yet seen within Microsoft development tools.

Second, Microsoft must become heterogeneous. Let's face it, most enterprises will not give up their Sun boxes for Windows 2000 just yet. Microsoft needs to demonstrate it has the ability to work with the enemy, as well as deal with the frustrations of integrating many very different platforms. Finally, the .NET standard must be controlled by many companies, not just Microsoft. That lack of control may frustrate Microsoft, but without the perception of this standard being open, it doesn't have a chance.



Next Generation Application Integration(c) From Simple Information to Web Services
Next Generation Application Integration: From Simple Information to Web Services
ISBN: 0201844567
EAN: 2147483647
Year: 2005
Pages: 220

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net