Business processes are divided into a certain number of process steps. You can assign one or more functions to each of these steps and an executing software component to each of these functions. If you look at a typical heterogeneous system landscape in an organization, it is quickly apparent that the necessary functions in a business process are not all implemented using the same technology and the same components. In particular, the integration of an ever increasing number of business partners further complicates this problem. A modern software infrastructure must therefore be capable of integrating functions that are implemented on very different software components into an efficient global process.
Internet technology already provides the basis for communicating with distributed services. Superimposed onto this simple, globally accepted communication standard, XML (eXtensible Markup Language) provides the basis for defining additional necessary standards. Only when we move away from proprietary definitions and toward generally accepted standards can there can be any guarantee of smoothly integrating all the functions and partners involved in the process. The result is web services.
Web Service Definition
A web service is an independent, modular, self-describing application function or service. Based on XML standards, this application function can be described, made available, located or called using standard internet protocols. Each web service therefore encapsulates a piece of functionality that can be used, for example, to forward a price query to a provider, check the availability of an item in an enterprise resource planning system, locate a telephone number, or even to run credit card checks, convert currencies, or implement payroll functionality.
Web Services:
- Are application functions / services.
- Can be used via internet standards.
- Are self-descriptive.
- Can be published and traced.
Technical Implementation SOAP via HTTP
The definition of a web service according to W3C.org leaves the technical implementation completely open. Neither message nor application protocol are defined. They only have to comply with applicable internet standards.
For example, an XML in a mail would be a valid implementation of the web service definition just like a SOAP message over HTTP. In practice, SOAP (Simple Object Access Protocol) has established itself as the message protocol and HTTP as the application protocol.
Differentiation to the Representational State Transfer Protocol (REST)
SOAP via HTTP was a System2System communication, a further programming paradigm has emerged as an alternative web service implementation with the widespread use of alternative devices such as tablets, etc. REST (Representational State Transfer). REST is a programming paradigm for web applications. There is no explicit norm, therefore the ideas of what REST is diverge. Basically, REST refers to the idea that a URL represents exactly one page content (resource) as the result of a server-side action (such as displaying a hit list after a search). The internet standard HTTP for static content (permalinks) already provides this. For dynamically generated pages, however, this sometimes requires additional effort.
In contrast to the classic web service, where SOAP is used as the message protocol, REST uses different message protocols:
- JSON (JavaScript Object Notation)
- Is a lightweight data-interchange format.
- YAML (YAML Ain't Markup Language)
- Is a human-readable data-serialization language.
- XML (eXtensible Markup Language)
- Is a method to store structured data in text format.
- HTML (Hyper Text Markup Language)
- Is the standard markup language for documents designed to be displayed in a web browser.
SAP mainly uses REST to access business data via mobile devices, such as tablets, etc.