Provides an overview of popular integration approaches, maps them to SAP's integration tools and concludes with some lessons learnt in their application.
Why Teams call analytics are critical to your entire business
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
1.
2. Naviga&ng
SAP’s
Integra&on
Op&ons
Lessons
Learnt
Integra&ng
SAP
into
a
Complex
Landscape
Sascha
Wenninger
@sufw
3. About Me
Technical Architect
Focus: SAP Integration
Opinionated
Co-founder of Blue T
SAP Mentor
Wannabe Performance Engineer
Enterprise IT !== Boring
3
34. Remember the OSI Model?
34
7 Application
6 Presentation
5 Session
4 Transport
3 Network
2 Data Link
1 Physical
More or less leaky abstractions
Inherently Synchronous
39. SAP
BW
39
Inbound Data Layer
Transformation Layer
Reporting Data Layer
Reporting Tool Visualisation Tool
Source System, e.g. SAP ERP
Extractor
Process Chain
Process Chain
Queries
Browser access
40. SAP
BW
40
Source System A
Transformation Layer
Reporting Data Layer
Reporting Tool Visualisation Tool
Source System B
Source System C
Source System D
Source System E
Inbound Data Layer
57. Criteria: Synchronicity
57
Fire
&
Forget! Asynchronous@ Synchronous$
ETL ✔ ✔
File Transfer ✔
Message-Based ✔
SOA ✔ ✔
REST ✔ ✔
!
No
technical
acknowledgment
received
by
Sender
@
Technical
(delivery)
acknowledgment
received
by
Sender
$
Request/Response
communicaVon
58. Criteria: Data or Functionality?
58
Data-‐Centric Func&onality-‐Centric
ETL ✔
File Transfer ✔
Message-Based ✔
SOA ✔
REST ✔
62. Best for Caution with
• SAP’s Middleware product.
–Origins in EAI, Message-based integration
–XML-centric, many protocol adapters
–Design-time SOA features, file transfer capabilities
62
PI: Process Integration
•Push-oriented integration
•XML data formats
•Stateless processing
•e.g. Message Router, Channel or
Translator patterns
•High-volume synchronous scenarios
•Large (~200MB+) messages
•Scenarios requiring keeping state
•e.g. collect, distributed transactions, etc.
•B2B integration
63. Best for Caution with
• SAP’s “middleware stack”: PI 7.3 + BPM + BRM
–Java-only installation with much improved (10x!) runtime performance
–Next-gen NetWeaver BPM runtime for stateful processing
63
PO: Process Orchestration
•Push-oriented integration
•XML data formats
•Stateless processing
•e.g. Message Router, Channel or
Translator patterns
•High-volume synchronous scenarios
•Large (~200MB+) messages
•Short timeframe projects (skills availability)
•B2B integration (although investment is
increasing)
64. Best for Caution with
• SAP’s ETL Tooling: Extract > Transform > Cleanse > Load
–Bulk data transfers at the database level
–Useful for replicating content of data warehouses
64
BODS: BusinessObjects Data Services
•Data-centric integration
•Pull-oriented integration
•Large volume of data
•Low frequency, high latency
•Data quality enforcement
•Bulk loads into HANA
•Application-to-Application integration
•Lower latency requirements
•Infrequently-changing data
•Granular information
65. ALE - specifically IDocs
65
• SAP-proprietary message-based integration
• Well integrated into SAP applications, some heavily rely on it.
–Slowly being supplanted by web services, but not yet.
• Mature and feature-rich
Best for Caution with
•Integrating standard functionality of
different SAP applications with each other
•Forward Error Handling
•Processing messages in bulk, or in
sequence
•Integrating applications not built by SAP.
•Can enhance “Fortress SAP” perceptions
•Enhancing/extending standard IDocs
67. ABAP Batch Jobs
• "The 80's called, they want their integration back"
• Nevertheless still useful in some cases
–But use XML.Tab-delimited files should have gone extinct in the 80s.
67
Best for Caution with
•Fire & Forget asynchronous transfer
•Long-running "message" creation
•Often lowest-common denominator
•Outbound from SAP ;-)
•SAP on the inbound side; error handling is
generally bespoke.
•High-volume or high-frequency
interactions
68. Best for Caution with
• SAP’s Web Service Layer
–translates XML to ABAP, and back
68
ABAP Proxies
•Proper outside-in web service design
•Logging
•Idempotency
•Forward Error Handling
•WS-* support
•Relying only on ESR modeling
•Some industry-standard XML Schemas
NW ABAP (e.g. ECC, CRM)
BAPI
ABAP Classes
ABAP
Proxy
Layer
SOAP
Client
69. Best for Caution with
• SAP’s REST-inspired OData API Layer for:
–Business Suite
–HANA
–NW BPM, Business Workflow
–etc.
69
NetWeaver Gateway
•Functionality-centric integration
•Pull-oriented integration
•Client/server architectures
•Multi-request interactions
•Exposing public APIs directly.
•Formats other than OData or JSON
NW ABAP (e.g. ECC, CRM)
BAPI
ABAP Classes
Workflow
ECC/CRM
etc.
NW BPM
NW
Gateway
JSON/
OData
Client
70. Best for Caution with
• SAP’s generic HTTP Server Layer
–direct access to HTTP requests
–hand-craft responses to include any content.
70
ABAP HTTP Handlers
•Complex, functionally-rich REST APIs
•Intimate control over content:
•from Plain-text to Binary
•Interesting 'hacks'
•Large numbers of 'cookie-cutter' interfaces
•requires hand-crafting
•Learning curve
NW ABAP (e.g. ECC, CRM)
BAPI
ABAP Classes
ABAP
HTTP
Handler
HTTP
Client
77. Modeling XML using ESR Data Type objects is too restrictive:
Time-consuming
Cannot extend elements
No abstract types
No xs:choice, xs:all, xs:any, etc.
Poor support for industry-standard XML Schemas
Lots of work-arounds...
77
94. Further Reading
Enterprise Integration Patterns (Hohpe & Woolf). The Book and the Site.
Positioning Process Integration and Data Services, by SAP
The Practical Science of Batch Size, by Don Reinertsen. Video and slides.
Comments on the SOA Manifesto, by co-author Stefan Tilkov
94