Tools and code 
 Case studies 
 Other zones: 
 [Subscribe to the XML Xtra]

developerWorks : XML : News - Current stories

An open letter from the IBM and Lotus co-authors of the revised SOAP specification

April 26  

Today, several parties, including IBM and Lotus, have posted a revised Simple Object Access Protocol (SOAP) specification (v1.1) to public Web sites, including developerWorks. IBM and Lotus are now co-authors of the specification. Furthermore, IBM has been developing an implementation of SOAP, and we expect to post an early version to IBM's alphaWorks later this week. We thought the developerWorks community would like to know why we are joining in the SOAP effort, and why we are now co-authors of the specification.

What is SOAP?

The SOAP specification defines a simple, Internet-friendly way of using XML to send messages and to access services. SOAP is important to e-business because it provides a flexible, natural way of building applications whose pieces are distributed across networks. With XML and SOAP, each business can choose its own internal implementation technology, such as the Enterprise JavaBeans technology, Microsoft Component Object Model (COM), or traditional languages such as COBOL. Yet any business can access a service, such as a parts catalog, or send a purchase order to or from any other business. When you implement these services, SOAP makes it easy to bind to the programming language or object system of your choice. SOAP's built-in support for Remote Procedure Calls (RPC) also makes it easy to invoke methods on remote objects, using XML and HTTP, so you can use SOAP to create distributed systems within your own organization too.

SOAP is simple. The specification is short and easy to understand. Best of all, it takes only a few lines of Java code or JavaScript code to build real SOAP messages that do useful work. Just take a look at the specification if you want to get started.

What is new in SOAP v1.1, and why did we become co-authors?

The first versions of SOAP were developed by a team from DevelopMentor, Microsoft, and Userland, and were made available to the public last year. That early work generated tremendous excitement. At the same time, we at IBM and Lotus, along with others in the SOAP community, believed that the initial specification could be improved. Working together, we created the v1.1 specification that was posted today.

What's new in 1.1? Better layering and better synergy with other Internet standards. In addition to HTTP, SOAP services and RPCs can now be accessed through your choice of message transports. For example, bindings could be defined to the IBM MQSeries or to electronic mail messages (SMTP). SOAP data representations and structures have been aligned with the proposed W3C XML Schema language, and it is now possible to apply those encodings in a much broader range of message patterns (such as streaming, one-way, multicast, and more).

In short, SOAP has been made much more flexible and powerful, without sacrificing the simplicity that made the first versions so exciting.

How will SOAP evolve?

In addition to being immediately useful, SOAP provides a very simple but solid foundation for defining the standards that will support universal connectivity across businesses and organizations. For e-business to succeed, everyone must be able to talk to everyone else. Working with our partners, we are offering SOAP as a common, compatible starting point for building that infrastructure.

And SOAP is just a starting point. For example, SOAP v1.1 does not provide security, message routing, or multicast capabilities that will be needed for robust e-business communication, but it does provide ways that such services can be layered on top of the base definition. Even without such features, SOAP is already proving successful as the basis for many useful applications. By agreeing with others in the industry to evolve from a common starting point, we set off together to build increasingly robust standards that are truly open and truly interoperable.

IBM and Lotus are pleased to have co-authored this version of SOAP. We will continue to participate as the specification evolves, and we expect to use SOAP where appropriate to solve our customer's problems.

How can you participate?

We encourage industry participation in the development of SOAP. As many of you are aware, standards bodies such as the World Wide Web Consortium (W3C) have begun active consideration of messaging technologies such as SOAP. Indeed, one reason we released this specification today was to ensure its availability in advance of the panel discussion on messaging to be hosted by the W3C at the WWW9 Conference in Amsterdam this May. If you're planning to be in Amsterdam, please join us May 17 for the panel discussion.

There are mailing lists where the XML messaging community is considering these issues or where you can go to discuss SOAP itself.

Thanks for your interest and for listening -- now it is our turn to hear from you. Please download the specification, watch for the alphaWorks implementation later this week, and use the mailing lists to let us know what you think.

Noah Mendelsohn (Lotus Distinguished Engineer) and
Dave Ehnebuske (IBM Senior Technical Staff Member),
   -- IBM co-authors of the SOAP v1.1 specification