You are on page 1of 290

ERP

Middleware

Web Portal Legacy System

SAP Process Integration


Basic Training

1
Agenda

SAP PI – Pengantar & Architecture


1
System Landscape Directory (SLD)

2 Integration Repository dan Mapping

3 Integration Directory dan SAP PI Connectivity

4 ccBPM, Logical Routing dan Runtime Workbench

5 Scenario Demo

2
Agenda

Day1 Day2 Day3 Day4 Day5


CIC Trainer CIC Trainer CIC Trainer CIC Trainer CIC Trainer
08:30-08:45 Welcome Address Opening activities Opening activities Opening activities Opening activities
Introduction into
Integration Integration Integration
08:45-10:15 SAP Netweaver Logical Routing
Repository Directory Scenario
and SAP PI
10:15-10:30 Coffee Break
Architecture and
Business Process
Software Integration Integration Integration
10:30-12:00 Management in
Components of Repository Directory Scenario
SAP PI
SAP PI
12:00-13:00 Lunch
SAP PI
System Landscape Integration Connectivity, Runtime
13:00-15:00 Discussion
Directory (SLD) Repository Adapters and their Workbench
usage
15:00-15:15 Coffee Break
15:15-15:30 Summary of the day Summary of the day Summary of the day Summary of the day Summary of the day

3
SAP PI Pengantar & Architecture
System Landscape Directory (SLD)

Day 1

4
Day 1

1a Motivasi

1b SAP PI Pengantar

1c SAP PI Architecture

1d System Landscape Directory (SLD)

5
Motivation

Main Problem: heterogeneous system landscape


Different Platform and Operating Systems

Proprietary Legacy Systems

Different Communication Protocol and Standards, e.g.


HTTP/HTTPS, JDBC/ODBC

Result Syntax and Value Format

Information model and Schema (Semantic)

6
Motivation

f ro ma “Interfaces Chaos”
st ration prise
lu er
An Il ized Ent
s
mid-

Source:
Constellar 2000

7
Motivation

Interfaces
Too much Chaos Obsolete
Efforts Systems

Wrong Data
Double
manual Entry

Bapak Frusta

8
Motivation

“By 2018, more than 50% of the cost of “Fortune 1000 Enterprises spend US$ 100
implementing 90% of new large systems Billions per Year for the Integration of IT
will be spent on integration“ Systems“

(Gartner Predictions 2013 for Application


Integration) (Booz Allen & Hamilton)

9
Day 1

1a Motivasi

1b SAP PI Pengantar

1c SAP PI Architecture

1d System Landscape Directory (SLD)

10
Middleware

"Metadata is data about data;


Middleware is software about software."

Nick Gall [2003]

 " Middleware is primarily a set of programming abstractions developed to


facilitate the development of complex distributed systems."

Gustavo Alonso [2004]

11
Enterprise Application Integration (EAI)
Motivation
Constantly “new Trends” – Constantly new Challenges

Enterprise:
- External provided Services
- Internal Processes

Result:
 constantly new Product and Service Offering and this must be integrated into existing Business
Processes

Questions:
 How quickly does it work and at what cost?
 Which risk of error?
 How to escape the “Maintenance Trap”

12
Enterprise Application Integration (EAI)
Motivation
NECESSARY TO RETHINK

 Move away from:


• implicitly realized workflows / processes
• "Hard-wired" Implementation of processes

 To:
• Explicitly Business Process
• Separation of process logic and application code
• Explicit process control and monitoring
• Seamless integration of existing applications

 Process Automation and Enterprise Application Integration important technological


basis for implementing an Enterprise Architecture

13
Aspect of Enterprise Application Integration (EAI)
Integration type: Middleware:
 Presentation, Data or Application Level  DB-Access (e.g.. JDBC)
 Application Integration:  Function oriented (e.g. RPC)
– direct Coupe  Transaction oriented (e.g.
– Broker TP-Monitor)
– Process oriented  Message oriented (MOM)
 Component oriented
(e.g. EJB / Application Server)

EAI
Communication Model:
 synchronous Couple (e.g. Services:
Request/Reply)  Vendor dependent Integration services
 asynchronous Couple (e.g. (e.g. for Using of Credit Cards)
Publish / Subscribe)  Error / Exception Handling
 Messaging vs. defined Interfaces

14
Enterprise Application Integration (EAI)
Definition

 EAI is not a Tool but an approach for the development of integrated application systems

 The approach is a combination of architecture, technology and methodology

 It is characterized by the availability of software products, which provide integration


solutions

 EAI focuses on the integration of business processes and data, while traditional methods
are often data-oriented

 EAI includes the objectives of reuse and the distribution of processes and data

 EAI allows users, to integrate applications without special knowledge of the technical
details

15
Enterprise Application Integration (EAI)
Definition

Enterprise Application Integration (EAI) is “the unrestricted sharing of data and


business processes among any connected applications and data sources in the
enterprise”.

D. Linthicum

16
Enterprise Application Integration

n from a “Interfaces Chaos”


lu st ratio erprise
An Il ized Ent  Development resources bound
s
mid- by programming interface
("wiring")

 Enormous maintenance, for


example, release change

 Lack of flexibility (high time to


market, development costs) for
new applications

Source:
Constellar 2000

17
Mission
SAP PI is an integration technology and platform…
 for SAP and non-SAP applications
 for A2A and B2B scenarios
 for asynchronous and synchronous communication
 for cross-component Business Process Management

SERVER

BUILDER

18
Exchange Infrastructure for Collaboration

Enterprise Resource Inter-/Intra-Enterprise Collaborative


Planning Co-operation Business

Integration Engine &


Database Integration Direct Connections Bus Infrastructure
Integration by single Integration challenge Shared central knowledge,
centralized data model Quadratically growing Small number of
complexity peer-to-peer connections

20
Why choose SAP PI?
SAP PI
PI is an integral part of SAP NetWeaver
• SAP NetWeaver is a serious
approach to deliver an Application
Platform Suite
• The integration capabilities of PI
will be the foundation for all SAP
business applications
3rd PI delivers pre-defined integration
pary knowledge
Based on shared collaboration
3rd knowledge
pary PI is open and standards based

main-
frame
other
integration
solution
3rd
pary

21
Advantage: Pre-delivered Integration Content

3rd Party SAP solutions bring their


Catalog
Data integration meta-data (CRM,
EBP SRM, SCM, xApps like xRPM,
etc.)

Delivered with the Integration


Repository of SAP PI
SUS

Benefits
 Out-of-the-box integration of SAP solutions
 Simplified upgrade of SAP Solutions
 Versioning and modification management of integration meta-data

22
Advantage: Openness and Interoperability
Connect to existing integration solutions
3rd Party
• Through JMS messaging (e.g. MQSeries) Application
• Through SOAP
Use open, XML based standards for integration
Incorporate existing functionality into
new processes SAP
• Adapters (JCA) Application
• Web Services (WSDL) 3rd Party
Middleware
Component
3rd Party
Application

Benefits
 Leverage existing investments
 Arrive at new integration landscape in an evolutionary manner
 Allow easy and non-disruptive addition of new services and processes

23
Component Overview
Integration Builder (IB) Central Monitoring Runtime Workbench

SAP
Integration Server (IS) Application

Business Process Engine 3rd Party


Application
Integration Integration
Repository Directory
(IR) (ID) Integration Engine
Marketplace
/ Business
Partner

Adapter Engine
3rd Party
Middleware
Component

System Landscape Directory (SLD)

24
Objects & Object References in the Integration
Repository
Business Scenarios & -Processes

Business Scenario

Business-Process Action

Mapping-Objects Interface-Objects

Interface-Mapping Message-Interface External Definition

WSDL Message
Message-Mapping ( Fault-) Message-Type

Mapping-Template Data Type Data Type Enhancement Context Object

RFC IDoc Adapter Objects

Request-Message Adapter Metadata


Response-Message
Fault-Message Comm.-Channel Template
Imported Objects

25
Configuration
Integration Builder Adapt integration content to
specific configuration
Integration Directory Derive integration content from
Business Scenarios Integration Repository
Central configuration for B2B
Business Processes
Configuration processes and BPM
Wizards Centralized adapter configuration
Routing Rules
Receiver Determination Rules
Java based graphical tools

Interface Determination Rules


(including Mapping Assignment)

Collaboration Agreements
Configuration
Security
Editors

Collaboration Profiles
Parties & Services
Channels

26
Task Areas At Configuration Time
Area in the Integration Tasks
Directory

Collaboration Profile
(Objects: In the collaboration profile, you document the technical
Communication Party, Service, options available to the communication parties for exchanging
Communication Channel) messages. Specify the potential senders and receivers of
messages and the technical communication paths.

Logical Routing
(Objects:
In logical routing, you define the flow of messages in a
Receiver Determination,
system landscape.
Interface Determination)

Collaboration Agreement
(Objects:
In collaboration agreements, you define the technical details
Sender Agreement, Receiver
for message processing (for example, adapter configuration)
Agreement)
and the security settings for specific sender/receiver pairs.

27
Collaboration Profile Objects

Services are used to: A communication party


represents a larger unit which is
• Represent a technical or involved in a cross-system
business unit. process (for example a
company).
• Group interface to
exchange messages
according to particular
task areas.

• Address business systems


and business processes as
senders or receivers of A Communication Channel
messages. defines how an adapter
transforms a message so
that it can be processed by
the Integration Engine

220
Logical Routing Objects

A Receiver Determination
defines one or more
receivers for a sender and
an outbound interface

An Interface Determination
specifies which interface is
to be used for the inbound
processing of a message
221
Collaboration Agreement Objects

In the sender agreement, you


In the receiver agreement, you
define how the message is to be
define how the message is to be
transformed so that it can be
transformed so that it can be
processed by the Integration
processed by a receiver.
Engine

222
Runtime
Central Monitoring

Integration Server
Integration
Directory Business Process Engine

Integration Engine
System
Landscape
Directory Adapter Engine

XI RFC,… XI
RosettaNet, …
Protocol Protocol

Local Partner
Idocs Connectivity
Integration Engine RFCs Kit
Proxy Runtime File Apps of
3rd Party
DB Business
Apps Apps of
JMS Partner
Proxy (small)
SAP Business
System Partner
SAP Web AS  6.20
31
In a Nutshell: Process Integration with PI
Adapter Framework (JCA based) Cross-Component Business Process
• Integrate application systems and Management
business partners via resource adapters • Design, execute and monitor automated
• Adapter Development Kit processes across applications and systems
• Certification of 3rd party adapters • Graphical Modeler
B2B Enablement • BPEL support
• Collaboration Partner Data in the Full platform support
Integration Directory • same Unicode platforms as SAP Web AS
• Partner Connectivity Kit Integration with central SAP monitoring
• B2B security infrastructure
Industry Standards Support • Drill down to individual process steps
• Platform for process modelling • Use of SAP Web AS Alert Framework
• Adapters, e.g. RosettaNet (RNIF 2.0)

32
Day 1

1a Motivasi

1b SAP PI Pengantar

1c SAP PI Architecture

1d System Landscape Directory (SLD)

33
SAP PI Architecture
Integration Repository / Integration Directory / System Landscape Directory

Integration Server

Business Process Engine

Integration Engine
Partner Connectivity
Optional Local PCK Kit
Configuration
Plain Central and Monitoring
Adapter Engine Adapter Engine
J2SE
Adapter Adapter FW Adapter FW
Resource

Resource
Adapter

Adapter

Resource
Adapter Framework

Adapter
Adapter

Engine Messaging Messaging


IDoc

Messaging
Queuing Queuing
Queuing
Security Handling Security Handling
Adapter Security Handling

File File/DB/JMS File/DB/JMS File/DB/JMS


DB SAP
System Marketplace Marketplace Marketplace
JMS 3rd Party Sys. 3rd Party Sys. 3rd Party Sys.

34
SAP PI Architecture
Integration Repository / Integration Directory / System Landscape Directory

Integration Server

Business Process Engine

