54
Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG Walldorf Martin Huvar Product Manager Enterprise Services / SAP AG Walldorf SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 2 Learning Objectives As a result of this lecture, you will be able to: Comprehend the main ideas of SAP’s Web Service definition Understand the architecture of the Web Service Framework Understand what Virtual Interfaces, Web Service Definitions, Web service Configurations and other concepts of the Web Service Framework are

Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

Embed Size (px)

Citation preview

Page 1: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 1

Building Web Services with ABAP and SAP Web Application Server

Timm FalterProject Manager Web Services / SAP AG Walldorf

Martin HuvarProduct Manager Enterprise Services / SAP AG Walldorf

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 2

Learning Objectives

As a result of this lecture, you will be able to:

Comprehend the main ideas of SAP’s Web Service definition

Understand the architecture of the Web Service Framework

Understand what Virtual Interfaces, Web Service Definitions, Web service Configurations and other concepts of the Web Service Framework are

Page 2: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 2

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 3

Agenda

Web Service OverviewWhat are Web services?Why do we need them?

SAP NetWeaver Web Service Technology

SAP Web Application Server 6.40Providing Web Services Consuming Web Services

Summary

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 4

Web Services Definition

Web Services are

application functionalities

supporting direct interaction

by responding to service requests

based on open Internet Standards

Page 3: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 3

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 5

The nature of Web Services

Web Services

act like a black-box that may require input and deliver a result

are modular, self-contained and self-describing

work on top of any communication technology stack

can be published, discovered and invoked based on opentechnology standards

work in synchronous and asynchronous scenarios

facilitate integration within an enterprise as wellas cross enterprises

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 6

UDDI

Web Service Paradigm

3ServiceExecution

2

Service Requestor

ServiceDiscovery

Service Provider

Service Directory

1

ServicePublication

WSDL/XSD

XML/SOAP

http

Page 4: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 4

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 7

Web Services: Examples

Intelligent product catalog search

Product availability check

Pricing inquiry

Customer credit check

Order status check

Vendor managed inventory Demand forecasts, stock replenishment …

Dynamic auctioning and bidding

Publish and analyze financial reports (XBRL based)

Electronic bill presentment and payment

Matching vacancies and job applicants profiles

Postal service address check

UDDI registration and discovery services

Automated web searches (Google)

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 8

Demo

DemoWeb ServiceExample

Page 5: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 5

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 9

Example: Web Service Szenario Credit Limit Check

CRM

Order CreateOrder

CreditManagementSystem

Credit Limit Check

Financial

ProcessOrder

CreditlimitOK?

Credit standingDatabase

History

Database

OKrejected

= Web Service

Customer Company Service Provider

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 10

Credit Limit Check Example: Architecture

RFC Function Module(External Id -> Internal ID)

R/3 Enterprise 4.7

Session Enterprise Java BeanSAP Web

AS 6.30 (Java) SAP JCo Proxy SAP JCo Proxy

RFC Function Module(Credit Limit Check)

Virtual Interface Virtual Interface

SAP Web AS 6.30 (Java)

Cell Phone ShopWeb Application (JSP)

Microsoft Excel XP / 2003 Beta

Credit Limit CheckCompany Worksheet

Web Service Web Service

Web Service ProxyWeb Service Proxy

Page 6: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 6

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 11

Fundamental Elements of the complete Web Service Solution

Web ServiceTechnology

Open Technology Standards for Web

ServicesWeb ServiceTechnology

Referentto business semantics

SAP NetWeaver

RosettaNet,Spec2000,HR-XML,

XBRL, IFX,papiNet,

....

XML, WSDL, SOAP, UDDI, WSI

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 12

Agenda

Web Service OverviewWhat are Web services?Why do we need them?

SAP NetWeaver Web Service Technology

SAP Web Application Server 6.40Providing Web Services Consuming Web Services

Summary

Page 7: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 7

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 13

Providing Web services based on Open Standards

UDDI

SOAP Processing

Bus

ines

s A

pplic

atio

n

Web Service Configuration

UDDI Publishing

WSDL Generation

DevelopmentEnvironment

