What is XML?
Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications
As of 2009, hundreds of XML-based languages have been developed, click on the link to see the number of XML based language http://en.wikipedia.org/wiki/List_of_XML_markup_languages
Read more about XML and understand it before continuing to read this article.
What is WSDL?
- WSDL stands for Web Services Description Language
- WSDL is written in XML
- WSDL is an XML document
- WSDL is used to describe Web services
- WSDL is also used to locate Web services
- WSDL is a W3C recommendation
Now we know what WSDL is and we have to understand SOAP.
What is a Protocol?
A protocol is a set of rules that governs the communications between computers on a network. In order for two computers to talk to each other, they must be speaking the same language. Many different types of network protocols and standards are required to ensure that your computer (no matter which operating system, network card, or application you are using) can communicate with another computer located on the next desk or half-way around the world. The OSI (Open Systems Interconnection) Reference Model defines seven layers of networking protocols. The complexity of these layers is beyond the scope of this tutorial; however, they can be simplified into four layers to help identify some of the protocols with which you should be familiar (see fig 1).
OSI Layer | Name | Common Protocols |
7 | Application | HTTP | FTP | SMTP | DNS | Telnet |
6 | Presentation | |
5 | Session | |
4 | Transport | TCP | SPX |
3 | Network | IP | IPX |
2 | Data Link | Ethernet |
1 | Physical |
Fig 1. OSI model related to common network protocols
Figure 1 illustrates how some of the major protocols would correlate to the OSI model in order to communicate via the Internet. In this model, there are four layers, including:
- Ethernet (Physical/Data Link Layers)
- IP/IPX (Network Layer)
- TCP/SPX (Transport Layer)
- HTTP, FTP, Telnet, SMTP, WAP, and DNS(combined Session/Presentation/Application Layers)
What is SOAP?
SOAP: (Simple Object Access Protocol) A group of vendors from Microsoft, IBM, Lotus and others, created an XML-based protocol that lets you activate applications or objects within an application across the Internet. SOAP codifies the practice of using XML and HTTP to invoke methods across networks and computer platforms.
- SOAP stands for Simple Object Access Protocol
- SOAP is a communication protocol
- SOAP is for communication between applications
- SOAP is a format for sending messages
- SOAP communicates via Internet
- SOAP is platform independent
- SOAP is language independent
- SOAP is based on XML
- SOAP is simple and extensible
- SOAP allows you to get around firewalls
- SOAP is a W3C recommendation
SOA Technology: SOAP, WSDL, UDDI
A web service depends on three interrelated, XML-based software standards to function properly.
- Simple Object Access Protocol (SOAP)—The message format
- Web Services Description Language (WSDL)—The document that describes exactly what the web service does and how to invoke it
- Universal Discovery, Description, and Integration (UDDI)—The directory of web services that are available for use
Together, the three standards combine to give a web service the ability to function, describe itself, and be found within a network. While theoretically a web service could function fully using SOAP alone, figure 1 shows how a web service needs WSDL and UDDI to be effective.
1. SOAP
SOAP is the working language of web services, the XML structure on which all web services messages are built. When we say that web services are based on XML, we actually mean that web services are based on SOAP messages, which are written in XML. What makes SOAP special and distinct from plain-vanilla XML is that every SOAP message follows a pattern that has been specified by the W3C standards.
Figure 1: When it comes to describing its functionality and location, a web service is in and of itself essentially “dumb.” To describe itself to potential requestors, the web service relies on its WSDL document, which provides a detailed explanation of the web service’s functionality and how to access it. For location, the web service relies on its listing in a UDDI registry to enable potential requestors to find it.
SOAP is sometimes referred to as a “data wrapper” or “data envelope.” Here’s what those apt descriptions mean: Every SOAP message begins with a tag that reads <SOAP-ENV:envelope>. The envelope tag signals the message recipient that it is about to receive a SOAP message. What follows is a header, which contains the critical information about where the message is going and from whom it came. And then there is the body of the SOAP message, which lays out the actual data or operating instructions required by the consuming computer. Figure 2 shows a SOAP message, complete with “envelope” and body, traveling across a network from a web services consumer computer to a provider computer, in this case, a mainframe.
Figure 2: A SOAP message is formatted as an “envelope” of XML code that defines its beginning and end. The “header” describes where the message came from, where it’s going, and how it is going to get there. The “body” of the SOAP message contains the relevant data or procedural instructions of the SOAP request of response.
2. WSDL
The Web Services Description Language (WSDL) is an XML document, designed according to standards specified by the W3C, that describes exactly how a specific web service works. However, the WSDL document (often referred to in speech as the “wizdil”) is much more than a mere instruction manual on how to use the web service that it describes. Web services development software can process the WSDL document and generate the SOAP messages automatically that are needed to invoke that specific service.
Because of the capabilities of WSDL, web services are known as “self-describing” software elements. This is a very powerful concept. Not only can web services inter-operate universally through SOAP, they can also be described universally using WSDL. A software developer in Borneo can create a piece of software to invoke a web service in Trinidad just by reading and processing the WSDL document. He does not need to speak to anyone, read any particular manuals, or buy any special software—theoretically he need only conform to the standards. I say theoretically because clearly the developer in Borneo still would need to be properly authorized, and the transaction should be properly monitored to be safe, but the mechanism itself of achieving a request and a response between these parties has now been drastically simplified.
3. UDDI
Though several types of web service registries are available for use, we identify the Universal Discovery, Description, and Integration (UDDI) directory as the general standard used as a registry of web services that are available for use in a particular net-work. Think of the UDDI as a sort of “yellow pages” of web services. If you wanted to find a web service in your enterprise, you would look in the UDDI. The UDDI would tell you where to find that service, and it would link you to the WSDL document so you could examine the web service and make sure it was the one you wanted.
Great Article
ReplyDeleteJava Web Services Online Training
Web Services Course
Web Services Training Courses
Java Web Services Training in Chennai
It is nice blog Thank you provide important information and I am searching for the same information to save my time
ReplyDeleteRuby on Rails Online Training