Evolution of SAP ERP Architecture in 11 Steps

Understanding SAP ERP Architecture can be a daunting task for a beginner. An easy way out is to begin from the beginning and see how the architecture evolved.

We will start with what problem SAP started off to solve how they ended up with SAP S/4 HANA in 11 (biggish) steps:
  1. Computers taking over jobs. 
  2. SAP could have been an IBM company 
  3. Welcome to the world of Real-time Systems 
  4. Client and Server Revolution 
  5. Functional Modules, Industry Solutions and Technology Layer 
  6. SAP R/3 up to 4.6c, EnjoySAP and what happened to "SAP R/3 4.6D" 
  7. SAP R/3 Enterprise Enterprise Extensions 
  8. Integrating the business, MySAP ERP 2003 and SAP NetWeaver 
  9. ESoA, MySAP ERP 2004 and NetWeaver 2004 
  10. NetWeaver suites up and ECC is a switchboard 
  11. The next big thing in the evolution

Computerization of Business Processes

With the advent of computing technology, companies looked for opportunities to automate various business tasks, instead of relying on slow and error-prone manual work. They would hire software developers (or outsource) to write applications that would help them achieve this requirement.

automation

The applications were specific to the business needs of the organization, but they were not so easy to maintain (poor documentation, bad practices, people who knew how it worked left, fear of changing anything tied them down to the same old technology, each department had their own application and they never integrated to form an ERP system etc.)

Worlds's most powerful ERP was right under IBM’s Nose

Dietmar Hopp, Hans-Werner Hector, Hasso Plattner, Klaus Tschira, and Claus Wellenreuther - five (former) IBM employees noticed the similarities in the business applications that were being developed and used independently by several companies.

They proposed the idea of creating a standard software that would avoid this rework and address the weaknesses of software built in-house. This ERP solution could be used by many organizations and thereby reduce the cost of developing and maintaining such a software solution.

IBM didn’t buy the idea.

They started their own company in 1972 as Systemanalyse und Programmentwicklung (System Analysis and Program Development) and later renamed it to Systeme, Anwendungen und Produkte in der Datenverarbeitung (Systems, Applications and Products in Data Processing).

Real-time Systems: Hello World

SAP developed their first accounting software--R/1 system--that runs on DOS, in 1972, followed by SAP R/2 system in 1979, which was based on mainframe computing. SAP R/2 included most enterprise functions such supply chain, manufacturing processes, accounting and HR. R/2 also supported multiple languages and currencies which helped it become popular with multinational organizations.

Three Layer Client-Server Architecture

In 1992, SAP redesigned their solution to SAP R/3 which is based on client-server architecture. Several PCs could be used to connect with the one or more application instances which would process the data on one or more instances of the database.

Division of the solutions into three layers (presentation, application and database) and client-server architecture allowed organizations to run each of the layers on separate specialized hardware.
  1. Presentation layer (SAP GUI) runs on each user’s computer; they don’t have to worry about time-sharing the GUI on a server. 
  2. The application layer executes the business logic, accessing data only when it is necessary. 
  3. The database layer persists the business transactions. 

The presentation layer is client and application layer is the server; similarly application layer is client and database is server. This turned out to be a very successful architecture.

SAP Functional Modules, Industry Solutions and Technology Layer

The application layer consists of the core modules such as Materials Management (MM), Sales & Distribution (SD), Human Resources (HR), Production Planning (PP), Financials & Controlling (FICO) etc.

R3 Functional Modules

Industry specific solutions are provided as add-ons. Organizations would be able to use specialized business processes relevant to their industry by deploying Industry Solution Add-on suitable to them. The Industry Solution add-ons (slightly) modify the standard core functional modules to make it relevant to the industry.

The application is built on technology platform called as SAP Basis (which will take many other names--Web Application Server and NetWeaver Application Server). SAP Basis allows SAP to run on different combinations of operating systems and databases.

SAP R/3 up to 4.6c, EnjoySAP and what happened to “SAP R/3 4.6D”

Using SAP R/3 as the reference, let's see how the SAP ERP architecture evolved.

