34
Developing Composite Applications with SAP Composite Application Framework

Developing Composite Applications with SAP Composite ... · ©SAP AG 2004, Title of Presentation, Speaker Name / 4 CAF in a Nutshell The Composite Application Framework (CAF) provides

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Developing Composite Applications with SAP Composite Application Framework

CAF Core

CAF Guided Procedures

CAF Core

CAF Guided Procedures

© SAP AG 2004, Title of Presentation, Speaker Name / 4

CAF in a Nutshell

The Composite Application Framework (CAF) provides a programming model suitable for the development and deployment of composite applications according to the Enterprise Services Architecture (ESA).

CAF provides a comprehensive environment for modeling (metadata and tools).

CAF allows to build applications leveraging NetWeaver without the need to feed low-level APIs.

CAF helps developers and process owners to focus onimplementing the business logic.

CAF comes with predefined generic patterns for reuse in different development projects.

© SAP AG 2004, Title of Presentation, Speaker Name / 5

Example: xFlights Demo

An employee has to fly to a conference. xFlights allows you to book flights.

Travel Agent Travel Agent

Enter travel

request

Traveler

Select flights

Choose one

flight

Book flight

Approve travel

Traveler Manager

CAF DB WebService

CAF DB

CRM

Flights /Schedules

Travel Agency

RequestFlight /

Schedule

R/3

Employee

WebService

Flight /Schedule

CAF DB

Approval

R/3

EmployeeCost center

KM

Profile

© SAP AG 2004, Title of Presentation, Speaker Name / 6

Designing Across Traditional Functional ERP Areas

User InterfaceEmployeeManagerTravel Agent

ManagerManagerFlight schedule Flight schedule

Business ScenarioEmployee flies to conference.

Travel informationTravel informationEmployee travel Employee travel needs needs

Travel requestTravel request Approve flight Approve flight

Book flight Book flight

IntegrationCAF DBWeb ServiceKMHR, CRM, FI/CO

© SAP AG 2004, Title of Presentation, Speaker Name / 7

How To Build Apps Until Now?

define Business Process

draw Entity Relationship Diagrams

create DDIC elementsCHAR 255

CHAR 255

boolea

nboo

lean

INT4INT4

STRING 30

STRING 30

select Programming Language

write coding (80% life-cycle-methods, 20% business logic)

…debug, debug, debug…

find & understand BAPIs, RFCs, APIs

© SAP AG 2004, Title of Presentation, Speaker Name / 8

How To Build Apps Until Now?

…and become familiar with…

Enterprise Portal & Portal Development Kit

NetWeaver Developer Studio

ABAP Workbench

Knowledge Management

Backend-systems (R/3, CRM,…)

3rd Party-systems

Exchange Infrastructure (XI)

Bottom line: we need developers with many skills – not easy to find

© SAP AG 2004, Title of Presentation, Speaker Name / 9

How To Build Apps Until Now?

…and the result is sometimes like this:

© SAP AG 2004, Title of Presentation, Speaker Name / 10

How To Build Apps From Now On?

Build…

//create with public

throws user = if

<?xml version = '1.0' encoding = 'ISO-8859-1' ?><XMI xmi.version = 'SAP_1.0' timestamp = 'Thu Mar 18 15:11:17 PST 2004'><XMI.header><XMI.documentation><XMI.exporter>SAP Meta Model Repository</XMI.exporter><XMI.exporterVersion>1.0</XMI.exporterVersion>

</XMI.documentation></XMI.header><XMI.content><com.sap.caf.metamodel.Attribute xmi.id = '010FE8D69A8247EC482BEEAA0BA8607D'isAbstract = 'false' attributeName = 'Manufacturer' languageDependent = '0'timeDependent = '0' hollow = '0' DbFieldName = 'MANUFACTURER' typeJava = 'com.sap.caf.core.id'mandatory = '0' keyType = '0' cardinality = '0' ___createdAt = '20040316023208'___createdBy = 'I804143' ___lastChangedAt = '20040318231113' ___lastChangedBy = 'I804143'___deprecated = '0'/>

</XMI.content></XMI>

Create…

Generate…

© SAP AG 2004, Title of Presentation, Speaker Name / 11

How To Build Apps From Now On?

Model Entity ServicesApplication Services

Generate (from metadata)code tables Code could be platform independent (Java, ABAP,…)

Integrate & Enrichbackend-systems

Use predefinedPatterns (UI, Guided Procedures –Benefit: Consistency! Once you know one, you know all)ServicesData-types

