Document Sample
Title Powered By Docstoc
					Introduction to Business
Process Management With
SAP NetWeaver

BPM/SOA/Composite     Armand Wilson

Applications/Guided   Platinum Consultant

Procedures            RIG Foundation, SAP Labs
Learning Objectives

As a result of this presentation, you will be able to:
    Understand the motivations and importance of Business Process
     Management (BPM)
    Understand business processes and the basic concepts of BPM
    Know the basic components of BPM in SAP NetWeaver
    Have a rudimentary knowledge of how the BPM components work
     together to optimize and enable business processes
    Understand the importance and basic concepts of Service Oriented
     Architecture (SOA)
    Have insight into SAP‟s strategy for enabling SOA and how it leads to
     a coherent BPM landscape in SAP NetWeaver
    Understand Composite Application and Business Objects
    Understand the details and terminology of SAP‟s Composite
     Application Framework and Guided Procedures

 SAP AG 2006, SAP Education / WNACAF / 2
Overview – What Are We Trying to Accomplish

 1. Companies need to adapt quickly in a competitive, global
    marketplace. Current IT practices cannot support business
    needs for flexible business processes

 2. Business Process Management (BPM) is the accepted new
    approach to achieving item 1

 3. Once BPM is accepted as a corporate goal (even before
    deciding on a BPM platform), companies need to focus on
    adapting a Service Oriented Architecture (SOA)

 SAP AG 2006, SAP Education / WNACAF / 3
What Is A Business Process

   A business process is a set of coordinated tasks and activities,
    conducted by both people and equipment, that will lead to
    accomplishing a specific organizational goal.
   There are three types of business processes:
         – Management processes - the processes that govern the operation. Typical
           management processes include "Corporate Governance" and "Strategic
         – Operational processes - these processes create the primary value stream,
           they are part of the core business. Typical operational processes are
           Purchasing, Manufacturing, Marketing, and Sales.
         – Supporting processes - these support the core processes. Examples include
           Accounting, Recruitment, IT-support.
   A business process can be decomposed into several sub-
    processes, which have their own attributes, but also contribute
    to achieving the goal of the super-process. The analysis of
    business processes typically includes the mapping of processes
    and sub-processes down to activity level.

 SAP AG 2006, SAP Education / WNACAF / 4
Motivation – What Companies Need

   Innovation is the single most important factor as companies are
    driving for long-term success. The winning strategy for growth is
    to innovate in three categories: the products and services, the
    operations, and the relationships of an organization.
   For example, companies need to improve the understanding of
    customer needs, and collaborate with suppliers to create better
   Globalization requires viewing the business enterprise and
    supply chain as a whole rather than as disparate parts
   In order to innovate for profitable, sustainable growth, companies
    must have motivation and an infrastructure to support change.

 SAP AG 2006, SAP Education / WNACAF / 5
Motivation - Inhibitors

  Most organizations have a plethora of IT tools without linkage.
   For example, many users work based on paper, excel or mail.
   These processes are not tracked by system and are not
  42% of the executives interviewed in the survey believe that
   their company‟s IT infrastructure is a main obstacle in their
   ability to change and innovate
  Business owner and IT expert do not speak the same language,
   do not share the same concepts of processes or use the same
  IT must become an enabler instead of a inhibitor for change

 SAP AG 2006, SAP Education / WNACAF / 6
Business Process Management Is Not!

 BPM differs from Business Process (Re)engineering. Companies need to
  change from reengineering processes in one fell swoop and then
  cementing the new models in code, to designing processes that can be
  changed on the fly and adapting software that's flexible enough to
  support those changes
 BPM is not Enterprise Application Integration (EAI). EAI refers to the
  technology to modernize, consolidate, and coordinate the computer
  applications in an enterprise. Typically, an enterprise has existing legacy
  applications and wants to continue to use them while adding or
  migrating to a new set of applications that exploit the Internet, e-
  commerce and other new technologies
 BPM is not e-Business such as mySAP. e-Business refers to fully
  integrated, comprehensive, web-enabled, role-based suites of business
 BPM is not SOA. SOA enables BPM

 SAP AG 2006, SAP Education / WNACAF / 7
Business Process Management Is!

 BPM is all about business processes

 BPM encompasses the design, configuration, execution and
  monitoring of business processes so that managers can analyze
  and change processes in response to data, rather than based on
  just a hunch.

 BPM involves all layers of an organization so software alone
  cannot enable BPM. Organizations must shift their focus to
  enable change and flexibility at the core of the every business
  unit. BPM as discussed here only refers to the software elements
  of BPM.

 SAP AG 2006, SAP Education / WNACAF / 8
Business Process Management Is! (Cont.)

 To be a comprehensive BPM platform a system must not only
  automate processes, it must:
      – Integrate with existing operational systems such as Enterprise
        Resource Planning (ERP) and databases
      – Integrate business processes with those of a company‟s suppliers
        and partners
      – Incorporate the business rules that guide a business
      – Provide managers with the visibility into those automated processes
        to monitor operations in real time
      – Offer managers the ability to deal with exceptions when they occur
        by changing business rules or entire processes to respond to
        business conditions in real time

 SAP AG 2006, SAP Education / WNACAF / 9