Integration Engine
Partner Connectivity
Optional Local PCK Kit
Configuration
Plain Central and Monitoring
Adapter Engine Adapter Engine
J2SE
Adapter Adapter FW Adapter FW
Resource

Resource
Adapter

Adapter

Resource
Adapter Framework

Adapter
Adapter

Engine Messaging Messaging


IDoc

Messaging
Queuing Queuing
Queuing
Security Handling Security Handling
Adapter Security Handling

File File/DB/JMS File/DB/JMS File/DB/JMS


DB SAP
System Marketplace Marketplace Marketplace
JMS 3rd Party Sys. 3rd Party Sys. 3rd Party Sys.

35
Adapter Framework based on SAP J2EE Engine
Adapter Framework provides common functionality for Adapter Engine and SAP Partner
Connectivity Kit

Adapter Framework is based on SAP J2EE Engine as part of SAP Web AS


 Adapter Framework inherits properties and features such as scalability,
clustering, high availability, thread management, etc.

Adapter Framework provides its own queuing and logging services


 Temporary stand-alone operation without connection to an Integration
Server is possible, while still providing e. g. guaranteed exactly once
messaging to and from connected application system

36
JCA enabled Adapter Framework
Adapter Framework supports J2EE Connector Architecture (JCA)

 JCA is standard architecture for connecting the J2EE platform to Enterprise


Information Systems (EIS), e. g. ERP, DBMS, etc.
 A Resource Adapter plugs into an application server, providing connectivity
between the EIS and a Java application
 JCA enabled Adapter Framework provides defined interfaces to which both
our adapters and 3rd party adapters can conform
 JCA is a widely accepted standard that 3rd party adapter providers are
familiar with

37
Full integration of Adapter Engine in SAP XI
PI landscape
Adapter Engine is based on Adapter Framework

Adapter Engine fully integrated with the SAP XI landscape

 Central configuration of connections to application systems (through


appropriate adapters) in Integration Directory
 Reuse of Integration Directory’s existing versioning and transport
capabilities
 Central administration and monitoring over adapters, Integration Server,
Integration Engine through Runtime Workbench

38
Central and Local Adapter Engine
Adapter Engine is open for adapter development by partners and customers

 JCA based adapter development as ‘state-of-the-art’ Java technology


 Additional services for configuration, monitoring, security etc.
 Adapter Software Development Kit (ASDK) based SAP XI Adapter
Framework (as SAP PCK) and includes Adapter Framework Interface
Specification, JCA sample adapter (incl. source code), Java Docs, xsd file

The Adapter Engine can be deployed centrally as part of Integration Server, or as


optional local Adapter Engine on its own SAP J2EE Server

 Use of local Adapter Engine e. g. to be close to business system

39
Adapters hosted in Adapter Engine
In addition to Adapter Framework, the Adapter Engine hosts a set of adapters:
 SAP Adapters
 File / FTP
 JDBC (Database)
 JMS (MQSeries, SonicMQ, …)
 RFC
 SOAP
 Mail
 Business Connector (B2B protocol)
 Marketplace Adapter
 RosettaNet (RNIF 2.0) Adapter
 CIDX (RNIF 1.1) Adapter
 3rd Party Adapters
 iWay: UCCnet, more to come …
 Seeburger: numerous EDI adapters
 Optional: Adapters developed by partners, certificated by SAP

40
SAP PI Adapter Partner System
SAP relies on a system of partners to provide adapters for other applications and
certain industry standards
Adapter Reseller Agreement
• iWay Software
• UCCnet Adapter
• More to come (Peoplesoft-, Siebel-, Oracle, UCCnet-, Transora- and AS2- adapters
already certified for SAP XI 3.0) …
• No separate runtime required: adapters run on top of SAP XI Adapter Framework

• SEEBURGER AG
• EDI Adapters: Technical Adapters for EDIINT AS2, Generic EDI, OFTP, VAN Access,
Payment
• EDI Adapters: Industry Specific Adapters (incl. mappings) for Aerospace & Defense,
Automotive, Chemical, Consumer Products, High-Tech, Paper, Pharmaceuticals,
Retails Industry
• Mappings between IDoc and EDIFACT business documents (purchase order, order
confirmation, invoice etc.)
• JCA Resource Adapters that run within SAP XI Adapter Engine available with Q3 /
2004

41
Adapter Configuration

Adapter independent
parameters

Adapter specific
parameters

42
In a Nutshell: Process Integration with PI 3.0
Adapter Framework (JCA based) Cross-Component Business Process
• Integrate application systems and Management
business partners via resource adapters • Design, execute and monitor automated
• Adapter Development Kit processes across applications and systems
• Certification of 3rd party adapters • Graphical Modeler
B2B Enablement • BPEL support
• Collaboration Partner Data in the Full platform support
Integration Directory • same Unicode platforms as SAP Web AS
• Partner Connectivity Kit Integration with central SAP monitoring
• B2B security infrastructure
Industry Standards Support • Drill down to individual process steps
• Platform for process modelling • Use of SAP Web AS Alert Framework
• Adapters, e.g. RosettaNet (RNIF 2.0)

43
B2B Enablement in Integration Directory (1)
The new object party facilitates the B2B functions of SAP Exchange Infrastructure
and contains the following information:
• Name, description, and additional identifiers (DUNS, DUNS+4, GLN) of the party
• Service (explained on the following slide)
• Channel (message protocol, transport protocol, URL, logon data, adapter
configuration)

This enables adapters to be configured centrally in the Integration Directory!

44
B2B Enablement in Integration Directory (2)
The new object service generalizes business systems.
A service can represent:
• A business system (in A2A scenarios)
• Semantical units (grouping of interfaces), which are used mainly for routing purposes
in the communication between multiple B2B parties. An example would be a specific
PIP (RosettaNet).
• A business process

45
B2B Enablement in Integration Directory (3)
The new objects sender agreement and receiver agreement describe which of the
various possibilities (message protocol, transport protocol and so on) are actually
used at runtime.
The sender agreement is used on the Integration Server for inbound processing,
the receiver agreement for outbound processing.
Sender agreement and receiver agreement can be subsumed under the term
„collaboration agreement“.

46
Industry Standard Support and B2B
Integration Integration
Standard Repository Directory
scenarios
Business Scenarios
Application Routing Rules
 Business Processes
standard Mappings Collaboration Agreements Business
Partner
Business Message Interfaces Collaboration Profiles
Document
Schema

SAP Integration Server


Industry Solution
Business Process Engine
(e.g. High Tech)
IDoc/ Integration Engine
Proxy

Adapter Engine to
Resource
Messaging Industry Business
3rd Party Queuing Standard
Application Adapter Partner
Security Handling Adapter

47
In a Nutshell: Process Integration with PI
Adapter Framework (JCA based) Cross-Component Business Process
• Integrate application systems and Management
business partners via resource adapters • Design, execute and monitor automated
• Adapter Development Kit processes across applications and systems
• Certification of 3rd party adapters • Graphical Modeler
B2B Enablement • BPEL support
• Collaboration Partner Data in the Full platform support
Integration Directory • same Unicode platforms as SAP Web AS
• Partner Connectivity Kit Integration with central SAP monitoring
• B2B security infrastructure
Industry Standards Support • Drill down to individual process steps
• Platform for process modelling • Use of SAP Web AS Alert Framework
• Adapters, e.g. RosettaNet (RNIF 2.0)

48
Business Process Management (BPM)
Ad-hoc Workflow
 Team-driven processes
 Spontaneous events
 Collaboration

Cross-Component BPM
 Design, execute and monitor
automated processes across
applications and systems
 Stateful interaction model
 Cross application execution

Business Workflow
 Design, execute and monitor processes
within applications
 Apply standard business rules
 Business events
 Human interaction

49
Cross-Component BPM in a Nutshell
 Design, execute and monitor automated processes Business Business Business
across applications System System System
 Provides process control in the central technology 1 2 3
layer 1 2 3

 Contains a Graphical Process Editor Messages


 Contains a Business Process Engine
 Integral part of PI Integration
 Integration Repository (Design) Server
 Integration Directory (Configuration)
Business
 Integration Server (Runtime) Process
Engine
 Adheres to open modeling standards
 BPEL4WS 1.1 Integration
Engine
 Industry standard support
 RosettaNet (RNIF adapter, PIP, …) 4
 Technical Process Monitoring
 Integrated with technical Monitoring of XI Message
 Graphical Process Monitoring
Business
System
50
4
Cross Component BPM - Overview
Integration Builder Integration Server
Business Process Engine

Integration
Directory Process Correlation
Execution Handling
Business Process
(Configuration)

Routing Rules
Process / Message Store

(References)

Integration 2
3

Message
Repository
Process Editor

Channel 4
Message

Routing Mapping
Business Process Det.
1
(Definition)
Integration Engine
Abstract
Interfaces
Adapter Engine

51
Web Services through PI

3rd Party
‘Enhanced’ Web Service Adapter Application

Integration Server
Web Service SOAP IDocs
Mapping Adapter
Client RFCs
(SAP/non-SAP) Routing
Business Processes SAP
System

XI Protocol
or Proxy
SOAP
Proxy Runtime

Local
Integration Engine
Web Service SOAP
Web Services
Client Framework
(SAP/non-SAP) ‘Basic’ Web Service SAP Web AS  6.40

52
In a Nutshell: Process Integration with PI
Adapter Framework (JCA based) Cross-Component Business Process
• Integrate application systems and Management
business partners via resource adapters • Design, execute and monitor automated
• Adapter Development Kit processes across applications and systems
• Certification of 3rd party adapters • Graphical Modeler
B2B Enablement • BPEL support
• Collaboration Partner Data in the Full platform support
Integration Directory • same Unicode platforms as SAP Web AS
• Partner Connectivity Kit Integration with central SAP monitoring
• B2B security infrastructure
Industry Standards Support • Drill down to individual process steps
• Platform for process modelling • Use of SAP Web AS Alert Framework
• Adapters, e.g. RosettaNet (RNIF 2.0)

53
Central Monitoring

Message PMI
Monitoring

Component
Monitoring CCMS
Runtime System
Workbench Performance Landscape
Analysis Directory
Message Alerting Alerting Framework

Integration Server
(SAP Web AS  6.40)

Business Process Engine

Integration Engine (local) J2SE


SAP Application
Adapter Adapter
SAP Web AS  6.40 Engine Engine
Adapter Engine using XI proxies

54
Monitoring – Message Monitoring
Central Monitoring
Message

System Landscape
PMI
Monitoring Based on SAP

Directory
Runtime
Component
Monitoring
CCMS standard monitoring
Workbench
Performance solutions
(RWB)
Analysis
Message Alerting Used by End-to-End
Alerting Framework
monitoring to
construct instance
Integration Server
SAP
view
(SAP Web AS  6.40) (decentral) J2SE
Application
Business Adapter Adapter Available for XI
Process Engine SAP Web AS  6.40, Engine Engine
using XI proxies component with
Integration Engine persistence

Adapter Engine

55
Monitoring – Component Monitoring
Central Monitoring
Message

System Landscape
Monitoring
PMI

Directory
Component
Runtime Monitoring
CCMS
Workbench Smooth integration
Performance
(RWB)
Analysis with CCMS (easier,
Message Alerting leaner)
Alerting Framework

Monitoring of ABAP
Integration Server and Java
SAP
(SAP Web AS  6.40) (decentral) J2SE components
Application
Business Adapter Adapter
Process Engine Engine Engine
SAP Web AS  6.40, Improved error
using XI proxies
Integration Engine
handling

Adapter Engine

56
Monitoring – Performance Analysis
Central Monitoring
Message

System Landscape
Monitoring
PMI

Directory
Component
Runtime Monitoring
CCMS
Workbench
(RWB) Performance
Analysis
Enhanced
Alerting
performance statistics
Message
Alerting Framework
Measuring of
throughput and
Integration Server latency (‘processing
SAP
(SAP Web AS  6.40) (decentral) J2SE time’)
Application
Business Adapter Adapter
Process Engine Engine Engine
SAP Web AS  6.40, Selection and
using XI proxies
aggregation of
Integration Engine
performance data by
- XI component
Adapter Engine - Time range
- Message attributes

