In this report we shall attempt to discuss on of the emerging technology in the field of Information Technology which is Web Services. We will take into account the importance of web service, its basic framework and objective and also about the technological tools involved in the implementation and use of web services. This report also consists of a brief individual explanation of the components of web services such as XML, SOAP, WSDL, etc. 1. Web Service
By an example from our day to day life, we know that different appliances work on different levels of electric current and voltage. Thus to work these different appliances we need adaptors for each appliance to be able to connect them to domestic electric current voltage. But many appliances mean as many adaptors, what if we were able to use just one adaptor for all different appliances; it will make our life so easy. Similarly Web Services serves as a common platform that standardizes the integration of all different computing systems and applications using the existing web infrastructure as a universal medium.
Don’t waste your time!
Order your assignment!
The web Services enables machine to machine communication in form of data or messages irrespective of how diverse one application is from the other. Along with internal it also provides freedom for an application to interact beyond the corporate boundaries, thus enabling the system to converse directly with those of your suppliers, distributors and clients, i. e. Business-to-Business (B2B) integration which is necessary in these times of business dependencies but at the same time very difficult as you don’t have control beyond your own system. Anne Thomas, 2003) Now that we understand Web services we will be able to actually put down its definition as- Technically the term Web Services can be describes as standardized way of integrating application-to-applications communication using the XML, SOAP, WSDL and UDDI open standards over an existing web infrastructure. XML tags the data, SOAP acts as data transfer channel, WSDL describes the available service and UDDI is a directory that lists all the available services for the users to search through. www. webopedia. com, viewed 2008) 2. Web Services a comparison of technology All middleware communication systems like CORBA, RMI or DCOM are based on the Distributed Computing Environment (DCE) of the Remote Procedure Call (RPC) style of middle ware that enables application-to-application communication but they have an inherent limitation that one RPC cannot communicate with another form of RPC system and should have similar RPC connection hook on both the machines. www. wikipedia. org, viewed 12/05/2008) Thus the first biggest challenge we come across in using these RPC middleware is to find RPC software that supports all our programming languages and platforms involved at a single instance with feasible cost. This is where Web services come in because it uses XML format of message communication which is independent of all programming languages and platform.
This makes it much more flexible and provides it the ability to talk to any system application be it all new programming or any old school programming language. The second issue in case of RPC middleware is that they have support from limited operating systems. Like in case of a Java platform, it only supports its RMI (Remote Method Invocation) and CORBA (Common Object Request Broker Architecture). Where as DCOM (Distributed Component Object Model) is only supported by Microsoft windows system. Anne Thomas, 2003B) Here comes in Web Services again as they are loosely linked Communication systems and they make use of the pre existing network which is the WEB and as we know virtually all operating systems and programming platforms inherently support web access there by bringing more flexibility and compatibility to Web services. The third and most vital aspect is that because Web Services is an open source system, which means that any one can use this system freely thus it reduces cost of system integration and communicating channels.
Where as similar technologies like CORBA do not come with every platform and one has to licence every system terminal that intends to use this channel. This licensing at the base level involves a huge cost. Finally in today’s business world no one works in a vacuum, every one is dependent on some one for his supplies or distribution or even consumption by customers. This external interaction of systems is very difficult as one can only control its own systems, but it’s vital for each business to enable free information flow between their business applications.
This can only be provided by Web Services at a much lower cost. 3. The Architecture of the Web Service Here we have put up the completed diagram of a model architecture of a web service system, as per required by the assignment we have used the given attributes only once in this figure to complete the diagram. -+ Figure 2. The architecture of Web Service 4. Role and Function of XML XML (eXtensible Markup Language) is the most logical choice of format that meets the criteria of platform neutral and standardized delivered format of the Web Service machine to machine communications.
XML is a universal and self explanatory data format that can be read, processed and replied for by any application irrespective of its platform. XML is a language specially designed by the World Wide Web Consortium or W3c specifically for electronic documents and messages. As we understand every programming language and operating platform inherently supports XML. Thus this messaging technology of XML is at the core of the Web Services which provide it with immense flexibility of transmission, validation and interpretation of data over the web.
The XML core syntax is not rigid data format rather a formal set of information that builds an abstract description of an XML document. (F. Curbera, M. Duftler, R. Khalaf, W. Nagy, N. Mukhi, and S. Weerawarana- 2002). The XML Infoset, XML Schema and XML Namespaces provide a standard and comprehensive set of definitions along with the flexibility of customizing Tags for the user. Understanding this we can safely say that it is XML technology with Web that is the basis of the whole of Web services. 5. SOAP-Simple Object Access Protocol
The Simple Object Access protocol or widely known as SOAP was created by Microsoft and there after was developed in collaboration with IBM, Lotus and User Land. It is an XML based protocol for messaging or we may say the actual that defines how to communicate data from application to application. Web Service could not have been successful if SOAP would not have provided a method to abstractly represent data and publish the communication definitions to carry the data over the network. (Eric Newcomer, 2002A) It gives us the winning combination of the best network, the Web and best data representation, the XML for the WEB services.
In context of the Web service if we define SOAP it consist of three main parts to it as the SOAP envelope, SOAP header and the SOAP body The envelope defines the start and end of the SOAP message body. The header, which is optional can, carries the definition and application information such as security and transaction certificates. Where as the body of SOAP message comprises of the actual data message and can be in multiple blocks. After a data is enclosed in a SOAP format it is send over the network to the client application.
With help of an actor attachment the SOAP message also defines how the receiving application should process the SOAP message. (Eric Newcomer, 2002B) To try and understand SOAP technology better lets take an example of our old postal mail letter. Consider a business document sent by post. It is first put in to a formal language and format (XML Body), added with a covering letter (Header) explaining the document and who is it for. All this is enclosed in an Envelope that bears the address and delivery instructions (SOAP envelope).
Thus without all this peripheral information that represents the functioning of SOAP, our business document can’t be posted. 6. HTTP and Web Services Hypertext Transfer Protocol (HTTP) is now considered as a standard amongst the communications protocol for the transfer of information on the intranet and the Web. It defines how messages are formatted and transmitted and what response the web servers should have upon a particular command. Thus we can describe HTTP as the actual transporter over the web for any information exchanged. Or HTTP is the protocol that owers the Web. (Chris Shiflett, 2005) In relation to the Web Services the HTTP is the executer of information exchange. The SOAP as we discussed before acts as an extension of HTTP. It binds an XML data to the HTTP platform and then that message is send over the network as an HTTP request to another application or system that receives the HTTP command and processes it according to the SOAP specifications. In return the receiving system may or may not reply through the HTTP command. (www. wikipedia. rg, viewed 12/05/2008B) Thus it is essential that the sending and receiving HTTP system like Apache and Microsoft IIS support a SOAP processor to be able to execute a XML message and thus the communication take place. Further more we can establish that HTTP is the basic platform within the World Wide Web on which the SOAP system is build or for that matter the whole of Web Service is constructed upon the fundamental platform of HTTP protocol. 7. Web Services-role and function of WSDL A manufacturer produces a product but that does not ensures that the consumers will buy it.
To be able to sell that product a manufacturer has to advertise his goods so that the probable customers know about the product and thus they purchase it. Carrying the same example forward to web services. A service provider has to reach his probable users or customers so that they get know the product, the usage of the service its deliverables, technological requirements and finally make use of it. Thus this job of advertisement in the Web Services environment is fulfilled by the WSDL. Technically speaking WSDL was jointly developed by Microsoft and IBM after combining IBM’s NASSL and Microsoft’s SCL.
WSDL is a specialised form of XML that describes and publishes the format and protocols of web services. (www. w3. org, viewed 2008). WSDL also provides a description of operation to be performed by the client system on the received message or service data. Thus the three finalities of WSDL can be bifurcated as ? Data type definition ?Operation procedure definition for client server. ?To work in conjunction with SOAP and binding the data into its specifications. (R Akkiraju, J Farrell, J Miller, M Nagarajan, 2006) 8. UDDI- (Universal Description, Discovery, and Integration)
The name it self clarifies what does UDDI stands for. In simple terms the UDDI is a web based directory that enables business to list their services and discover each other on a common platform, similar to a phone book’s yellow pages or white pages. (www. webopedia. com, viewed 2008) In technical terms UDDI is a distributed registry that represents data about Web Services. These registries can be an open source that is a publically accessible or it can be constructed within an organizational infrastructure, offering standard mechanism to classify and catalogue the web services.
This repository of services is a common platform to discover and consume services by client systems. Now we can put together what WSDL offers amongst its several benefits to IT managers at both design phase and execution phase, also allowing a increased re use of its codes and a better management by: •Publishing web service related information for an organisation. •Finding a web service in or beyond corporate boundaries to be used by a specific application. •Evaluating the technical resource needed by the particular web service, that is necessary to invoke it. www. oasis-open. org, 2004) The main functionality of the UDDI technology is the UDDI business registration and the publication of the particular Web Services in XML format. (www. uddi. org, 2000)There are three main components to this aspect of UDDI which are listed as a)The white pages: The white pages include all the information about the listed businesses, such as business address, contact no. or known Identifiers. Thus enabling a client to search for a service by business name. ) The Yellow Pages: The Yellow pages on the other hand have the services listed according to the industrial classifications and standard taxonomies. c)The Green Pages: this section of UDDI provides the technical information and required specifications about the Web Services that are provided by the service provider. They may also hold pointers to various files and URLs in order to provide comprehensive support. 9. Client-side and Server-side Stubs Be it client side or server side stub, a stub has a very specific role in distributed computing.
A Stub is that software object that participates in the actual coding and de coding of the message before its transmission. That is it serves as a gateway for all out going data for a client side stub and all in coming data for the server side stub. In a way the stub envelope a client objects and adds the network logic to it so as to ensure the reliable communication within the channel between client and server. Usually it is generated once automatically at the time of discovery and can be re-used thereafter each time the communication takes place.
For further understanding we can use this diagram given in figure 1:- ……………… Figure 1- (www. globus. org, viewed 2008) As we can see in the enumerated figure the Stubs simplifies our work as a stub automatically generates SOAP codes for the message transmission, we are saved off a lot of complex code writing. We don’t have to write a complex client program that dynamically generates SOAP requests and interprets SOAP responses (and similarly for the server side of our application).
The only thing left for our programmers is to write the main server codes. ( Borja Sotomayor, 2005) 10. Web Service Publishing and Looking-up The active act of listing ones service in the UDDI registry, so that the clients can have access to the service from those public or private databases, is called as Publishing of the web service. For the publication of a service the provider has to register it self with the UDDI listing services and there after explicitly place its information regarding a service. (www. uddi. rg, viewed 10/5/2008)The Publication of ones service can be active publication or a Passive publication, one where it is just exposed to the web in general and any one interested can pick it this is also called pear to pear discovery. As we know the two primary functions of the UDDI are as follows ? Publishing information about a service to a registry ? Enabling Search in a UDDI registry for information about a service The owner of the service publishes the service with UDDI directories. On publication of a service the UDDI registry generates a unique pointer for the service and service description.
The UDDI then allows clients to search the registry to find an intended service and retrieve its details such as service provider info, service description, service invocation point etc to identify the service. This search process can be defined a Look up of the service. This look up of the service also generates a binding template with technical information of the web service for the probable client. . 11. Web Service Coordination The fundamental Web Service infrastructure that we discussed before only supports the initial communication between one system to another.
We may say that it is a web service initiation infrastructure only thus supporting an invoking operation on a web service by a client. But as soon as the client starts using the service and a continuous flow of sequence or information starts we would need a much more stable platform and abstraction tools to ensure the integrity and consistency of the continuous communication over a larger amount of data. These Web Service coordination tools involve softwares like the Coordination Protocol like Rosetta Net, Web service Transaction tools such as (WSCL) Web Services Conversation Language, etc.
The Web Service coordination includes the major aspects to it: (G. Alonso, F. Casati, H. Kuno, V. Machiraju, 2003) a) Coordination protocol registry- During this step both the client and server systems exchange information and agree upon a common protocol and initial guidelines for any further communication. b)Coordination Type- In this step both the system logically determine a set of related protocols. There by deciding upon the level of interaction i. e. if they shall interchange data along with the system logic of the provider or just as a stand alone data transfer. c)Coordination context-
In this phase of interaction both systems agree upon the data structure and the unique identifier mark bearing each message in the further communication. There after establishing the basic ground rules in the coordination part the next step is the Web Service Transaction where in the actual data transfer happens along with the implementation of the coordination protocols. 12. Reference list 1. Book- Web Services: A Manager’s Guide, By Anne Thomas Manes, 2003, Page 7. 2. Web page- www. webopedia. com, viewed 2008, http://www. webopedia. com/DidYouKnow/Computer_Science/2005/web_services. as 3. Web page (A)-www. ikipedia. org, viewed 12/05/2008, http://en. wikipedia. org/wiki/Web_services 4. Research paper- Unravelling the Web Services Web: An Introduction to SOAP, WSDL, and UDDI Francisco Curbera, Matthew Duftler, Rania Khalaf, William Nagy, Nirmal Mukhi, Sanjiva Weerawarana, (IBM T. J. Watson Research Center) 2002. 5. Book (A) – Understanding Web services: XML, WSDL, SOAP and UDDI- by Eric Newcomer, 2003, page 111. 6. Book – HTTP Developer’s Handbook – By Chris Shiflett, 2005, page 270. 7. Web page (B)-www. wikipedia. org, viewed 12/05/2008, http://en. wikipedia. org/wiki/Hypertext_Transfer_Protocol 8. Web page – www. 3. org, W3C Working Group Note 11 /02/2004, http://www. w3. org/TR/ws-arch/ 9. Journal- A joint UGA-IBM Technical Note- by R Akkiraju, J Farrell, J Miller, M Nagarajan, M, version, 2006 – domino. research. ibm. com. 10. Journal- UDDI Technical White Paper, September 6, 2000, http://www. uddi. org/pubs/Iru_UDDI_Technical_White_Paper. pdf 11. Web page- -The Globus Toolkit 4 Programmer’s Tutorial- by Borja Sotomayor 2005, http://gdp. globus. org/gt4-tutorial/multiplehtml/ch01s02. html 12. Book- Web Services: Concepts, Architectures and Applications- by Gustavo Alonso , Fabio Casati, Harumi Kuno, Vijay Machiraju, 2003.