Business Process Management Activities

 Process Design
        – Process design encompasses the design and capture of existing business processes, as
          well as the simulation of new ones. The software used to do this includes graphical
          editors that document processes and repositories that store process models, objects and
          variables. Process design includes the presentation layer so a business user can
          graphically define form data without the help of a technologist.

 Process Configuration
        – This includes setting authorization and security policies, reporting parameters and
          activation/deactivation of processes.

 Process Execution
        – Software has been developed that enables the full business process (as developed in the
          process design activity) to be defined by metadata created during the design activity.
          Business rules are used to govern behavior, and a business rule engine can be used to
          drive process execution and resolution.

 Process Monitoring
        – Monitoring encompasses the tracking of individual processes so that information on their
          state can be easily seen and the provision of statistics on the performance of one or more
          processes. An example of the tracking is being able to determine the state of a customer
          order (e.g. ordered arrived, awaiting delivery, invoice paid) so that problems in its
          operation can be identified and corrected.

 SAP AG 2006, SAP Education / WNACAF / 10
SAP Business Process Management System (2004s)

                         SAP Interactive Forms software by
                         Adobe = SAP Interactive For

                                                                    ABAP Stack
                                                               SAP NetWeaver Platform

                                                                                                Web           Enterprise             Business
                           SAP                   CCMS                       Alert              Dynpro          Services               Object
                          Business                                       Framework             APAP           Workplace             Repository
                          Workflow                                                                                                    (BOR)
      Solution                                                                Services                        SAP NetWeaver Portal
                           ARIS for
      Manager                SAP                Runtime
                                               Workbench             SAP NetWeaver BI                         knowledge management
                                             Integration                                                     Workflow/        Services
                                             Process - ccBPM       SAP            SAP NetWeaver MDM          Notification
                                                                Interactive         MDM Workflow
                                                 SAP              Forms                                      Collaboration
                                             NetWeaver XI                                                        Tasks
             Universal             SAP             Web                    SAP CAF        SAP    SAP CAF           SAP user         Enterprise
             Work List          NetWeaver         Dynpro                   Service       CAF     Process         management         Services
              (UWL)               Visual           Java                  Layer (CAF               Layer            engine          Repository
                                Composer                                    Core)                (Guided                              (ES
                                                                                               Procedures)                         Repository)

                                                    Java Component Development

                                                   SAP NetWeaver Developer Studio

                                                                    Java Stack
                                                                SAP NetWeaver Platform

 SAP AG 2006, SAP Education / WNACAF / 11
   SAP Universal Worklist

Universal Worklist is available as an iView under Portal Content->
Content Provided by SAP-> End User Content->Standard Portal Users->
Pages->Universal Worklist

    SAP AG 2006, SAP Education / WNACAF / 12
SAP Universal Worklist (Cont.)

                                                              The Universal Worklist enables
                   Universal Worklist                          you to get all your tasks in a
                                                               single location

                                                              Interfaces with Guided Procedure
   SAP                        Alert          SAP NetWeaver
                                                               actions, SAP Business Workflow
  Business                 Framework             MDM           tasks, knowledge management
  Workflow                                                     notifications, alerts from the Alert
                                             MDM Workflow
                                                               Framework, Collaboration tasks,
    Guided                      SAP NetWeaver Portal           SAP NetWeaver MDM workflow
  Procedures                 Knowledge     Collaboration       tasks
   (2004s)                   Management        Tasks

                                                              There is a UWL API for non-SAP

 SAP AG 2006, SAP Education / WNACAF / 13
Enterprise Services Repository (ESR)

                                              The current central information repository for
                                               the SAP Business Process Management
                                              In technical terms, the ES Repository is a
                                               meta data repository, meaning that it stores
                                               data that describes other data.
                                              The meta data in the ES Repository describes
                                               business processes, business models,
                      ES                       service interfaces, data types and various
                   Repository                  entity types
                                              The meta data inside the ES Repository is
                                               then used by development tools, modeling
                                               tools, operational management tools, and by
                                               other services to help them do their jobs
                                              Storage location for Web Services Definition
                                               Language (WSDL) - WSDL is an XML-based
                                               service description on how to communicate
                                               using web services

 SAP AG 2006, SAP Education / WNACAF / 14
  Business Object Repository (BOR) and Enterprise Services
  Workplace (ES Workplace)

                                                      BOR
                                                       – The object-oriented repository of the R/3
                                                       – Contains the SAP business object types and
                                                         SAP interface types as well as their
Enterprise                                     BOR       components, such as methods, attributes and
 Services                                                events
Workplace                                              – BAPIs are defined as methods of SAP business
                                                         object types (or SAP interface types) in the
                                                      ES Workplace
                                                       – Lets you browse and test SOA services
                                                         generated from R/3
                                    Repository         – You can drill down from industry to solution
                                                         map to business scenario, all the way to the
                                                         service and WSDL (from the Enterprise
                                                         Services Repository) for that service, as shown
                                                         in the figure below

   SAP AG 2006, SAP Education / WNACAF / 15