57
Monitoring - Alerting
Central Monitoring
Message

System Landscape
Monitoring
PMI

Directory
Component
Runtime Monitoring
CCMS
Workbench
Performance
(RWB)
Analysis
Message Alerting
Alerting Framework Based on Central
Alerting Framework
Integration Server
(SAP Web AS  6.40)
SAP Active Monitoring
Application (decentral) J2SE
Business Adapter Adapter
(alerts being sent by
Process Engine SAP Web AS  6.40, Engine Engine e-Mail, SMS,…)
using XI proxies
Integration Engine

Adapter Engine

58
Possible Performance Requirement

 Two possible motivations:


• Message Processing Speed
• Typical for synchronous scenarios
• Aims to decrease elapsed time for request/response cycle.
• Throughput
• Increment the volume of information processed in a determined period of time.
• Not necessarily decrease global message processing elapsed time.
• Typically achieved by parallel processing.

59
A2A, B2B and Human Integration

 Dependent on use case different expectations have to be met.


• Examples:
• B2B: Exchange of documents with Business Partner has to be more reliable and
secure than fast.
• A2A: Application Integration has to be fast and reliable.
• H2A: User expects near to real-time or synchronous communication.

 Choose technique which fits the use case to meet expectations!

60
Message Packaging Feature Overview

 Several Messages are processed in one service call


• One call for several messages
 Less Context Switches
• Pipeline program context is loaded once and several messages are processed within
that context.
 Enable mass operation on database
• Read, Write and Commit blocks of messages instead of doing it individually.
 No impact on the monitoring and applications level
• Messages are still atomic, just the processing is improved
• No impact on database, error handling, application or even qRFC queues.
• Monitoring is thus not impacted either.
 Check SAP Note 1037176 for Details

61
SAP NetWeaver PI Architecture in Detail – Prior to 7.1
Integration Server
(SAP NetWeaver Web Application Server)

Java Stack ABAP Stack

Adapter Engine Integration Engine

Adapter (JDBC, JMS, File, etc…) Pipeline Services

Routing Mapping
Module processor

Message Queues

Messaging System
XI Adapter IDoc Adapter

Mapping Business Process Engine

62
Typical Message Processing in Detail
1. Sender Adapter
1. Message Parsed
2. Module Processor
3. Messaging System
1. Message Persisted
4. HTTP Transmission to
Integration Engine
1. Message Persisted,
Authenticated, and
Rendered/Parsed
5. Routing
1. Message Persisted
6. Mapping
1. Connection to Java Stack
7. XI Adapter
8. HTTP Transmission to Adapter
Engine Messaging System
1. Message Persisted,
Authenticated, and
Rendered/Parsed
9. Module Processor
10. Receiver Adapter
1. Message Rendered

63
SAP NetWeaver PI 7.1 Architecture in Detail
Integration Server
(SAP NetWeaver Web Application Server)

Java Stack ABAP Stack

Advanced Adapter Engine Integration Engine

Adapter (JDBC, JMS, File, Pipeline Services


etc…) Rou Map
Module processor ting ping
Rou Map
Message Queues
ting ping
XI Adapter IDoc
Messaging System
Adapter
Mapping Business Process Engine

64
New Message Processing Capability
1. Sender Adapter
1. Message Authenticated and
Parsed
2. Module Processor
3. Routing
4. Messaging System
1. Message Persisted
5. Mapping
6. Module Processor
7. Receiver Adapter
1. Message Rendered

65
Advanced Adapter Engine Features

 Allows message processing without invoking the Integration Engine


 Benefits of this optimized message processing:
• Increase Message Processing…
• Speed (by improving the response time): less latency.
• Throughput
• Reduces resources consumption
 Positioning
• “Local processing” feasible for scenarios where current java-based adapter
connectivity and suggested routing/mapping capabilities are sufficient.
• “Shortcut” for performance improvement, resource consumption or scenario
separation.

66
Advanced Adapter Engine Scope [1/2]

 Both Synchronous and Asynchronous Messages


 Sender and receiver adapters located on the same Adapter Engine
• “Decentral” Adapter Engines scenario also supported
 Available for adapter types hosted on the Adapter Engine
• Excludes:
• IDoc
• HTTP
• XI
• iSpeak-Adapters (RNIF/CIDX)
• WS-Adapter
• ccBPM

67
Advanced Adapter Engine Scope [2/2]

 No integration process support


 One to one message mapping (no ABAP based mapping types)
 Single Static Routing
• i.e. no content based routing or message split
 More Capabilities coming in higher service pack levels!!
• IDoc and Web Service handling
• Enhanced routing and mapping support
• Message persistence after mapping (optional)

68
Advanced Adapter Engine Scope – Additional Details
3/3
 Other Supported Features:
• Sequence Mapping
• ACL‘s
• Mapping Lookups
• Principal Propagation (if supported by the adapter)
• Value Mapping
• Schema Validation
• Header Mapping (if supported by the adapter)
• Virtual Receiver for Sender

69
[Local Processing in Advanced Adapter Engine]
Performance Comparison Analysis*

 Local Processing in Local Adapter


• Example:
• 8Kb message size
• SOAP to SOAP scenario
Througput Test

160
Throughput [msg/sec]

140
120
Up to 10 times
100
boost factor!
80
60
40
20
0
Normal Local Processing in AAE

* Refer to analysis scope slide


70
Summary on Advanced Adapter Engine

 Increase Message Processing…


• Speed (by improving the response time): less latency.
• Throughput
 Reduces resources consumption
 Both Synchronous and Asynchronous Messages
 Sender and receiver adapters located on the same Adapter Engine
• “Decentral” Adapter Engines scenario also supported
 Available for adapter types hosted on the Adapter Engine

71
Day 1

1a Motivasi

1b SAP PI Pengantar

1c SAP PI Architecture

1d System Landscape Directory (SLD)

72
System Landscape Directory Overview

Central information provider for NetWeaver system landscapes


 Manage software components and platform dependencies
 Facilitate Installations, upgrades and transports
 Based on Common Information Model (CIM) of the Distributed Management
Task Force (DMTF)

 Basis for SAP Solution Manager


 Information provider for SAP XI

73
Aspects of system landscapes

Solution
(software
processes)

Products

74
SLD content type

 Component Information
• Describes building blocks of solutions
• Describes possible combinations and dependencies
• Delivered by SAP, extensible by customer
 Landscape Description
• Information on installed landscape elements
• Customer-specific

SAP XI utilizes both types of content:


 Integration Repository: Component Information
 Integration Directory: Landscape Description

75
System Landscape Directory
Applications and Tools

Graphical Technical Validation Software


PPMS Design Tool Configuration Registration Logistics
.. .. .. .. .. .. .. .. ..
1 1 2

Synchronize, XML

Master
Component System Landscape Any Landscape Element
Repository Directory
Customer Landscape
Component Landscape WBEM,
Types description XML
CIM
Landscape
Patterns
Update Component WBEM, 3rd-Party / Customer
Possible information XML Component Types
Combinations
CIM

SAP Customer

76
SLD: Products and Software Components

Product Software Component


0..1 0..1

* *
Product Version Software Component Version
1 *

* Software Feature *

77
Example: SAP APO

78
Example: workshop exercise

Product Software Component


1 Software Feature: 1
n Associations
Product Version Software Component n
Version

XI RIG US workshop XX
XI RIG US Workshop
Of SAP XI RIG US
of SAP XI RIG US

XI RIG US Workshop, 1.0 XI RIG US workshop XX, 1.0


Of SAP XI RIG US Of SAP XI RIG US

79
Defining the Software Component

To define a Software Component:


 From the main screen of the SLD, choose
“Software Catalog.”
 Use the drop-down to select the
Software Components type, and then
select “New Component” to start the
wizard.

 Select the Product from the drop-down


 Enter the software vendor
 Enter the Software Component Name

 Enter the Software Component


version (SWCV)
 Choose “Create”

80
SLD: Technical System
Technical System TYPE

WebAS ABAP
Name; host name; system number; Release
Installed clients Business System
Message Server
Installed Products

WebAS Java
Name; host name; SID; System Home
Standalone JAVA

Technical System ID Business Systems

Third Party Business Systems

Installed Products

81
Defining the Technical System

82
SLD: Business System

Business System
WebAS ABAP
Related Integration Server
client Technical System
Installed Products

WebAS Java
Related Integration Server

Name Technical System

Third Party Systems Technical System

Related Integration Server


Installed Products
Standalone Java
Name Technical System

83
Defining the Business System

84
SLD and XI Integration Repository

Integration Repository (Design)

Software Component
Version

Business Scenario
Application Component
Role System Landscape Directory
Product Version
Product
Mapping Objects
Product Version

Interface Objects
Software Component

Software Component Version

85
SLD and Repository: usage dependencies
SAP Integration Builder
Repository (Design)
A dependency can be defined in the SLD
Software Component This dependency will be automatically detected
Version A in the Integration Repository

...

Basis objects
System Landscape Directory

Software Component Software Component Version A


Version B
Software Component Version B

X Usage Dependency

86
SLD and Directory
SAP Integration Directory (Configuration)

Routing Relations
Sender Service: Business System
Receiver Service: Business System

A service object in the Integration Directory System Landscape Directory


can be derived from the SLD.

Business System

Technical System

87
Summary: object structure in SLD

88
Agenda

SAP PI – Pengantar & Architecture


1
System Landscape Directory (SLD)

2 Integration Repository dan Mapping

3 Integration Directory dan SAP PI Connectivity

4 ccBPM, Logical Routing dan Runtime Workbench

5 Scenario Demo

89
SAP Process Integration
Integration Repository dan Mapping

Day 2

90
Day 2

2a Integration Repository

Mapping:
2b
Structure and Value Mapping
Mapping:
2c
General Concept
Mapping:
2d
Context Handling

91
Integration Repository: Unit Objectives
After completing this unit, you will be able to:
 Describe the Integration Repository and the objects that are created
in it.
 Understand various Interface Objects and their roles in integration
scenarios.
 Detail the use of web standards in the descriptions of interface
objects in the Integration Repository.
 Explain the Proxy functionality in PI.
 Describe message mappings and list the different types of mappings
available in PI.
 Explain Business Processes and their role in integration scenarios.
 Describe how to import various objects into the Integration
Repository.

92
Integration Repository: Business Scenario

 You need to implement and Integration Scenario.


 You must first create the appropriate objects and processes in
the Integration Repository.

93
Business Process In A Distributed Landscape

Before starting an PI Integration project, a component view of the


business process requirements must be established

94
External Interfaces In A Distributed Landscape

PI Integration is interface-driven. An interface represents:


 The transfer of data between two components
 Synchronous or asynchronous message exchange

95
Software Components, Interfaces And Mappings

96
Design Time
Integration
Builder

Integration Repository

Scenario Editor Business Scenarios BPEL

Business Processes XSLT


Process Editor Java

Mappings XPath
Mapping Editor
Context Objects WSDL
Condition Editor
J2EE/ABAP
Message Interfaces XSD
Proxies
Interface Editor Message Types
SAP Web AS
Data Types
 6.20

Software Component Version


Software Component

System Landscape Directory

97
Software Component Version
Primary container for all Integration Repository
objects
 Imported directly from the SLD
 Usage dependencies from SLD are reflected in
the Repository (‘Basis objects‘)

For each software component version, the following can be assigned:


 A connection to an existing SAP system
 for the import of IDoc/RFC interfaces
 One or more namespaces

98
Namespaces

(Globally) unique identifier for related Integration Repository objects


 Usually vendor-based

 Same concept as XML namespaces


 Several namespaces can be assigned to the same SWCV
 Naming convention:
 URI http://sap.com/PI/demo
 URN urn:sap-com:PI:demo
 (URI without protocol assignment)