Web Service Consumer

Web ServiceConfiguration

Web

Ser

vice

Inte

rfac

esR

FCB

API

IDoc

EJB

SAP Web Application

Server

Extensible Runtime

Pluggable Features

Security

Transactions

Protocols

WSDL

SOAP

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 14

Consuming Web services based on Open Standards

UDDI

SOAP Processing

Bus

ines

s A

pplic

atio

n

UDDI based Web Servicediscovery

Web Service ProxyGeneration

Proxy Configuration

DevelopmentEnvironment

ProxyConfig.

Web

Ser

vice

Prox

ies

SAP Web Application

Server

Extensible runtime

Pluggable features

Security

Transactions

Protocols

WSDL

SOAP

Web Service Provider

Page 8: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 8

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 15

Exchange Infrastructure & Web Services

Exchange Infrastructure

mySAPComponent

mySAPComponent

mySAPComponent

mySAPComponent

NON SAPComponentNON SAP

ComponentNON SAP

ComponentNON SAP

Component

SOAP

Adapter

NativeProtocol

NativeProtocol

SAP Web Application Server

SOAP

SOAP

SOAP

Web Services InfrastructureWeb Services Infrastructure

Business ProcessEngine

Business ProcessEngine

RoutingRouting

MappingMappingInte

grat

ion

Run

time

Integration Repository &

Directory

Integration Repository &

Directory

RMIRMI ......

PersistencyPersistencyRFCRFC

Adapter

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 16

Enterprise Services: Runtime View

SAP Web AS as client SAP Web AS as server

App

licat

ionA

pplication

XI

IntegrationServer

Outbound Proxy

Mediated Executionvia Web Services

Web Service Infrastructure W

eb S

ervi

ce In

fras

truc

ture

Inbound Proxy

Standard Web Service Execution (P2P)

IntegrationRepository& Directory

Page 9: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 9

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 17

Agenda

Web Service OverviewWhat are Web services?Why do we need them?

SAP NetWeaver Web Service Technology

SAP Web Application Server 6.40Providing Web ServicesConsuming Web Services

Summary

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 18

Web Service within SAP Web Application Server

The Web Service capability within SAP Web AS is

the foundation for all mySAP.com solutions

a scalable, reliable Web application infrastructure that delivers high-performance Web Services

offering Web Service functionality for the ABAP and J2EE personality with a common architecture

allowing to expose existing functionality (BAPIs, RFMs, IDOCs, EJBs, Java Classes, XI Server Proxies) as Web Service

easily allowing to consume Web Service from any source

requiring only configuration (no coding)

Page 10: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 10

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 19

Benefits

Web Service interfaces provide a ‚virtual‘ abstraction from the implementation layer

Fully integrated into development environment

Full fledged UDDI capabilities UDDI server implementation UDDI client functionality

Standard compliant WSDL generation

Support of client proxy generation for ABAP and J2EE

Extensible SOAP Runtime

Pluggable FeaturesSecurityProtocols....

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 20

SAP Web Services Infrastructure- Role-based Approach -

Provider-side

Web Service Developerdefines design time information of a Web Service

Web Service Configuratordefines runtime information of a Web service

Consumer-sideWeb Service Client Developer

Page 11: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 11

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 21

Agenda

Web Service OverviewWhat are Web services?Why do we need them?

SAP NetWeaver Web Service Technology

SAP Web Application Server 6.40Providing Web Services Consuming Web Services

Summary

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 22

The Web Service Creation Wizard- Background -

Creating a Web Service in less than 1 minute

- The Web Service Creation wizard

proves that Web services are easy and out-of-the-box

allows to expose an existing endpoint as a Web Service with few mouse-clicks

Only shows the most important settings in the wizardDefault values for other settings

hides technical details

implicitly creates all necessary objects

Page 12: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 12

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 23

Steps for the Web Service Wizard

Implement Business Logic1

UDDI

Start Web Service Wizard2

Publish Web Service (optional)3a

Deploy Web Service3

VirtualInterface

WebService

Definition

WebServiceConfig.

generate

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 24

Demo