ARIS for SAP NetWeaver, Solution Manager, XI

                                                           ARIS for SAP NetWeaver
                                                             – Import standard SAP processes from Solution
                                                             – Modify process flow, document, analyze
         ARIS for SAP
          NetWeaver                            SAP           – Export BPEL to XI for implementation
                                                             – Publishes Process Modeling meta data to ES
                                                           SAP XI
                                                             – Integration of SAP and non-SAP processes
                                                               using XML messaging
                                             Enterprise      – Large number of built-in adapters to SAP and
                                              Services         non-SAP systems
                                                             – Integration Process (CCBPM) orchestrates
                                                               messages between systems
             SAP                                             – Publishes business scenarios, business
         NetWeaver XI                                          processes, mappings, data types, etc. to ES
                                                           SAP Solution Manager
       Process (ccBMP)
                                                             – „System of record' for SAP standard
                                                               processes and customized processes.
                                                             – Manage and monitor SAP business
 SAP AG 2006, SAP Education / WNACAF / 16
SAP Business Workflow

                SAP Business Workflow                  Workflow
                           Task 1 / Agent A
                  BAPI/RFC                   Event A
                                                        SAP Business Workflow uses
                                                         the existing transactions and
                                                         functions of the R/3 System
                       Task 2 / Agent A                  and does not change the
                                          R/3            functions.
                 Event B                BAPI/RFC

                                                        You can combine the existing
                                                         functions of the R/3 System to
                          Task 3 / Agent B
                                                         form new business processes
                    R/3                                  with SAP Business Workflow.
                  BAPI/RFC                    Finish

 SAP AG 2006, SAP Education / WNACAF / 17
SAP MDM Workflow

                                              MDM workflow is a tool specific to
                                               SAP NetWeaver Master Data
                   SAP NetWeaver              Provides a way to deal with a group
                       MDM                     of records in a consistent manner,
                   MDM Workflow
                                               enforcing specific validations and
                                               approval paths
                                              Design time tool based on Visio
                          Universal           Exposes Java and ABAP API‟s for
                          Worklist             accessing workflow and records.
                                               For example, an EJB method such
                                               as “Create Product” could create a
                                               record in SAP NetWeaver MDM and
                                               in parallel, launch an approval

 SAP AG 2006, SAP Education / WNACAF / 18
SAP Alert Framework

                         Alert Framework
                                Alert A
               Alert            Actions      Activity
               Name              Actions     (URL)
                                              Activity            Alerts can be raised from any SAP
                                Alert B
               Alert            Actions      Activity
               Name                          (URL)
                                 Actions       Activity
                                                                  Additionally, API's exist so you can
                                                                   have non-SAP systems trigger
                                                                   alerts in SAP NetWeaver
         Business Object                     eMail/SMS/
              Event A

                                                                  Support for e-mail, SMS/Pager, Fax,
             Function                         Worklist             URL Launch
             Module -

              Event B                             URL
                                                                  Publish and Subscribe mechanism
        SAP NetWeaver XI
                                                                   for alert topics
        Integration Process -
              Event C

 SAP AG 2006, SAP Education / WNACAF / 19
SAP Collaboration Tasks

                                              These processes are intended for
                                               user-centric ad hoc processing.
                                               Their purpose is not full-scale
                         SAP NetWeaver         repeatable business processes
                             Portal            with complex routing
                                              Tasks initiate from the Universal
                                               Worklist. Additionally, you can
                                               initiate Collaboration Tasks from
                                               any application using an API
                             Universal        You can create ad hoc processes
                             Worklist          that include feedback options,
                                               approvals, and actions that should
                                               be performed.

 SAP AG 2006, SAP Education / WNACAF / 20
SAP Knowledge Management Workflow/Notification

                     SAP NetWeaver Portal
                                              Route information to the right user
                             knowledge         groups via approval workflows,
                             Workflow/         subscriptions, or classification
                                              Knowledge management generates
                                               various e-mail notifications
                              Universal        associated with events like
                              Worklist         changes to a subscribed

 SAP AG 2006, SAP Education / WNACAF / 21