The SAP R/3 architecture until the release 4.6c consists of:
  1. A technology layer (Basis and ABAP) 
  2. Core application (SAP_APPL and SAP_HR - the functional modules) 
  3. Add-ons (industry specific add-ons and plugins like Y2K check) 
SAP R/3 4.6c was one of the most popular ERP release

While the architecture was evolving, SAP also reinvented the way users interacted with SAP application.

Collaborating with Frog Design, SAP introduced EnjoySAP. The tree structure in the left pane, reduced screen changes, non-Windows look etc. are the features of EnjoySAP (SAP usage being more enjoyable). EnjoySAP is the standard used by the current SAP GUI.

Before Basis 4.6D, SAP Basis was an integral part of SAP R/3 only. This was reflected by the Basis and R/3 having identical release numbers, or by joint Support Packages, for example.

With mySAP.com (in 1999), SAP started delivering several application components, like SAP R/3 or the SAP New Dimension Products which are all based upon SAP Basis.

As Basis disintegrated from SAP R/3, its development was dependent on mySAP.com’s application components and their technical requirements.

SAP Basis Release 4.6D, which is used by mySAP.com components, like the Workplace, BW, KW, CRM, and other SAP products, was not used by any R/3 release. Therefore, although Basis 4.6D existed, "SAP R/3 4.6D" never did, nor did any R/3 release that used Basis 4.6D.

Enterprise Extensions and SAP R/3 Enterprise

In the late 90’s, two core technologies gained prominence: Unicode and Web (dotcom bubble) thanks to JAVA.

SAP changed the basis layer to move in the direction of the latest trend in technology. SAP renamed Basis to Web Application Server to indicate adaption of these technologies. The name Basis never died, so these terms are used interchangeably.

With the introduction of new features, introduction of Enterprise Extensions, and thereby the architecture changes, SAP R/3 started being called as SAP R/3 Enterprise.

Unicode and web support began with SAP R3 Enterprise 4.7

A very important architectural change of the application is the introduction of Enterprise Extensions.

The Enterprise Extensions, which are essentially smaller packages on top of the core application, contain new functionalities avoiding the need to change the core application. If an enhancement finds its place in more than one enterprise extension, it would instead be part of the core application. This way changes and enhancements are first introduced as extensions.

Integration Components, MySAP ERP 2003 and SAP NetWeaver

We are not moving to the successor of SAP R/3 Enterprise yet. We are looking at how SAP clubbed various new dimensional components and basis into an umbrella term-SAP NetWeaver and how the SAP R/3 Enterprise expanded by including more components.

Until Web AS 6.10 (previously Basis), the HTTP capabilities were delivered using Internet Transaction Server (SAP ITS) and XML was handled using SAP Business Connector (SAP BC). ITS and BC accepted HTTP/XML and converted that into DIAG protocol (DIAG is used by SAP GUI to talk to Application Layer).

Web applications (called as Internet Application Components or IACs) like Employee Self Services were written specifically for SAP ITS. ITS continues to exist now, integrated in SAP kernel, but it is not the sole facilitator of HTTP protocol anymore.

With Web AS 6.10, SAP includes native support for HTTP and XML using Internet Communication Manager (ICM). Business Server Pages (BSP) were developed that would execute business logic in a browser, similar to how a transaction is executed in SAP GUI.

Like Basis 4.6D, there is no SAP R/3 system based on Web AS 6.10.

Moving on to Web AS 6.20: The SAP J2EE engine was added to SAP product portfolio by acquiring In-Q-My and its JAVA Application Server.

Availability of Java programming language in the Web AS paved way for software components such as SAP CRM 3.1 (note the version), SAP Enterprise Portal and SAP Exchange Infrastructure. SAP grouped up integration components like XI, EP, KM and BW and called the group as SAP NetWeaver. The function of this group was to help integrate various applications in an enterprise using open standards.

SAP NetWeaver integrates business

Despite heterogeneous IT environment, People Integration manages to provide employees quick access to various systems and functions. The data in a company is everywhere-in structured and unstructured form. Information Integration helps collate and analyze this information. A business process runs through multiple systems within the organization and outside its boundaries. Process Integration provides the infrastructure to integrate these processes. The Application Platform consists of the Web AS JAVA, Web AS ABAP along with support for third-party and/or SAP's OS and DB.

