ITWissen.info - Tech know how online

web service (WS)

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).

Layer model of Web services

Layer model of Web services

Web services are self-describing and independently acting 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

From the Internet to Web Services

From the Internet to Web Services

The development of a service-based and distributed platform is enabled by a component-oriented framework architecture. Broadly defined, services - in limitation to "classical" components - are applications that can act independently. Services can be identified by a program during runtime in a network and can be used via publicly known interfaces. Web services represent a popular and widely developed concept for the realization of service-based systems. A web service is an application that can be accessed on a network using standard protocols such as HTTP or the Simple Mail Transfer Protocol (SMTP). The interfaces of this application are described using an XML-based, standardized description language, the Web Services Description Language (WSDL), and are thus independent of the underlying implementation.

Communication through Web Services

Communication through Web Services

Web services should not be confused with Web applications, however, because Web services do not have a user interface for entering and displaying data. However, web services can be used by web applications. Web services rely on a platform-independent, language-independent, and standardized XML protocol, Simple Object Access Protocol (SOAP), to interact with other applications.

The characteristics of web services

Web 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.
However, the approaches pursued by web services as well as their functionalities are fundamentally not new - comparable objectives are pursued by technologies such as the Common Object Request Broker Architecture (CORBA), Distributed Component Object Model (DCOM) or Java Intelligent Network Infrastructure (JINI), a framework for distributed applications. However, these were not developed specifically for communication over the Web, so they are inferior to the Web services architecture, especially in terms of their independence from specific programming languages and platforms. Another contributing factor is that SOAP supports arbitrary XML-writable data structures and does not define its own distributed object model. Furthermore, web services are not bound to a specific transmission protocol such as HTTP; depending on the amount of data, the FTP protocol or SMTP can also be used for the asynchronous transmission of data.

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.

Informationen zum Artikel
Englisch: web service - WS
Updated at: 10.09.2019
#Words: 1723
Links: