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.