Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Technical papers | Web services This document has now been archived Web Services Contents What are Web Services? How do web services work and who uses them? Where are web services being used? What issues are there with web services? What are the standards relating to Web Services? What are the implementation issues? Other sources of information What are Web Services? The web has grown massively over the past decade and now features heavily in our daily use of computers. During this period we have seen significant advancements in how web pages are designed and viewed. Despite these developments, however, our use of the web remains quite static and labour intensive. For example, a person wishing to buy stationery over the web still has to search different stationery suppliers’ web sites and, in most cases, manually compare the prices before ordering from one chosen supplier and arranging for delivery. Web services (WS) are concerned with enabling systematic application-to-application interactions over the web and with integrating existing network computer infrastructure into the web. Using the example of stationery suppliers, web services technology would allow the same person to compare the prices of stationery on one site and enable him/her to order from the chosen supplier dynamically. How do web services work and who uses them? Before discussing how web services work it is worth defining the different types of users. Note that the following definitions are not necessarily industry standard terms but are used here to aid with the understanding of WS. The web service provider: writes the code and applications for other WS users. The web service consumer: uses the applications and code produced by the WS provider. There could be two types of WS consumer: © Becta 2004 o The web service broker: consumers that provide a brokerage for the day-today web user. For example, a travel agency allowing different holidays and flights to be compared and then booked all on the same web site. o The independent web service consumer: has a direct relationship with the WS provider. The relationship between the WS provider and independent WS consumer is perhaps the major relationship that will be seen for WS use in the next few years. Most likely to be between two or more commercial organisations rather than home web users. The web service end user: although the end user is not using a WS directly, he/she is part of the WS chain of events. Someone booking a holiday on the travel agency web site, for example, would be using a Web Service, though they are unlikely to notice any difference in their use of the web. Valid at September 2004 Review at December 2004 – Archived in April 2006 page 1 of 5 Becta | Technical paper | Web services Web Service Providers Web Service Consumers Company A Company B Independent user Broker Web Service end users Figure 1: Associations between different users of Web Services The interactions that take place between a WS provider and WS consumer are standardized using eXtensible Mark-up Language (XML)-based messages. In brief, a WS consumer sends a message over the Internet to a WS provider with whom he/she wants to interact. From a WS provider’s point of view some development work will need to be done either to design a new WS or expose an internal legacy service as a WS. From the consumer’s point of view, tools are being developed that will be able to create WS messages. This will keep the underlying technical aspects hidden from the consumer. Directories of Web Services are beginning to appear in which providers store details of their service and how to interact with it, however they are not particularly advanced as yet. The idea is that consumers will be able to find a service by searching the directory in a similar way to electronic yellow pages services. © Becta 2004 Valid at September 2004 Review at December 2004 – Archived in April 2006 page 2 of 5 Becta | Technical paper | Web services The following diagram shows, at a high level, the interactions that need to take place in order to use a WS. Web Service Provider Web Service Directory Uses the web service (knows already how to interact with it) Result from the web service x es it do with t a t th c e era vic int r se to b ow we h a ow nd h Fi d s an Web Service Consumer For future development Figure 2: Basic interactions between a Web Service consumer and a Web Service provider Major software providers are building platforms and application software that should make the development and consumption of WS relatively simple. There are currently two main implementation platforms for WS – Microsoft's .NET and Sun's J2EE. Microsoft’s .NET solution aims to have built-in applications allowing users to interact seamlessly with WS. Other suppliers, such as Oracle, are basing their WS software on J2EE. As WS messages are based on defined standards, the theory is that any platform and WS application should be able to interact with another manufacturer’s platform and software. It remains unclear, however, how interoperable the different WS solutions will be. Where are web services being used? In general, WS using the full range of technology, including directory services, are not yet being used. However, some commercial web sites are starting to use a scaled-down version of the services. One example is the on line retailer Amazon [http://www.amazon.com/]. This company (as the WS provider) now allows other suppliers to access its databases of goods from their own web sites (as WS consumers). In this way, one supplier could use their web page to check Amazon and another book supplier for the best price on a book, saving the WS end user the trouble of having to do the same process manually. Although these types of services are starting to appear, WS has not yet made an impact on individual schools. WS will become most prevalent between business organisations, although it is possible that Local Authorities could offer web services as a means of data gathering from appropriate institutions and may interact with businesses, such as educational suppliers, offering a WS. © Becta 2004 Valid at September 2004 Review at December 2004 – Archived in April 2006 page 3 of 5 Becta | Technical paper | Web services What issues are there with web services? As already mentioned, WS architecture and software are really in their infancy. As such, there are many issues concerning their use and implementation that accompany the advantages. Below is a list of some of the positive and negative aspects of WS: WS can save time doing tasks which usually require a lot of manual inputting, for example comparing prices from a number of suppliers using their web sites and then inputting contact details each time an order is placed. WS will enable systems in different organisations to interact with each other using defined communication standards. WS should mean there is no need for complete and costly integration solutions when an application on one computer needs access to an application on another computer outside of its network. An upgrade/change to an application on one computer or a move to another platform should not affect how a consumer interacts with a particular WS. Present firewalls cannot filter on a content level ie, look at the XML. Therefore, an XML firewall application may be needed to increase network security when WS are developed or consumed. It will be several years at least before the proposed universal service directory(-ies) benefits the WS consumer in education. It is unlikely, at least in the short term, that many WS will be provided for free to consumers. A computer that is turned off or suffering problems will not be able to supply a service; this will affect organisations that rely on the consumption of WS. What are the standards relating to Web Services? XML http://www.w3.org/TR/REC-xml an extensible web language, far more powerful and versatile than HTML. SOAP http://www.w3.org/TR/soap12-part1/ an XML-based message wrapper providing a simple and consistent mechanism for sending a WS request or reply. WDSL http://www.w3.org/TR/wsdl20/ an XML-based standard which describes what functionality a WS offers, how to communicate with it and where it is accessible. UDDI http://www.uddi.org/ an XML-based standard which provides a universally accepted way for WS to be found on the Internet. What are the implementation issues? There are several issues to consider when implementing and consuming WS including: © Becta 2004 the choice of platform and the applications from which WS are implemented and consumed Valid at September 2004 Review at December 2004 – Archived in April 2006 page 4 of 5 Becta | Technical paper | Web services the interoperability of a particular WS over different platforms may need to be checked before commitments to a WS or WS platform/application software are made to be a regular provider or consumer of a WS the supporting infrastructure, such as network connections and web servers, needs to be robust and reliable it is likely that some software expertise will be needed to implement useful and reliable WS some consideration will need to be given to whom the WS interaction is with. A provider will most likely want some way of checking things such as the credit rating and integrity of a consumer. A consumer may want to perform similar checks in addition to checking where a provider is hosting their service from in order to ensure a reliability of service. Other sources of information WSDL/SOAP: Web Services search engine http://www.salcentral.com Microsoft .NET: http://www.microsoft.com/net/ Oracle Technology Network: new to Web Services http://otn.oracle.com/tech/webservices/learner.html SearchWebServices.com: Web services information resource http://searchwebservices.techtarget.com/ XML Web Services Directory http://www.webservicelist.com/ © Becta 2004 Valid at September 2004 Review at December 2004 – Archived in April 2006 page 5 of 5