Computer Center Management System (CCMS)

                                              Provides monitoring of all
                                               servers, components and
                                               resources in the SAP R/3 and
                               CCMS            J2EE landscape from one
                                               centralized server
                                              Can be configured to receive
                                               and post alerts from the Alert
                                               Framework for central
                                               monitoring of all SAP alerts
                              Runtime         Monitor performance of SAP
                                               NetWeaver XI messages such
                              SAP              as processing time and
                              XI               messages processed per hour

 SAP AG 2006, SAP Education / WNACAF / 22
 SAP User Management Engine

  Central place for reading and writing user-specific data
       Users
       Groups
       Role assignments

  Uses Persistence Adapters to read/write data

  Supports database, LDAP directory and SAP system as repository

  User Management                                   Persistence Manager
     Core Layer


  User Persistence                                        LDAP             SAP
                                             Database    Directory        System

 SAP AG 2006, SAP Education / WNACAF / 23
 SAP Composite Application Framework - Service Layer (Core)

    Provides for a wizard driven framework for generating SOA services.
    Developers can create new SOA services from scratch or create new services
         by extending existing services. For example, you can extend the capability of a
         service to read a PO line item without touching the application that exposes the
         PO line item service
    Capability to expose new SOA services as web services in the Enterprise
         Services Repository
    Provides a convenient persistency service in form of database tables and JDO
         metadata. Future releases to be based on EJB 3.0
    Provides convenient wizards and interfaces for consuming web services and
         SAP RFC‟s
    Provides built-in access to basic SAP services such as SAP User Management
         Engine, Collaboration and Logging
    Automatically generates interface code to access various SAP services such
         as knowledge management file check-in, knowledge management Discussion,
         and Currency Conversion. List of service interfaces expands with each new
         release as new user scenarios are identified
    Implemented as Session Beans in J2EE Engine (generated code). Future
         releases to be based on EJB 3.0

 SAP AG 2006, SAP Education / WNACAF / 24
 CAF Process Layer (Guided Procedures)

                                                                     Intended to be used by business experts
              SAP                                                     to create new business processes or
           NetWeaver                                                  modify existing business processes
               BI                            SAP CAF - Services
                                                                     100% Wizard driven web-based user
                                              Layer (CAF Core)        interface. No programming skills
                                                                     Provides access to a large number of
         Knowledge                                                    SAP and non-SAP backend services
         management                                                   including enterprise SOA (provided by
              Services                                                SAP and 3rd parties), SAP NetWeaver BI,
                                             SAP CAF - Process        asynchronous background, and 3rd party
                                               Layer (Guided          web services
              Web                               Procedures)          Provides access to most user interface
             Dynpro                                                   types including Web Dynpro (Java and
                                                                      ABAP), SAP NetWeaver Visual
                                                                      Composer, SAP Interactive Forms,
            SAP                                                       BSP‟s, SAP R/3 Transactions, HTML and
         NetWeaver                                                    JSP web pages, selectable knowledge
                                                                      management resources via folder view
           Visual                                                     or search view
         Composer                                   SAP
                                                 Interactive         Includes a large number of templates for
                                                   Forms              process control (decision points,
                                                                      looping, conditional, etc.), email
                                                                      notification and approvals, etc.

 SAP AG 2006, SAP Education / WNACAF / 25
SAP BPM Overview

           BPM Activity                                                      SAP Solution

     Process Design                               knowledge management                        Collaboration Tasks Design
                                                Workflow/Notification Design
                                             ARIS for SAP NetWeaver     SAP CAF Process Layer - Guided Procedures (GP)

                                              SAP NetWeaver MDM                SAP Business             SAP NetWeaver XI
                                                Workflow Design                 Workflow                Integration Builder

     Process Configuration
                                               SAP User Management Engine            SAP Solution Manager

     Process Execution
                                             SAP NetWeaver XI Runtime            GP Runtime             Alert Framework

                                             SAP NetWeaver Portal Runtime       SAP NetWeaver MDM Workflow Runtime

                                             SAP Business Workflow Runtime

     Process Monitoring                         UWL                CCMS               Enterprise Services Workplace

 SAP AG 2006, SAP Education / WNACAF / 26
