developing composite applications with sap composite ... · ©sap ag 2004, title of presentation,...
Post on 26-May-2020
3 Views
Preview:
TRANSCRIPT
© 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 / 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 / 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 / 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.
top related