sap netweaver process integration 7.1 providing web ... · pdf fileact like a black-box that...
TRANSCRIPT
SAP NetWeaver Process Integration 7.1 1
SAP NetWeaver Regional Implementation GroupSAP NetWeaver Product ManagementDecember 2007
SAP NetWeaver Process Integration 7.1Providing Web Services in Java
SAP NetWeaver Process Integration 7.1 2
Benefits
After reading this document, you will be able to understand:The Web services support in different SAP NetWeaver releasesComposition Environment and Web services provisioning and consumptionEnterprise Services Repository and Services Registry as the central place to designand publish services
SAP NetWeaver Process Integration 7.1 3
1. Introduction2. Composition Environment3. Service Provisioning4. Service Consumption5. Summary
Agenda
SAP NetWeaver Process Integration 7.1 4
1. Introduction2. Composition Environment3. Service Provisioning4. Service Consumption5. Summary
Agenda
SAP NetWeaver Process Integration 7.1 5
Web Services Overview: Definition
WEB SERVICES are
SELF CONTAINED
and SELF DESCRIBING
APPLICATION FUNCTIONALITIES
that can be
PROCESSED
through
OPEN INTERNET STANDARDS
There are two key elements in SAP’s definition of Web services:
1) Application Functionalities
– SAP already owns a large number of interfaces that can be used as a basis for Web services.
– When starting the Web service project it was not possible to start with an entirely new modelfor Web services and build a complete new application stack.
– Instead existing application functionality is taken and enabled as Web services – by simpleconfiguration, without any additional coding. There is a common concept for Java and ABAP,i.e., it is possible to use BAPIs, EJBs, Java classes, IDocs, function modules etc. and turnthem into Web services.
2) Open Standards
Web services are based on XML.
XML is the most widely accepted standard for data transfer between systems and over the internet.It is
– vendor-independent,
– has no license fees associated with it
– and is thus available to everyone.
The other important standards associated with Web Services are SOAP and WSDL, and they areboth XML-based and therefore share these advantages.
SAP NetWeaver Process Integration 7.1 6
Web Services Overview: The Nature of WebServices
Web Services
act like a black-box that may require input and delivera result
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 well as crossenterprises
SAP NetWeaver Process Integration 7.1 7
Web Services Overview: WSDL Overview
Describes the basic characteristics of a Web serviceSupported operations and their data format e.g. xCBL OrderSupported protocols e.g. SOAPNetwork address e.g. http://a.com/order
Further informationWorking Group: http://www.w3.org/2002/ws/desc/Specification: http://www.w3.org/TR/wsdl12/
Web Service Description Language
W3C definition:“WSDL is an XML format for describing network services as a set of endpoints operating onmessages containing either document-oriented or procedure-oriented information. The operationsand messages are described abstractly, and then bound to a concrete network protocol andmessage format to define an endpoint. Related concrete endpoints are combined into abstractendpoints (services). WSDL is extensible to allow description of endpoints and their messagesregardless of what message formats or network protocols are used to communicate”. (Note March15, 2001)
SAP NetWeaver Process Integration 7.1 8
Web Services Overview: The Paradigm
WebServiceClient
Services Registry
Create Web serviceCreate WSDLPublish WSDL (opt.)
Web service ProviderW
eb s
ervi
ce
WSDLDocument
BusinessFunctionality
1
3
2Discover Web serviceDevelop Client App
Web service Execution
SOAP
Direct WSDL exchange
SAP NetWeaver Process Integration 7.1 9
Providing Web Services in SAP NetWeaver2004
1
2
3 Activate /Deploy Web Service
GenerateWeb Service
ImplementBusiness Application
Inside-OutApproach
StandardInterfaces
Service Definition
BAP
I
EJB
Java
cla
ss
Pro
xy
SAP NetWeaver
SOAP
WSDL
Development Tools
ABAP
JAVA
Web ServiceRuntime
BusinessApplication
RFC
UDDI
WSConsumer …..
SAP NetWeaver Process Integration 7.1 10
1
2
3 Implement codeBackend
GenerateProxies
Define ServiceInterfaces
Outside-InApproach
RegisterWSDL4
Providing Web Services inSAP NetWeaver 2007
StandardInterfaces
Service Definition
BAP
I
EJB
Java
cla
ss
SAP NetWeaver
SOAP
WSDL
Development Tools
ABAP
JAVA
Web ServiceRuntime
BusinessApplication
Oth
erS
ervi
ces
WSConsumer ….. Services
RegistryES Repository
SAP NetWeaver Process Integration 7.1 11
Consuming Web Services in SAP NetWeaver2004
Web ServiceConsumer Application
SAP NetWeaver
WSDL
Web serviceDevelopment Environments
ABAP
Java
Web ServiceRuntime
Web Service Proxy
Web service Provider
BusinessFunctionality
Web Service
SOA
P
UDDI
SAP NetWeaver Process Integration 7.1 12
Web ServiceConsumer Application
SAP NetWeaver
WSDL
Web serviceDevelopment Environments
ABAP
Java
Web ServiceRuntime
Web Service Proxy
Web service Provider
BusinessFunctionality
Web Service
SOA
PServicesRegistry
ES Repository
Consuming Web Services in SAP NetWeaver2007
SAP NetWeaver Process Integration 7.1 13
Working with Enterprise Services –ESR and Services Registry
Non-SAPImplementation
22
1. Define Service2. Generate Proxy3. Implement4. Publish
44
5. Discover6. Compose7. Deploy & Configure8. Run
Duet
77
NameTitleCheck
Composites
88
11
WSDL
WSDL++ EnterpriseServices
RepositoryServicesRegistry
Implementationin SAP
Backend33
Providing Services
SAP Dev Tools
Discover
55
66
WSDL
Retrieve
Consuming Services
MS Visual StudioEclipse
Competitor Tools
SAP NetWeaver Process Integration 7.1 14
Service Enablement: Step by Step
Define Generate Implement Publish
Service Provisioning
DefineMetadata storage and Interface modeling in the Enterprise Services RepositoryCreation and relationship settings of Service Interfaces, Operations and GDTs
GenerateProxy generation in ABAP and JAVAIntegrated development tools with ESR -> Enterprise Service Browser and WSDL import
ImplementBusiness logic supported by EJB 3.0 (Java) and BAPIS (ABAP)Web Service annotations supporting service provisioning from existing EJBs
PublishServices registry integrated with development toolsService configuration and testing supported by WS Administrator and WS Navigator
To go with Eclipse proved to be the best possible choice – practically, Eclipse eliminated the Javatools market
SAP deployment comes smoothly integrated into the Eclipse tool-set
SAP NetWeaver Process Integration 7.1 15
Service Enablement: Step by Step
Service Consumption
DiscoverDevelopment tools in ABAP and JAVA integrated with Services RegistryWeb Dynpro and Visual Composer wizards part of CE 7.1
ComposeUI composition supported by IDE perspectivesProcess composition supported by Guided Procedures
Deploy & ConfigureConfiguration and deployment done by IDE, NetWeaver Administrator and Engine tools
RunClient applications running on Interactive Adobe Forms, Flex and Web Dynpro.“Point to point” and “Brokered” runtime scenarios supported.
Discover Compose Deploy &Configure Run
To go with Eclipse proved to be the best possible choice – practically, Eclipse eliminated the Javatools market
SAP deployment comes smoothly integrated into the Eclipse tool-set
SAP NetWeaver Process Integration 7.1 16
1. Introduction2. Composition Environment3. Service Provisioning4. Service Consumption5. Summary
Agenda
SAP NetWeaver Process Integration 7.1 17
A Business Process Platform - What’s in it?Major Building blocks of a Business Process Platform
Business Process Platform
Composites
Composition environment
Integration Platform
Enterpriseservices
definitionsProcess
Components
Ecosystem
… a compositionenvironment to plan andbuild flexible and innovative
business processes
... an extensible repository ofenterprise services
definitions
… processcomponents
that implement those servicesin a robust and reusable fashion
… an integrationplatform to integrate and
run service-enabledbusiness applications
… and an entire Ecosystem that delivers innovationwith it
With a business process platform, organizations can respond rapidly to change and drive businessprocess innovation while reducing cost at the same time.
It allows companies to efficiently plan, build, run - standard and new business processes (deliveredby the ecosystem) while providing a coherent application and integration infrastructure thatenables:
broad user adoption
adaptable processes
trusted information
…while optimizing ITA Business Process Platform is the prerequisite for the controlled and cost-effective deployment ofenterprise SOA.
A Business Process Platform consists ofan extensible repository of enterprise services definitions,
application logic that implements those services in a robust and reusable fashion,a composition environment to plan and build flexible and innovative business processes
an Integration platform to integrate and run service-enabled business applications
SAP NetWeaver Process Integration 7.1 18
Business Process Platform: CompositionEnvironment
Composites
Enterprise SOAInfrastructure for:
Service Enablement From Provisioning to Consumption
Business Process Platform
Composites
Composition environment
Integration Platform
Enterpriseservices
definitionsProcess
Components
Ecosystem
• Service Provisioning• Service Consumption• Service design governance
SAP NetWeaver Process Integration 7.1 19
Model-Driven Development and DeploymentWith SAP NetWeaver CE 7.1
Java ApplicationServer
Robust, enterprise-classJava EE 5 application server
Eclipse DevelopmentEnvironment
SAP NetWeaver DeveloperStudio: Eclipse baseddevelopment and modelingenvironment
Pro
cess
es
Event FlowRole
Guided procedures (GP)for collaborativeprocesses
Vie
ws
Portal and Web FormsMobile
and VoiceAnalytics
SAP NetWeaver VisualComposer for model-drivenUI development (incl.analytics and voice)Web Dynpro JavaSAP Interactive Forms byAdobeFederated Portal Network
Enterprise ServicesRepository and Registry(ESR)Software lifecyclemanagement and logistics(NWDI)
Bus
Dataor File
Web Services / Enterprise ServicesConnectivity
Ser
vice
s Servicefaçade
Newservice
Dataservice
Enterpriseservice
Basicservice
SAP CompositeApplication Framework(CAF) business objectmodeling and servicecomposition
SAP NetWeaver Process Integration 7.1 20
SAP NetWeaver Composition Environment 7.1
Provides the scalable, reliable, and productive enterprise SOAinfrastructure to build, modify, and run innovative and flexible compositeapplications
Builds on the industry standard development environment from Eclipseand integrates composition tools
Enables standard enterprise services development and provisioning usingJava EE 5 (EJB 3.0) and web services standards
Reduces time-to-value and development efforts through model-drivencomposition using an integrated set of modeling tools for services, views,and processes
Facilitates out-of-the-box enterprise services and SOA asset reuse from astable business process platform
Provides a comprehensive software lifecycle management across entirecomposition stack to reduce TCO
SAP NetWeaver Process Integration 7.1 21
1. Introduction2. Composition Environment3. Service Provisioning4. Service Consumption5. Summary
Agenda
SAP NetWeaver Process Integration 7.1 22
Service Provisioning
Define Generate Implement Publish
Service DefinitionsIntegration Repository of PI 7.1 as the foundation of a central EnterpriseServices RepositoryBased on SAP’s process componentsIntegrated modeling environmentCreation and relationship settings of Service Interfaces, ServiceOperations, Interface Patterns and GDTsEnhancements to well known objects and introduction of new onesMass import of external definitions
To go with Eclipse proved to be the best possible choice – practically, Eclipse eliminated the Javatools market
SAP deployment comes smoothly integrated into the Eclipse tool-set
- new, much easier client user interface
SAP NetWeaver Process Integration 7.1 23
Service Provisioning
Define Generate Implement Publish
TransitionIntegration Repository -> ES RepositoryMessage Interface -> Service Interface
EnhancementsService interfaces may have several operationsInterface Patterns and Operation PatternsMatching service interfacesIntegrated modeling environmentNew data types
SAP NetWeaver Process Integration 7.1 24
Service Provisioning
WSDL++
Generate Java ProxiesConnect to ESR and browse for service definitionDownload WSDL and generate Java skeleton code
ABAP Java
SAP NetWeaver Process Integration 7.1 25
WSDL++
Service Provisioning
Implement business logicComplete your Java code in the skeleton codeDeploy EAR to server and test web service
ABAP Java
SAP NetWeaver Process Integration 7.1 26
Service Provisioning
WSDL++
Optionally configure services at design timeThe configuration you apply via annotations in the SAP NetWeaver DeveloperStudio serves as the basis for the runtime configuration settings you canapply in the SAP NetWeaver Administrator.For example: @SrPublication (location=“<path>”) – adds classifications toWeb services
Configure runtime configurationComplete runtime configuration in SAP NetWeaver AdministratorConfigure both individual Web services and groups of Web services
SAP NetWeaver Process Integration 7.1 27
Service Provisioning
WSDL++
Easier provisioning of Web servicesJava EE 5 compliant – easier to code!EJB 3.0, JAX WS 2.0, standard annotations and SAP annotations withreasonable defaults (including code completion)Code generation from ESR, WSDL, and SRUse Composite Application Framework (CAF) to integrate and enhanceexisting services and business objects, as well as to create new servicesSupport for bottom-up approach for service-enabling existing applications
SAP NetWeaver Process Integration 7.1 28
1. Introduction2. Composition Environment3. Service Provisioning4. Service Consumption5. Summary
Agenda
SAP NetWeaver Process Integration 7.1 29
Service Consumption
Discover Compose
Discover via browse & SearchESR Browser integrated into CEDevelopment ToolsServices Registry Query integrated intoCE Development ToolsESR and Services Registry accessiblefrom Web
SAP Dev Tools
Discover
55
66
WSDL
Retrieve
Services Consumption
EnterpriseServices
Repository
ServicesRegistry
Deploy &Configure
SAP NetWeaver Process Integration 7.1 30
Service Consumption
Discover Compose
ResolveCollisions
Generate
Consume
TextText
– Text
Automatic Collision ResolutionSupply JAX-WS customization fileInteractively resolve collisions
Generate Service Endpoint InterfaceGenerate Java Types
Instantiate the generated stubCall Web Service methods on the generated stub
Deploy &Configure
SAP NetWeaver Process Integration 7.1 31
Service Consumption
Discover Compose
Consume
Create Model
Define Actions,Events and
Rules
Create UserInteraction
TextText
– Text
Fully Automated Point and Click within CAF, Web Dynpros, Visual Composer & GuidedProcedures – Generates Basic ModelWS Need not be provisionedAdaptive – Connectivity is handled at runtime
CAF: Enhance Model – similar to session bean concept in J2EEWeb Dynpros: Create Model Directly within Web DynprosVisual Composer: Automated
Define logic within controllers and views in Web DynprosVisual Composer: Rudimentary SupportGuided Procedures
Create Views and Controllers in Web DynprosVisual Composition in VCGP uses WD, VC or Adobe Forms
Deploy &Configure
SAP NetWeaver Process Integration 7.1 32
Service Consumption
Discover Compose Deploy &Configure
Logging &Tracing
AutomaticAuthentication
Define Actions,Events and
Rules
Create UserInteraction
TextText
– Text
CAF, Web Dynpro, Visual Composer & Guided Procedures: Generate Web ServiceModel - Fully Automated Point and ClickJEE 5: Import WSDL into workspaceService Definition might be abstract – connectivity is handled at runtime
CAF: Create Application Services & Business ObjectsWeb Dynpros: Create Model Directly within Web DynprosVisual Composer: AutomatedJEE 5: Generate JAX-WS Stubs
Web Dynpro: Define controllers in MVC patternVisual Composer: Rudimentary SupportGuided Procedures – Define process workflowJEE5: Use JEE Toolset to put logics inside EJBs, Servlets…
Web Dynpro: Create ViewsVC: Visual CompositionGP: uses WD, VC or Adobe FormsJEE5: JSF, JSP, Servlets
SAP NetWeaver Process Integration 7.1 33
Service Consumption
Discover Compose Deploy &Configure
Deploy and then Configure…DestinationsAutomatic Authentication & Security settingsLogging & TracingHTTP Transport SettingsWeb Service AddressingState Management
SAP NetWeaver Process Integration 7.1 34
1. Introduction2. Composition Environment3. Service Provisioning4. Service Consumption5. Summary
Agenda
SAP NetWeaver Process Integration 7.1 35
Summary – Providing Web Services in Java
End to end integrated SOA based development in Java
Central ESR for designing service definitions
Central UDDI v3.0 registry for service consuming
SAP NetWeaver Process Integration 7.1 37
Copyright 2007 SAP AG. All Rights Reserved
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without priornotice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
Microsoft, Windows, Excel, Outlook, and PowerPoint 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, System i, System i5, System p, System p5, System x, System z,System z9, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, POWER5+, OpenPower and PowerPC are trademarks or registered trademarks of IBM Corporation.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States 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, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.
HTML, XML, XHTML and W3C 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.
MaxDB is a trademark of MySQL AB, Sweden.
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 AGin Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document servesinformational purposes only. National product specifications may vary.
The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission ofSAP AG.
This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities ofthe SAP® product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that this document is subject to change and may bechanged by SAP at any time without notice.
SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within thismaterial. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.
SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall notapply in cases of intent or gross negligence.
The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials anddoes not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.