SAP BPM Areas Of Focus and Improvement for 2007 and Beyond

   SAP is currently planning improvements to the BPM tools and
    framework (expected to be announced in early 2007)
   Possible areas for improvement include:
                  – Better mapping tools for mapping input/output parameters of Callable
                  – Better editing tools for documenting and viewing existing and proposed
                    processes (non-activated processes). Visualization tools should use
                    graphical devices showing components, feedback loops, approvals, etc.
                  – Centralized UDDI V3 based repository supporting publishing, classifying
                    and discovering web services across the customer's landscape. The
                    registered services are classified using semantic rich-classification
                    systems to enable browsing of services by classification (planned but not
                  – More comprehensive business process monitoring tools and CCMS
                    interfaces for reporting process state and performance of all built-in and
                    custom built business processes
                  – Tools for testing and debugging Guided Procedures
                  – Identity Management System to manage security for processes that span
                    multiple 3rd party backend systems

 SAP AG 2006, SAP Education / WNACAF / 27
What is Service Oriented Architecture (SOA)

       The core aspect of enabling BPM in an organization is establishing a Service
        Oriented Architecture
       A service is a software building block that performs a distinct function such as
        retrieving customer information from a database through a well-defined,
        loosely-coupled interface.
       Loose coupling is significant because it underlies the flexibility behind SOA.
        Loose coupling means services can be linked together dynamically at run-time,
        with no dependencies on how the services are actually implemented.
       For example, a company could create a “Customer Lookup” service to return
        information about a customer. With an SOA, any application needing customer
        information would be able to find, link to, and call the Customer Lookup
        service, regardless of whether the service was built using the same or different
        programming technologies as the calling application.
       SAP name for SOA is enterprise SOA (formerly Enterprise Services
        Architecture (ESA)

 SAP AG 2006, SAP Education / WNACAF / 28
Key Attributes Necessary for SOA

    SOA is built around the concept of a business service - a reusable
     piece of business logic clearly related a piece of business functionality
     rather than simply being IT-centric code.
    The first capability of any SOA reference architecture has to deal with
     service creation, whether formed of old components or newly written
    Besides being „loosely-coupled‟, services must platform-independent
     and must hide implementation details. Web services interface is most
     popular means to achieve this.
    Imagine services as having inputs and outputs that can be tied
     together to make more complex business operations or decisions.
    A registry capability is required where services can be catalogued,
     configured, discovered and maintained in a central repository.
    Other Infrastructure must exists to manage reliability and performance
     and address cross-service requirements such as transaction
     management and security.

 SAP AG 2006, SAP Education / WNACAF / 29
SOA and Web Services

To meet the requirement of a SOA service, a web service must be
robust enough to be used by business designers and external
partners/customers. For example:
    An elementary Web service like Delete Purchase Order would simply
     lead to the deletion of a purchase order in the corresponding database
    A corresponding SOA service for use by internal business designers
     or by external partners or customers might be a “cancel purchase
     order” service. It has to be robust and handle a end-to-end transaction.
     therefore this service may trigger a number of follow-up actions,
                   – Check against production orders
                   – Check against a corresponding billing process
                   – Update of inventory/warehouse information
    However in execution, a SOA service will probably use a web services
     interface to maintain “loose-coupling.” The web service interface is the
     means of execution, and does not imply how the service is

 SAP AG 2006, SAP Education / WNACAF / 30
Benefits of SOA

   Well-designed services are corporate assets. As the availability
    of services increases, so the benefits of reusability and quicker
    time-to-market compound, delivering ever-increasing business

   The end goal of service-orientation is not about creating
    services or even establishing an SOA infrastructure. Rather, it
    is about enabling a new breed of dynamic, service-based
    capabilities that will provide organizations with a competitive
    advantage. With the right capabilities in place, corporations will
    be able to integrate systems more quickly, connect to trading
    partners more easily, increase the efficiency across all aspects
    of their operations, get better visibility into their business, and
    be more agile in their ability to respond to market pressures
    and opportunities.

 SAP AG 2006, SAP Education / WNACAF / 31
Enterprise SOA – Attributes

  Infrastructure and wizards to easily build and enable Service

  Concrete plans to Service enable all built-in business

  Infrastructure to transform legacy applications into service
   enabled components

  SOA Governance to document and manage quality-of-service,
   security, reliability, and availability: e.g., track which services
   are available, how they are being used, how often they are
   being called.

 SAP AG 2006, SAP Education / WNACAF / 32

                                                                      ABAP Stack
                                                                 SAP NetWeaver Platform
      3rd Party
                                             BAPI Web Services                                          BAPI/RFC

          SAP NetWeaver XI
               Web Services

   Monitoring                 CCMS                                                  Web     SAP CAF        EJB
    Service                                            EJB Web Services            Dynpro    Services
                                                           Wizard                             Layer
                                                  SAP NetWeaver Developer                    Core) -
                                                          Studio                            EJB Based

                                                                    Java Component Development

                                                               Java Stack
                                                         SAP NetWeaver Platform

 SAP AG 2006, SAP Education / WNACAF / 33
Monitoring Service

                                              The Monitoring Service provides
                    Monitoring                 statistics on performance of EJB
                                               methods, Web Dynpro applications
                                               and Web Services Interfaces
                                              Importantly, for Web Services
                                               Interfaces, the statistics can be
                                               used to evaluate the performance
                         CCMS                  of SOA Services
                                              The Monitoring Service can push
                                               statistics to CCMS for central
                                               monitoring and evaluation of SOA

 SAP AG 2006, SAP Education / WNACAF / 34
SAP eSOA Areas Of Focus and Improvement for 2007 and Beyond

   SAP is currently planning improvements to the Enterprise SOA
    tools and framework (expected to be announced in early 2007)
   Currently announced is enabling 500+ SOA Services across
    SAP application
   Planned but not announced – A Centralized UDDI V3 based
    repository supporting publishing, classifying and discovering
    web services across the customer's landscape. The registered
    services are classified using semantic rich-classification
    systems to enable browsing of services by classification
   Possible areas for improvement include:
      – Better tools for SOA governance

 SAP AG 2006, SAP Education / WNACAF / 35
What Are Composite Applications

    An application built by combining multiple services. A composite
     application consists of functionality drawn from several different
     sources within a service oriented architecture (SOA). The components
     may be individual web services, selected functions from within other
     applications, or entire systems whose outputs have been packaged as
     web services (often legacy systems).
    For example, a CD player offers a CD playing service. Which is nice
     because you can replace one CD player with another. You can play the
     same CD on a portable player or on your expensive stereo. They both
     offer the same CD playing service, but the quality of service is
    You need to hook up an amplifier and speakers to the CD player so the
     purpose of playing the CD is fulfilled.
    You can buy a complete CD unit that contains the player, amplifier and
     speakers in one unit (a monolithic application). However you will not
     be able to use the speakers and amplifier for other purposes like
     listening to a DVD.

 SAP AG 2006, SAP Education / WNACAF / 36
  Conventional Approach – Buy or Build New Applications

 Expose functionality as libraries and custom programming interfaces
  and build new applications on these
 Costly and time consuming to build, inflexible, high maintenance costs)

                       Legacy Application A                                     Legacy Application B

                       Library A                Library A                  Library A      Library A

             Custom                                         Custom                           Custom
             Modules                                        Modules                          Modules

                                                            New Custom Application

    SAP AG 2006, SAP Education / WNACAF / 37
  Toward SOA - Reuse Functionality of Legacy Applications

 Enable SOA from existing applications by exposing “wrapped” legacy
  business logic
   • No need to modify (and thus retest) the underlying system itself.
   • It can be done at any level of granularity, from creating a service for
     something as simple as a database lookup to wrapping an entire order-entry
     process as one service

                                               Legacy Monolithic Application

                                                     Remote Protocol Layer

                                                                               Wrapped Legacy Business

                       Web Services Proxy                       Proprietary Remote API

   SAP AG 2006, SAP Education / WNACAF / 38
 Toward SOA – SAP Business Application Programming Interface

 SAP architecture was first to be build on a business object-based

    • Within NetWeaver, all BAPI‟s are remotely enabled via RFC interfaces and/or
      web service interfaces.

                                                 SAP ABAP Application

                       SAP R/3

                                        BAPI A          BAPI B             BAPI C

                     RFC Layer

                           Web Services Proxy                    SAP Java Connector (JCo)

  SAP AG 2006, SAP Education / WNACAF / 39
 Toward SOA – Build New Component Based Architectures

 Build new applications based on an Enterprise Component Architecture
  such as NetWeaver
    • Reuse is build into the architecture. No re-factoring necessary to expose
      useful functionality

                                              Java Component-based Application

                  Java Runtime
                         EJB                     UI           UI            UI
                                              Component    Component     Component
                                                 A            B             C

                 HTTP, RMI/IIOP, Proprietary Protocol

                                                              EJB           Web

  SAP AG 2006, SAP Education / WNACAF / 40
