Professional Documents
Culture Documents
Building Web Services With ABAP and SAP Web Application Server PDF
Building Web Services With ABAP and SAP Web Application Server PDF
Timm Falter
Project Manager Web Services / SAP AG Walldorf
Martin Huvar
Product Manager Enterprise Services / SAP AG Walldorf
Learning Objectives
Agenda
SAP NetWeaver
Web Service Technology
Summary
application functionalities
Web Services
act like a black-box that may require input and deliver a result
Service
Service Publication
Discovery
1
2
Service Directory
WSDL/
UDDI
XSD
XML/
SOAP
http
3
Service
Service Requestor Execution
Service Provider
Demo
Demo
Web Service
Example
Database
History
Creditlimit
OK?
Process
Order
OK
rejected
= Web Service
SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 9
Open Technology
Standards for Web
Services
Web Service
Referent
XML, WSDL, SOAP, UDDI, WSI Technology
to business
semantics
RosettaNet,
Spec2000,
HR-XML,
Web Service XBRL, IFX,
Technology papiNet,
....
SAP NetWeaver
Agenda
SAP NetWeaver
Web Service Technology
Summary
Business Application
WSDL Generation
WSDL
Web Service
Configuration
SOAP Processing
RFC
Web Service
BAPI
Interfaces
Extensible Runtime
Pluggable Features
SOAP
Security
IDoc
Transactions
Protocols
Web Service
EJB
Consumer
SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 13
Generation
Proxy Configuration
WSDL
Proxy
Config.
Web Service
Proxies
SOAP Processing
Extensible runtime
Pluggable features SOAP
Security
Transactions
Web Service
Protocols
Provider
SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 14
Integration
Engine
Runtime
Engine Integration
Integration
Routing Repository
Routing Repository &&
Directory
Directory
Mapping
Mapping
SOAP SOAP
Adapter Adapter
Native Native
SOAP SOAP
Protocol Protocol
mySAP
mySAP NON
NONSAP
SAP mySAP
mySAP NON
NONSAP
SAP
Component
Component Component
Component Component
Component Component
Component
Outbound Inbound
Proxy Proxy
Integration
Server
Integration
SAP Web AS as client Repository SAP Web AS as server
& Directory
XI
Mediated Execution
via Web Services
Agenda
SAP NetWeaver
Web Service Technology
Summary
Benefits
Pluggable Features
Security
Protocols
....
Provider-side
Consumer-side
Web Service Client Developer
Agenda
SAP NetWeaver
Web Service Technology
Summary
generate
Web Web
Virtual
Service Service
Interface
Definition Config.
UDDI
Publish Web Service
3a
(optional)
Demo
Demo
Web Service
Creation Wizard
Virtual Interfaces
Web service Definition
Web Service Configuration
Enterprise Application Project (optional)
Demo
Demo
Web Service
Homepage
Homepage - Overview
More expenses
Publish WSD
3a
(optional)
More expenses
A Virtual Interface
provides abstraction from concrete implementation (=endpoint)
Virtual Interfaces
<SOAP-ENV:Envelope> Response
Request <SOAP-ENV:Body>
<SOAP-ENV:Envelope> <rpl:creditLimitCheckResponse>
<SOAP-ENV:Body> <rpl:Response>
<ns1:creditLimitCheck> <tns:score>980</tns:score>
<ns1:idNumber>1001</ns1:idNumber> <tns:creditLimit>500000.00</tns:creditLimit>
</ns1:creditLimitCheck> <tns:limitCurrency>USD</tns:limitCurrency>
</SOAP-ENV:Body> <tns:validTo>2005-01-01</tns:validTo>
</SOAP-ENV:Envelope> </rpl:Response>
</rpl:creditLimitCheckResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Virtual
Interface
Virtual Interfaces
<SOAP-ENV:Envelope> Response
Request <SOAP-ENV:Body>
<SOAP-ENV:Envelope> <rpl:creditLimitCheckResponse>
<SOAP-ENV:Body> <rpl:Response>
<ns1:creditLimitCheck> <tns:score>980</tns:score>
<ns1:idNumber>1001</ns1:idNumber> <tns:creditLimit>500000.00</tns:creditLimit>
</ns1:creditLimitCheck> <tns:limitCurrency>USD</tns:limitCurrency>
</SOAP-ENV:Body> <tns:validTo>2005-01-01</tns:validTo>
</SOAP-ENV:Envelope> </rpl:Response>
</rpl:creditLimitCheckResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Rename Methods
Virtual
Interface
Virtual Interfaces
<SOAP-ENV:Envelope> Response
Request <SOAP-ENV:Body>
<SOAP-ENV:Envelope> <rpl:creditLimitCheckResponse>
<SOAP-ENV:Body> <rpl:Response>
<ns1:creditLimitCheck> <tns:score>980</tns:score>
<ns1:idNumber>1001</ns1:idNumber> <tns:creditLimit>500000.00</tns:creditLimit>
</ns1:creditLimitCheck> <tns:limitCurrency>USD</tns:limitCurrency>
</SOAP-ENV:Body> <tns:validTo>2005-01-01</tns:validTo>
</SOAP-ENV:Envelope> </rpl:Response>
</rpl:creditLimitCheckResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Rename Parameters
Virtual
Interface
Virtual Interfaces
<SOAP-ENV:Envelope> Response
Request <SOAP-ENV:Body>
<SOAP-ENV:Envelope> <rpl:creditLimitCheckResponse>
<SOAP-ENV:Body> <rpl:Response>
<ns1:creditLimitCheck> <tns:score>980</tns:score>
<ns1:idNumber>1001</ns1:idNumber> <tns:creditLimit>500000.00</tns:creditLimit>
</ns1:creditLimitCheck> <tns:limitCurrency>USD</tns:limitCurrency>
</SOAP-ENV:Body> Hide parameters and
<tns:validTo>2005-01-01</tns:validTo>
</SOAP-ENV:Envelope> / or provide default
</rpl:Response>
values</rpl:creditLimitCheckResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Virtual
Interface
Demo
Demo
Virtual Interfaces
Rename
Parameter
Type
mapping
Define
default value
Hide
parameter
Copied
Type
Rename
Field
Original
type
Choose new
type
Type mappings
applied
new type
assigned
Motivation
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, …
Idea:
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
SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 64
Benefits
The same Web Service definition can be activated on various systems which
may differ in their technical capabilities
Web Service Client implementations do not depend from technical server
information
Clients are generated based on implementation-independent Web
Service definitions
Technical details are configured separately in the Web Service Client
Runtime
Demo
Demo
Web Service
Definition
Start UDDI
publishing
UDDI Publishing
Demo
Demo
Web Service
Configuration
and
Administration
Configure
Transport Settings
SAP AG 2003, TechED_Basel / OSI202, Timm Falter / Martin Huvar / 80
Configure
Security Settings
Display WSDL
Open WS
Homepage
Configure
Logging, Tracing
Start UDDI
Publishing
Agenda
SAP NetWeaver
Web Service Technology
Summary
Demo
Demo
Web Service
Proxy Project
Configure
Security Settings
Summary
Questions?
Q&A
Feedback
Thank You !
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.