Introduction
Any architectural approach will not succeed until the right technology has been invented with the right benefit to follow and adapt. There are numerous technologies in the world for SOA. In this article you will see a few of the technologies, like WSDL and UDDI.
Technologies behind SOA
SOA is intended to create distributed and cross-platform applications, so the supporting technologies and protocols need to be industry standards, the followings are the most common standards in the SOA world
WS -* Protocols
SOAP is only a specification for how the functional data in the body and the technical data in the headers are formatted. It does not define the meaning of the header. These sets of protocols describe how the plumbing needs to exchange messages in a secure, transactional and reliable way using the headers in the SOAP message.
WSDL
WSDL is an XML- formatted definition of the contract. It actually describes the client–server interface, including the function names, parameter name and their types and the types of return values. It can be used by non - .Net (unmanaged) development environments to contact the services. A WSDL file can be shown in a browser when browsing a dedicated URL on which the WCF services exposes metadata. The WSDL file describing a service is stored on a server, perhaps in the registry or the application servers. It will be read by the client using a simple HTTP GET exchange.
WSDL Document has the following three parts:
- Definition
- Operations
- Service Bindings
Definition: Definitions are about data types as well as messages. It can be expressed in XML Service Bindings; it ties the protocol and the message format to a specific port.
A binding is typically created using SOAP as in the following:
- <service name="StockService" interface="tns:AvailabltyCheckInterface">
- <endpoint name="StockServiceRestEndpoint"
- binding="tns:AvailabltyCheckInterfaceHttpBinding"
- address="http://soaexample.org/rest/"/>
- <endpoint name="StockServiceSoapEndpoint"
- binding="tns:AvailabltyCheckInterfaceSoapBinding"
- address="http://soaexample.org/soap/"/>
- </service>
UDDI
I hope you are familiar with how to describe your services. We will now see how to discover the services and consume them. This you can do with Universal Description, Discovery and Integration (UDDI).
Universal Description, Discovery and Integration (UDDI): is a platform-independent directory protocol for describing services and discovering and integrating services via the internet. UDDI is based on the industry standard protocols like HTML, XML, SOAP and so on. It actually describes the details of the services using WSDL and communicates using SOAP. The philosophy behind the UDDI is like a traditional Yellow Pages, where you can search for a company and search for the services it offers and contact the company.
Structure of UDDI
In the preceding image you can find the structure of the UDDI. In the Green page you can find the technical details of the interface saying the data type of the input parameters and the return value. So the consumers can easily find the information, whatever is needed to consume the service. Before the UDDI is in place, consumers do not have any way to find the services offered. UDDI actually describes services and business processes programmatically in a single, open and secure environment.
Summary
UDDI is the place for consumers to find the right service for their business to integrate it. Using WSDL the consumers are aware of the service's technical information.