navigating sap’s integration options (mastering sap technologies 2013)

94

Upload: sascha-wenninger

Post on 14-Dec-2014

1.122 views

Category:

Technology


0 download

DESCRIPTION

Provides an overview of popular integration approaches, maps them to SAP's integration tools and concludes with some lessons learnt in their application.

TRANSCRIPT

Page 1: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
Page 2: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

Naviga&ng  SAP’s  Integra&on  Op&ons  Lessons  Learnt  Integra&ng  SAP  into  a  Complex  Landscape

Sascha  Wenninger@sufw    

Page 3: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

About Me

Technical Architect

Focus: SAP Integration

Opinionated

Co-founder of Blue T

SAP Mentor

Wannabe Performance Engineer

Enterprise IT !== Boring

3

Page 5: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

There were files.

5

Page 6: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

Then came RFC

6

Page 7: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

7

Page 8: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

So What Do You Choose?

8

Page 13: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

?

Page 14: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

TINLOTR

Page 15: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
Page 16: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

One Integration Approach to Rule them All

Page 17: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

One Integration Approach to Rule them All

Page 18: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

One ____________ to Rule them All

Page 19: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

One ____________ to Rule them All

Page 20: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

Use the Right Tool for the Job!“Right  Tool  for  the  Job?”,  by  Bruce  Murray

Page 22: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

22

Back to First Principles

Page 23: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

Push or Pull?That is the Question.

23

Page 24: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

24

Data  Flow

A BSource DesVnaVon

Page 25: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

25

A B

Actual  IntegraVon?

A  sends  to  B

A BB  fetches  from  A

or

Page 26: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

26

A knows B

Low latency easy

A is active party

A has control

A may not know B

Low latency possible

B is active party

B has control

A B A B

Page 30: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

They’re the only binary choices you have to make!

30

Page 31: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

<sidebar>

31

Page 32: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

Synchronous == Best Effort, “Kiddie Stuff”

Asynchronous == Reliable, Guaranteed Delivery, “Enterprisey”

32

Page 33: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

Synchronous == Best Effort, “Kiddie Stuff”

Asynchronous == Reliable, Guaranteed Delivery, “Enterprisey”

33

Page 34: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

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

Page 35: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

Everything in Computing is Ultimately Synchronous!

35“Turtle  Tower”,  by  Andreas  Al

Page 36: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

36

(It’s all about error handling!)

Page 37: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

</sidebar>

37

Page 38: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

For Example:

Getting data into an Enterprise Data Warehouse

(using SAP BW as an example)

38

Page 39: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

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

Page 40: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

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

Page 41: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

41

A

B

CD

BWE

“Blue  Marble  Next  GeneraVon,  Raw  Bathymetry”,  by  NASA  Visible  Earth

Page 42: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

42

Page 43: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

43

A

B

CD

BW

“Blue  Marble  Next  GeneraVon,  Raw  Bathymetry”,  by  NASA  Visible  Earth

E

Page 44: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

44

Best Bets for Push vs. Pull Decisions

n Sources, 1 Target

1 Source, n Targets

“dumb” Source

No/few intermediaries

Many intermediaries

Low latency needed

Page 45: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

45

Shared Database

ETL (Extract, Transform, Load)

File Transfer

Message-Based

SOA (Service Oriented Architecture)

REST

h1p://www.flickr.com/photos/marktee/7545627352

Page 46: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

46

Shared Database

Page 47: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

47

Shared Database

Page 48: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

ETL: Extract, Transform, Load

48

Page 49: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

File Transfer

49

Page 50: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

Message-Based

50

Page 51: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

SOA: Service Oriented Architecture

51

Page 52: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

REST: Representational State Transfer, aka “Web APIs”

52

Page 54: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

54

Criteria: Data Volume

1 kB 10 kB 100 kB 1 MB 10 MB 100 MB 1 GB

ETL

File Transfer

Message-Based

SOA

REST

Page 55: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

55

Criteria: Frequency

1/week 1/day 1/hour 1/min 1/sec 10/sec

ETL

File Transfer

Message-Based

SOA

REST

Page 56: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

56

Criteria: Application Capabilities

None Rudimentary Intermediate Sophisticated

ETL

File Transfer

Message-Based

SOA

REST

Page 57: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

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

Page 58: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

Criteria: Data or Functionality?

58

Data-­‐Centric Func&onality-­‐Centric

ETL ✔

File Transfer ✔

Message-Based ✔

SOA ✔

REST ✔

Page 60: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

60

Page 61: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

61

Page 62: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

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

Page 63: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

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)

Page 64: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

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

Page 65: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

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

Page 66: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

66

Page 67: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

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

Page 68: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

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

Page 69: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

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

Page 70: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

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

Page 72: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

72

PI PO BO  DS ALE/IDocs

ETL ✔

File Transfer ✔ ✔ ✔

Message-Based ✔ ✔ ✔

SOA ✔ ✔

REST

Page 73: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

73

Batch  Jobs ABAP  Proxies Gateway HTTP  Handler

ETL ✔

File Transfer ✔

Message-Based ✔

SOA ✔ ✔ ✔

REST ✔ ✔

Page 74: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

74

Page 76: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

Think XML Schema

76

Page 77: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

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 SchemasLots of work-arounds...

77

Page 78: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

78

0%! 20%! 40%! 60%! 80%! 100%!

ABAP Proxy!

ESR!Supported!

Partially Supported!Not Supported!

Page 79: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

♲Plan for reuse at the right level!

79

Page 80: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

80

♻✔

♻✔ ♻?

Page 82: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

Reusableor

82

Future Legacy?Cumbersome?One Size Fits None?Regression Testing Nightmare?

Page 85: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

Don’t try to predict the future. You will be wrong.

If in doubt, leave it out.

“As simple as possible”

Plan to refactor to improve!

85

Page 88: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

88

Page 89: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

89

Business value over technical strategy

Evolutionary refinement over pursuit of initial perfection

Page 90: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

Main Message

90http://tomfishburne.com/2012/07/one-size-fits-none.html

Page 91: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

Key Points to Take Home

You will need more than one tool.

Get the interaction right.

Aim for simplicity. This helps implementation and support.

91

Page 92: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
Page 93: Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)

Sascha Wenninger

@[email protected]+61 403 933 472