governance for modeling and implementing enterprise ... - sap · pdf filesap mysap erp crm srm...

28
Governance for Modeling and Implementing Enterprise Services at SAP Enterprise SOA Solution Management, SAP AG Walldorf, April 2007

Upload: vananh

Post on 13-Feb-2018

222 views

Category:

Documents


1 download

TRANSCRIPT

Governance for Modeling andImplementing EnterpriseServices at SAPEnterprise SOA Solution Management,SAP AG

Walldorf, April 2007

Introduction

Harmonized Enterprise Model

PIC Process and Enterprise Services Community Process

Implementation and Life Cycle

Summary

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 3

Business process platform

Portal Devices Office RFID

SAP xAppscomposite applications powered by SAP NetWeaver

Rendering

Processcomponents

EnterpriseServices

Repository

Sub-sidiary

Bus.partner

Home-grownor ISV

SAP

mySAPERP

mySAPCRM

mySAPSRM

Businessobject

BO BO

Exposed asenterprise services

Business Process Platform

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 4

Business process platform

Portal Devices Office RFID

SAP xAppscomposite applications powered by SAP NetWeaver

Rendering

Processcomponents

EnterpriseServices

Repository

Sub-sidiary

Bus.partner

Home-grownor ISV

SAP

Enterprise Services in Business Process Platform

Structure ofenterprise services

Service implementation//create with external keypublic java.lang.String ejbCr