99
Interface Objects: Data Type
Data types are the most basic entity to define the structure of XML elements
 Equivalent to XML Schema (XSD)
 Data type editor provides all XSD basic data types.
 Nesting of data types possible
 Export of data type in XSD format possible

100
Interface Objects: Message Type

The Message type corresponds to the root of the XML message


 Name and namespace must match exactly the root of XML Business documents
 The Message type references one single data type
 XSD representation available for export

101
Interface Objects: Message Interface

The Message Interface is the highest-level representation of XML metadata.


 Inbound or outbound (respective to the application), or abstract (for
BPM only)
 Synchronous or asynchronous
 Asynchronous refers to one message type
 Synchronous refers to two message types (request and response)
 References fault message types for exception handling
 WSDL representation available for export
 Starting point for proxy generation (ABAP and Java)
 Context objects can be assigned

102
Message Interfaces based on RFC/IDOC

Imports must be allowed as part


of the configuration of the SWCV.
Connection information for the
target system is maintained as
part of the SWCV.

A wizard interface walks you through


the process of importing
RFC’s/IDOC’s

103
Interface Objects And WSDL

Integration Repository <?xml version=“1.0“>


<wsdl:definitions ...>

Data Type <wsdl: types>


FlightBookingID <xsd:schema>
<xsd:simpleType name=“FlightBookingID“
type=“xsd:nonNegativeInteger“ >
Message Type </xsd:schema>
FlightBooking_Confirm_Out_Req </wsdl: types>

Data Type:
XML Schema (XSD)
<wsdl:message name =“FlightBooking_Confirm_Out_Req“>
FlightBookingID <wsdl:part name=“FlightBookingID“
type=“FlightBookingID“>
</wsdl:message>
Message Interface
FlightBooking_Confirm_Out <wsdl:portType name=“FlightBooking_Confirm_Out“>
<wsdl:operation name=“FlightBooking_Confirm_Out“>
<wsdl:input message=“FlightBooking_Confirm_Out_Req“>
Output Message Type: </wsdl:operation>
</wsdl:portType>
FlightBooking_Confirm_Out_Req
</wsdl:definitions>

104
Interface Objects: Context Objects
Context Object
 Pointer to a specific element (field) within the message, for future reference
 Encapsulate access to data that is contained in the payload or in the header
(technical context objects) of a message
 Example: in CREMAS03 (Vendor master) IDoc:

zipcode = CREMAS03/IDOC/E1LFA1M/PSTLZ
1. Create Context Object
2. Use Context Object
in Message Interface

105
Proxy Generation – Overview

Separation of Business Application logic from PI


connectivity

Outside-in development approach


 Adapter-less, out-of-the-box integration
 For applications based on SAP Web AS 6.20 or above Integration
(ABAP and Java) Engine

The Proxy Framework hides technical details from


application developer
Proxy Business
 Transform language-specific data structures into XML
and vice-versa Function
Application
 Ensure technical connectivity with the Integration
System
Engine, guaranteed delivery

106
Proxy Generation
 Message interfaces are the basis for proxy generation
 Proxy will have the same attributes as the message interface:
 Inbound, outbound
 Synchronous, asynchronous

 Same concept for ABAP and Java, but different procedure


 J2EE proxies are generated from the IR as .JAR files
 ABAP proxies are generated from the application client, based on the WSDL
representation of the message interface
 Some rules and restrictions are in effect for the conversion of XSD Data types into
Java or ABAP types, respectively
 See the documentation for more details

107
Create ABAP Proxies (Transaction SPROXY)

108
Generated ABAP Objects
Message interfaces can have the mode synchronous or asynchronous. Furthermore, the type of the message
interface determines what type of proxy is generated.
The counterparts to outbound message interfaces in application systems are client proxies. They are called to
send a message to an inbound interface. An outbound message interface is mapped to an ABAP object
class (prefix CO_).
The counterparts to inbound message interfaces in application systems are server proxies. The proxy
generation functions generate an ABAP object interface (prefix II_) for an inbound message interface; you
must implement this interface using an ABAP object class to make this service available.

Example: Client proxy (class) generated


from Outbound Message Interface

109
Java Proxy Wizard

110
Business Scenario Objects
A Business Scenario
 describes a complete collaborative process from the PI Travel Agency Airline

Web AS 6.20
point of view Web AS 6.20

 main focus on the complete message exchange


 describes only the public part of the process

An Action
 describes a function (a process) within one component Check Seat Determine Seat
that is involved in the message exchange Availability Availability

 refers to the interfaces that can be used to perform that


function
 may be used by one or more business scenarios Send Flight
Booking Order

Book Flight

111
What Are PI Business Scenarios Used For?
Business Scenario = Plan of Integration
 Business Scenario driven modelling and
visualization of integrated business
processes
 Collects all PI objects of an integration
scenario
 Enables single entry point and access to all
objects
 Provides structured documentation

Input for PI configuration


 Business Scenario guided configuration
 Generation of configuration objects
 Products, Functions
 Connections (Interfaces, Mapping)

Input for implementation


 Involved functions and services
 Products and system requirements

112
Business Process Objects

You can design new objects for executable business processes by using the graphical
Process Editor.
You can use different modeling elements and patterns to design a stateful, cross-
component business process.
The following modeling patterns and elements are supported:
 Receive messages and trigger process
 Send, transform (merge or split) messages
 Collect messages
 Multicast
 Serialization
 Process control elements such as switch, assign, fork, wait, block, loop,
control
 Deadlines, exception handling, conditions

113
Business Processes & Business Scenarios
Business Process can be incorporated in a
Business Scenario
 Representation in a swim lane
 Treated as a Business System
 Navigation from Scenario to Process

114
Concept: Integration Of Scenario And Process
Visualisation In PI Integration Builder
Scenario – Component View Process - Flow
Product Product Product Product
A A B Template
Process Receive
Send

Wait for Negative


Acknowledgement
IFabs1 [timeout]
IFabs1
Wait for response Alert
IFabs2 Alert
IFabs2
Send response
Send
back to initiator
[continue]

IFabs
IFabs [one out of three]

Scenario: integration view of an


abstract collaborative business process BPM process: executable collaborative
business process
 Process is assigned to a swimlane – visualization of the public parts of the process
- process is part of a software component of the product
- navigation from swimlane in scenario to process object

One action and connection per abstract interface* of the process


- checked consistency between process interface and connections in scenario
 Executable process (behind the swimlane) for Business Process Engine
*the process interface requires PI interfaces of type abstract in integration repository

115
Import / Export Functions

Integration
 Objects in the Integration Repository
Repository
are based on open standards

BPEL Business Processes BPEL  The import function for WSDL, XSD
and DTD files enables you to upload
message definitions from external
XSLT
sources.
Mappings
Java  After conversion to WSDL they can
be used to define message mappings
WSDL and message interfaces.
WSDL
XSD Interfaces
XSD  The object type External Definition is
DTD
a container which is used to make
external message definitions
available in the Integration
IDocs, RFCs Repository.
SAP System

116
Import of RFC / IDOC
Idoc Interfaces
Interfaces
 Import of RFC / IDoc metadata from existing
SAP system
 Based on connection parameters specified in
the SW Component

 RFC and IDoc metadata cannot be modified


within PI
 Namespaces are preset:

urn:sap-com:document:sap:idoc:messages
urn:sap-com:document:sap:rfc:functions
 XSD and WSDL representation available for
export
 Procedure: right-click on ‘imported objects’
and follow the wizard

117
Miscellaneous

The Integration Repository supports versioning of all repository objects at software component
level. Support Packages of a software component version are also supported.
Message interfaces can be marked as “abstract“ (instead of “inbound“ or “outbound“). This
applies to interfaces which are used in BPM or which are handled by adapters.
Advantage: There is no need to define two interfaces (inbound and outbound) if their
structure is identical.
It is possible to enhance data types shipped by SAP with customer-specific fields. These
enhancements will not be lost in the event of a release upgrade.
The information modeled in business scenarios can be used to describe product release
combinations. A separate “component view“ can be defined for each release.

118
Integration Repository: Unit Summary

You should now be able to:


 Describe the Integration Repository and the objects that are
created in it.
 Understand various Interface Objects and their roles in
integration scenarios.
 Detail the use of web standards in the descriptions of interface
objects in the Integration Repository.
 Explain the Proxy functionality in PI.
 Describe message mappings and list the different types of
mappings available in PI.
 Explain Business Processes and their role in integration scenarios.
 Describe how to import various objects into the Integration
Repository.

119
Day 2

2a Integration Repository

Mapping:
2b
Structure and Value Mapping
Mapping:
2c
General Concept
Mapping:
2d
Context Handling

120
Structure Mapping – Outbound Interface

A structure mapping defines how the fields of the inbound message are to be mapped
to the fields of message that will be sent to the receiver system. In the example
scenario, the inbound message has the following structure:

File Structure of the Sender Outbound Interface

121
Structure Mapping – Inbound Interface

File Structure of the Receiver Inbound Interface

122
Value Mapping (I) – FixValues

The Fix Values function provides a simple


generic value mapping (or key mapping) in
the Integration Repository
1. Use the standard function Conversions ->
FixValues to link source and target element
2. Double click to define properties
◆ Each field mapping uses its own table of
key-value pairs.
◆ Filled tables can be copied to other
mappings. But copied table is independent
of origin.

123
Value Mapping (II) – Value Mapping

The Value mapping function provides a


more specific value transformation.
1.Use the standard function
Conversions -> Value mapping to link
source and target element
2.Double click to define properties
3.Define access keys for table entries:
◆ Value Mapping Context stores
information on the origin of the
data. If data is maintained in the
Integration Directory, use
http://sap.com/PI/PI
◆ Agency and Schema for sender
and receiver messages. Any
arbitrary string value can be used.

124
Value Mapping (III) – Value Mapping Group
■ Semantically identical information is collected in “Value Mapping Groups”
■ Value Mapping Groups can be maintained:
◆ in the Integration Directory
◆ by sending data to Message Interface “ValueMappingReplication” of SAP
BASIS -> SAP BASIS 6.40 -> http://sap.com/PI/PI/System
■ Following entries are required
1. Agency
2. Schema (Namespace and Object Type )
3. Value (the group’s representative for a given Agency – Schema combination)

125
Value Mapping (IV) – Value mapping

■ Value Mappings are created automatically between representatives of the


same group
■ All entries for a couple of Agency/Schema combinations are displayed using
Tools-> Value Mapping in the Integration Directory
■ Each new entry will create automatically a new group.

126
Value Mapping (V) – Mass Configuration
■ Mass data can be maintained in Value Mappings tables by means of an PI
Interface
■ Based on Message Interface Value Mapping Replication of
http://sap.com/PI/PI/System in SC SAP BASIS 6.40
■ Configuration has to be created in Directory
■ Provided data has to correspond to structure:

127
Multi–Mappings

Multi–Mapping can only be used in ccBPM:

■Used to map abstract interfaces


■Development is the same as Message Mappings
■n:1 Transformation
Bundles multiple messages into one message, for example, individual purchase order items into
one purchase order.
■1:n Transformation
Splits a message into multiple messages, for example, a purchase order into the individual
purchase order items.
■n:m Transformation
Converts a message into another message, for example, a message that is defined by interface A
is converted to message that is defined by interface B.
Multi–Mappings reference multiple message structures:
■ All source message structures are combined into 1 source structure.
■ All target message structures are combined into 1 target structure.
■ Therefore, there is only one source structure mapped to one target.

128
Mapping “Patterns” – Multi Mappings

The Message Types are entered using the Messages tab in the mapping editor.
■The root element is always <Messages>.
■The Mapping Editor inserts an element <MessageN> for each source or target message,
where N is the position of the message.

Example: Message Type (Source) Message Type (Target)


OrderHeader (1) Order (1)
OrderItem (0…unbounded) OrderInfo (1)

129
Mapping “Patterns” – Multi Mappings

1. Insert more
2. Change
messages Occurrences

No msg
type name

