Exploring the Concept of Web Services and the SAP ICF

Objectives

After completing this lesson, you will be able to:
  • Explain the use of HTTP Communication in SAP system environments
  • Outline the role of the SAP Internet Communication Framework

HTTP Based Communication

In this lesson, we will explore the role of the Hypertext Transfer Protocols (HTTP) and (HTTPS) in SAP S/4HANA systems and learn how they are utilized for secure communication. The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, and hypermedia information systems. Hypertext is structured text that uses logical links (hyperlinks) between nodes containing text. HTTP represents the foundation of data communication for the World Wide Web, while HTTPS is the secure version of HTTP.

HTTPS (Hypertext Transfer Protocol Secure) is used for secure communication over a computer network and is commonly used to transmit sensitive information such as personal data, logins, and credit card details securely over the internet. HTTPS encrypts the data being transmitted using Secure Sockets Layer (SSL) or Transport Layer Security (TLS) protocols to provide an extra layer of security and prevent eavesdropping and tampering with the data.

Diagram of HTTP Communication showing connections between web browsers, SAP Fiori Launchpad, SAP Front End Server, SAP S/4HANA Server, SAP ECC, and other systems

In the context of SAP S/4HANA, HTTP and HTTPS are indispensable for enabling communication between clients and servers and is crucial for various functions, such as accessing and exchanging data between different SAP modules, enabling communication with external systems, and providing connectivity for SAP Fiori apps. The diagram above gives you an example of the system landscape in which web browsers and SAP Fiori launchpads from the internet and or intranet connect to SAP systems based on ABAP platform.

The communication between SAP Fiori and SAP S/4HANA involves the transmission of HTTP and HTTPS requests and responses. When a user interacts with the SAP Fiori interface, their actions trigger HTTP requests that are sent to the SAP S/4HANA backend system. Here, when a user executes an SAP Fiori application using the SAP Fiori Launchpad, HTTPS to ensure secure data transfer both for the browser-based communication and the communication between the SAP Front End Server and the S/4HANA Back End.

The ABAP Platform can process HTTP requests (and other protocols) directly from the internet or send HTTP client requests to the internet. To achieve this, the SAP Kernel provides the Internet Communication Manager (ICM) process and an Internet Communication Framework for implementing various communication protocols, including HTTP and HTTPS.

The SAP ICM is an ABAP Platform component that provides the infrastructure for handling HTTP requests and responses in the ABAP Application Server. It is responsible for processing communication between clients and the application server, as well as performing tasks such as load balancing, SSL encryption, and caching.

SAP Internet Communication Framework (ICF)

Along with the Internet Communication Manager (ICM), SAP provides the Internet Communication Framework (ICF). The ICF is the layer between Internet Communication Manager (ICM), which sends and receives HTTP requests, and the SAP Web Application Server work process. It provides a way for different systems to communicate with each other over the internet/intranet using standard protocols (such as HTTP(S) and SMTP).

Within the work process, the Internet Communication Framework (ICF) provides a link between the basis technology (which web service can be called using which URL) and the development environment, providing the foundation for developing SAP Web Applications using technologies such as Business Server Pages (BSPs), SAP Web Dynpro and SAPUI5. The ICF provides the environment for handling HTTP(S) requests by acting as the bridge between the C kernel of the SAP system and the application program created in ABAP.

SAP Internet Communication Framework

The ICF server provides a repository of SAP ICF service definitions and request handlers for standard SAP functions and can be accessed using transaction SICF. Within SICF, SAP service definitions are organized across business, functional and technical lines.

Image depicting the SAP Internet Communication Framework in transaction SICF

In the graphic above, you can see a filtered view of the ICF and the service definition for the SAP service web GUI. This service definition provides a link to the SAP GUI for HTML, the browser based version of the SAP GUI, as evidenced by the path /default_host/sap/bc/gui/sap/its/. It is the task of the ICF service definition to link a particular URL with an HTTP request handler. An ICF service therefore creates a connection between a URL to which an HTTP(S) request is sent and the development objects that process this request.

This diagram shows the interaction of the SAP ICF and the ABAP Work Process. Components include Web Client (Browser), ICM, Memory Pipes, Dispatcher, Task Handler, ICF Controller, ICF Manager, HTTP Request Handler, and ABAP Application Program.

When an HTTP call is received, the ICM forwards the request to an Application Server work process. The ICF processes the HTTP call (request) from the client (ex. a web browser), and then forwards the request to the relevant application. When the application has been executed, the work process of the SAP Application Server directly generates a Web-compatible response containing the data collected and sends it back to the client as a response by the Internet Communication Manager. The response data is then displayed in the Web browser.

ICF services can be active or inactive, which is indicated by different colors in transaction SICF. Active services are displayed in black. If you try to call an inactive service, the system will display a message stating that access to this page is forbidden.

Note

Activated ICF services are a security risk since they can be accessed directly using HTTP(S) or SMTP from the intranet or internet, depending on your network configuration. You should therefore restrict access using suitable measures, such as by activating only the required ICF services and assigning the relevant authorizations to users.

Summary

It should now be clear that the importance of HTTP communications and the SAP Internet Communication Framework in an SAP S/4HANA system cannot be overstated. They are essential components that facilitate seamless data exchange, integration, and security, ultimately contributing to the successful operation and effectiveness of the organization's digital ecosystem.

Log in to track your progress & complete quizzes