Web services are programmable, distributed application components accessible on the Web using solely standard internet protocols. In contrast to the current "document Web", which specializes in human interaction, Web services are designed to be accessed by programs to form a new application architecture, the "application Web". EntireX supports the creation of Web services from existing EntireX RPC servers.
This document covers the following topics:
Generally speaking, a Web service application consists of three major Web service components:
A Web service registry, which stores information about Web service providers and Web services.
A Web service client, which makes use of a service offered on the Web using a standard messaging and transport protocol. Web service clients can search Web service registries to find desired services.
A Web service, which is accessible via a standard messaging and transport protocol. Web services publish information about themselves in a Web service registry. A Web service must provide a precise technical description of its interfaces to be used by clients.
The standards on which Web services are based today are:
HTTP and SMTP for basic network transport services,
XML as data format,
the Simple Object Access Protocol (SOAP) for XML messaging and RPC,
the Web Service Description Language (WSDL) for service descriptions and
Universal Description, Discovery and Integration (UDDI) for Web service registries.
SOAP (originally Simple Object Access Protocol) (SOAP 1.1) is a messaging and RPC protocol designed for integrating heterogeneous Web services in the internet. It defines a message format in the Extensible Markup Language (XML) that can be transported over existing internet transport protocols (HTTP, SMTP, FTP or others). By using standard XML, SOAP messages are self-describing, that is, they carry enough information for a receiver to decompose and process the message in a standard way. By using standard internet protocols, SOAP seamlessly fits into existing internet infrastructure (for example, routers, firewalls, Web servers).
For more details, see the World Wide Web Consortium's note at http://www.w3.org/TR/2000/NOTE-SOAP-20000508/.
Web services created with EntireX can be registered in any UDDI registry, including CentraSite. CentraSite offers enhanced registry functionality, and also repository functionality that enables you to store Web services artifacts and register interdependencies for impact analysis.
SOAP is one of the basic technologies required to build Web services. It is combined with the related technologies Web services description language (e.g. WSDL) for describing Web services, and Web service registries (e.g. UDDI based) for storing information about Web services.
A Web service provider publishes a description of the service it offers to a Web services registry;
A Web service client contacts a Web services registry to find the service, and
uses the Web service description to actually bind to the Web service.
SOAP can be used for publish, find and bind operations.
The following level of SOAP and Web services functionality is provided:
SOAP enabling of EntireX RPC servers
generation of WSDL service descriptions for EntireX RPC servers
generation, configuration and deployment of Web services into the Software AG Common Web Services Stack runtime
EntireX uses the Software AG Common Web Services Stack (WSS). WSS is a toolkit that provides functionality for execution, configuration and management of Web services.
The core part of the WSS runtime is the SOAP engine, which is based on Apache Axis2.
The EntireX Workbench provides functionality to create, configure, and deploy EntireX Web services. EntireX Web services are packaged into a service archive (extension .aar).
Incoming SOAP requests are processed by the WSS SOAP engine. The SOAP request is given to the XML/SOAP Runtime, which validates the request and transforms it into an RPC request. The result of the RPC request in turn is transformed into a SOAP response message and sent back to the client. If an error occurs, a SOAP fault message is sent back to the client.