Professional Documents
Culture Documents
<SOAP-ENV:Body >
<pns:getEmployeePersonalAddress
xmlns:pns="urn:AddressWSVi">
<employeeID >1001</employeeID>
<addressType>HM</addressType>
<actualDate >2005-08-22</actualDate>
</pns:getEmployeePersonalAddress>
</SOAP-ENV:Body >
</SOAP-ENV:Envelope >
SAP AG 2005, SAP TechEd 05 / CD153 / 21
Web Ser vi c es Over vi ew : St andar ds
Web Ser vi c es I nt er oper abi l i t y Or gani zat i on (WS-I )
Accelerating the adoption of Web services by reducing the cost
associated with standards adoption
Foc us on Web ser vi c e i nt er oper abi l i t y
Select, integrate and profile existing industry standards
Provide implementation guidance and tools
Del i ver abl es
Profiles specify conformance requirements for Web services
Testing Tools can be used to test profile conformance
Sample Applications demonstrate interoperable implementations
WS-I Basi c Pr of i l e 1.0
Industrys common denominator for Web service applications
Covers HTTP, XML, XML Schema, SOAP, WSDL, and UDDI
Finalized August 12, 2003
SAP AG 2005, SAP TechEd 05 / CD153 / 22
Web Ser vi c es Tec hnol ogy Over vi ew :
Pr ovi di ng Web Ser vi c es based on Open St andar ds
S
t
a
n
d
a
r
d
I
n
t
e
r
f
a
c
e
s
V
i
r
t
u
a
l
I
n
t
e
r
f
a
c
e
B
u
s
i
n
e
s
s
A
p
p
l
i
c
a
t
i
o
n
IDOC
BAPI
RFC
EJB
Java Class
XI Server Proxy
Web service
Runtime
Web service
Meta Data
SAP Web Application Server
WS
Client
UDDI
UDDI
Registry
SOAP
WSDL
W
e
b
s
e
r
v
i
c
e
Development Environments
ABAP Java
SAP AG 2005, SAP TechEd 05 / CD153 / 23
W
e
b
s
e
r
v
i
c
e
P
r
o
x
y
Web Ser vi c es Tec hnol ogy Over vi ew :
Consumi ng Web Ser vi c es based on Open St andar ds
W
e
b
s
e
r
v
i
c
e
C
l
i
e
n
t
A
p
p
l
i
c
a
t
i
o
n
Web service
Runtime
Web service
Meta Data
SAP Web Application Server
UDDI
UDDI
Registry
SOAP
WSDL
Web service Provider
Bus. Functionality
W
e
b
s
e
r
v
i
c
e
Development Environments
ABAP Java
SAP AG 2005, SAP TechEd 05 / CD153 / 24
Web service
Client
Web Ser vi c es Tec hnol ogy Over vi ew :
Val ue Added Web Ser vi c es w i t h XI
Web service
Client
SAP Web AS
6.40
SOAP
SAP XI
Integration Server
Point-to-Point
Basic Web services
Mediated
Web services
with Routing,
Mapping and BPM
SOAP
XI Protocol
or SOAP
SAP System
3rd Party
Adapter
Adapter
SAP AG 2005, SAP TechEd 05 / CD153 / 25
Agenda
Overview of the Web Service technology
Inside-out approach: Creating a Web Service from existing
business functionality
Demo: Create a Web Service
Consuming a Web Service from an ABAP program
Demo: Consume a Web Service
Summary
SAP AG 2005, SAP TechEd 05 / CD153 / 26
I nsi de-Out
Start of implementation in the backend system
Interface semantics pre-defined and reflects directly
implementation
Drawback: Implementation details are visible in the interface
Out si de-I n
Central design of interfaces that make business sense in
SAP XI Integration Repository
Using global data types
Reference to Governance Process for PIC
Generation of proxies from abstractly modeled interface
Implementation of glue code between proxy and business
function
Implementation can be changed without changes in interface
Tw o basi c Ways of Devel opi ng an I nt er f ac e
SAP AG 2005, SAP TechEd 05 / CD153 / 27
Cr eat i ng a Web Ser vi c e i n l ess t han ONE Mi nut e
1
No Web service specific programming
New or existing applications
Defines standard interfaces
Well known programming models
2
Wizard based approach
Based on preconfigured profiles
Based on abstract behavior
Available for ABAP & Java
3
Deployment in Java
Activation in ABAP
Activate /
Deploy Web Service
Generate
Web Service
Implement
Business Application
WS Configuration
WS Variant /Definition *
Service/Virtual
Interface*
*Note:
The terms Service Interface
and Variant refer to the ABAP
7.0 implementation They
correlate to Virtual Interface
and WS Definition on the Java
stack and ABAP 6.40 release.
SAP AG 2005, SAP TechEd 05 / CD153 / 28
The Web Ser vi c e Cr eat i on Wi zar d Bac k gr ound
Out-of-the-box Web services enablement of SAP solutions
Allows to expose an existing endpoint as a Web Service with
a few mouse-clicks
Only shows the most important settings in the wizard
Default values (profiles) for other settings
Hides technical details
Implicitly creates all necessary objects
ABAP Web Service Wizard transaction: WS_WZD_START
SAP AG 2005, SAP TechEd 05 / CD153 / 29
Demo Web Ser vi c e Cr eat i on Wi zar d
Demo
SAP AG 2005, SAP TechEd 05 / CD153 / 30
Demo Web Ser vi c e Cr eat i on Wi zar d
Ent er a
name of
t he Ser vi c e
Def i ni t i on
and sel ec t
t he endpoi nt
t ype.
SAP AG 2005, SAP TechEd 05 / CD153 / 31
Demo Web Ser vi c e Cr eat i on Wi zar d
Sel ec t t he
Func t i on
Modul e
SAP AG 2005, SAP TechEd 05 / CD153 / 32
Demo Web Ser vi c e Cr eat i on Wi zar d
Choose
aut hor i zat i on
pr of i l e and
r el ease t he
Web ser vi c e
SAP AG 2005, SAP TechEd 05 / CD153 / 33
The Web Ser vi c e Homepage
is available for each deployed Web Service
shows the documentation for the Web Service
allows to retrieve WSDL descriptions in different styles
offers testing capabilities
can be used to test SAP and non-SAP Web services
is a JSP page which requires the Java stack to be installed
SAP AG 2005, SAP TechEd 05 / CD153 / 34
Demo Web Ser vi c e Homepage
Demo
SAP AG 2005, SAP TechEd 05 / CD153 / 35
Demo Web Ser vi c e Homepage
Over vi ew
page
SAP AG 2005, SAP TechEd 05 / CD153 / 36
Demo Web Ser vi c e Homepage
Resul t of t he
Web ser vi c e
t est .
SAP AG 2005, SAP TechEd 05 / CD153 / 37
Cr eat i ng a Web Ser vi c e St ep-by-St ep
The St ep-by-St ep appr oac h
Create all objects by hand
Full flexibility and options
More expenses
but still configuration only
SAP AG 2005, SAP TechEd 05 / CD153 / 38
Web Ser vi c e I nt er f ac e Bac k gr ound
The Ser vi c e I nt er f ac e i s t he
i nt er f ac e vi si bl e t o c l i ent s
(vi a WSDL, UDDI ,)
A Service Interface
provides 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
Note: The term Service Interface refers to the ABAP 7.0 implementation. It
correlates to a Virtual Interface on the Java stack and ABAP 6.40 releases.
SAP AG 2005, SAP TechEd 05 / CD153 / 39
Web Ser vi c e I nt er f ac e Bac k gr ound
Virtual
Interface
Implementation
Layer
i_employee
ID (I)
i_address
_type(I)
e_street
(O)
getEmployeePrivateAddress
e_city
(O)
e_county
(O)
e_country
(O)
<SOAP-ENV:Envelope>
<SOAP-ENV:Body>
<ns1:getHomeAddress>
<ns1:Employee>1001</ns1:Employee>
</ns1:getHomeAddress>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope>
<SOAP-ENV:Body>
<rpl:getHomeAddressResponse>
<rpl:Response>
<tns:street>10 Main Street</tns:street>
<tns:city>Ottawa</tns:city>
<tns:province>Ontario</tns:province>
<tns:country>CAN</tns:country>
</rpl:Response>
</rpl:getHomeAddressResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
street
(O)
city
(O)
province
(O)
country
(O)
getHomeAddress
Request
Employee
(I)
Response
Rename
methods
Rename
parameters
Default Value
HM
Provide default values and
hide parameters
SAP AG 2005, SAP TechEd 05 / CD153 / 40
Demo Web Ser vi c e / Vi r t ual I nt er f ac e
Demo
SAP AG 2005, SAP TechEd 05 / CD153 / 41
Demo Web Ser vi c e I nt er f ac e
SAP AG 2005, SAP TechEd 05 / CD153 / 42
Web Ser vi c e Var i ant / Def i ni t i on *
A Web service Variant /
Definition is the assignment
of behavior to a Web Service
Interface via features
Mot i vat i on
A Web service is not only described by its interface but also by its behavior with respect to
stateless/stateful communication,
transactional behavior,
security requirements,
I dea
describe this kind of behavior via abstract features
leave it to the Web Service Configurator to assign technical protocols to these
abstract features
Example:
Feature: Stateful
Technical Protocols: Stateful via HTTP-Cookies,
Stateful via URL-Extensions
Note: The term Web Service Variant refers to the ABAP 7.0 implementation. It correlates to a
Web Service Definition on the Java stack and ABAP 6.40 releases.
SAP AG 2005, SAP TechEd 05 / CD153 / 43
Web Ser vi c e Var i ant / Def i ni t i on
Benef i t s
The same Web Service Variant / Definition can be deployed to
various application servers which may differ in their technical
capabilities
Web Service Client implementations do not depend on technical
server information
Clients are generated based on implementation-independent Web
Service variants / definitions
Technical details are configured separately in the Web Service Client
Runtime
SAP AG 2005, SAP TechEd 05 / CD153 / 44
Demo Web Ser vi c e Var i ant / Def i ni t i on
Demo
SAP AG 2005, SAP TechEd 05 / CD153 / 45
Demo Web Ser vi c e Var i ant / Def i ni t i on
SAP AG 2005, SAP TechEd 05 / CD153 / 46
Web Ser vi c e Conf i gur at i on & Depl oyment
A Web Service Configuration is
the assignment of technical
protocols to abstract features
Based on the Web Service capabilities of the
specific SAP Web Application Server
Configuration of additional Web Service Runtime features
Logging, Tracing, Monitoring
Security Roles
Deployment as usual
SDM deployment in Java
SAP AG 2005, SAP TechEd 05 / CD153 / 47
Demo Web Ser vi c e Conf i gur at i on
Demo
SAP AG 2005, SAP TechEd 05 / CD153 / 48
Demo Web Ser vi c e Conf i gur at i on
SAP AG 2005, SAP TechEd 05 / CD153 / 49
Agenda
Overview of the Web Service technology
Inside-out approach: Creating a Web Service from existing
business functionality
Demo: Create a Web Service
Consuming a Web Service from an ABAP program
Demo: Consume a Web Service
Summary
SAP AG 2005, SAP TechEd 05 / CD153 / 50
Cr eat i ng a Web Ser vi c e Cl i ent Appl i c at i on
1
From UDDI
Via URL (from server)
From local Server
From File System
From XI repository
2
Environment specific
Available for ABAP & Java
3
Focus on Business Application
SOAP / XML handling hidden by proxy
Dev
Client Application
elop
Generate
Web Service Proxy
Retrieve WSDL
SAP AG 2005, SAP TechEd 05 / CD153 / 51
Demo Cr eat i ng a Web Ser vi c e Cl i ent
Demo
SAP AG 2005, SAP TechEd 05 / CD153 / 52
Demo Cr eat i ng a Web Ser vi c e Cl i ent
Cr eat e
Pr ox y
Obj ec t
SAP AG 2005, SAP TechEd 05 / CD153 / 53
Agenda
Overview of the Web Service technology
Inside-out approach: Creating a Web Service from existing
business functionality
Demo: Create a Web Service
Consuming a Web Service from an ABAP program
Demo: Consume a Web Service
Summary
SAP AG 2005, SAP TechEd 05 / CD153 / 54
Summar y
The Enterprise Service Architecture (ESA), SAPs
approach for building services-oriented business
applications utilizes Web Services as vital part of its
communication and integration strategy
SAPs rich business functionality, in conjunction with
state-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 NetWeaver Application Server offers an easy,
convenient way to build Web services
SAP AG 2005, SAP TechEd 05 / CD153 / 55
Q& A
Quest i ons?