Upload
buinhu
View
223
Download
5
Embed Size (px)
Citation preview
Service
Provisioning
Disclaimer
This presentation outlines our general product direction and should not be
relied on in making a purchase decision. This presentation is not subject
to your license agreement or any other agreement with SAP. SAP has no
obligation to pursue any course of business outlined in this presentation
or to develop or release any functionality mentioned in this presentation.
This presentation and SAP's strategy and possible future developments
are subject to change and may be changed by SAP at any time for any
reason without notice. 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 assumes no responsibility for errors or omissions in
this document, except if such damages were caused by SAP intentionally
or grossly negligent.
Service
Provisioning
© SAP 2007 / Page 3
Services
Discovery
Process
Innovation
Process
Composition
Service
Provisioning
enterprise SOA Operations
enterprise SOA Lifecycle Management
Service
Consumption
Module 4:
Service Provisioning and Governance
Mediating
Services
Service
Provisioning
Module 4:
Service Provisioning and Governance
© SAP 2007 / Page 4
Target:
Understand the difference between inside-out and
outside-in service development
Understand the importance for a strict governance
process regarding service provisioning
Understand the SAP development methodology for
enterprise services
Understand the role of and the need for a central
Services Repository
Service
Provisioning
© SAP 2007 / Page 5
1. enterprise SOA Service Development Governance Process
2. Investment Approval Process - Service Design Example
3. Service Implementation
4. Summary
Agenda
Service
Provisioning
Inside-Out
Start with (existing) implementation in the backend system
Interface semantics pre-defined and reflect directly implementation
(virtual Interfaces allow some view-like mappings)
Outside-In
Central design of interfaces that make business sense in SAP NetWeaver
Enterprise Services Repository
Using global data types
Reference to Governance Process
Generation of proxies from abstractly modeled interface
Implementation of “glue code” between proxy and business function
Implementation can be changed without changes in interface
Service Development approach
- Recommended -
Service
Provisioning
Enterprise Service characteristics
© SAP 2007 / Page 7
Enterprise
Services
Web-Service
RFC, BAPI
Characteristics of
Enterprise Services
Business functionality
Global Data Types
Open standards
Documentation
ESR
Harmonized Enterprise Model
Degree of Harmonization & Standardization across SAP Solutions
Ha
rmo
niz
atio
n &
Sta
ndard
iza
tio
n E
ffo
rt
Service
Provisioning
Harmonized Enterprise Model:
The SAP Business Object Model
© SAP 2007 / Page 8
Process
component
Process components
describe a part of the value chain. That part is typically executed by
one department (in large companies).
Process Components are therefore logical groups of business
objects.
Deployment units
Are groups of decoupled process components that can be operated
separately.
<Service Operation>
Service operations
Each belongs to exactly one business object. A business object has
multiple operations.
<Service Interface>Service interfaces
Are groups of service operations.
<Business
Object>
Business objects
Represent a specific view on well-defined and outlined business
content. Business objects are defined free of business functionality
redundancies.
A business object belongs to exactly one process component.
Service
Provisioning
Securing Business functionality:
Patterns
© SAP 2007 / Page 9
Asynchronous
services
(A2A and B2B)
Request confirmation
Notification
<BO 1> Outbound process
agent<BO 2>Inbound process
agent
Reservation
Synchronous
outbound proce...
Outbound process
agent
Inbound process
agentOutbound process
agent
Inbound process
agent
Replication
Synchronous
services
Manage BO
(for master data objects)
Manage BO
(for business process objects)
Specific value help for BO
BO action
Query BO
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
Rules for grouping of
service operations
into interfaces
Rules for operation
granularity and
naming
Rules for naming
of message types
Rules for implementation guidelines (Communication Patterns)
Request/Confirmation Query/Response Notification Information
Service
Provisioning
Global Data Types
© SAP 2007 / Page 10
Global Data Type
CCTS Core Data Type
W3C Data Type
n
1
n
1
Business
Semantics
no
Business
Semantics
• Delivery Terms
• Address
• ProductID
• Amount
• Binary Object
• Code
• Date Time
• Identifier
• float
• String
Re-usable Data Type
SAP-wide approved
Business-related subject matter
Usage-neutral
Maximally-defined Data Types
Documented in accordance with the
documentation templates
Based on international standards
Defined in ES Repository using XML
Basis for further Data Types
1. Core data types and aggregated data types are modeled
according to UN/CEFACT Core Component Technical
Specification, or CCTS for short (ISO 15000-5).
2. The description of the modeled data types as XML schema in
the ES Repository complies with the guidelines of UN/CEFACT
XML Naming and Design Rules for CCTS (XMLNDR), which
describes the unique XML schema serialization of data types
based on CCTS.
Service
Provisioning
Enhanced Web Service Meta Model
© SAP 2007 / Page 11
Patterns
Service Description
based on WSDL & XSD
Service
Service Interface
Service Operation
Data Type(Message Type)Definition; XML
Schema
Global Data Types
Interface Pattern
Communication Pattern
Input
Output
Fault
references
*
1
1
1..*
1..*
*
*
1
*
*
0..1
0..1
Business Object Model
Process Component
Business Object
Deployment Unit
0..1
0..1
1..*
1..*1
1..*
1..*
1
*
*
easy search and discovery
through unambiguous
classification
business logic based on
defined business objects
meaningful granularity
through business object
assignment
easy search and discovery
through unambiguous
naming conventions
meaningful granularity
through predetermined
operations
reusability through
predetermined operations
well known service
behavior
same business context always represented
by the same Data Type
easy composition through no/easy
conversions and mapping
use of open semantic standards
Service
Provisioning
© SAP 2007 / Page 12
1. enterprise SOA Service Development Governance Process
2. Investment Approval Process - Service Design Example
3. Service Implementation
4. Summary
Agenda
Service
Provisioning
eSOA experience Workshop
© SAP 2007 / Page 13
Enterprise Service:
Model Service Interface –
ESR
Create Proxy Classes and
Implement Service - Abap: SE
80, Java: NWDS/CAF,
Publish Service
Generating Web Service for
Rule – SAP NetWeaver BRM
Rules
Roles
UI
Workflow
& Task
Event
Data
Process Context
Create Claim
Analyze Budget Impact
Analyze Resource Impact
Rules
Roles
UI
Workflow
& Task
Event
Data
Process Context
Create Claim
Analyze Budget Impact
Analyze Resource Impact
Out
of
stock
Product
15 min
Reple-
nish-
ment
order
Out
of
stock
Product
15 min
Reple-
nish-
ment
order
ESR
Responsible
Rules
Roles
UI
Workflow
& Task
Event
Data
Process Context
Create Claim
Analyze Budget Impact
Analyze Resource Impact
Rules
Roles
UI
Workflow
& Task
Event
Data
Process Context
Create Claim
Analyze Budget Impact
Analyze Resource Impact
Out
of
stock
Product
15 min
Reple-
nish-
ment
order
Out
of
stock
Product
15 min
Reple-
nish-
ment
order
ABAP/Java
Developer
Rules
Roles
UI
Workflow
& Task
Event
Data
Process Context
Create Claim
Analyze Budget Impact
Analyze Resource Impact
Rules
Roles
UI
Workflow
& Task
Event
Data
Process Context
Create Claim
Analyze Budget Impact
Analyze Resource Impact
Out
of
stock
Product
15 min
Reple-
nish-
ment
order
Out
of
stock
Product
15 min
Reple-
nish-
ment
order
Services
Registry
Responsible
Rules
Roles
UI
Workflow
& Task
Event
Data
Process Context
Create Claim
Analyze Budget Impact
Analyze Resource Impact
Rules
Roles
UI
Workflow
& Task
Event
Data
Process Context
Create Claim
Analyze Budget Impact
Analyze Resource Impact
Out
of
stock
Product
15 min
Reple-
nish-
ment
order
Out
of
stock
Product
15 min
Reple-
nish-
ment
order
Java Developer
Service
Provisioning
Investment Approval Process -
Required Services
© SAP 2007 / Page 14© SAP 2007 / Page 14
Search Products by ID or Description Will be developed in this module
Read Product Data: SAP ERP 6.0 Enterprise Service
Process Component: Product Data Maintanance
Business Object: Material
Interface: Manage Material In
Operation: Read Material Basic Data
(MaterialBasicDataByIdQueryResponse_In)
Compare Purchase Request with Limits: Composite specific service! (Business Rule)
Create Purchase Order: SAP ERP 6.0 Enterprise Service
Process Component: Purchase Order Processing
Business Object: Purchase Order
Interface: Manage Purchase Order In
Operation: Create Purchase Order
(PurchaseOrderCreateRequestConfirmation_In)
Collect changes in Purchase Request: Composite specific service!
Service
Provisioning
Service Design:
Business Object Model
© SAP 2007 / Page 15
Product Data
Maintenance
Process component
The process component “Product Data
Maintenance” offers services to maintain Product
Data.
Material
Business objects
The Business Object “Material” as part of the
“Product Data Maintenance” Process Component acts
as a representation of product specific information.
Business Object Model
Process Component
Business Object
Deployment Unit
1
1..*
1..*
1
Deployment Unit
The deployment Unit depends on the System you
would like to deploy the service on (e.g. ERP
Foundation)
Service Requirement: The Service offers an operation that provides the
possibility to find materials by ID or description
Service
Provisioning
Service Design:
Interface Pattern
© SAP 2007 / Page 16
Service Interface
Query Material In
Service Operation
Find Material By ID And Description
(MaterialSimpleByIDAndDescriptionQueryResponse_In)
Service Requirement: The Service offers an operation that provides the
possibility to find materials by ID or description
Message Types
IN: MaterialSimpleByIDAndDescriptionQuery
OUT: MaterialSimpleByIDAndDescriptionResponse
Query Material In
MaterialSimpleByIdAndDescriptionQuery
MaterialSimpleByIdAndDescriptionResponse
Find Material by
ID and DescriptionMaterial
Use of „Query Business Object“ pattern:
Service
Provisioning
Service Design:
Data Types
© SAP 2007 / Page 17
DataType for Input Message must contain either an ID or a description of a product:
Create Data Type:
MaterialSimpleByIDandDescriptionQueryMessage_sync:
ProductID (Reuse of Datatype: ProductInternallDContent – one occurrence)
Description (Reuse of Datatype: SHORT_Description – one occurrence)
DataType for Output Message must contain search results as a List of Products:
Create Data Type:
MaterialSimpleByIDandDescriptionResponseMessage_sync:
ProductList (new GDT: ProductEntry with one to many occurrences)
Create Data Type:
ProductEntry:
ProductID (Reuse of Datatype: ProductInternallDContent – one occurence)
Description (Reuse of Datatype: SHORT_Description – one occurrence)
Amount (Reuse of Data Type: Amount – one occurence)
Service Requirement: The Service offers an operation that provides the
possibility to find materials by ID or description
- Modeling and Designing Service Interfaces -
© SAP 2007 / Page 18
Process innovation
(SAP NetWeaver CE, BPM,
BRM)
Service Discovery
(ES Workplace,
Services Registry)
Service Modeling and
Design
(ESR)
Service Implementation
(ABAP/ SAP NetWeaver CE
for JAVA)
Service Publishing
(ABAP/ SAP NetWeaver for
JAVA/ external)
Consuming (Enterprise)
Services
(SAP NetWeaver
CE)
Process Composition
(SAP NetWeaver CE
& BPM)
DEMO
Enterprise Service Builder (ESR)
Service
Provisioning
© SAP 2007 / Page 19
1. enterprise SOA Service Development Governance Process
2. Investment Approval Process - Service Design Example
3. Service Implementation
4. Summary
Agenda
Service
Provisioning
Service Implementation JAVA
© SAP 2007 / Page 20
Service Development in the SAP NetWeaver Developer Studio
Proxy Generation:
Import WSDL into NWDS via
Enterprise Services Browser and create
proxy classes automatically
Service Implementation:
Composite Application
Framework (CAF) or pure Java to
implement functionality or „glue
code“ to call existing functionality
Service Configuration
Use the NetWeaver
Administrator for configuration and
endpoint creation
Publishing and Classification:
Publish and classify services
within the Services Registry
- Proxy Generation, Service Implementation and
Publishing (JAVA) -
© SAP 2007 / Page 21
Process innovation
(SAP NetWeaver CE, BPM,
BRM)
Service Discovery
(ES Workplace,
Services Registry)
Service Modeling and
Design
(ESR)
Service Implementation
(ABAP/ SAP NetWeaver CE
for JAVA)
Service Publishing
(ABAP/ SAP NetWeaver for
JAVA/ external)
Consuming (Enterprise)
Services
(SAP NetWeaver
CE)
Process Composition
(SAP NetWeaver CE
& BPM)
DEMO
Service
Provisioning
Service Implementation ABAP
© SAP 2007 / Page 22
Central Service Development in the ABAP Workbench (Transaction SE80)
Proxy Generation:
Enterprise Services Browser within the
ABAP Workbench to create proxy
classesService Implementation:
ABAP Workbench to code
functionality or „glue code“ to
call existing functionality
Endpoint Creation:
SOA Management (Transaction
SOAMANAGER) to create
Endpoints and configure the
implemented service.
Publish WebService:
Transaction WSPublish to
publish Service to Registry
- Proxy Generation, Service Implementation and
Publishing (ABAP) -
© SAP 2007 / Page 23
Process innovation
(SAP NetWeaver CE, BPM,
BRM)
Service Discovery
(ES Workplace,
Services Registry)
Service Modeling and
Design
(ESR)
Service Implementation
(ABAP/ SAP NetWeaver CE
for JAVA)
Service Publishing
(ABAP/ SAP NetWeaver for
JAVA/ external)
Consuming (Enterprise)
Services
(SAP NetWeaver
CE)
Process Composition
(SAP NetWeaver CE
& BPM)
DEMO
Service
Provisioning
© SAP 2007 / Page 24
1. enterprise SOA Service Development Governance Process
2. Investment Approval Process - Service Design Example
3. Service Implementation
4. Summary
Agenda
Service
Provisioning
Summary
© SAP 2007 / Page 25
Outside-in development is the preferred service
development approach
A governance process can secure reusability and
easy interaction between services
SAP offers a clear methodology for service
development based on a harmonized business
model using well defined patterns and open
standards
The SAP Enterprise Services Repository is the
central meta-data repository for service models
and objects
Service
Provisioning
Copyright 2008 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 be changed
without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
SAP, R/3, xApps, xApp, SAP NetWeaver, Duet, SAP Business ByDesign, ByDesign, PartnerEdge and other SAP products and services mentioned herein as well as their respective
logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned and associated
logos displayed 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 prior
written 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 this document 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 items contained 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. This
limitation 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 in
these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.
Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrückliche schriftliche Genehmigung
durch SAP AG nicht gestattet. In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden.
Einige von der SAP AG und deren Vertriebspartnern vertriebene Softwareprodukte können Softwarekomponenten umfassen, die Eigentum anderer Softwarehersteller sind.
SAP, R/3, xApps, xApp, SAP NetWeaver, Duet, SAP Business ByDesign, ByDesign, PartnerEdge und andere in diesem Dokument erwähnte SAP-Produkte und Services sowie die
dazugehörigen Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und in mehreren anderen Ländern weltweit. Alle anderen in diesem Dokument erwähnten
Namen von Produkten und Services sowie die damit verbundenen Firmenlogos sind Marken der jeweiligen Unternehmen. Die Angaben im Text sind unverbindlich und dienen lediglich zu
Informationszwecken. Produkte können länderspezifische Unterschiede aufweisen.
Die in dieser Publikation enthaltene Information ist Eigentum der SAP. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher
Form auch immer, nur mit ausdrücklicher schriftlicher Genehmigung durch SAP AG gestattet. Bei dieser Publikation handelt es sich um eine vorläufige Version, die nicht Ihrem gültigen
Lizenzvertrag oder anderen Vereinbarungen mit SAP unterliegt. Diese Publikation enthält nur vorgesehene Strategien, Entwicklungen und Funktionen des SAP®-Produkts. SAP entsteht
aus dieser Publikation keine Verpflichtung zu einer bestimmten Geschäfts- oder Produktstrategie und/oder bestimmten Entwicklungen. Diese Publikation kann von SAP jederzeit ohne
vorherige Ankündigung geändert werden.
SAP übernimmt keine Haftung für Fehler oder Auslassungen in dieser Publikation. Des Weiteren übernimmt SAP keine Garantie für die Exaktheit oder Vollständigkeit der Informationen,
Texte, Grafiken, Links und sonstigen in dieser Publikation enthaltenen Elementen. Diese Publikation wird ohne jegliche Gewähr, weder ausdrücklich noch stillschweigend, bereitgestellt.
Dies gilt u. a., aber nicht ausschließlich, hinsichtlich der Gewährleistung der Marktgängigkeit und der Eignung für einen bestimmten Zweck sowie für die Gewährleistung der
Nichtverletzung geltenden Rechts. SAP haftet nicht für entstandene Schäden. Dies gilt u. a. und uneingeschränkt für konkrete, besondere und mittelbare Schäden oder Folgeschäden,
die aus der Nutzung dieser Materialien entstehen können. Diese Einschränkung gilt nicht bei Vorsatz oder grober Fahrlässigkeit.
Die gesetzliche Haftung bei Personenschäden oder Produkthaftung bleibt unberührt. Die Informationen, auf die Sie möglicherweise über die in diesem Material enthaltenen Hotlinks
zugreifen, unterliegen nicht dem Einfluss von SAP, und SAP unterstützt nicht die Nutzung von Internetseiten Dritter durch Sie und gibt keinerlei Gewährleistungen oder Zusagen über
Internetseiten
Dritter ab.
Alle Rechte vorbehalten.