DemoWeb Service Creation Wizard

Page 13: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 13

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 25

Step 1 – Implement Business Logic

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 26

Step 2 – Start Web Service Wizard

Page 14: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 14

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 27

Step 2 – Web Service Wizard (1)

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 28

Step 2 – Web Service Wizard (2)

Page 15: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 15

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 29

Step 2 – Web Service Wizard (3)

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 30

Step 2 – Web Service Wizard (4)

Page 16: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 16

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 31

Step 2 – Web Service Wizard (5)

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 32

Web Service Wizard Results

All necessary files are created

Virtual InterfacesWeb service DefinitionWeb Service Configuration

Enterprise Application Project (optional)

Page 17: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 17

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 33

The Web Service Homepage

The Web Service Homepage

is available for each activated Web Service

shows the documentation for the Web Service

allows to retrieve WSDL descriptions in different styles

offers testing capabilities

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 34

Demo

DemoWeb Service Homepage

Page 18: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 18

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 35

Invoke Web Service Homepage

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 36

Homepage - Overview

Page 19: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 19

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 37

Homepage – WSDL View

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 38

Homepage – Test View (1)

Page 20: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 20

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 39

Homepage – Test View (2)

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 40

Homepage – Test View (3)

Page 21: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 21

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 41

The Web Service Creation Wizard- Background -

The Step-by-Step approach

Create all objects by hand

Full flexibility and options

More expenses

… but still configuration only

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 42

The Step by Step Approach

Implement Business Logic1

UDDI

Define Virtual Interface (VI)2

Create Web Service Definition (WSD)3

Publish Web Service (optional)5a

Publish WSD (optional)3a

Activate Web Service5

Configure Web Service4

Page 22: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 22

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 43

The Web Service Creation Wizard- Background -

The Step-by-Step approach

Create all objects by hand

Full flexibility and options

More expenses

… but still configuration only

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 44

Support for Web Service Developers (1)- Background -

The Web Service developer

knows/defines the application logic

knows/defines the Web Service Interface which should be accessible for clients

knows/defines the “behavior” of the Web Servicee.g. “Stateless / Stateful”, Security requirements, etc.

does not need to have detailed knowledge abouttechnical protocols which implement abstract behaviorconcrete application servers on which the Web Service will be running

Defines Design-Time information of a Web Service

Page 23: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 23

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 45

Support for Web Service Developers (2)- Tasks of a Web Service Developer -

Step 1: Implementing the business logic

Supported by the standard IDE

Takes place in “Endpoint-specific” standard ToolsJava: SAP NetWeaver Developer Studio ABAP: SE80

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 46

Support for Web Service Developers (3)- Tasks of a Web Service Developer -

Step 2: Definition of Virtual Interface

Web Service Interface = Interface visible to clients (via WSDL, UDDI, … )

Supported by the Web Service Infrastructure via Virtual Interface Editor

A Virtual Interfaceprovides abstraction from concrete implementation (=endpoint)

allows to publish a “view” on existing implementations as Web Service Interfaces

i.e. renaming, hiding of parameters/methods, default values

allows to define how the Web Service Interface is represented in the SOAP message

Page 24: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 24

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 47

Virtual Interfaces

VirtualInterface

ImplementationLayer

i_creditsegment (I)

i_partner (I)

e_score (O)FSCM_Cr_Limit_Check e_limit

(O)e_currency

(O)e_valid_to

(O)

<SOAP-ENV:Envelope><SOAP-ENV:Body>

<ns1:creditLimitCheck><ns1:idNumber>1001</ns1:idNumber>

</ns1:creditLimitCheck></SOAP-ENV:Body>

</SOAP-ENV:Envelope>

<SOAP-ENV:Envelope><SOAP-ENV:Body>

<rpl:creditLimitCheckResponse><rpl:Response>

<tns:score>980</tns:score><tns:creditLimit>500000.00</tns:creditLimit><tns:limitCurrency>USD</tns:limitCurrency><tns:validTo>2005-01-01</tns:validTo>

</rpl:Response></rpl:creditLimitCheckResponse>