Mapping rules are the same as for previously discussed Message Mappings.

130
Day 2

2a Integration Repository

Mapping:
2b
Structure and Value Mapping

2c Mapping:
General Concept
Mapping:
2d
Context Handling

131
General Concept – Mapping Editor (I)

Structure Overview

Source Structure Target Structure

Data-Flow Editor
Target Field Mapping

132
General Concept – Mapping Editor (II)

Import of source and target structure

 From Integration Repository


• XSDs developped in the Integration Repository
• Imported External Definitions (WSDLs, XSDs, DTDs)
• ‹Imported SAP meta data (RFCs, IDocs)
 „ From local file system (XSD or XML)
• ‹ Not all XSD tags are supported (general rule: XSDs that can be
created by using the data type editor can be imported)
• ‹ <xsd:include> and <xsd:import> are not supported
 „ Mapping editor displays a simplified XML representation of XSD files
in structure overview

133
General Concept – Mapping Editor (III)
There are 3 ways structures can be assigned to the Message
Mapping.
1. By using an existing object already created in the Integration Repository
(e.g. Message Type, External Definitions)
2. By using an RFC or IDoc meta data imported from SAP
3. By importing XML or XSD files from local file system

134
General Concept – Mapping Editor (IV)

Design message mapping using the data-flow editor


 „ Message mapping is composed of several target field mappings
 „ You can edit one target field mapping in the data-flow editor
 „ All mandatory target fields (marked in red) must be mapped

135
General Concepts - Elements

Attribute
Element is mandatory and might re-occur
(minOccurs>0, maxOccurs>1)

Element is mandatory (minOccurs>0)

Parent node might repeat (maxOccurs>1)

Element might repeat (maxOccurs>1)

136
Icon Status Display

Icon Types
Icon Meaning
Attribute
Element
Element with maxOccurs = unbounded
Node

Icon Colors
Color Meaning
White Attribute or element not assigned
Red Attribute or element must be assigned to complete the
mapping
Yellow Attribute or element has already been assigned but the
corresponding mapping in the data-flow editor is not
complete
Green Mapping to target field complete

137
General Concepts – Assignment of Field

Double click on a Double click on a


field = Insert field field = navigate to
into data flow editor mapping

drag&drop
drag&drop drag&drop

138
General Concepts - Data–Flow Editor

Delete Floating
Objects
Layout
Mapping

Delete Current
mapping

Define User Select Function Select


Function Category Function

139
General Concepts – Mass Assignment

2. Choose
assignment function
Markroot nodes
of subtrees

• Mappings are created automatically for homonymous child elements

140
General Concepts – Mapping Templates

Markroot nodes
of subtrees

2. Right-click on
node. Choose “Show
suitable Templates”

• Mapping Templates based on Date Types have to be created beforehand


• Subnodes must reference this pair of Data Types

141
General Concepts - Text Preview

Text Preview

Test Previewper
target field

All target field mappings

142
General Concepts - Dependencies

Dependencies

All mappings or mappings of


two selected subnodes are
displayed

143
Simple Standard Functions: concat

Function category: Text


Source Message Mapping Target Message

<?xml version="1.0" <?xml version="1.0"


encoding="UTF-8" ?> encoding="UTF-8" ?>

<Customer> <Contact>
<Firstname> Harry <Fullname> Harry Potter
</Firstname> </Fullname>
<Surname> Potter </Contact>
</Surname>
</Customer>

concat properties
Delimiter=“ “

144
Simple Standard Functions: Subs tring

Function category: Text


Source Message Mapping Target Message
<?xml version="1.0" <?xml version="1.0"
encoding="UTF-8" ?> encoding="UTF-8" ?>

<Contact> <Customer>
<RefNo> 0123456789- <CustomerID>
181170 0123456789
</RefNo > </customerID>
</Contact > </Customer >

Substring properties
start from: 0
count: 10

145
Simple Standard Functions: DateTrans

Function category: Date


Source Message Mapping Target Message
<?xml version="1.0" <?xml version="1.0"
encoding="UTF-8" ?> encoding="UTF-8" ?>

<Customer> <Contact>
<custBirthday> 181170 <birthday>
</custBirthday> 11/18/1970
</Customer> </birthday>
</Contact>

DateTrans properties
Src Format: ddMMyy dst
Format: MM/dd/yyyy

For potential date patterns, please see Java class


java.text.DateFormat

146
Boolean Functions
Functions

Condition ifWithoutElse
X
if
R R = Y if X is true or if
1
then
or no tag is produced
Y
Result value if condition is true
Result value
if condition is true Y
then
Condition X if R = Y if X is true or 1,
R
else else Z
Z
Result value if condition is false

Boolean functions
■ Return true or false string
■ Interpret 1 and true (not case-sensitive) as true-value

147
General Concepts – Test Mappings (I)

Loads an XML
instance from a
local file.
Create
empty
template

Execute
Mapping

Create test cases

XML document view

Tree View

Prerequisites
The defined message mapping must be complete. This means that each mandatory target
field must be assigned to one or more source fields.
There must not be any unassigned arguments when using functions.

148
General Concepts – Test Mappings (II)
Editing the XML instances to use in test cases:

Enter test
data

Using the Tree View, you can Using the editor for the XML
copy sub-trees, delete nodes, view,
and add elements and you can manually edit elements
attributes. In the and attributes or their values
Value column you can also enter here.
values for fields.

149
General Concepts – Debug Mappings

Using the “Display Queue” to examine each step of the mapping

Note:
The “context”
display and usage
in the queues will
be discussed in
later slides.

150
Standard Functions: Introduction

X1 R = f(X1,X2) R I O = f(I) O
X2

X1
X2 R = f(X1,X2,X3) R O = Generated O
Value
X3

■ All functions expect and return string values


■ Generating functions ‘produce’ values (for example: Constant)
■ Some standard functions provide function properties (denoted by a small
asterisk)
◆ For example: concat lets you additionally specify a delimiter
◆ Call the function properties window by double clicking the function

151
Element Cardinality – Fixed Occurrences
(minOccurs>0)

Mandatory Elements and Nodes


(minOccurs>0)
■Mapping is mandatory. A source
element or a constant has to be
assigned to the target element.
■Otherwise error message: “Message-
mapping not completely defined”
■If not sufficient values are provided
from the source structure the last
source element is reiterated.

152
Element Cardinality – Fixed Occurrences
(minOccurs= max Occurs)

Exception: Nodes with fixed


occurrences
(minOccurs=maxOccurs)
■Nodes are automatically marked in
green.
■Mapping is not mandatory.
<minOccurs> Nodes are created
automatically.

For elements with fixed occurrences the


rules of mandatory elements are applied

153
Element Cardinality – Repeating Elements
(max Occ urs> 1)

Mapping of Repeating Elements and


Nodes (maxOccurs>1)
■Source: Target element is created as often
as mapped source element occurs in the
source message.
■Source: Creating function (e.g. Constant)
◆ If minOccurs>0, <minOccurs> target elements are
created.
◆ If minOccurs=0, 1 target element is created.

154
Element Cardinality – Node Mapping

Mapping of non mandatory Nodes


(minOccurs=0)
■If a non mandatory node contains
elements with minOccurs>0, these
elements become mandatory after their
parent node is assigned

155
Element Cardinality – Node Mapping (II)

Mapping of non mandatory Nodes


(minOccurs=0)
■Assignment of elements is not
sufficient
■Node has to be ‘created’ by assigning
a suitable source node/element

156
Element Cardinality – Unique Target Mapping

Mapping from more than one Source


element
■Only a single and unique mapping relation
per target element is allowed (n:1 relationship)
■Multiple mapping relations can be defined by
duplicating the target node or element
(Duplicate Subtree)
■To duplicate a node or an element, right-click
on the object in the target structure pane and
select “Duplicate Subtree”

157
Day 2

2a Integration Repository

Mapping:
2b
Structure and Value Mapping
Mapping:
2c
General Concept
Mapping:
2d
Context Handling

158
Context Handling (I)

Context Change
■Message mapping works
internally by using queues
■If no further elements are
imported at a particular hierarchy
level, a Context Change is inserted
in the queue
■Use node functions to handle
changes in the message hierarchy.

159
Context Handling (II)

■Why Queue Processing?


■No size limitations for messages
■Better runtime performance

■Context changes have impact on:


■User-Defined Functions
■Breaking and inserting of hierarchy levels

■Manipulation of queues ant contexts


■Explicit context selection on source elements and nodes
■Using node functions
▪ removeContexts: deletes all context changes of a queue
▪ SplitByValue: insert additional context changes in a queue

160
Context Handling - “Display Queue” (I)

■ A tool to display queues:


1. Upload or create source
xml-document in test
mode
2. Right-click on box
representing element or
function
3. Select “Show queue”

161
Context Handling - “Display Queue” (II) Example

Sender and Receiver Structure


Sender and Receiver Structure

Related Mapping

162
Context Handling - “Display Queue” (III) Example

■ “Show queue” function display value queues leaving the related


element/function.
■ “Debugging” functionality
■ Applicable to any step in the mapping
■ Step by step check of mappings

163
Context Handling - “Display Queue” (IV)

Inner context change.


Represented internally by
Initial and terminal constant ResultList.CC
context change –
Not passed to the Queue value
internal queue
processing
Suppressed value.
Represented internally by
constant
ResultList.SUPPRESS.
Suppressed when creating
target element

The displayed queue contains ResultList.SUPPRESS


the following values:
ResultList.CC
“toothpaste”
ResultList.CC
ResultList.SUPPRESS

164
Context Handling - Node Functions –
removeContexts(I)
With removeContexts
Source Message Mapping Target Message

<?xml version="1.0" <?xml version="1.0"


encoding="UTF-8" ?> encoding="UTF-8" ?>

<Test_Out_Remove> <Test_In_Remove>
<header name=“A"> <item>A.one</item>
<item>A.one</item> <item>A.two</item>
<item>A.two</item> <item>A.three</item>
<item>A.three</item> <item>B.one</item>
</header> <item>B.two</item>
<header name="B"> </Test_In_Remove
<item>B.one</item>
<item>B.two</item>
</header>
</Test_Out_Remove>

▪use removeContext() to delete the parent context of an element


▪compare to function “Explicit Context Selection”

165
Context Handling - Node Functions – removeContexts
(II)
Without removeContexts

Source Message Mapping Target Message

<?xml version="1.0" <?xml version="1.0"


encoding="UTF-8" ?> encoding="UTF-8" ?>

<Test_Out_Remove> <Test_In_Remove>
<header name=“A"> <item>A.one</item>
<item>A.one</item> <item>A.two</item>
<item>A.two</item> <item>A.three</item>
<item>A.three</item> </Test_In_Remove>
</header>
<header name="B">
<item>B.one</item>
<item>B.two</item>
</header>
</Test_Out_Remove>

166
Context Handling - Node Functions – SplitByValue (I)

With SplitByValue
Source Message Mapping Target Message
<?xml version="1.0" <?xml version="1.0"
encoding="UTF-8" ?> encoding="UTF-8" ?>

<Test_Out_Split> <Test_In_Split>
<header> <new_context>
<item>one</item> <item>one</item>
<item>two</item> </new_context>
<item>three</item> <new_context>
<item>four</item> <item>two</item>
</header> </new_context>
</Test_Out_Split> <new_context>
<item>three</item>
</new_context>
<new_context>
<item>four</item>
</new_context>
</Test_In_Split>

▪SplitByValue() is the counterpart to removeContexts()


▪inserts a context change in the source value queue.
▪context change in the queue after each value, after each change to the
value, or after an empty tag.

167
Context Handling - Node Functions – SplitByValue (II)

Without SplitByValue

Source Message Mapping Target Message

<?xml version="1.0" <?xml version="1.0"


encoding="UTF-8" ?> encoding="UTF-8" ?>