throws BOCreateEeif (! throw new BOPermion

Service interface

Glue code//create with external keypublic java.lang.String ejbCr

throws BOCreateEeif (! throw new BOPermion

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 5

What Is an Enterprise Service?

An enterprise service is a callable entity that provides businessfunctionality and is published by SAP in the Enterprise Services

Repository. Enterprise services are structured according to a harmonizedenterprise model based on global data types (GDTs), process components,

and business objects. They are well documented, safeguard quality andstability, and are based on open standards.

Published in the EnterpriseServices Repository

Safeguarded interface stability

Well-documented contractand behavior

Based on open standards(WSDL, XML, SOAP, and so on)

Enterprise service

Structured according to harmonized enterprisemodel (process components,

business objects, interface patterns, and GDTs)

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 6

What Would Consumers of Enterprise Services Expect?

Enterprise services should beEasy to discover (have a harmonized classification scheme)Easy to understand (business language)Easy to invoke (based on open standards)Have a stable interface and stable behavior (well-defined life cycle)

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 7

Guidelines and Patterns

Common guidelines and patterns for modeling and implementationof enterprise services make life easier for service consumers

SAP has already put many product and process standards intoplace that also apply to enterprise services

For enterprise services, additional guidelines and patterns exist ondifferent levels

Map of process component and business objects (BOs)Service interfaces and service operations per BOStructure of message types (= signature of service operations)Common set of reusable data typesTransactional behavior at runtimeService implementation (business application code)

Introduction

Harmonized Enterprise Model

PIC Process and Enterprise Services Community Process

Implementation and Life Cycle

Summary

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 9

Harmonized Enterprise Model

Harmonized enterprise model

Achieved by modeling all enterprise services according to rules forService definition and service cutService signatureElement definition stored in a common dictionary( global data types)

The process integration content (PIC) governance process takes care forcompliance with the rules

PIC 0 for service definition and cutPIC 1.3 for service signatureGDT PIC for new elements

All changes of already shipped enterprise services are reviewed once again tosafeguard compliance and interface stability

ARIS is used for modeling of the service definition and service signature

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 10

Service Definition

Based onBusiness objects

A business object represents a specific view on well-defined and outlinedbusiness content. Business objects are defined free of business functionalityredundancies.

Process componentsProcess components group business objects. A business object belongs toexactly one process component. Process components describe a part of thevalue chain. That part is typically executed by one department (in largecompanies).

Deployment unitsA deployment unit is a group of decoupled process components that can beoperated separately.

Service operationsAn operation belongs to exactly one business object. A business object hasmultiple operations.

Service interfacesA service interface is a grouping of operations.

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 11

Service Cut Based on Interface Patterns

Define rules foroperation

granularity

Manage <BO>

<BO> Create request Create <BO>

<BO> Create confirmation

<BO> Change request Change <BO>

<BO> Change confirmation

<BO>

<BO> Cancel request Cancel <BO>

<BO> Cancel confirmation

<BO> By ID query Read <BO>

<BO> By ID response

<BO> Update request Update <BO>

<BO> Update response

<BO> Check query Check <BO>

<BO> Check response

Define proposals andrules for naming

and definition

Define rules forgrouping operations

into interfaces Example: Manage <BO> Interface

Service cut based oninterface patterns to safeguardefficiency and harmonization,based on standardized, cross-solution approach

Patterns incorporatetransactional communicationpatterns

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 12

Transactional Communication Patterns

Sender Receiver

QueryResponse

RequestConfirmation

Notification

Information

Database update

Asynchronous

only

Synchronousor

asynchronous

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 13

approved

Due Item Process ing

Due Payment

approved

TradeReceivablesPayables ...

approved

Due Clearing

approved

VATDeclaration

new

TradeReceivablesPayables.. .

approved

approved

Due Item Process ing

Due Payment

approved

TradeReceivablesPayables ...

approved

Due Clearing

approved

VATDeclaration

new

TradeReceivablesPayables.. .

approved

Due Payment

approved

TradeReceivablesPayables ...

approved

Due Clearing

approved

VATDeclaration

new

TradeReceivablesPayables.. .

approved

Model Overview: Business Object Map

Processcomponent

(drill down indetailed model)

Businessobject

Deploymentunit

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 14

Model Drilldown: Process ComponentEnterprise Service

Businessobject

ServiceInterface

ServiceOperation

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 15

Service Signature Definition

Modeling of business objects is used to derive servicesignatures to safeguard

Harmonization of message structures across different serviceoperations for the same business object

All messages for one business object are based on the samestructure, which is the structure of the business object

Each service operation utilizes messages for communication

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 16

Global Data Types: The Basic Elements of ServiceSignatures

GDT

MDT

MT

SO

Message data type = GDT + logSuffix: messageReuse by projectionPart of SAP global (data type)

Global data type = reusable elements stored in a commondictionary for enterprise services

Message type = signature for service operationPart of SAP Global (message type)

Service operation

Introduction

Harmonized Enterprise Model

PIC Process and Enterprise Services Community Process

Implementation and Life Cycle

Summary

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 18

Governance for Enterprise Services: PIC Process

The entire enterprise service definition process consists ofPIC 0: service definition and cutPIC 1: raw design of interfaces based on business object modelGDT – PIC: harmonized definition of relevant data typesPIC 3: finial interface definition including element structure with alldetailsService implementation in ES Repository and back end

Service definition

PIC 0 PIC 1 GDT- PIC PIC 3Enterin ES

Repository

ImplementationRaw designDecision onservice cut

GDT PICreview

SAP established the PIC governance process for thecreation and definition of enterprise services

Final design

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 19

Outside-In: Enterprise Services Community Process

Select

quarterly

LongList

use cases

ShortList

Prioritize,consideringdependencies

DECIDE

Committed Outcome

Community Definition Groups

SAPArchitects

DEFINEcollaboratively

DELIVERsemi-annually

ES Bundles

DEPLOYon SAP ERP 2005

DEVELOP DECLARE

Collaborative Process

Roadmap-Driven TrackSAP’s plans to service-enablemySAP Business Suite

Stakeholder-Driven TrackCustomers / partnersdeciding how SOA drivesbusiness value

Confirmationof SAP plans

Breakthroughinnovations

Necessarybut not obvious

Introduction

Harmonized Enterprise Model

PIC Process and Enterprise Services Community Process

Implementation and Life Cycle

Summary

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 21

Guidelines for Service Implementation

Enterprise services should technically behave in the samemanner concerning the following features

Transactional behavior– Enterprise services are stateless: each service call is an

atomic transaction– COMMIT logic: all services perform database updates in local

update task– Reliable and exactly once execution of service calls safeguarded

Error-handling– Errors are always returned in the same structure using the GDT log as a

mandatory element of response and confirmation messages

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 22

Change Management – Key Principles

Enterprise services are built for a high level of reuse insideand outside of SAP software

Keeping released services stable is key

The level of stability needs to be known and common for all enterpriseservices

However, the following interests need to be balancedProtect our customers’ and partners’ investments in integration scenarios andcomposite applications that leverage enterprise services

Evolve and extend enterprise services – if possible compatibly, avoiding anunnecessary flood of services, although incompatible changes might becomenecessary

Safeguarding StabilityReleased service operations can be changed only

in a compatible manner.Incompatible changes require that

new service operations are introduced,and the old ones are deprecated.

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 23

Which Changes Are Compatible – Two Rules of Thumb

A change to a service operation is (backward) compatible if anyapplication consuming the unchanged operation

can consume the changed operation and retain its own functionalitywithout having to be adjusted in any way

A change to a service operation is (backward) compatible if under thesame conditions, the original and changed operations return the sameoutput when receiving the same input, with the changed operation’s

output projected to the original operation’s output structure

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 24

Which Changes Are Compatible – Syntactic Compatibility

A change must be at least syntactically compatible to becompatible

SAP-accepted rule

A service operation change is syntactically compatibleif only optional elements or attributes are added to an element of

complex type in input or output message type

All other changes are considered syntactically incompatible

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 25

Service Operation Deprecation and Maintenance

Release N-1 Release N Release N+1 Release N+2

Release N-1 Release N Release N+1 Release N+2

Compatiblechange

Incompatiblechange

Service op. Hugo Service op. Hugo

Service op. Hugo_V1

Service op. Hugo

Released Deprecated:maintenance

Revoked:throws exception

Removed: out ofmaintenance

Released

ReleasedCompatible change

released

Introduction

Harmonized Enterprise Model

PIC Process and Enterprise Services Community Process

Implementation and Life Cycle

Summary

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 27

Summary

Governance is crucial for the success of enterprise SOA to providea consistent set of enterprise services following common guidelinesand patterns

How do we take care that SAP enterprise services adhere tocommon guidelines?

Modeling and implementation guidelines are mandatory for every (new)service developmentSpecial review process has been installed with several quality gates(reviews by PIC council)

And in additionManual and automated tests are executed regulary for every serviceoperation to safeguard functional correctness

SAP AG 2007, Governance for Modeling and Implementing Enterprise Services / 28

Copyright 2007 SAP AG. All Rights Reserved

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may bechanged without prior notice.

Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.

Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.

IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, System i, System i5, System p,System p5, System x, System z, System z9, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, POWER5+, OpenPower and PowerPC aretrademarks or registered trademarks of IBM Corporation.

Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries.

Oracle is a registered trademark of Oracle Corporation.

UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.

Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.

HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.

Java is a registered trademark of Sun Microsystems, Inc.

JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape.

MaxDB is a trademark of MySQL AB, Sweden.

SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registeredtrademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies.Data contained in this document serves informational purposes only. National product specifications may vary.

The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express priorwritten permission of SAP AG.

This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments,and functionalities of the SAP® product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that thisdocument is subject to change and may be changed by SAP at any time without notice.

SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other itemscontained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability,fitness for a particular purpose, or non-infringement.

SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. Thislimitation shall not apply in cases of intent or gross negligence.

The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained inthese materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.