Business Objects

Business Objects are an essential part of SOA

     Business Objects expose some business concept such as a orders,
      line items, invoices, etc., necessary to build applications, provide
      services and conduct business based on software systems.

     Business Objects often represent real world things but may represent
      any business concept in the business domain of interest to the
      software developer.

     Good Business Objects will encapsulate all of the data and behavior
      associated with an entity. In other words, good Business Objects
      follow all the rules of good object-oriented design.

     Business Objects usually access backend systems

 SAP AG 2006, SAP Education / WNACAF / 41
   What Are SAP Composite Applications

 Composite applications link together Business Objects in the right way
  to initiate new business practices without having to start from scratch.

                                                                Business Objects
                                                             Wrapped Legacy
                    Backend Systems                          Business Logic
                    (mySAP CRM,                                                       BAPI
                    mySAP ERP, SAP              EJB
                    NetWeaver BI,
                    SAP R/3, J2EE,
                    3rd Party)
                                                Web Services Proxy                   SAP JCo

                                                         Enterprise Services Layer
                                                 Composite Application Framework (CAF)

                                                      New Composite Application

    SAP AG 2006, SAP Education / WNACAF / 42
 SAP xApps – SAP Packaged Composite Applications

                                                          SAP xApps

                              SAP              Web                     SAP CAF     SAP     SAP CAF
                           NetWeaver          Dynpro                    Service    CAF      Process
                             Visual            Java                   Layer (CAF             Layer
                           Composer                                      Core)              (Guided

                              SAP               Java Component Development         Enterprise Services
                                                SAP NetWeaver Developer Studio

 SAP Partners are developing what are referred to as "Packaged Composite
  Applications“ (SAP xApps)
 They are "packaged" because they allow for repeatable delivery to multiple
  customers and are supported with new releases and maintenance
 They are "composite applications" because they reuse, integrate, and orchestrate
  functionality from existing application assets in the context of an enterprise
  services-oriented architecture.
 In addition, SAP xApps provide new application functionality (not just integration),
  implement start-to-end business processes to solve concrete business problems,
  are configurable without code change, and allow analysis followed by action (they
  don't merely deliver read-only data).

  SAP AG 2006, SAP Education / WNACAF / 43
 External Services and Composite Applications

 External Services are “wrappers” around Business Objects that hide the
  underlying implementation and remote protocol

 External Services support remote access to Business Objects via RFC
  or Web Services interfaces

 External Services are configurable (e.g., authentication, proxy setting,

  SAP AG 2006, SAP Education / WNACAF / 44
External Services and SAP Composite Applications

                                                           External Services
                                                            Business Objects
                                                               Wrapped Legacy
                                                               Business Logic
                                               Component                                 BAPI

                                             Web Services HTTP Proxy                 SAP JCo

                                                               Configuration Layer

                                                      Authentication / Proxy Configuration

                                                               SAP CAF

                                                      Composite Application

 SAP AG 2006, SAP Education / WNACAF / 45
Application Services and SAP Composite Applications

 Application Services have a distinct service interface. The
  service interface describes how to call the service and get a
     – Format of input/output parameters, return data
     – For example, a Customer Lookup Application Service interface might
       specify different ways of querying customer information (by
       customer id, by customer name, etc.) and the structure of customer
       data returned by the service.
     – Usually exposes more granular business logic then web services and
       may consume one or more External Service or other Application
       Services. For example, an Application Service could expose a service
       based on an External Service for a customer sales order and another
       External Service for the customer‟s profile, thus providing new
       functionality not previously exposed by either External Service.

 SAP AG 2006, SAP Education / WNACAF / 46
Application Services and SAP Composite Applications

                                                 SAP CAF Service Layer

                                              Application      Application
                                               Service          Service       External
                                             Embedded         Embedded        Service
                                             Service Logic    Service Logic

                                              Application                     Service
             External                          Service
                                             Service Logic

                             SAP CAF Process Layer (Guided Procedures)

                                                 New Composite Application

 SAP AG 2006, SAP Education / WNACAF / 47
DEVELOP – Using the Application Service Modeler

                                             Code You Write

 SAP AG 2006, SAP Education / WNACAF / 48
 Entity Services and SAP Composite Applications

 Entity Services provide a convenient means to store data persistently in
  the J2EE Engine database.

 Entity Services can be used by Application Services to store service
  related data persistently. For example, auditing information about the
  user who created a sales order, the date timestamp, sales order number
  etc. be stored in an Entity Service. The sales order number in turn can
  be used by the Application Service to access SAP R/3 data when

  SAP AG 2006, SAP Education / WNACAF / 49
Entity Services and SAP Composite Applications

                                                     SAP CAF Service Layer
                                                        Application      External     Application
                                                         Service         Service       Service


                                                        Application          Entity      Entity
                                                         Service            Service     Service


                                             SAP CAF Process Layer
                                              (Guided Procedures)

                                             New Composite Application

 SAP AG 2006, SAP Education / WNACAF / 50
MODEL – Using the Entity Service Modeler

 SAP AG 2006, SAP Education / WNACAF / 51
Guided Procedures

 Enables business-centric users without specialized software
  development skills to easily set up and execute collaborative business

 Provides reusable templates for building flexible business processes

 Integrates UI Elements, SAP NetWeaver BI Applications, External
  Services, web services, Application Services and offline processing into
  arbitrary collaborative business processes

 Enables offline process execution via Interactive forms, e-mail,
  spreadsheets, etc.

 Supports SAP NetWeaver Visual Composer, Java and ABAP Web
  Dynpro, SAP Transactions, knowledge management Resource, BSP and
  web pages

 SAP AG 2006, SAP Education / WNACAF / 52
 Callable Objects

                Services                              Other
                                                                      Callable objects are the most
- SAP NetWeaver BI App                        - Email Notification
                                              - User Management
                                                                       fine-grained functional units
- External Service
- Application Service                                                  in the SAP CAF Process
- Web Service                                                          Layer - Guided Procedures
- Background Java Class
                                                                      Callable objects provide an
                                                                       extensible interface for
                                                Callable Object
                                                                       functional elements. Any
         User Interfaces                                               object can be implemented
- Java Web Dynpro Comp                                                 and registered as callable
- SAP Netweaver Visual Composer                                        object
- ABAP Web Dynpro App
- Java Web Dynpro App                                                 A large number of callable
- SAP ABAP Transaction                                                 objects come built into SAP
- SAP NetWeaver Portal iView                   Process Control         CAF
- knowledge management Resource
- Business Server Page                        - Approvals
- Web Server Page                             - Decision Dialog
- SAP Interactive Form                        - Comparison

  SAP AG 2006, SAP Education / WNACAF / 53
  Design Approaches

 It‟s possible to use two different types of modeling: top-down and
  bottom-up. Bottom-up means to prepare all Callable Objects, continue
  with the Actions, Block(s) and at last finish with the Process. Top-down
  modeling means to start with the process modeling, integrate the
  needed Block(s), go on with the Action modeling and assign or add the
  Callable Objects.

 The Top-down modeling allows a better orientation during the design
  time, and therefore we will try the top-down approach. That means, we
  start with the Process, continue with the Block, add the Actions and at
  last we assign or create the Callable Objects.

   SAP AG 2006, SAP Education / WNACAF / 54
GP Overview

 SAP AG 2006, SAP Education / WNACAF / 55
  GP Process

 The Process in GP is a template that provides a holder for all the
  process logic, Actions and Callable objects
 Once you create a process template, it becomes a named object that can
  be reused to build other processes

   SAP AG 2006, SAP Education / WNACAF / 56
 GP Process (Cont.)

 A Process allows several dimensions of configuration:
    – Parameters: Most Callable Objects that you create will have input and output
      parameters. When the Callable Object is attached to an Action, the parameters
      are inherited by the Action and can be propagated further to the Block and
      Process levels
    – Roles: For each Action that you add to a Block, the Guided Procedures
      Framework requires that a Role be assigned: The system must „know‟ which
      Action is processed by which Role during runtime. This is referred to as Role
      Consolidation. Usually you consolidate Roles at the Block level but these can
      be further propagated to the Process level for consolidation
    – Permissions: You can set permissions for editing and executing the Process.
      You can define read, write, delete, initiate, or full control permissions
    – Due Dates: A due date is the point by which a Process must have been
      completed. In addition, you can set notifications that occur as a result
    – Attachments and Runtime Views: Guided Procedures enables you to attach
      files, URLs, or user management handlers to the Process. These Attachments
      are made available at runtime. To be able to access the Attachments at
      runtime, you must configure the Runtime View. There are several built-in
      Runtime View templates to choose from

  SAP AG 2006, SAP Education / WNACAF / 57
  GP Blocks

 Blocks are the structural units that build a Process in Guided
  Procedures. They are re-usable and may contain Actions, nested blocks,
  and even other Processes.

 Type: The Block design defines how the items in the block are executed.
  You can choose to execute them sequentially, in parallel, in a loop, or let
  the user choose between several alternatives. This is defined by the
  Block Type

 Parameters: In most process flows, one or more output parameters from
  Callable Objects will need to be passed between one Action and another
  to maintain state conditions for the next Action. The process of mapping
  output parameters to input parameters is referred to as Parameter
  Consolidation. Normally, this will be done in the Block Level

   SAP AG 2006, SAP Education / WNACAF / 58
  GP Blocks (Cont.)

 Attachments and Runtime Views: You can assign Attachments and
  Runtime Views as you can for Processes

 Exceptions: Exceptions can be thrown by Callable Objects and
  propagated up to the Action and Block level where it can be handled by
  an additional Action, Block or Process, called an exception handler

 Roles: Roles for Actions are normally consolidated in Blocks as
  explained previously for Processes

 Permissions: You can set permissions for editing and executing the
  Block. You can define read, write, delete, initiate, or full control

   SAP AG 2006, SAP Education / WNACAF / 59
  GP Actions

 In Guided Procedures, Actions are executable units that define a single
  step when implemented in a process template at runtime
 In the GP design time actions are used to build blocks, which are the
  basic units of a process template.
 Each Action can refer to either one or two Callable Objects – one for
  execution, and an optional one for display
 Attaching a Callable Object to an action is the first thing you normally do
  as this determines the steps to follow. The definition of the Action adds
  metadata to the Callable Object functions, thereby defining how it is
  invoked and executed within the process.
 You can create and attach a new Callable Object or attach an existing
  Callable Object
 Parameters: Most Callable Objects that you create will have input and
  output parameters. When the Callable Object is attached to an Action,
  the parameters are inherited by the Action and can be propagated
  further to the Block and Process levels

   SAP AG 2006, SAP Education / WNACAF / 60
 GP Actions (Cont.)

 Permissions: You can set permissions for editing and executing the
  Action. You can define read, write, delete, initiate, or full control
 Due Dates: A due date is the point by which an Action must have been
  completed. In addition, you can set notifications that occur as a result
 Attachments and Runtime Views: You can assign Attachments and
  Runtime Views as you can for Blocks and Processes
 Ad-hoc items is an alternate Action that might be executed if certain
  conditions occur, but they do not change the general process flow. For
  example, in a job application process, an applicant does not meet all
  requirements but is still a strong candidate for an opening. The HR
  assistant is not authorized to take the decision to move the application
  forward, so he or she requests the explicit approval of the HR manager.
  This approval is typically not a part of the first phase in the hiring
  process. It can be implemented as an ad-hoc item (alternate action that
  does not stop the overall process flow)

  SAP AG 2006, SAP Education / WNACAF / 61
All Together – Greatly Simplified

                                                                      Process A

                Block B

                                                                         Block A
              Role A                                                                       Role B
                                             Action Role Assignment                                              Action Role Assignment
                              Assign                                                                    Assign


                                   Ad hoc Action
                                    (Optional)                                                                        Action B
                                      Action A                             Outputs         Inputs

            Propagate/                                           Propagate/                         Propagate
            Consolidate                                          Consolidate

                                    Callable Object
                                                                           Outputs                                Callable Object
                                  Callable Object                          Outputs

 SAP AG 2006, SAP Education / WNACAF / 62
Documentation and Reference Information

 Online Help > SAP NetWeaver > SAP
  NetWeaver Library > SAP NetWeaver Developer‟s Guide
       Search for Creating Composite Applications
       Designing Composite Application Services in CAF Core

       Developer Areas > SAP xApps > CAF Launch Page
       The CAF Knowledge Center
       Complete CAF documentation for developers (PDF 2.5MB)
       Numerous How-To Guides and Tutorials

 Download and Install Your Own NW Developer Workplace
       Look for the “Sneak Preview SAP NetWeaver” – Full Java Edition on
       Requires 8GB free disk space for installation (less after installation is
        complete) and 2GB RAM recommended. Details on the website.

 SAP AG 2006, SAP Education / WNACAF / 63