The components of NetWeaver are arranged as compartments that resembles a fridge and the diagram/architecture of NetWeaver is often referred as such.

The Application Platform (Web AS ABAP and Web AS JAVA) is the base for SAP NetWeaver and SAP NetWeaver is the base for SAP Solutions such as MySAP ERP. The functionalities that could not be catered to by Basis layer alone were now possible with NetWeaver.

MySAP ERP architecture looks like this beast:

MySAP ERP 2003

  • Self-Services enable non specialist users (PEBKAC type) to create, view, and edit data without needing help from expert users. 
  • Self-service Requisitioning allows employees to purchase goods/services directly, while they stick with the policies, and approved suppliers and agreements. 
  • Strategic Enterprise Management (SEM) provides analytics (therefore needs BW) to plan back office operations based on global and strategic operations of the enterprise. 
  • Internet Sales allows an enterprise to set up a web shop with product catalog, search capabilities, order placement, tracking etc.
The non-modifying plugins became part of NetWeaver (as NetWeaver Plug-Ins)

Enterprise Service-oriented Architecture, MySAP ERP 2004 and NetWeaver 2004

When you open an HTML page in a browser, let us say, to view a person’s contact details, the page presents information that you can read and understand. Of all the information that is available, if you were looking for fax number, you can discern that information from the page.

If a program has to do the same thing, you need to write logic to filter all other information out and then get the fax number part out. This is made easy by Web Services. By following well laid standards, web services provide the output (in this example the fax number) that the caller (non-human) can understand easily.

As web services are based on open standards, it doesn’t matter in which programming language or on what hardware the caller made a request and in which programming language or on what hardware the web service was written to provide the reply.

Web services operate at a very granular level. What kind of business transaction gets a fax number and not do anything with it? A hypothetical logical step would be to fax an invoice to a vendor and record that a fax was sent out (successfully or otherwise).

Imagine a collection of web services combined to look like a single web service that takes the invoice number as input, gets vendor ID from invoice, looks up vendor's fax number using a web service, faxes the invoice using another web service, updates the records with the result of faxing using a web service. Such a web service is called Enterprise Web Service.

Enterprise web services form the business-level building blocks of a business process. SAP's core application (SAP R/3 Enterprise) adapted an architecture (Enterprise Services Architecture) that is based on enterprise web services. Because of this change SAP R/3 Enterprise core got a new name SAP ERP Central Component (ECC) core. The name Enterprise Services Architecture was later changed to Enterprise Service-oriented Architecture (ESoA).

Alright but what's this fuss all about?

CD player analogy to explain ESoA

Imagine you have a CD player--it is made up of a CD disc reader, power adapter, amplifier unit and speakers.  If this were to be a "standard business process", you are good. But if another "business process" is a DVD player, you would need a DVD player which would be made up of DVD disc reader, power adapter, amplifier unit and speakers--partially repeated components. If each single component is a separable "web service", you would be able to use the CD player's power adapter, amplifier unit and speakers to connect with DVD disc reader and get a DVD player; and they would connect thanks to "web standards". Reuse was possible earlier as well (through RFCs for example), but they were not based on open standards and made integration difficult.

MySAP ERP 2004

The fridge changed too. BW and ITS became default components of NetWeaver. SEM (which depends on BW) and Self-services which are based on ITS (remember IACs?) moved from being additional components to being part of ECC.

Depending on the business needs, a developer can now write application that can interact with user or call a service hosted by SAP system or third party system. Such applications are called as Composite Applications. Composite applications may be shipped from SAP or developed by third party vendors. SAP Composite Application Framework (CAF) includes the methodology, tools, and runtime to develop and execute composite applications, called SAP xApps.

NetWeaver suites up and there are lots of switches in ECC

With MySAP ERP 2005 (later renamed to SAP ERP 6.0), the way NetWeaver is viewed, installed and implemented is being changed.

SAP felt that the individual components of NetWeaver do not represent how IT department ends up using them. For example Business Reporting and Querying is made up of BW, EP and KW (the original components of NetWeaver).

Instead of dividing NetWeaver by individual components, SAP started grouping the components into individual installable units called Usage Types to realize IT Practices and IT Scenarios (I will not touch this, except for providing the following slide from SAP).