© SAP AG 2004, Title of Presentation, Speaker Name / 12

Benefits

Focus onModelingBusiness Logic

Enable ProgrammersNon-programmers (business process owners)Faster redesign

StandardizeInterfacesCoding

ReduceComplexityDevelopment time

IncreaseProductivity

© SAP AG 2004, Title of Presentation, Speaker Name / 13

Architecture of CAF and Composite Applications

CompositeComposite ApplicationApplication FrameworkFramework

UI Framework

WebDynpro Runtime

UI Components UI Patterns

ProcessFramework

Workflow Runtime

Guided Procedures Work Centers

Service Framework

Application Services

UI Modeler

Pattern Config.

Web Dynpro

Process Modeler

Guided Procedures

Activities

Service Modeler

Metadata

ProcessesWorkflows

UserInterfaces

ServicesEntities

Design Time Run Time

Services Entity Services

External ServicesEntities PersistenceManager

DB WebServices

IntegrationBroker

© SAP AG 2004, Title of Presentation, Speaker Name / 14

SAP NetWeaver and CAF

Leveraging NetWeaver capabilities with CAF

Enable developers and business expertsModel-driven, pattern-based approach to all layers relevant for Composite Application development

Combine infrastructure componentsWebASWebDynpro for UI patterns and freestyleKM Documents and CollaborationBW for analyticsBPM for workflow support

Reuse existing assetsreuse, integrate and orchestrate existing functionality as servicesselectively fill gaps of missing functionality

SAP NetWeaver

PEOPLE INTEGRATION

Multi channel access

Portal Collaboration

INFORMATION INTEGRATION

BI

Master Data Management

KM

PROCESS INTEGRATION

Integration Broker

Bus. ProcessMgmt

APPLICATION PLATFORM

J2EE

DB and OS Abstraction

ABAP

CO

MPO

SITE

APP

LIC

ATI

ON

FR

AM

EWO

RK

LIFE CYC

LE MA

NA

GEM

ENT

© SAP AG 2004, Title of Presentation, Speaker Name / 15

Entity Service Modeler

Is a tool for defining Entity Services, Attributes and their properties and relations to each other.

These objects and their definitions serve to generate tables, table-relations, DDIC-elements and basic methods for reading, writing, changing, deleting & searching data (life-cycle methods).

Additionally, infrastructure like collaboration, authorization, logging & traces and storage in multiple locations is integrated and interfaces are created.

© SAP AG 2004, Title of Presentation, Speaker Name / 16

© SAP AG 2004, Title of Presentation, Speaker Name / 17

© SAP AG 2004, Title of Presentation, Speaker Name / 18

Application Service Modeler

The Application Service Modeler is a tool for creating services.

These services contain the business logic and connect to the UI-and entity service-world.

Additionally, infrastructure like collaboration, authorization, and logging & traces is integrated and interfaces are created.

Services can be reused and published as web- services.

© SAP AG 2004, Title of Presentation, Speaker Name / 19

© SAP AG 2004, Title of Presentation, Speaker Name / 20

User Interface Patterns

User Interfaces can be built “freestyle” or “patterns” can be reused. Patterns are predefined and often used UI templates. Examples are ObjectSelector- (“Search”), ObjectEditor-, Dashboard- (“formatted result list”) and many others.

Reusing patterns accelerates development and simplifies usability for users.

© SAP AG 2004, Title of Presentation, Speaker Name / 21

User Interface Patterns – Configuration

© SAP AG 2004, Title of Presentation, Speaker Name / 22

User Interface Patterns – Runtime

CAF Core

CAF Guided Procedures

© SAP AG 2004, Title of Presentation, Speaker Name / 24

Guided Procedures – Definition

A framework for modeling and managing processesthat involve access to multiple backend systems

Designed to implement business processes with greater ease and speed across multiple applications

Enables users without specialized software development skills to easily set up and execute collaborative business processes

Allows the invocation of various types of applications and services within a process (Web Dynpro, RFC’s…)

Navigates the End User through UI-driven, peoplecentric, distributed and collaborative businessprocesses

Enables offline process execution via Interactive Forms

© SAP AG 2004, Title of Presentation, Speaker Name / 25

Guided Procedures – Features

GP design time – set of functions enabling businessexperts to model processes and create reusablecomponents

GP callable objects – most fine grained elements created in the design time; enable the execution of external applications and services within the GP framework

GP process flow – CO’s are attached to actions (representing process steps at runtime) which are executed in blocks (representing phases at runtime) either sequentially, in parallel, or in a loop