</SOAP-ENV:Body></SOAP-ENV:Envelope>

idNumber (I)

score (O)

creditLimit (O)

limitCurrency (O)

valid To (O)

creditLimitCheck

Request

Default Value: BUP001

Response

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 48

Virtual Interfaces

VirtualInterface

ImplementationLayer

i_creditsegment (I)

i_partner (I)

e_score (O)FSCM_Cr_Limit_Check e_limit

(O)e_currency

(O)e_valid_to

(O)

<SOAP-ENV:Envelope><SOAP-ENV:Body>

<ns1:creditLimitCheck><ns1:idNumber>1001</ns1:idNumber>

</ns1:creditLimitCheck></SOAP-ENV:Body>

</SOAP-ENV:Envelope>

<SOAP-ENV:Envelope><SOAP-ENV:Body>

<rpl:creditLimitCheckResponse><rpl:Response>

<tns:score>980</tns:score><tns:creditLimit>500000.00</tns:creditLimit><tns:limitCurrency>USD</tns:limitCurrency><tns:validTo>2005-01-01</tns:validTo>

</rpl:Response></rpl:creditLimitCheckResponse>

</SOAP-ENV:Body></SOAP-ENV:Envelope>

idNumber (I)

score (O)

creditLimit (O)

limitCurrency (O)

valid To (O)

creditLimitCheck

Request

Default Value: BUP001

Response

Rename Methods

Page 25: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 25

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 49

Virtual Interfaces

VirtualInterface

ImplementationLayer

i_creditsegment (I)

i_partner (I)

e_score (O)FSCM_Cr_Limit_Check e_limit

(O)e_currency

(O)e_valid_to

(O)

<SOAP-ENV:Envelope><SOAP-ENV:Body>

<ns1:creditLimitCheck><ns1:idNumber>1001</ns1:idNumber>

</ns1:creditLimitCheck></SOAP-ENV:Body>

</SOAP-ENV:Envelope>

<SOAP-ENV:Envelope><SOAP-ENV:Body>

<rpl:creditLimitCheckResponse><rpl:Response>

<tns:score>980</tns:score><tns:creditLimit>500000.00</tns:creditLimit><tns:limitCurrency>USD</tns:limitCurrency><tns:validTo>2005-01-01</tns:validTo>

</rpl:Response></rpl:creditLimitCheckResponse>

</SOAP-ENV:Body></SOAP-ENV:Envelope>

idNumber (I)

score (O)

creditLimit (O)

limitCurrency (O)

valid To (O)

creditLimitCheck

Request

Default Value: BUP001

Response

Rename Parameters

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 50

Virtual Interfaces

VirtualInterface

ImplementationLayer

i_creditsegment (I)

i_partner (I)

e_score (O)FSCM_Cr_Limit_Check e_limit

(O)e_currency

(O)e_valid_to

(O)

<SOAP-ENV:Envelope><SOAP-ENV:Body>

<ns1:creditLimitCheck><ns1:idNumber>1001</ns1:idNumber>

</ns1:creditLimitCheck></SOAP-ENV:Body>

</SOAP-ENV:Envelope>

<SOAP-ENV:Envelope><SOAP-ENV:Body>

<rpl:creditLimitCheckResponse><rpl:Response>

<tns:score>980</tns:score><tns:creditLimit>500000.00</tns:creditLimit><tns:limitCurrency>USD</tns:limitCurrency><tns:validTo>2005-01-01</tns:validTo>

</rpl:Response></rpl:creditLimitCheckResponse>

</SOAP-ENV:Body></SOAP-ENV:Envelope>

idNumber (I)

score (O)

creditLimit (O)

limitCurrency (O)

valid To (O)

creditLimitCheck

Request

Default Value: BUP001

Response

Hide parameters and / or provide default

values

Page 26: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 26

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 51

Demo

Demo

Virtual Interfaces

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 52

Virtual Interface Editor - Creation of a „default“ Virtual Interface -

Page 27: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 27

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 53

Virtual Interface Editor - Rename operation -

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 54

Virtual Interface Editor - Parameter Mapping -

Rename Parameter

Type mapping

Define default value

