http://www.sajim.co.za/news.main.3nr4.asp?print=1 Technical news Vol.3(3/4) December 2001 Web services - putting it all together Margaret van Steenderen Margaret.vansteenderen@commercequest.co.za Pierre van Dyk pvandyk@global.co.za The previous columns have discussed various innovative standards, which come together to produce Web services. According to Rhody (2001) the real value of Web services is the ability to 'unite companies in commerce transactions at the business process level'. The advantages of open standards, the ability to use current Internet infrastructure and platform and system independence aside, Web services very basically provide companies with the ability to communicate. What are Web services? Web services - these two words are receiving more and more press coverage, being touted as the next 'big thing' on the Internet. Supporters of Web services claim that it will change the face of electronic commerce forever. Detractors claim that it is nothing new, has been with us for years and once the hype is over will sink into obscurity. But what is a Web service, if one takes away all the hype? One definition for a Web service is 'a term used to describe technical services that are exposed via some public standard. Examples include purchasing services, catalogue services, search services, shipping or postal services exposed over transports like HTTP or electronic mail' (UDDI, 2000). The public standards used by a Web service have been defined - typically a Web service will be executed across HTTP (thus anybody with an Internet connection can use it). The message that will be sent - and the reply that may be received - will be in an XML format .The protocol used to format the messages is the Simple Object Access Protocol (SOAP). The above does not describe where the user will get information about a Web service, or how to access such a Web service, and this is where Universal Description, Discovery and Integration (UDDI) comes into the picture. UDDI describes a Web service, tells the user where it is and how to integrate it into another application. There are further XML-based standards that have appeared around Web services, namely WSDL that defines the endpoints of a Web service, WSFL that defines a flow language to model a business process flow between multiple Web services, and X-LANG, the Microsoft equivalent of WSFL. Why Web services? But what does all this mean? Why the interest in something that appears functionally equivalent to CORBA or DCOM, both distributed protocols that have been available for a much longer period than Web services? Everybody has heard of the client/server paradigm, where business logic is split off from the presentation view, thus allowing for loosely coupled systems that can easily grow over time. Web services introduce an even looser coupling due to the use of open standards like SOAP and HTTP. A Web service is designed from the outset to be platform, operating system and language independent; it does not enforce anything except the use of a transport mechanism - typically HTTP and the ability to produce and understand XML. One can thus view it as a type of client/service architecture, where services are exposed to a large number of clients. The loose coupling used by Web services allows pretty much any two computers linked to the Internet to be able to communicate with each other, irrespective of the operating system or programming language that is used on each of the computers. However, Web services do introduce some interesting questions that one needs to think about, such as issues around security. One can introduce certain security measures, such as using a secure transport protocol (HTTPS), but it still leaves one with the question of identifying users of a Web service. Another question is a more fundamental one - if software is going to be sold as a service, how does one charge for it? The user of a Web service will not be able to buy an off-the-shelf application or component, but will integrate to a service on an 'as required' basis. Different payment mechanisms (per use, per time period, etc.) can be envisaged, but again the issue of security comes to the fore. There is another fundamental difference between Web services and the other distributed protocols. Normally, a company that wished to integrate between a number of applications using CORBA or DCOM had to spend a fair amount of money as well as time to produce an application that was very specific to the problem at hand. Using Web services leads to an open application, one that is easily extendable. A last point in favour of the Web services route is the open standards around it - and support from all vendors on the various standards. Different vendors - even ones that in the past have been at loggerheads - agree on the different standards, thus ensuring that the tools used by different vendors all talk to each other in a seamless manner. Examples of Web services Not any application needs to be converted to a Web service, or to make use of it, but customer-targeted applications should consider it. Examples of applications well suited to be a Web service would be: The querying of parcel tracking within postal companies - instead of going to a Web site and getting the information one can query it using a Web service. One can also build such a query into a company-specific application, making it look part of the normal business flow and automating the check; doing a credit check on a person or company; trading shares across the Internet. The beauty of a Web service in such a situation is that it does not prescribe anything except the message format and where the service is located. Thus it does not enforce any other requirements. This does not mean that one is limited to only the above, hopefully it will give the reader an idea of the kind of Web services that may be published. Summary Web services is leading development of distributed applications using the Internet in a new direction - one that uses open standards and even open source (free) tools. It uses a ubiquitous transport protocol (HTTP) and XML standards to achieve its integration across different platforms, operating systems and languages. The Gartner Group estimates that 'Web Services will serve as an attractive means through which enterprises can gain access to software and business services. Through 2H02, 75 per cent of enterprises with greater than $100 million in revenue will interface periodically with Web services (0.8 probability). Through 1H03, 50 per cent of enterprises with less than $100 million in revenue will interface periodically with Web services (0.8 probability). This 'next big thing' will fulfill on many of the broken promises of the past and present a compelling opportunity for enterprises of all sizes.' References Gartner Group (Andrews W, Plummer D, Smith D). 2001. How Web services mean business. Gartner Group Research Note. Rhody, S. 2001. The rise of Web services. Web Services Journal, Preview Issue, June 2001. UDDI.ORG. 2000. UDDI Programmer's API Specification. Available WWW: http://www.uddi.org (6 September, 2000). For additional information http://www-106.ibm.com/developerworks/Webservices/ - IBM's Web services zone, provides access to tutorials, discussion forums and overviews. http://www.w3.org/ - The W3C's site, do a search for Web Services, to find papers, 'roadmaps' and workshops around Web services. http://www.sun.com/software/whitepapers.html#sunone - Sun's software white papers, many relating to Web services. 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