Web Service Component
WSDL (Web Service Description Language)
WSDL is an acronym for 'Web Services Description Language'. WSDL is a simple xml document that describes a web service and specifies the location and operations or methods
that a web service exposes.
A WSDL document defines services as collections of network endpoints, or ports. In WSDL, the abstract definition of endpoints and messages is separated from their concrete network deployment or data format bindings. This allows the reuse of abstract definitions: messages, which are abstract descriptions of the data being exchanged, and port types which are abstract collections of operations. The concrete protocol and data format specifications for a particular port type constitutes a reusable binding. A port is defined by associating a network address with a reusable binding, and a collection of ports define a service. Hence, a WSDL document uses the following elements in the definition of network services:
- Types- a container for data type definitions using some type system (such as XSD).
- Message- an abstract, typed definition of the data being communicated.
- Operation- an abstract description of an action supported by the service.
- Port Type- an abstract set of operations supported by one or more endpoints.
- Binding- a concrete protocol and data format specification for a particular port type.
- Port- a single endpoint defined as a combination of a binding and a network address.
- Service- a collection of related endpoints.
SOAP (Simple Object Access Protocol)
SOAP stands for Simple Object Access Protocol, it is a xml based protocol that enables the applications to communicate over HTTP. SOAP is a w3c
standard, platform and language independent format for sending and receiving messages. To know more about SOAP check outSOAP Documentation.
SOAP web service depends upon a number of technologies (such as UDDI, WSDL, SOAP, HTTP) and protocol to transport and transform data between a service provider and the consumer. Though it may seem overwhelming at first, with so many complex technologies intermingling together in a perfect symphony, creating SOAP web service in Java is actually pretty simple. One can almost overlook the intricacies of creating SOAP Web Service and focus on the business logic while Java takes care of the most on behalf of the programmer.
UDDI (Universal Description Discovery Integration)
UDDI stands for "Universal Description, Discovery and Integration", where business can be registered and searched for web services. UDDI is an platform
independent framework for describing, discovering and integrating businesses using internet. UUID is itself a Web Service that is built in MS .net, it
is a directory for web services interfaces that are described by WSDL and implemented in SOAP.
UDDI Project provides a standardized method for publishing and discovering information about web services. The UDDI Project is an industry initiative that attempts to create a platform-independent, open framework for describing services, discovering businesses, and integrating business services. UDDI focuses on the process of discovery in the service-oriented architecture.
XSD (XML Schema Definition) is an XML schema language recommended by W3C (World Wide Web Consortium). An XML schema is a set of rules to which an XML document
must conform in order to be considered 'valid' according to that schema. An XML schema language is a set of rules on how to write an XML schema.
Before getting into details of XSD specifications, let's look at a simple example of an XML schema defined in XSD language, hello.xsd:
- This XSD file is a true XML document with the root element named as "schema".
- This XSD file contains one single "Element Declaration" statement <element ...>.
- The "Element Declaration" statement declares that the conforming XML documents must have a root element named as "p".
- The "Element Declaration" statement also declares that the root element "p" should have content of XSD "string" type.
Obviously, hello.xsd is a very simple XML schema. Writing an XML document that conforms to hello.xsd is easy. There is an example, hello.xml
Let's validate hello.xml against hello.xsd manually:
- hello.xml has a root element of "p" which matches the name declared in hello.xsd.
- The content of "p" is a string, "Hello world!", which matches the datatype declared in hello.xsd.
Now we can say that hello.xml is a valid document, conforming to hello.xsd.