<Test_Out_Split> <Test_In_Split>
<header> <new_context>
<item>one</item> <item>one</item>
<item>two</item> <item>two</item>
<item>three</item> <item>three</item>
<item>four</item> <item>four</item>
</header> </new_context>
</Test_Out_Split> <new_context />
<new_context />
<new_context />
</Test_In_Split>

168
Context Handling – Explicit Context Selection (I)

■ As of PI 7.1 SP1 the context of source nodes and elements


can be selected explicitly
■ More precise handling as removeContexts function
■ But: removeContexts function still necessary for context
manipulation within a mapping chain
■ Example:
Message Type XML representation

169
Context Handling – Explicit Context Selection (II)
■ Explicit choice of contexts and resulting queues
■ Context changes are relevant:
◆ user-defined functions
◆ structure hierarchy
■ But: the removeContexts function is still necessary for
context manipulation within a mapping chain :

Context

Resulting
Queue

170
Context Handling – Contexts not in pair
■ Comparing two contexts with diverse
numbers of entries:
◆ Last value of context with less elements is
reiterated
◆ Applies also to Constants

Example: the content of the two contexts is concatenated; Value


“ProdAttribute” of /Fieldnames is reiterated to fill up result context.

171
Examples – Get value by key (I)

Problem:
■ A specific value should be filtered by a key or qualifier
■ Example: only English <TEXT> should be mapped to resulting field
<Description>

172
Examples– Get value by key (II)

Solution:
1. Create mapping

2. Set Contexts of
<LANGKEY> and
<TEXT>

173
Examples– Get value by key (III)

Discussion:
3. Display Queues to
investigate

4. Explanation
Since the element <Description> may only occur once in the resulting structure, the
output has to be put in a single context. The two suppressed values are removed
automatically when the resulting document is created

In an alternative solution two contexts of <LANGKEY> and <TEXT> keep their initial
contexts and a removeContexts is inserted after the ifWithoutElse function.

174
Examples – Copy head to line (I)

Problem:
■ A hierarchical structure has to be mapped to a flat structure
■ One <row> should be created per <Item>
■ Header information (represented <Header>) occurring only once per
<Order> should be multiplied and copied to <row>.

175
Examples – Copy head to line (II)

Solution:
1. Create User-
Defined Function

2. Create mappings

176
Examples – Copy head to line (III)

Discussion:
3. Display Queues

4. Explanation
The User-Defined Function copyPerValue copies the value of
<Address> per each occurrence of <Item> to the relevant context. The
SplitByValue function then distributes the copied values to the contexts of
the flat structure.
Since <Item> only contains empty fields, you can use in this case also
function concat instead of copyPerValue. See Context Handling – Explicit
Context Selection (I) for details.

177
Agenda

SAP PI – Pengantar & Architecture


1
System Landscape Directory (SLD)

2 Integration Repository dan Mapping

3 Integration Directory dan SAP PI Connectivity

4 ccBPM, Logical Routing dan Runtime Workbench

5 Scenario Demo

178
Integration Directory dan SAP PI Connectivity

Day 3

17
9
Integration Directory: Unit Objectives

After completing this unit, you will be able to:


 Describe the Configuration Time Activities of the exchange
infrastructure
 Detail the task areas and configuration objects of the
Integration Directory
 Create and work with Collaboration Profiles
 Design Logical Routings
 Work with Collaboration Agreements
 Completely and correctly configure
Integration Scenarios within the Integration Directory

180
Integration Directory: Business Scenario

 The Development Consultants on your project have


designed and developed Integration Scenarios and the
related objects to enable A2A and B2B communication.
 You are tasked with configuring these scenarios in the
Integration Directory so they can be successfully
executed at runtime.

181
Day 3

3a Integration Directory

3b SAP PI Connectivity

182
PI Configuration Concept
The goal of the Integration Directory is for the customer to configure the sender-receiver
relationships which will be used at runtime.

183
Integration Directory: Overview
Integration Directory
Integration Directory
 Adapt integration content to
Business Scenarios specific configuration
 Delivered empty, without
Configuration Business Processes predefined content
Wizards
• all content is customer-
Collaboration Profiles specific
Parties , Services  Integration content derived from
& Channels
Integration Repository
 Open for Customer to add
Routing Rules collaboration knowledge relevant
Configuration
Receiver Determination Rules to non-SAP components
Editors
 Home for centralized adapter
Interface Determination Rules configuration
(including Mapping Assignment)
 Data provider for IS runtime
Collaboration Agreements
Sender & Receiver Agreements

184
Task Areas At Configuration Time

Area in the Integration Tasks


Directory

Collaboration Profile In the collaboration profile, you document the


(Objects: Communication technical options available to the communication
Party, Service, Bussiness parties for exchanging messages. Specify the
Component, potential senders and receivers of messages and the
Communication Channel) technical communication paths.

Logical Routing
(Objects: In logical routing, you define the flow of messages
Integrated Configuration) in a system landscape.

185
Collaboration Profile Objects

Services are used to: A communication party


represents a larger unit which is
• Represent a technical or involved in a cross-system
business unit. process (for example a
company).
• Group interface to
exchange messages
according to particular
task areas.

• Address business systems


and business processes as
senders or receivers of A Communication Channel
messages. defines how an adapter
transforms a message so
that it can be processed by
the Integration Engine

186
Configuration Model: Overview
0..1 0..*

Party
Party Service
Service

...
PartyName ...
ServiceName
1
AlternativeIdentifiers AlternativeIdentifiers
ofile
Service maybe:
0..*
• a B2B service
• a Business System Channel
Channel
• a Process ChannelName
A... d a p t e r E n g i n e
T ra n s p o rtP ro to c o l
BusinessProtocol
B u s i ne s s P ro to c o lV e rs i o n
URL
LogonData
Receiver Determination Interface Determination
Receiver Determination Interface Determination SenderAgreement
Sender Agreement Receiver
Receiver Agreement
Agreement
SenderParty SenderParty
... ... ...
SenderService SenderParty SenderParty
SenderService
... SenderInterfaceNamespace Collab oration
Logical Ro uting
SenderInterfaceNamespace SenderInterfaceName SenderService ReceiverParty
SenderInterfaceNamespace ReceiverService
SenderInterfaceName
ReceiverParty
ReceiverParty
ReceiverService SenderInterfaceName Agreement ReceiverInterfaceNamespace
ReceiverService ReceiverInterfaceNamespace ReceiverParty ReceiverInterfaceName
Conditions ReceiverInterfaceName InboundChannel OutboundCannel
MappingProgramName Certificates Certificates

187
Collaboration Profile: Partner (Party)

The optional object party facilitates the B2B functions of SAP Exchange
Infrastructure and contains the following information:
 A Name and a Description
 Additional identifiers (DUNS, DUNS+4, GLN)
 Assigned Services

188
Collaboration Profile: Service
Service Objects:
 Address business systems and business processes as senders or receivers of
messages
 Serve as grouping of interfaces for message exchange
according to
particular task areas

 Contain the following information:


 Interfaces (inbound/outbound)
 Communication channels (sender/receiver)

 2 Types Of Service:
 Business System
 Business Component

189
Service Object : Business System

 A Business System represents an abstract entity for


addressing the senders and receivers of messages
 A Business System can be used in cross-company
processes, for example, if the parties involved have
only published their interfaces and not their system
landscape, or it is only partly known.
 With a Business System, you can define the technical
or business subunits of the companies (parties)
involved and then assign the relevant interfaces
 Can be used to group interfaces
232
Collaboration Profile: Channel Component

Sender or
Receiver channel

 Specify the transport mechanism for a message (adapter type, config)


 Contains specific information for the message protocol, transport protocol,
URL, logon data and adapter-specific configuration.
 For configuring specific adapters, pre-delivered communication channels called
channel templates, are available in the Integration Repository

235
Adapter Types
Abbreviation Description
For communicating using the proxy runtime. You can also use this adapter type
XI to communicate with an Adapter Engine at the receiver that is based on PI 3.0
IDoc For communicating with an SAP System by using the IDoc adapter
RFC For communicating with an SAP System by using the RFC adapter
http For communicating with http server by using the http adapter
JDBC For communicating with a database system by using the JDBC adapter
JMS For communicating with a messaging system by using the JMS adapter
Marketplace For communicating with marketplaces (see: Marketplace Adapter)
File For communicating with a file system by using the File/FTP adapter
For connecting to the RNIF protocol (RosettaNet Implementation
RNIF Framework) by using the RNIF adapter
Mail For communicating email notification by using Mail Adapter

236
Cache updates

When Integration Directory objects are activated, the changes


are replicated
• In the Integration Server runtime cache (accessed via SXI_CACHE)
• In the CPA cache of each adapter engine (central and de-central)

Bus. Process Engine


SXI_CACHE
Integration Integration Engine
Directory
Central Adapter Engine
CPA CACHE

Decentral Adapter Engine


Information about the
adapter engines is obtained
Decentral Adapter Engine
from the SLD

257
Cache Notifications

258
Integration Directory: Unit Summary

You should now be able to:


 Describe the Configuration Time Activities of the exchange
infrastructure
 Detail the task areas and configuration objects of the
Integration Directory
 Create and work with Collaboration Profiles
 Design Logical Routings
 Completely and correctly
configure Integration
Scenarios within the Integration Directory

260
Day 3

3a Integration Directory

3b SAP PI Connectivity

196
Adapter Framework: Unit Summary

After completing this unit, you will be able to:


 Describe the Architecture of the SAP XI Adapter
Framework.
 Detail the functionality of the Adapter Engine.
 Explain central and local Adapter Installations.
 Distinguish between the various adapter types.
 Describe the Partner Connectivity Kit.
 Configuration different adapters to send messages to
and receive messages from the Integration Server.

197
Architecture

249
Adapter Framework based on SAP J2EE Engine
The Adapter Framework provides common functionality for both the Adapter Engine and SAP Partner
Connectivity Kit

Adapter Framework is based on SAP J2EE Engine as part of SAP Web AS
 Adapter Framework inherits properties and features such as scalability, clustering, high
availability, thread management, etc.

Adapter Framework provides its own queuing and logging services


Temporary stand-alone operation without connection to an Integration Server is possible, while
still providing e. g. guaranteed exactly once messaging to and from connected application
system

250
JCA enabled Adapter Framework


Adapter Framework supports J2EE Connector Architecture (JCA)

 JCA is standard architecture for connecting the J2EE platform to


Enterprise Information Systems (EIS) - e. g. ERP, DBMS, etc.
 A Resource Adapter plugs into an application server, providing
connectivity between the EIS and a Java application
 JCA enabled Adapter Framework provides defined interfaces to which
both our adapters and 3rd party adapters can conform
 JCA is a widely accepted standard that 3rd party adapter providers are
already familiar with

200
Central configuration, administration, monitoring

Additionally Adapter Framework provides comprehensive integration for central


configuration, administration, monitoring of deployed adapters

 One single point of access, only one common UI, enhanced transparency
 Capability to move or copy configuration from one Adapter Framework to
another (transportable configuration):
 To transport configuration from test landscape to productive landscape
 For high availability/failover
 Avoid redundant maintenance, ensure consistency
 End-to-end monitoring of the message flow over all SAP XI components
and processes

201
Adapter Engine

202
Full integration of Adapter Engine in SAP PI landscape


Adapter Engine is based on Adapter Framework

Adapter Engine fully integrated with the SAP PI landscape
 Central configuration of connections to application systems
(through appropriate adapters) in Integration Directory
 Reuse of Integration Directory’s existing versioning and
transport capabilities
 Central administration and monitoring over adapters,
Integration Server, Integration Engine through Runtime
Workbench

203
Central and Local Adapter Engine


Adapter Engine is open for adapter development by partners and
customers
 JCA based adapter development as ‘state-of-the-art’ Java
technology
 Additional services for configuration, monitoring, security etc.
 SAP PI Adapter Framework (as PCK), Adapter Framework
Interface Specification, JCA sample adapter (incl. source code)
available via SAP Integration and Certification Center