Hide parameter

Page 28: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 28

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 55

Virtual Interface Editor - Type Mapping (1) -

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 56

Virtual Interface Editor - Type Mapping (2) -

Page 29: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 29

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 57

Virtual Interface Editor - Type Mapping (3) -

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 58

Virtual Interface Editor Type Mapping (4)

Rename Field

Copied Type

Page 30: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 30

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 59

Virtual Interface Editor Type Mapping (5)

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 60

Virtual Interface Editor Type Mapping (6)

Page 31: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 31

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 61

Virtual Interface Editor - Type Mapping (7) -

Original type

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 62

Virtual Interface Editor - Type Mapping (8) -

Choose new type

Page 32: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 32

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 63

Virtual Interface Editor - Type Mapping (9) -

new type assigned

Type mappings applied

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 64

Support for Web Service Developers (4)- Tasks of a Web Service Developer -

Step 3: Creation of Web Service DefinitionWeb Service Definition = Assignment of behavior to a Web ServiceInterface via features

Motivationa Web Service is not only described by its interface but also by its behaviorwith respect to

stateless/stateful communication, transactional behavior, security requirements, …

Idea:describe this kind of behavior via abstract featuresleave it to the Web Service Configurator to assign technical protocols to these abstract featuresExample:

Feature: Stateful

Technical Protocols: Stateful via HTTP-Cookies, Stateful via URL-Extensions

Page 33: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 33

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 65

Support for Web Service Developers (5)- Tasks of a Web Service Developer -

Benefits

The same Web Service definition can be activated on various systems which may differ in their technical capabilitiesWeb Service Client implementations do not depend from technical server information

Clients are generated based on implementation-independent Web Service definitionsTechnical details are configured separately in the Web Service Client Runtime

Supported by the Web Service Infrastructure viaWeb Service Definition EditorUDDI Publication of Web Service DefinitionsWSDL Generation for Web Service Definitions

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 66

Demo

DemoWeb Service Definition

Page 34: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 34

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 67

Web Service Definition- General Properties -

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 68

Web Service Definition- Feature Configuration -

Page 35: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 35

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 69

Web Service Definition- UDDI Publishing -

Start UDDI publishing

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 70

UDDI Publishing – Authentication

Page 36: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 36

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 71

UDDI Publishing – Name of Service Definition

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 72

UDDI Publishing – Categories

Page 37: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 37

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 73

UDDI Publishing – Service Definition Details

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 74

UDDI Publishing – Result View

Page 38: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 38

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 75

Support for Web Service Configurators (1)- Background -

The Web Service Configurator

knows the technical protocols which implement the abstract features

knows the System Landscape

knows the Web Service capabilities of the single Application Servers

Defines Runtime information of a Web Service

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 76

Support for Web Service Configurators (2)- Tasks of a Web Service Configurator -

Step 1: Technical configuration and Activation of a Web Service Definition

Assignment of technical protocols to the abstract features based on the Web Service capabilities of the Application Server

Configuration of additional Web Service Runtime featuresLogging, Tracing, MonitoringSecurity Roles…

Saving and automatic registration in the Web Service Runtime Registry

Supported by Web Service Infrastructure viaWeb Service Configuration Transaction (WSCONFIG)

Web Service Administration Transaction (WSADMIN)

WSDL Generation for deployed Web Services

UDDI Publishing

Page 39: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 39

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 77

Demo

DemoWeb Service Configuration and Administration

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 78

Web Service Configuration- Show configurations of Web Service Definition -

Transaction „WSCONFIG“

Page 40: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 40

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 79

Web Service Configuration- Create new Configuration (Overall Settings) -

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 80

Web Service Configuration- Create new Configuration (Transport Level Config) -

Configure Transport Settings

Page 41: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 41

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 81

Web Service Configuration- Create new Configuration (Transport Level Config) -

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 82

Web Service Configuration- Create new Configuration (Operation configuration) -

Configure Security Settings

Page 42: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 42

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 83

Web Service Administration- List of Available Web Services -

Transaction„WSADMIN“

Display WSDL

Open WS Homepage

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 84

