[*] Title: "A new friend: Web Service" [*] Author: emdel [*] Website: http://www.autistici.org/emdel -- Summary -- -=> Brief introduction -=> The real meaning -=> History -=> Its friends -=> Conclusion -- Brief introduction -- Hello my readers! The aim of this paper is simple. I want to explain you what a web service is. I have a idea, maybe a dream.I am trying to write three essays in order to analyze all aspects of ws (this is its abbreviation). This is the first in which I am going to highlight points of this summary. Then it is the time to handing on ws and after that we have to pay our attention to the security. This is the path, the road. Come on! -- The real meaning -- I love understanding the words's meanings.Web service.What is a service? Maybe it is a working situation, maybe it is useful. However the real important aspect is another, it is the dependence from something. It is not a peer to peer situation, remember this. What is the web? The answer, this time, is simple and if you don't know it I am sad and i give you a good advice (goole ;). At the end we know it is a service in the huge web. It is not enough. If I can access to an application through the network and if I use a sort of protocol combination I can say proudly that it is a web service. This is a nice definition. If you read it carefully you can find a bitter truth.The concept of ws it is not modern, it is related to the internt's origins. Now a question. Tell me a ws... I am waiting for a answer... It is easy, too easy. All websites are ws :). In fact their publications and in general all their services are related to http and hmtl.In this way a ws is an abstract layer. The meaning of ws is not simple,in fact there is not a friendship between simplicity and shades .If we cannot get rid of shades we can rely on a word that it is so important that it is the the word. Interpolability. This is the true power of a ws. It is a hard work to study all shades of ws and it is not useful to this paper. However i want to remember one of the most common form of webservice. It is to call procedures running on a server.There is another thing to keep in mind that ws don't require a special environment, it runs everywhere. I think that it's all about the meaning and this is the least background to go on reading this paper. -- History -- In my opinion it is important to know the past because it is there that we must look for our answer.If you don't know the previous period or generation you don't really understand a thing. Historical method is wonderful. It is based on causes and consequences between past and present and sometimes the future, and this is the key to lean really something. Now I am going to analyze the causes of the ws. Ws derives from rpc, the famous remote procedure call, that it is tha standart way for a client to interact with a server. The idea is simple: ______ -service 1 _______ | |-service 2 choice | | |server|-....... . <========= |client| |______|-....... . |______| -service n I am not an artist but tha basic idea is clear. Servers offer n services but it is the client to order to the servers which servicesd to use. Although this is a good way often there are some problems. In this case the problem has a name, binary rapresentation, and it depends on os and hardware. There are a lot of solutions, and at the and we have reached the word interpolability! Now i tell you some solutions: 1)the so-called microsoft solutions 2)web services 1) The first answer to the problem was developed by Microsoft. Indeed they thought two solutions: [a] COM [b] DCOM [a] The Component Object Model was created to exist in a object's world. So we understand that it corrects the rpc. [b] The Distributed Component Object model goes over the previous limitations but it is only to Microsoft's products. 2) The second answer was a sort of rebirth of the ws. Ws use xml, this choice, to represent data, give them the possibility to work in every kind of environment and architecture. This is the real power of ws. Ws are built over http so at the end the server handels them as a http request. So in this way we have reached our goal, interpolability. This is the first step, now we must understand the protocols. The first used protocol was xml-rpc. Its role is simple. It try to encode the procedure calls. At the end it defines a new standart to handle data and calls. A lot of protocols were developed but we try to understand soap and we take eye to the rest. Now I think we have a idea about ws and we are ready to know its friends. -- Its friends -- To exist a ws needs some applications. In this section I will explain you quickly who they are and what they do.The concept of ws is based on: [a] xml [b] soap or rest [c] wsdl [d] uddi At this time these words sound you very strange but now we try to undestand them. In these few lines you will learn the basic idea behind the four points. [a] Xml is the language to represent and tag data.We resolve the problems based on compatibility with this language and it enables the famous interpolability. [b] Soap, Simple Object Access protocol. Its function are based on transfering data. There are two versions of this protocol: soap 1.1 and the following 1.2 which improves some aspects of the previuos one. Soap enables conversations among more servers. Its meaning is developed on the concept of roles (actors in soap 1.1). In soap 1.2 there are three roles (two in 1.1). Roles's features are in the tags at the begin of each block. At the end a soap message is still in its core a xml document. Now it is time to analyze soap message's structure: 1. envelope tag (with namespace qualification) 2. header tag * (in which there are meta-infomations to routing or security) 3. body tag (in which there are the body, the so-called payload) 1. Envelope tag is used to declare the number of namespaces. 2. Header tag is used to add some features to ws such as routing information. 3. In the body tag we can find the getquote tag and the authorize tag. We must look for the power of soap in its interpolability.It is not closed to a single protocol like http but it can be used by smtp, jabber or .net framework. At the end soap is encapsulate in the requests http that is the most used kind of transport to ws. [c] Wsld.Web Service Description Language.Now we understand its meaning. It is a language, based on xml, that describes the ws. It is important to know how it works. There are two versions: wsdl 1.1 and now 2.0 in which ibm and microsoft think the same thing, and so there is, fortunately, a sort of standart about it. I said it is based on xml, in fact it is written in xml and it is a xml document at the end. It describes the features of a ws. In this kind of document we can find the core of our ws. Through the lines of wsdl we find some special tag as , , or . The following step is to undestand what these tags mean. => It is such as a function library in c, like a #include It is so important because it contains all aspects of the ws's future. It defines what kinds of date use and so on. => It defines the messages that our ws can use. In each message tag we have more parts in order to define better every single an operation. => Its name is important.It explains its function. It defines the type, but the question is: Which types? The data type. => It defines some features of portType tag like protocol details or message format. Remember that it cannot specify address information. There are also other tags but to this first paper it is enough :). Now you have a idea of what a wsdl document is. [d] Uddi. Universal Description Discovery Integration.It sounds strange. What is its role in ws? There are two words in its definition that are important. Description and Discovery. Description is a word and it means to know all aspect of a thing, in this case a ws. Discovery's meaning is based on the awareness of news. There are always news, in each working fields. Uddi is a registry and it is used to businesses to classify themeselves and to know the whole world of ws. To understand all aspects of uddi is not easy so, to this time, I stop my keyboard. We have known the ws's friends. -- Conclusion -- This is the end of this first paper. I hope you have a good idea of what a ws is. These few lines are important to understand the following papers, they are the necessary backgound. Nowadays ws are a promise. The marketplace is ready to use ws but now it doesn't invest in this technology. There are a lot of causes but there are also a lot of consequences. But there is a certainty, one day ws will be used in all computer field and the cause will be their interpolability. (* It is optional)