The Adapter Engine can be deployed centrally as part of Integration
Server, or as optional local Adapter Engine on its own SAP J2EE Server
 Use of local Adapter Engine e. g. to be close to business system

204
Adapters hosted in Adapter Engine

In addition to Adapter Framework, the Adapter Engine hosts a set of adapters:
 SAP Adapters
File / FTP
JDBC (Database)
JMS (MQSeries, SonicMQ, …)
RFC
SOAP
SMTP
SAP BC (header extension for support of Quality of Service)
SAP Marketplace Adapter
RosettaNet (RNIF 2.0) Adapter
CDIX (RNIF 1.1) Adapter
 3rd Party Adapters
iWay: UCCnet, more to come …
Optional: Adapters developed by partners, certificated by SAP

205
SAP PI Adapter Partner System

SAP relies on a system of partners to provide adapters for other
applications and certain industry standards

Adapter Reseller Agreement
 iWay Software
 UCCnet Adapter
 Oracle, Siebel, PeopleSoft
 SEEBURGER AG
 EDI Adapters
 WebMethods
 Applications (Oracle, Siebel, PeopleSoft, Baan, …)
 Industry Standards (RosettaNet, CDIX)  SAP XI 3.0


Partner adapters are sold and delivered through SAP

Technical Support
 SAP provides 1st level support via CSN, 24x7
 Partners provide 2nd and 3rd level support via CSN, 24x7

206
Adapter Info on SAP Service Marketplace

SAP Service Marketplace:


http://service.sap.com/xi  SAP XI in Detail  Connectivity

207
Adapter not hosted in the J2EE Adapter Engine

These adapters are implemented in ABAP and reside direct only the
Integration Server (ABAP stack)

 IDoc adapter

 Plain HTTP adapter

208
Adapter Configuration

Adapter independent
parameters

Adapter specific
parameters

209
SAP Partner Connectivity Kit (PCK) Overview (1)
SAP Partner Connectivity Kit is based on the Adapter Framework
The PCK enables XML document exchange between SAP PI and business partners not using SAP PI
PCK provides connectivity options to access SAP Adapters:
 File/FTP
 JDBC (Database)
 JMS
 SOAP
 RFC
SAP Web AS Integration Server
(J2EE only)
Partner Connectivity
PCKKit
Configuration
and Monitoring XI-SOAP/HTTP(S) XI PIPELINE
Adapter FW
Resource
Adapter

Messaging
Queuing
Security Handling

Communication between SAP XI and PCK is via SAP XI messaging protocol

210
SAP PI Adapter Partner System

The PCK is deployed on a standalone SAP J2EE Engine (part of SAP


Web AS) within business partner’s landscape

Configuration, administration, and


monitoring are done locally on the PCK
itself without the need for an
Integration Directory
 Configuration UI provides same
“look and feel” as configuration UI
of Adapter Engine

211
SAP Process Integration - Openness
Integration of SAP and non-SAP applications
Adapter Framework for comprehensive integration of adapters
Adapters are used for technical connectivity
Adapter metadata and mappings are stored in Integration Repository

212
Dual Strategy

Dual connectivity strategy
 Adapter Framework for comprehensive integration of adapters to
provide technical connectivity, including central configuration,
administration, monitoring of adapters
 Interoperability based on open standards (SOAP, JMS, HTTP(S)) to
interoperate with EAI providers

Value proposition
 Standardized interfaces allow easy integration of adapters from different
partners
 Minimum knowledge of SAP PI required
 Comprehensive integration avoids redundant maintenance, ensures
consistency, enhances transparancy
 Openness to integrate non-SAP applications, 3rd party systems, etc.
 Reduced TCO

213
Certification

Certification
 SAP NetWeaver Certification of 3rd party adapters based on the adapter
framework

Value proposition
 Certification helps customers to find right solution
 Faster implementation time and lower integration costs through the use
of tested 3rd party integration
 Quality (stability, HA aspects, performance, etc.) of adapters is controlled
 Quick and convenient search for a variety of certified products with the