GP data context – the design time supports the definition of data persistency between process steps and enables mapping between the parameters of the process building elements

© SAP AG 2004, Title of Presentation, Speaker Name / 26

Guided Procedures – Features (cont’d)

GP roles – allows the assignment of roles to certainactions; process role consolidation is possible

GP runtime – process initiation from a processtemplate and follow ist execution; processcontributors are guided through the process steps to complete the tasks assigned to them

GP work items – a contributor acts only when a workitem appears in his work list (role based)

GP views – set of views that show different aspects of a process (process overview/information/activities)

GP interactive forms – enables the implementation of form based processes; both online and offline use of forms is supported

© SAP AG 2004, Title of Presentation, Speaker Name / 27

Guided Procedures – Features (cont’d)

GP administration – system administrators canmonitor and administer process instances and GP system data

GP workflow engine – running on BPM runtime

GP translation – make GP content available in multiple languages

GP transport – enables the transfer of GP objectsacross SAP installations

© SAP AG 2004, Title of Presentation, Speaker Name / 28

Guided Procedures – Perspectives*

Control-flow perspective – describes activities and their execution ordering (sequence, choice, parallelism, join synchronization); activities are atomic units of work

Data perspective – layers business and processing data on the control perspective (data flow between activities)

Resource perspective – an organizational structure e.g. human and device roles responsible for executing activities

Operational perspective – describes the elementary actions executed by activities, where the actions map into underlying applications

* Van der Aalst et.al., Workflow Patterns

© SAP AG 2004, Title of Presentation, Speaker Name / 29

Process Design and Implementation

Setup collaborative business processes using the Guided Procedures design timeStep 1: Design business process

ProcessPhase

Step

ProcessBlock

Action (CallableObjects)

Guided ProcedureBusiness Process

Step 2: Re-use existing process templatesLeverage existing building blocks from the Guided Procedures Action Gallery

Step 3: Build missing actions Implement the CallableObject interface for application components, e.g. CAF UI pattern or WebDynproIf needed, create appropriate services in the NetWeaver Developer Studio

Step 4: Define the Guided Procedure for the business process

© SAP AG 2004, Title of Presentation, Speaker Name / 30

Process Context = Shared Data Storage

CourseRequest

Action 1

CourseApproval

Action 3

CoursePersistence

Action 4

CourseConfirmation

Action 5

RejectionBlock

Process

RequestCompletion

Action 2

Process ContextUser ID

CourseRequest

RequestCompletion

CourseApproval

Firstname,Lastname…

© SAP AG 2004, Title of Presentation, Speaker Name / 31

Why „Action“ Abstraction?

Decoupling interface from implementation

Separate the language of business experts (Action) from the language of developers (Callable Objects)

Action embraces Callable Objects for execution and display

Reuse of one Callable Object in several scenarios with easy adoption to new situations (e.g. Select User for next step)

Action 1

Action 2

Action 3

Action 1‘

Action 2

Action 3‘

CallableObject 2CallableObject 2‘

© SAP AG 2004, Title of Presentation, Speaker Name / 32

Timeline

Composite application development on SAP NetWeaver 2004sOngoing: Composites and xApps by SAP

Q3/2005: Light and medium weight composites by selected partners

Q2/2006: Composite applications by partners and customers

Q3 / 2005 Q4/2005 Q1/2006 Q2/2006

Planning, development, and shipment of Composite Apps at SAP

Ramp-up start mySAP ERP 2005 incl. SAP NetWeaver 2004s

TechEd Partner enablement: training material and workshops

Light-medium weight Composite Apps built by selected partners

General roll-out

© SAP AG 2004, Title of Presentation, Speaker Name / 33

Summary

Composite applications empower companies to drive innovative business processes by leveraging existing IT investments

The SAP Composite Application Framework (SAP CAF) provides a methodology and toolset to efficiently develop and manage composite applications – following the Enterprise Services Architecture blueprint

CAF Core enables the modeling of Entity and Application Services. Entity Services encapsulate business objects including their local or remote persistency whereas Application Services compose and orchestrate services for implementing new business logic

CAF Guided Procedures allows the modeling, managing, and execution of new collaborative business processes

© SAP AG 2004, Title of Presentation, Speaker Name / 34

Copyright 2005 SAP AG. All Rights ReservedNo 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, 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, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks or registered trademarks of IBM Corporation 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 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. Data contained in this document serves informational 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 of SAP 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 of the 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 be changed 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 this material. 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 not apply 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 and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.