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
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
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
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
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
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
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
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
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)
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
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
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
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
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)
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)
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)
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
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
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)
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)
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
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
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
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
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
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 -
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
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) -
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
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)
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
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
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
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 -
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
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
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
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
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“
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
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
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
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
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
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
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
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)
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)
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 -
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 -
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 -
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
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
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