online partner and product directory (http://www.sap.com/partners/icc)
 Reduced TCO

214
Adapter Mappings, Metadata in Integration Repository


Adapter mappings and adapter metadata are stored in the Integration
Repository
 Centralized Integration Repository contains all relevant information
for collaborative and integrative processes
 All content adheres to open standards
 Adapters provide technical connectivity

Value proposition
 Use largest content catalog
 Reduce costs in integration projects
 Reduce maintenance costs
 Reduced TCO

215
Technical Adapters in Detail
This section will give an overview of the functionality and usage of each
technical adapter delivered with PI
 RFC
 IDoc
 File
 JDBC
 JMS
 Plain HTTP
 Mail
 SOAP
Other adapters are covered in advanced or specialized workshops:
 RosettaNet
 CIDX
 SAP BC
 Marketplace
 Partner adapters (SEEBURGER, iWay, etc.)

216
RFC Adapter

217
IDoc Adapter

218
File Adapter

219
JDBC/JMS Adapter

220
Plain HTTP Adapter


The Plain HTTP Adapter is used to receive (send) arbitrary XML in
the body of an HTTP-Post request...

The Sender HTTP-adapter is an ICF service on the Integration Server


(path /sap/xi/adapter_plain).

The Receiver HTTP adapter is configured as a communication channel


in the Integration Directory.

Supports QoS BE, EO, and EOIO (specified in the query string of the
URL).

The HTTP adapter uses HTTP version 1.0, and does not support
returning fault messages to the sender.

221
Plain SOAP Adapter

Sender

Receiver

222
Example: Configure the JDBC Receiver Adapter

223
Example: SOAP Adapter - Receiver

224
Example: SOAP Adapter - Sender

225
Adapter Framework : Unit Summary

You should now be able to:


 Describe the Architecture of the SAP XI Adapter
Framework.
 Detail the functionality of the Adapter Engine.
 Explain central and local Adapter Installations.
 Distinguish between the various adapter types.
 Describe the Partner Connectivity Kit.
 Configuration different adapters to send messages
to and receive messages from the Integration
Server.

226
Business Process Management in SAP PI,
Logical Routing, and Runtime Workbench

Day 4

22
7
Day 4

4a Business Process Management

4b Logical Routing

4c Runtime Workbench

228
Business Processes at Design Time
Business Process as a Repository Object
Integration  Graphical Process Editor
Repository  “Native” access to all process relevant PI design objects:
interfaces, mappings
Business Process  Adheres to standards
(Definition)  Open standards support (BPEL4WS)
 Import/ export of process definitions
Abstract  Abstract Interfaces
Interfaces  Bi-directional (inbound & outbound)
 Used by BPM & RNIF adapter

Business Process Modeling


 Message relevant process elements
 Trigger and receive, send, receiver determination,
transformation (merge & split)
 Process flow elements
 Switch, container operation, control (terminate, throw
exception, throw alert), block (exceptions &
deadlines), fork (parallel sections), loop, wait,
“undefined” (empty)
 Process data (for data declaration)
 Conditions

229
Big Picture – Components
Client J2EE IS
Repository
ProcessEngine

Design PI objects Monitoring


Flow
6
If 1 Business
* * Process
Runtime

5
2

Import Definition
XML-Objects Correlations
Directory
Configuration PI objects
4 Cache-Refresh Process definition
Routings *
Mappings 3 Change
... * *
list Deployment
Rules *

231
Business Processes & Business Scenarios
Business Process can be incorporated in a
Business Scenario
 Representation in a swim lane
 Treated as a Business System
 Navigation from Scenario to Process

232
Business Process Editor

233
Edit area in detail

234
Object area in detail

235
Property area in detail

Receive step

Transformation Step
Restrict Correlation step

236
Output area in detail

Search Result shows all objects


that match the search ciriteria.

Tasks show the result of the Messages show immediate


syntax check (filtering on consequences of user-
severity level possible) interactions (filtering on severity
level possible)

237
Process Step-Types
MESSAGING RELEVANT
RECEIVE Block

SEND

TRANSFORMATION
CK
BLO LE
RECEIVER DETERMINATION MP
EXA
PROCESS FLOW CONTROL RELEVANT
CONTAINER-OPERATION

CONTROL (deadlines, exceptions, alerts)

WHILE LOOP EMPTY

FORK WAIT

BLOCK SWITCH

238
Message Relevant Steps
RECEIVE

You use a receive step to receive a message.

SEND

You use a send step to send either an asynchronous or synchronous


message or an acknowledgment.

TRANSFORMATION

You use a transformation step to change a message inside the process.

RECEIVER DETERMINATION

You use a receiver determination step to get a list of receivers for a


subsequent send step.

239
Flow Control Steps (1)
SWITCH

You use a switch to define different processing branches for a process.

CONTAINER-OPERATION

You use a container operation to set a value for a target container element at
runtime.

CONTROL (deadlines, exceptions, alerts)

You use a control step to do the following to execute process controls (e.g,
terminate a process).

BLOCK
You use a block to combine steps that you want to execute one after the other
and which are to access the same local data.

240
Flow Control Steps (2)
FORK

You use a fork when you want to continue a process in branches that are
independent of each other.

WHILE LOOP

You use a while loop to repeat the execution of steps within the loop.

WAIT

You use a wait step to incorporate a delay in a process.

EMPTY

You use an empty (undefined) step as a placeholder.

241
Process Data
Messaging Relevant Process Data
 Variables typed by abstract interfaces
 Variables typed as receiver
 Read access to message-payload via
 XPath
 Context objects

Process Flow Relevant Data


 Variables typed by XSD simple types (e.g.
used for loop-counter, ...)

Process Trigger
 Via messages (trigger receive)
 Scheduling (batch jobs)

242
Correlations

Correlation Handling
 Routing of messages (Business
Documents) to process instances
 Dependencies rely on business data
(e.g. Message ID, Order ID, Business
Partner ID, Company Code)
 Correlations define these dependencies

243
SAP NetWeaver: Business Process Content
Integration Builder SAP Business Process Content
 PI scenario & process pattern templates (PI
Integration 7.1)
Directory
 SAP solution process content
Business Process (delivered with SAP solutions)
(Configuration)
 Industry standard content
Process Editor

SAP (as e.g. RosettaNet)


References Solutions
Integration
Repository Industry
Business Process Standards
(Definition)

PI Process
Patterns

Workflow
Templates
Patterns
244
Business Process Patterns
Process Serialization
Container
Loop  S_FL1: single message trigger
A type AIF1  S_FL2: multi message trigger
AT type AIF1*
B type AIF2
C type int
Transformations/Merge/Split
Receive
message on A  (N:1)
Correlations  (1:N)
Add 1 to
MyCorrelation C Collect (same IF type/ different IF type)
ID type int
 C_FL1.1: payload-triggered end
Append A
to AT  C_FL1.2: time-triggered end
Process  C_FL1.3: message triggered end
Interface
 C_FL2.1: collect all
AIF1 in
AIF2 out
While  C_FL2.2: collect some (condition
C <> A.number
based)

Transformation Multicast
Merge AT into B
 M_FL1: send in a sequence
 M_FL2: send in parallel
Send
message on B

245
Configuration Time: Integration Directory
A Business Process
Integration  Is identified by a name and belongs to a Party analogous to
Directory a Business Systems
 Contains a reference (link) to its originating repository
Business Process
(Configuration)
process
 Can only be deployed not created in the directory

Routing Rules Business Process Wizard to import Process reference from the
Integration Repository
Routing and Mapping Relations
 Business processes can act as source or target
(sender/receiver) as Business Systems

Process Wizard

246
Runtime

Runtime
 Processes participate in the common cache-
mechanism
 Executable process-definition and depending
objects are created
 Business Process Engine
 Enhancement of
SAP WebAS Workflow Engine
 Stable, proven and robust technology

Monitoring = Technical Monitoring


 Entry from message view (PI runtime)
 Entry from process view (Process runtime)
 Seamless navigation between the monitoring
tools

247
Runtime cache in detail (SXI_CACHE)
Runtime cache viewer knows
Business Processes

Workflow Builder uses same


look and feel as the Process
Builder in IB (tiles and other
concepts)

Business Workflow tools in a


special profile

248
Business Process Monitoring

BPE Monitoring
 Process Instances
 Processes with missed
deadline
 Error Diagnosis
 Restart processes
 RFC Monitor

249
Technical Monitoring of Business Processes
Technical monitoring
 Entry from message view (Integration
Engine)
 Entry from process view (Business
Process Engine)
 Navigation between the monitoring
tools

Integration in
Monitoring Infrastructure
 Process Engine Component Test
(Runtime Workbench)
 Technical Process Monitoring (end-to-
end)
 SAP Alert Framework
 Business Alerts
 SAP CCMS integration
 System failures

250
Current Process Modeling Approaches
Value Value
Business Benefits OEM Importer Dealer Business Benefits
Potential Potential

Business View Up to 50% Reduced delivery Cost advantage $ 800 per


 
via Internet
2 months times Search Request via online sales vehicle**
- 2 weeks* Vehicle Specification/  Reduced days From 75 to
$ 250 per  Cost advantage via and Allocation supply inventory 35 days**

 Business blueprinting
vehicle** online sales Vehicle Locating
 Customer Self-
Up to  Reduction in Planning Information 5.1%***

Scenario Maps/ Solution Maps


14%** Supply Chain Reservation  Interactive
Costs Processing configuration 27.2%***

 Project planning
 Reduced Order  Speed up buying
inventories
Production Order Tracking  Consistent Dealer
 Collect information Database
about customer Tracking  Online informa-tion 7.5%***
requirements and

 High-level executive model


Shipment to customer
preferences
reduces time of
 Improved market Control communication 12.6%***
intelligence
Management/
Transport
 Pooled data on
 Faster reaction to Processing cars available
market trends
Business Analyst
Goods Receipt
 Visibility of tracking
 Increased status
customer  Speed up handing
satisfaction
over
 Increased planning of vehicle
security and quality 5.5%***
 Increased
customer
satisfaction

Static Implementation View


 Implementation information Business Scenarios
 Component view
 Process configuration model
Business Analyst/
Developer

Dynamic Implementation View


 Executable processes Business Processes
 State engine
 Process execution model
IT Specialist/
Developer

251
Unified Business Process Management
Unified Modeling One Architecture for
Environment workflow and
Modeling automated processes
Model driven Design
Implementation as far as Process logic decoupled
possible from applications
Business Process
One common Repository Activity Monitoring
BPM
Configuration Flexible process design
& configuration
SAP Execution
Applications
& Composites, Process Process
Integrated in
Monitoring Execution SAP NetWeaver
SAP PI & Workflow
Business Objects Unified approach for
A2A and B2B
Monitoring Integration
Technical Process
Monitoring
Open Standards
Business Activities
Business Activity Support
Business Events
Monitoring
Enterprise Services
Business Objects

252
Unified BPM: High Level Architecture
MODELING
Co-Development with IDS Scheer AG Unified Modeling UI
based on:
 ARIS Modeling UI
 Unified Look & Feel
 Modeling Views & Roles UI Framework
 SAP NetWeaver Repository
 Versioning REPOSITORY
 Software Logistics
Process Models
 SAP Execution
& Abstractions
 SAP Applications & Composites
 ccBPM (SAP PI)
 Workflow EXECUTION
Composite Application
 Business Objects & Services
 Complementary Monitoring Technology Application Process Engine Workflow
 Technical Monitoring
 Service Infrastructure Monitoring Data Collection

 Business Activity Monitoring (BAM)


MONITORING
 Process Efficiency Monitoring
 Event Resolution Technical BAM

253
Business Process Management : Unit Summary

You should now be able to:


 Understand the need for Business Process Management
in the Integration Scenario
 Create an Integration Process (Business Process) in the
Integration Repository.
 Use a Integration Process (Business Process) in
configuring a scenario.
 Describe runtime aspects of Integration Processes
(Business Processes).

254
Day 4

4a Business Process Management

4b Logical Routing

4c Runtime Workbench

255
Logical Routing : Unit Objectives

After completing this unit, you will be able to:


 Make the relevant settings for logical routing in the
Integration Directory.
 Check the runtime procedure by using the monitoring
for processed XML message and understand the logical
routing step in the XML document.

256
Logical Routing: Receiver Determination

The first step in the pipeline is logical routing. It consists of two smaller steps: the receiver
and interface determination.
257
Object Receiver Determination

The receiver
determination
determines from the
configuration the valid
receivers for a sender
communication
component with a
sender interface.

258
Message Monitoring

259
Logical Routing: Interface Determination

Interface determination in the Integration Directory

260
Message Branching

If more than one receiver is determined by the receiver determination, the


message is copied for each receiver - after the interface determination. This is
known as message branching.

261
Pipeline Technical Routing

As the last step of the pipeline, the


technical routing defines how the
receiver message is to be sent to the
receiver. A communication channel
is referenced by a receiver
agreement.
Receiver Agreement in the Integration
Directory

262
Technical Routing Receiver Agreement

Each concrete scenario of the required communication channel will be set in the receiver agreement
object..
The object includes the sender communication component, receiver with inbound interface, and receiver
adapter, and is represented by the communication channel.

263
Configuration Objects in Receiver Determination

264
XML Validation in The AAE

265
Logical Routing : Unit Summary

After completing this unit, you will be able to:


 Make the relevant settings for logical routing in the
Integration Directory.
 Check the runtime procedure by using the monitoring
for processed XML message and understand the logical
routing step in the XML document.

266
Day 4

4a Business Process Management

4b Logical Routing

4c Runtime Workbench

267
Runtime Workbench: Unit Objectives

After completing this unit, you will be able to:


 Explain the purpose of the Runtime Workbench.
 Describe the capabilities of the Runtime Workbench.
 Monitor messages, performance, and components in
the Runtime Workbench.
 Describe the capabilities of End-to-End monitoring.
 Detail the alert capabilities of the Runtime Workbench.

268
PI Component Overview

Shared Collaboration Execution of Collaborative


Knowledge Business Processes

Integration Builder Central Monitoring

SAP
Systems

3rd Party
Integration Integration Integration Systems
Repository Directory Server
3rd Party
(IR) (ID) (IS) Middleware
Component
Marketplace/
Business
Partner

System Landscape Directory (SLD)

269
Runtime Workbench overview

Central point of access: XI Runtime


Workbench
Smooth integration with CCMS
Easy Configuration
 Exploiting System Landscape Directory
 Consistent look-and-feel in UI

Improved Error Handling


 Errors classified by error cause

270
Monitoring – Message Monitoring

Central Monitoring

System Landscape
Message
Monitoring
PMI Based on SAP
Component standard monitoring
Runtime CCMS
Monitoring solutions
Workbench

Directory
(RWB) Performance
Analysis Used by End-to-End
Message Alerting monitoring to
Alerting Framework construct instance
view

Integration Server Available for XI


SAP
(SAP Web AS  6.40)
Application (decentral) J2SE component with
Business Adapter Adapter persistence
Process Engine SAP Web AS  6.40, Engine Engine
using XI proxies
Integration Engine

Adapter Engine

271
Monitoring – Component Monitoring

Central Monitoring

System Landscape
Message
PMI
Monitoring
Smooth integration
Runtime Component
Monitoring
CCMS with CCMS (easier,
Workbench

Directory
(RWB) leaner)
Performance
Analysis
Message Alerting
Monitoring of ABAP
Alerting Framework and Java
components

Integration Server SAP Improved error


(SAP Web AS  6.40) Application (decentral) J2SE handling
Adapter Adapter
Business SAP Web AS  6.40, Engine Engine
Process Engine using XI proxies

Integration Engine

Adapter Engine

272
Monitoring – Performance Analysis
Central Monitoring
Message

System Landscape
PMI
Monitoring
Component
Runtime CCMS
Monitoring
Workbench
(RWB) Performance
Enhanced

Directory
Analysis
Message Alerting
performance statistics
Alerting Framework
Measuring of
throughput and
Integration Server latency (‘processing
(SAP Web AS  6.40) SAP time’)
Application (decentral) J2SE
Business Adapter Adapter
Process Engine SAP Web AS  6.40,Engine Engine Selection and
using XI proxies aggregation of
performance data by
Integration Engine
- XI component
- Time range
Adapter Engine - Message attributes

273
Monitoring - Alerting

Central Monitoring
Message
PMI
Monitoring

System Landscape
Component
Runtime CCMS
Monitoring
Workbench
(RWB) Performance
Analysis

Directory
Message Alerting
Alerting Framework Based on Central
Alerting Framework

Integration Server Active Monitoring


(SAP Web AS  6.40) SAP (alerts being sent by
Application (decentral) J2SE
Business
Adapter Adapter
e-Mail, SMS,…)
Process Engine
SAP Web AS  6.40,Engine Engine
using XI proxies
Integration Engine

Adapter Engine

274
PI 7.1RWB – Component Monitoring

Component Monitoring:
Monitoring of ABAP and Java components
Central viewing of component‘s connection
status in a specific domain.
Ping of system and sending of messages to
components via a self-test area.

275
Component Monitoring features


Two different views: PI components can be
displayed either in Table or Tree format. 


 Selecting associated information: For ABAP
components, specific configuration parameters are
displayed as defined in TC SXMB_ADM. For Java
components, system settings as well as Aii-
Properties are displayed as defined in the exchange
profile

276
Sending Test Messages

277
PI 7.1 RWB – Message Monitoring

Message Monitoring
Harmonization of different message monitors
 Integration Engine
 Adapter Framework (J2EE)

All message monitoring centrally accessible through


RWB
Monitoring locally available as well
 at least for partner connectivity kit

278
Message Monitoring – Message Details

• To see the detailed information about


a message, select the radio button for
the message and choose Details.
• To view the individual versions of the
message (as in transaction
SXI_MONITOR), choose Message
Content.
• You can also view referencing and
referenced messages.

279
PI 7.4 RWB – End-to-End Monitoring/Configuration

Configure

Monitor

280
End-To-End Monitoring At a Glance

Overall process status

Statistics

Graphical representation of
Status of monitoring tool process or instance flow
itself

281
End-To-End Monitoring – Prerequisites
Activate the Process Monitoring Infrastructure Monitoring by setting respective configuration
parameter in TC SXMB_ADM

282
End-To-End Monitoring - Configuration
After configuration, choose button “Save Configuration” to activate the End-To-End
Monitoring

Select business system to be Select level of Configure as sending or


involved monitoring receiving system

283
End-To-End Monitoring – Monitoring Status

Displays internal error


messages derived from self-
monitoring in CCMS

Deletes error messages;


corresponding alerts in CCMS
Frequency of updating process are completed
monitoring data

Starts update
immediately

284
End-To-End Monitoring – Process Overview
Choose status symbol or attributes (e.g. warning, error, success) to display
corresponding process instances

285
End-To-End Monitoring – Instance View
Choose message to switch to instance view providing tracking
information

Duration of message

Components
involved

286
Performance Statistics - Example

287
PI 7.1 Alert Configuration

| Alert-Configuration

Alert-Configuration
Objective: Active Monitoring
CCMS Alerts + message-oriented alerts
Based on SAP’s Basis Alert Framework
Alerts propagated through E-Mail, SMS, …

288
Creating A New Alert Rule (2)

289
PI 7.1 RWB – Cache Monitoring

290
PI 7.1 RWB - Summary

Central access to monitoring


Component Monitoring
End-to-end Message Monitoring
Performance Measurement across distributed XI
landscape
Integration with Basis Monitoring solutions:
• CCMS
• PMI
• Alert Framework
Unified User Interface (UI)
Easy monitor configuration

291
Runtime Workbench: Unit Summary

You should now be able to:


 Explain the purpose of the Runtime Workbench.
 Describe the capabilities of the Runtime Workbench.
 Monitor messages, performance, and components in
the Runtime Workbench.
 Describe the capabilities of End-to-End monitoring.
 Detail the alert capabilities of the Runtime Workbench.

292

You might also like