http://www.sajim.co.za/news.main.asp?print=1 News Vol.2(2/3) September 2000 Standard Object Access Protocol (SOAP) Margaret van Steenderen Margaret.vanSteenderen@commercequest.co.za Pierre van Dyk Pierre.vanDyk@commercequest.co.za There are many new standards being developed and accepted internationally, often as collaborations between key IT players. One of the latest standards is SOAP (Standard Object Access Protocol), using XML. It is important to keep up to date with the latest standards and protocols, so as to be aware of what is newly available and what is becoming easier to implement and maintain. Introduction Much has been made of XML – it seems that a computer magazine cannot be opened without reading a column on XML, what it looks like and how it is going to affect the way that data are being represented. However, whilst XML is a data representation standard, numerous standards and organizations have embraced it and are using it to do more than simply representing data. This is due to two features of XML that leads to its potential, namely the fact that: XML is self-describing (i.e. the way that the data are represented actually describes itself as well); and XML is a platform-independent format. One of the most interesting and newest initiatives to emerge using XML is the Simple Object Access Protocol, or SOAP. SOAP was originally a Microsoft initiative, but has been embraced by such companies as IBM and Lotus and was ratified as a standard in December 1999. What is SOAP? SOAP has a very simple function: it describes how to do remote procedure calls using XML. A remote procedure call is: 'A call by one program to a second program on a remote system. The second program generally performs a task and returns the results of that task to the first program' (Microsoft, CD:1998). The following definition of SOAP comes from The SOAP 1.1 specification: 'SOAP provides a simple and lightweight mechanism for exchanging structured and typed information between peers in a decentralized, distributed environment using XML.' Why is this important? With the growth of the Internet and e-commerce, it is becoming more and more important to integrate business systems across the Internet, hence the focus of new development on standards such as XML and SOAP. 'Developers must be able to integrate more than just services. They need to be able to assemble solutions from any combination of software components, applications, business processes, devices, or any other intellectual property' (Loshin, Online:1999). It can be said that information management delivers the right information to the right place at the right time. SOAP allows information to be shared and accessed between remote systems. SOAP ties together the information management resources, and using modules between systems becomes a non-issue. Effectively, the in-house and supplier systems can become a big blob of information, and information will not need to be manually transferred because the systems are ‘incompatible’. One interface can be supplied, tying together the systems, and the user need not have any knowledge of exactly where the information is coming from, just that it is being delivered. Therefore, businesses are spanned across the Internet, not only the company’s in-house servers. Business benefits It is a lightweight protocol that uses XML. SOAP is thus not dependent on a specific vendor and therefore the business will not get tied in to a specific vendor or package. Interfaces are clearly defined in such a way that they are easy to access and understand. It formalizes the definition of the required interfaces, essentially enforcing a contract between the caller and the receiver. This is of prime importance when connecting distributed applications. The use of standards takes away the guess work. It enforces a loose coupling between distributed applications, allowing for easy expansion and increased scalability of distributed systems. That is, SOAP makes it easy to expand existing systems, and to add more components, for example, a second server. SOAP can function over standard HTTP where other distributed systems may run into the firewall. SOAP therefore makes use of current Internet infrastructures. However, there are some disadvantages to using SOAP: Because SOAP uses XML, it suffers from the same verbosity issues as XML. SOAP supports the use of schemas to validate the XML content. However, there are no XML parsers available that offer full schema support yet, and the XML schema standard has not yet been ratified. Conclusion More and more information is being made available with regards to SOAP. Various sources (Web sites as well as books) are listed. Microsoft and IBM have released SOAP toolkits and documentation. Microsoft's Biztalk server – used for integration between businesses on the Web – uses SOAP. The newly announced UDDI (Universal Description, Discovery, and Integration) initiative by Microsoft, IBM and Arriba uses SOAP as its interrogation mechanism. In the space of about a year, SOAP has risen from an interestingly named initiative to a major player in the distributed space. If your company is going to integrate to another, it is worth taking a look at SOAP. Sources Loshin. 1999. Web services and the simple object access protocol. [Online]. Available WWW: http://msdn.microsoft.com/xml/general/soap_webserv.asp. Microsoft. 1998. Microsoft Press computer dictionary, 3rd edition. United States of America: Microsoft Press (CD). Scribner, K. and Stiver, M.C.S. 2000. Understanding SOAP: the authoritative solution. Indiana USA. W3C. 2000. The SOAP v1.1 specification. [Online]. Available WWW: http://www.w3.org/TR/2000/NOTE-SOAP-20000508/. XML Magazine, Fall 2000. Apps to Web services with SOAP. 1(4). Interesting Web sites http://www.w3c.org A dry Web site that contains all the standards, future standards and submissions with regards to XML and the different initiatives (such as SOAP). http://www.xml.org Web site containing general information and links on XML http://www.alphaworks.ibm.com An excellent Web site for developers, it contains a number of technological previews, code samples and other source with regards to XML, Java and more. http://www.asptoday.com Has some excellent articles on the more technical aspects of SOAP, such as 'Creating applications using SOAP and XMLHTTP Part 1'. Available at http://www.asptoday.com/articles/20000718.htm Disclaimer Articles published in SAJIM are the opinions of the authors and do not necessarily reflect the opinion of the Editor, Board, Publisher, Webmaster or the Rand Afrikaans University. The user hereby waives any claim he/she/they may have or acquire against the publisher, its suppliers, licensees and sub licensees and indemnifies all said persons from any claims, lawsuits, proceedings, costs, special, incidental, consequential or indirect damages, including damages for loss of profits, loss of business or downtime arising out of or relating to the user’s use of the Website. ISSN 1560-683X Published by InterWord Communications for the Centre for Research in Web-based Applications, Rand Afrikaans University