IT Practices and IT Scenarios of NetWeaver
Source: SAP material: What's New with SAP NetWeaver 2004s_0_

Earlier when you needed XI, you had to install Web AS ABAP, then Web AS JAVA and then XI application components. Now you install SAP NetWeaver Process Integration Usage Type, it automatically selects the individual components for installation.

The individual components (still around for the sake of reference) have the same release numbers (except MDM). This NetWeaver version is SAP NetWeaver 2004s; where s represents suite. ). Later the name was changed to SAP NetWeaver 7.0.

The names of individual components changed as they are now part of a software suite.
  • The Basis component Web Application Server (Web AS) is now NetWeaver Application Server 
  • SAP Business Information Warehouse is now SAP NetWeaver Business Intelligence 
  • SAP Exchange Infrastructure (XI) is now SAP Process Integration 
  • SAP Enterprise Portal (EP) is now SAP NetWeaver Portal 
  • SAP Mobile Infrastructure is now SAP NetWeaver Mobile.
We will still continue using the fridge representation. After all, Usage Types are still made up of these components.

SAP ERP 6.0 - We have reached current architecture

The ECC core now includes Industry Solutions as Industry Extensions. An organization does not require all the industry extensions or even a complete industry extension.

Integration extensions are made up of (Industry) Business Function Sets and (Industry) Business Functions, which can be activated based on the industry functionalities required. It is not possible to activate business functions/sets from different industry solutions at the same time. Once activated, it is usually not possible to deactivate the business functions/sets.

Activation of business functions/sets is possible using the Switch Framework. Repository objects (application programs, function modules, tables, enterprise services etc) are provided in inactive format and these can be activated as required by this external control to objects.

The enterprise extensions, which have been around since R/3 Enterprise, are made up of General Business Functions/Sets. One or more of these can be activated because these are generic to more than one industry.

If SAP can include industry solutions this way, they can very well use the switch framework to deliver new enhancements. The new enhancements may be imported to the system and only those enhancements required by business may be activated. Enhancement Framework does exactly this and the new enhancements are provided as Enhancement Packages.

Enhancement packages contain UI simplifications (make it easier to run transactions), Functional and Industry Specific enhancements and Enterprise Services.

The next big thing in the evolution

Mobile devices are now extending the Personal Computers. Business transactions are increasing being run via touch UI. With internet costs coming down, enterprises are connecting with Business Networks in cloud or even running the businesses on cloud. Organizations have abundant data that require powerful analytical engines.

SAP has built a database and high performance analytic appliance called SAP HANA. SAP HANA DB can within RAM, and can operate on row based, column based and object based tables.

SAP is redesigning its ECC core to only support SAP HANA, removing all the redundant tables and indexes, using super cool compression technology, which in turn reduces the amount of data that must be stored.

SAP S/4 HANA
Source: openSAP course material: SAP S/4HANA in a Nutshell

SAP ERP is renamed to SAP S/4 HANA. S signifies simplified data model. 4 signifies fourth generation (after SAP R/2, SAP R/3 and SAP ERP). Like its predecessor, S/4 HANA is based on SAP NetWeaver and it is available On Premise, On Cloud and as a hybrid deployment.

Individual functional modules are being simplified in phased manner. SAP Simple Finance is available now and SAP Simple Logistics will be available by the end of this year (2015).

Disclaimer:
All the illustrations (architecture diagrams) are original work.
Photos of Iron Man and CD Player are from https://pixabay.com/. Free for commercial use / No attribution required
IT Practices and IT Scenarios diagram is from What's New with SAP NetWeaver 2004s_0_.pdf and has been duly credited under the picture.
SAP's Next Big Thing diagram is from openSAP course material: SAP S/4HANA in a Nutshell and has been duly credited under the picture.
This post is not endorsed by SAP and does not represent/replace their documentations

Comments

Popular posts from this blog

OS/DB Migration - CMD. STR, TOC, EXT, R3load, DDLDBS.TPL and more

Fixing Inconsistent Table - Table activation fails due to inconsistency between DD and DB

301 Redirect Using SAP Web Dispatcher