A web service is a service that is heterogeneously distributed in web systems and can be used in any application. In this context, access to web services is controlled by the middleware protocol Simple Object Access Protocol (SOAP), which implements a protocol based on XML on the basis of a remote procedure call (RPC).
XML is also referred to as a descriptive language - XML is used to describe as well as exchange complex data structures. Services are encapsulated through the web service interfaces. The interface of a web service is also defined as an XML document - the validity of the document is specified by a schema of the Web Services Description Language (WSDL).software components that can also call each other. This is made possible by Universal Description, Discovery and Integration (UDDI) - a higher-level directory service for publishing web services. Platforms for the realization of web services are: .NET, Hypertext Preprocessor (PHP), Java with JAX-RPC. However, tools for the realization of related developments for the programming languages C and C++ are also available. For the realization of the integrated platform for service-oriented business models, Service Oriented Architecture (SOA), web services form one of the basic methods along with other procedures. Web services can be accessed via the Uniform Resource Identifier (URI) assigned to them. Well-known web services are operated by Google or Amazon, for example, where services related to the Internet are offered.
The evolution of the platform and framework architecture
The characteristics of web servicesWeb services form a network of software services and can be identified by the following characteristics:
- By being built on XML, the data specific to Web services is always represented in the form of so-called well-defined XML fragments. In order not to restrict the platform independence of web services, no separate (binary) format is used.
- Due to the low coupling between client and web service, both components can be further developed independently of each other. In addition, this improves the possibilities for their reuse and maintainability.
- Because Web services provide their requesting clients with an interface that abstracts from the specific details of implementation, Web services are also said to realize a facade - a special design pattern - for the business logic on which they are based.
- With a web service, clients can communicate synchronously or asynchronously. Asynchronous communication also results in less coupling of the components involved.
- Since Web services provide a general mechanism of Remote Procedure Calls (RPC), access to other components such as Enterprise Java Beans (EJB) or .NET components is unified.
- Web services enable the exchange of XML-encoded documents.
Universal Description, Discovery and Integration (UDDI) defines an interface for a directory service for publishing Web services. UDDI is managed by the Organization for the Advancement of Structured Information Standards (OASIS). The predecessor of UDDI was the DISCO (Discovery) specification from Microsoft, which summarizes a description of the Web service supplemented by additional information in the so-called DISCO file and is in turn based on XML structures. However, the underlying DISCO specification does not describe the management of Web services in a directory service, but only the structure of the DISCO file itself. The accessibility of web services is given by uniquely specified URIs.
An important aspect in the realization of web services is their security. For this purpose, important web services are transmitted either encrypted or supported by a unique authentication. A solution in this regard is offered with Hypertext Transfer Protocol Secure (HTTPS) in addition to other options such as Security Assertion Markup Language (SAML), XML Signature or SMLEncryption. The lack of performance is also frequently mentioned in connection with web services. The influencing factors in this regard are mainly XML-related and are determined by the parsing of the XML files and their size.
Web services are mainly used on a business basis in the business-to-business area - also known as B2B. Business processes are to be handled independently of company boundaries. To support these processes, the Business Process Execution Language (BPEL) has developed its own XML-based language for describing these business processes.