sap netweaver process integration 7.1 providing web ... · pdf fileact like a black-box that...

37
SAP NetWeaver Process Integration 7.1 1 SAP NetWeaver Regional Implementation Group SAP NetWeaver Product Management December 2007 SAP NetWeaver Process Integration 7.1 Providing Web Services in Java

Upload: truongthuy

Post on 12-Feb-2018

217 views

Category:

Documents


3 download

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 36

SAP is Open

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.