Web Service Administration- Configure Web Service -

Configure Logging, Tracing

Start UDDI Publishing

Page 43: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 43

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 85

UDDI Publishing – Authentication

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 86

UDDI Publishing – Service Publication: Names

Page 44: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 44

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 87

UDDI Publishing – Service Publication: Binding Templates

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 88

Agenda

Web Service OverviewWhat are Web services?Why do we need them?

SAP NetWeaver Web Service Technology

SAP Web Application Server 6.40Providing Web ServicesConsuming Web Services

Summary

Page 45: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 45

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 89

Support for Web Service Consumers (1)- Background -

The Web Service client developer

implements the client applicationknows how to use the Web Service client proxy in the client application

knows how to get the description of a Web Service(UDDI, WSDL, …)

knows how to generate the Web Service client proxy

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 90

Support for Web Service Consumers (2)- Tasks of a Web Service Consumer -

Step 1: Retrieve description of Web ServiceRetrieval of URL of WSDL description

either manually,or using UDDI Browsing

Supported by the Web Service Infrastructure via

Web Service Proxy generationUDDI Client BrowserExchange Infrastructure IFR - browsing

Page 46: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 46

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 91

Support for Web Service Consumers (3)- Tasks of a Web Service Consumer -

Step 2: Generate Web Service Client Proxy

Start proxy generator based on imported WSDL Document

Supported by the Web Service Infrastructure via

Web service Proxy Definition

Step 3: Implementation of Client Application

Use generated client proxies

Supported by the Web Service Infrastructure via

SAP Development Workbench (SE80)

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 92

Demo

DemoWeb ServiceProxy Project

Page 47: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 47

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 93

Create Web Service Client Proxy (1)

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 94

Create Web Service Client Proxy (2)

Page 48: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 48

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 95

Create Web Service Client Proxy (3)

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 96

Create Web Service Client Proxy (4)

Page 49: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 49

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 97

Display generated Client Proxy (1)- Main properties -

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 98

Display generated Client Proxy (2)- Generated entities -

Page 50: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 50

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 99

Display generated Client Proxy (3)- Generated structure -

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 100

Display generated Client Proxy (4)- Warnings during generation -

Page 51: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 51

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 101

Proxy Runtime configuration- Global settings -

Transaction „LPCONFIG“

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 102

Proxy Runtime configuration- Global settings -

Page 52: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 52

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 103

Proxy Runtime configuration- Operation-specific settings -

Configure Security Settings

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 104

Summary

The Enterprise Service Architecture (ESA), SAP’s approach for building services-oriented business applications utilizes Web Services as vital part of its communication and integration strategy

SAP’s rich business functionality, in conjunction withstate-of-the-art technology, enables you to establish cross-company business processes as an integrated part of your development efforts based on Web Services

SAP Web Application Server 6.40 offers an easy, convenient way to build Web services

Page 53: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 53

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 105

Q&A

Questions?

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 106

Please complete your session evaluation anddrop it in the box on your way out.

Feedback

Thank You !

The SAP TechEd ’03 Basel Team

Page 54: Building Web Services with ABAP and SAP Web - … Webservice with...Building Web Services with ABAP and SAP Web Application Server Timm Falter Project Manager Web Services / SAP AG

SAP TechEd ‘03 Basel

© 2003 SAP AG Session ID, Speaker 54

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 107

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.

Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® and SQL Server® 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, z/OS, AFP, Intelligent Miner, WebSphere®, Netfinity®, Tivoli®, Informix and Informix® Dynamic ServerTM are trademarks of IBM Corporation in USA 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®, the Citrix logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®, VideoFrame®, MultiWin® and other Citrix product names referenced herein are trademarks of Citrix Systems, Inc.

HTML, DHTML, XML, XHTML 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.

MarketSet and Enterprise Buyer are jointly owned trademarks of SAP AG and Commerce One.

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 registered trademarks 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.

Copyright 2003 SAP AG. All Rights Reserved

SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 108

Corporate Colors for PPT

SAP Blue SAP Gold SAP Gray

You can use these colors with gradations

Remove page for slide show