|
Introduction to Web Services Part 1
More and more companies are realising that the Web Browser is no longer simply a tool for grabbing information from the Internet or acting as an on-line static brochure for their products. Corporate managers, rather than seeing employee access to a web browser as an annoyance and un-productive, are becoming aware of the enormous potential in networked computing. Such a network can be an intranet, extranet or the Internet.
The Internet has evolved from serving up static text heavy pages to interactive data base driven websites. It is now evolving into a new generation where networked computing is taken a step further and the Web is becoming programmable. The Web is no longer simply an information vehicle but a services platform as well.
These new services are called Web Services.
A Web Service is a new type of XML based Web application. This new type of application is published, located, and invoked across the Web as a service. It is a modular, self contained and self describing application. A Web Service can be anything from a simple request to a complicated business process. It might provide flight arrival information or process credit card transactions. When the Web Service application is deployed other applications, whether Web Services or not, can find and invoke it.
Applications can be built using multiple Web Services from different sources that work together regardless of how they were implemented or where they are deployed.
As Web Services are XML based, a primary advantage of the open standards architecture is that it allows programs written in different languages on different platforms to communicate with each other in a standards-based way. This means that they resolve those perennial distributed computing issues of Interoperability and Application Integration.
Again, because they are XML based, Web Services will serve all kinds of devices.
Web Services have three core technologies in common:
XML (Extensible Mark-up Language)
SOAP (Simple Object Access Protocol)
WSDL (Web Service Description Language)
Along with the core technologies there are two other technologies which are common to most XML Web Services:
XML Schema (XSD) is a W3C standard that specifies some built-in types and language to define additional types.
UDDI (Universal Discovery, Description and Integration) is optional but it is assumed that any company wishing to publish their Web Service across the Internet will avail of UDDI.
In the first part of this article the core technologies will be outlined followed by a closer look at SOAP and WSDL in part two.
XML
XML is a mark-up language for documents containing structured information. Structured information contains content (words, diagrams, etc.) and an indication of what the content means (for example, content in a section heading has a different meaning from content in a footnote, which means something different than content in a figure caption or content in a database table, etc.) It stores the data as text files in a hierarchical tree format.
Unlike HTML , XML does not specify semantics or a tag set. It is really a meta-language for describing markup languages. What XML provides is a facility to define tags and the structural relationships between them. As there is no predefined tag set, there can't be any preconceived semantics. The focus of XML is on data representation rather than data presentation. The ability of XML to separate content from presentation allows great versatility
Because XML is a text format for holding data there are no proprietary issues as all computer systems can read and write text files making XML compatible across systems.
XML is an excellent technology for transporting structured data across the Web and allowing Web services to manipulate data in a reliable, automated way. Web services can process data in a number of useful ways ranging from exchanging data in complex business-to-business (B2B) transactions to providing structure for application configuration files.
XML has the ability to define many kinds of text documents with very different structures making it the universally accepted method of notation.
SOAP
The Soap protocol specification defines a uniform way of passing XML-encoded data. Using HTTP (or SMTP, FTP) as the underlying communication protocol it also defines a way to perform Remote Procedure Calls (RPCs). SOAP came about from the realisation that no matter how clever the current middleware offerings are, like DCOM or CORBA, they need a WAN wrapper. In terms of ensuring interoperability, sending messages as plain XML makes sense. The middleware developers appear willing to put up with the inconvenience of parsing and serializing XML in order to scale up to wider networks.
The protocol is a specification for invoking methods on servers, services, components and objects. The SOAP specification authorises a small number of HTTP headers that facilitate firewall/proxy filtering. The specification also mandates an XML vocabulary that is used for representing method parameters, return values, and exceptions.
In short, SOAP is basically a specification that defines the XML format for messages and utilises the XML messages to invoke remote methods.
WSDL
We need a common language for describing Web Services. If we are providing a service, we need to be able to describe it to the world, and if we want to use a service, we need to be able to describe what we are looking for. WSDL was designed with this in mind.
WSDL stands for Web Service Definition Language. In order to successfully call a Web service you will need to know how to get to the service, what operations the service supports, what parameters the service expects, and what the service returns. WSDL provides all of this information in an XML document that can be read or machine-processed.
It does this by defining an XML grammar for describing network services as collections of communication endpoints that can exchange messages. WSDL service definitions provide documentation for distributed systems and serve as a recipe for automating the details involved in applications communication
A WSDL file is an XML document that describes a set of SOAP messages and how the messages are exchanged.
XSD
XML was chosen as the format for representing data on the Web because it is neither platform nor vendor specific. Because of this neutrality software vendors are much more likely to adopt it as a standard.
While XML provides a simple way of representing data, it says nothing about the standard set of data types available and how to extend that set. For example, what exactly is an integer? Is it 16, 32, or 64 bits? Details such as these are important for enabling interoperability. The W3C XML Schema (XSD) is a standard that specifies some built-in types and language to define additional types. The Web Services platform uses XSD as its type system. When Web Services are constructed in a programming language the data types used must be translated to XSD types to conform to the Web services standards.
XML Schema are the successor to DTDs for XML.
UDDI
Universal Discovery Description and Integration is the yellow pages of Web services. As with traditional yellow pages, we can search for a company that offers the services we need, read about the service offered and contact someone for more information. As already mentioned above, we can offer a Web service without registering it in UDDI, although that would be like relying on word-of-mouth advertising. If we want to reach a significant market, we need UDDI so our customers can find us.
A UDDI directory entry is an XML file that describes a business and the services it offers
Conclusion
This has been a quick introduction to the technologies underlying Web Services. There is no doubt that Web Services are an evolution in distributed computing. Whatever way it continues to evolve it is evident that Web Services are a manifestation of the general trend toward a service-oriented economy within the computing industry. In this environment the service component is ever present in all phases of an Information Services solution, from design, to deployment, to operation, to the consumption of the services.
The Epionet Epiowave product suite is completely tailored to meet these demands.
Read the Introduction to Web Services Part Two
Detailed information about the technology outlined above is available at the following URL's:
XML: http://www.w3.org/XML/
SOAP: http://www.w3.org/TR/SOAP/
WSDL: http://www.w3.org/TR/wsdl
UDDI: http://www.uddi.org/about.html
|