27
Enterprise SOA Experience Workshop Module 4: Service Provisioning & Governance

Enterprise SOA Experience Workshop - SAP. enterprise SOA Service Development Governance Process 2. Investment Approval Process - Service Design Example 3. Service Implementation 4

  • Upload
    buinhu

  • View
    223

  • Download
    5

Embed Size (px)

Citation preview

Enterprise SOA Experience Workshop

Module 4: Service Provisioning & Governance

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

© SAP 2007 / Page 26

Thank you!

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.