adf_bpm_integration

39
  Oracle BPM / Oracle ADF Integration Best Practices Andrejus Baranovskis CEO & Architect, Red Samurai Consulting Oracle ACE Director Danilo Schmiedel Technical Consultant, Opitz Consulting GmbH

Upload: akhil-rangaraju

Post on 05-Nov-2015

214 views

Category:

Documents


0 download

DESCRIPTION

this documents explains the best practices for ADF BPM integration

TRANSCRIPT

  • Oracle BPM / Oracle ADF Integration Best Practices

    Andrejus Baranovskis

    CEO & Architect, Red Samurai Consulting

    Oracle ACE Director

    Danilo Schmiedel

    Technical Consultant, Opitz Consulting GmbH

  • ADF, SOA , BPM, WebCenter and UCM

    Small Team of Experts, Focused on Technical Quality Results

    Customers Global Corporations, Medium and Small Business

    Oracle Technical Blog 7 Years (~500 posts)

    Oracle Fusion Middleware

    Innovation Award 2010

    SOA Partner Community

    Award for Outstanding

    Contribution Across the

    World 2010

    2010 Enterprise 2.0 Blazer:

    Enterprise 2.0 Leader Award

  • Founded in 1990, located in Germany and

    Poland

    Business IT Alignment, BPM, SOA and

    system integration, Application

    development, IT Infrastructure Management

    Specialized in SOA, BPM, ADF &

    Application Grid

    Also specialized in Exadata, Business

    Intelligence Foundation, Oracle Database,

    Oracle Enterprise Linux, Real Application

    Cluster, Oracle VM, Data Warehousing,

    DB11g Performance Tuning

    2010 Oracle Fusion Middleware Award

    2008 2010 EMEA SOA Community Award

    OPITZ CONSULTING GmbH

  • Outline

    BPM/ADF Integration Points

    Reuse of BPM Components

    ADF/BPM Generic Task Handler

    Decoupling Business Data

    Complexity and Architecture

    Process Replay

    Share Artifacts with MDS

    Customize BPM Workspace with

    ADF

    Oracle BPM/ADF Integration

  • BPM/ADF Integration Points

    BPM Human Task Process

    BPM Workspace App Custom ADF App

    Imports BPM Workspace JAR

    ADF UI ADF UI

  • Some of our challenges

    Complexity

    Long-running end-to-end processes

    Approx. 20 Human Tasks per process + automated service calls

    Infrastructure with more than 750 Managed Servers in Production

    300.000 calculated end-to-end process instances per year

    Flexibility

    Configurable through Business Rules, DVMs,

    Process migration because of environment changes and new product releases are necessary

    Top-down approach (contract-first)

    Integration

    Custom-defined user task forms that fit into existing implementations and future plans

  • Locking and Coordination

    Preparation Finish Validation

    Validate Application

    Check Staffing Dependencies

    Setup Accounts

    Dependency

    exists?

    yes

    no

    Finish Staffing

    Staffing

    cancelled

    Staffing

    processed

    Continue

    Staffing event Cancel Staffing

    event

    Sta

    ffin

    g B

    usin

    ess P

    rocess

    C

    om

    po

    nen

    t

    Vie

    w

    Start

    Process

    Setup Workplace

    Approve Staffing

    Start

    Approval

    Create operating sequence

    Dynamic Approver

    Determination

    Perform Approval

    Steps

    Approval

    finished

    Perform Approval

    Steps

    Ap

    pro

    ve

    r A

    A

    pp

    rov

    er

    B

    Ap

    pro

    ve

    r X

    Continue?

  • Complexity

    Long-running end-to-end processes

    Approx. 20 Human Tasks per process + automated service calls

    Infrastructure with more than 750 Managed Servers in Production

    300.000 calculated end-to-end process instances per year

    Flexibility

    Configurable through Business Rules, DVMs,

    Process migration because of environment changes and new product releases are necessary

    Top-down approach (contract-first)

    Integration

    Custom-defined user task forms that fit into existing implementations and future plans

    Challenges and what it means (1)?

    Following the BPM Suite standard approach for

    approx.15 processes:

    several SCA projects

    more than 300 task definition files

    more than 300 single ADF-UI projects

    Versioning? Maintenance? Migration?

  • Validate Application

    Check Staffing Dependencies

    Setup Accounts

    Dependency

    exists?

    yes

    no

    Finish Staffing

    Staffing

    cancelled

    Staffing

    processed

    Continue

    Staffing event

    Cancel Staffing

    event

    Sta

    ffin

    g B

    usin

    ess P

    rocess

    Start

    Process

    Setup Workplace

    Approve Staffing

    Start

    Approval

    Create operating sequence

    Dynamic Approver

    Determination

    Perform Approval

    Steps

    Approval

    finished

    Ap

    pro

    ve

    r A

    A

    pp

    rov

    er

    B

    Ap

    pro

    ve

    r X

    Perform Approval

    Steps

    Continue?

  • Validate Application

    Check Staffing Dependencies

    Setup Accounts

    Dependency

    exists?

    yes

    no

    Finish Staffing

    Staffing

    cancelled

    Staffing

    processed

    Continue

    Staffing event

    Cancel Staffing

    event

    Sta

    ffin

    g B

    usin

    ess P

    rocess

    Start

    Process

    Setup Workplace

    Approve Staffing

    Start

    Approval

    Create operating sequence

    Dynamic Approver

    Determination

    Perform Approval

    Steps

    Approval

    finished

    Ap

    pro

    ve

    r A

    A

    pp

    rov

    er

    B

    Ap

    pro

    ve

    r X

    Perform Approval

    Steps x x

    x x x

    x

    x

    Continue?

  • Validate Application

    Check Staffing Dependencies

    Setup Accounts

    Dependency

    exists?

    yes

    no

    Finish Staffing

    Staffing

    cancelled

    Staffing

    processed

    Continue

    Staffing event

    Cancel Staffing

    event

    Sta

    ffin

    g B

    usin

    ess P

    rocess

    Start

    Process

    Setup Workplace

    Approve Staffing

    Start

    Approval

    Create operating sequence

    Dynamic Approver

    Determination

    Perform Approval

    Steps

    Approval

    finished

    Ap

    pro

    ve

    r A

    A

    pp

    rov

    er

    B

    Ap

    pro

    ve

    r X

    Perform Approval

    Steps Human Task

    Before Task Operations

    After Task Operations O

    racle

    Hum

    an

    Wo

    rkflow

    Generic Task Handler

    x

    Continue?

  • Generic ADF Human Task Handler

    BPM Human Task

    Generic BPM Human Task

    ADF Data Control

    Generic BPM Human Task

    ADF UI ADF UI

    BPM Human Task

  • Generic ADF Human Task Handler

  • Generic ADF Human Task Handler

  • Generic ADF Human Task Handler

  • Generic ADF Human Task Handler

  • Complexity

    Long-running end-to-end processes

    Approx. 20 Human Tasks per process + automated service calls

    Infrastructure with more than 750 Managed Servers in Production

    300.000 calculated end-to-end process instances per year

    Flexibility

    Configurable through Business Rules, DVMs,

    Process migration because of environment changes and new product releases are necessary

    Top-down approach (contract-first)

    Integration

    Custom-defined user task forms that fit into existing implementations and future plans

    Challenges and what it means (2)?

    What about my running instances?

  • Decoupling Business Data

    Validate Application

    Check Staffing Dependencies

    Setup Accounts

    Dependency

    exists?

    yes

    no

    Finish Staffing

    Staffing

    cancelled

    Staffing

    processed

    Continue

    Staffing event

    Cancel Staffing

    event

    Sta

    ffin

    g B

    usin

    ess P

    rocess

    Start

    Process

    Setup Workplace

    Approve Staffing

    MDS SOAINFRA

    Deployment Instance Data

    Task Data / Payload

    Why is the transfer of complex business data through the whole process critical?

    Versioning

    Migration

    Performance

    UI collects data from SOAINFRA

    Continue?

  • Decoupling Business Data (2)

    Validate Application

    Check Staffing Dependencies

    Setup Accounts

    Dependency

    exists?

    yes

    no

    Finish Staffing

    Staffing

    cancelled

    Staffing

    processed

    Continue

    Staffing event

    Cancel Staffing

    event

    Sta

    ffin

    g B

    usin

    ess P

    rocess

    Start

    Process

    Setup Workplace

    Approve Staffing

    MDS SOAINFRA

    Deployment Instance Data

    Task Data / Payload

    Why is the transfer of complex business data through the whole process critical?

    Versioning

    Migration

    Performance

    UI collects data from SOAINFRA

    Business

    related data

    Adapter Services

    Continue?

  • Monitor the filesystem

    Monitor your server and apps (EM FMW Control, Grid Control)

    Monitor the memory (JRockit Mission Control)

    Manage database growth of MDS and SOAINFRA

    Purging: Looping, Parallel, Partitioning

    Oracle Fusion Middleware Administrator's Guide (chapter 9)

    SOA 11G Database Growth Management Strategy

    The character of the processes and the amount of instances is

    important to find the right purging strategy (short-running or

    long-running)

    Setup the housekeeping

  • Complexity

    Long-running end-to-end processes

    Approx. 20 Human Tasks per process + automated service calls

    Infrastructure with more than 750 Managed Servers in Production

    300.000 calculated end-to-end process instances per year

    Flexibility

    Configurable through Business Rules, DVMs,

    Process migration because of environment changes and new product releases are necessary

    Top-down approach (contract-first)

    Integration

    Custom-defined user task forms that fit into existing implementations and future plans

    Challenges and what it means (3)?

    => How should I design my SCA-Applications?

    => Which functionalities can be used twice or more?

    => How should I use features like partitions in order to

    ease the monitoring of the composites during runtime?

    => What are valid naming conventions?

  • Process Replay

    Start

    Approval

    Create operating sequence

    Dynamic Approver

    Determination

    Perform Approval

    Steps

    Approval

    finished

    Perform Approval

    Steps

    Ap

    pro

    ve

    r A

    A

    pp

    rov

    er

    B

    Working Steps Form Data

    WS01

    WS02

    WS01

    Order WS

    30000 ..

    40001

    70080

    Order Table

    Working Step Table

    1

    2 2

    Generic

    Task Handler

    Form Data

    ..

    Form Data Table

    Replay

    Service

    Check: Is Replay Mode

    active?

    Query the outcome and

    the appropriate task

    data of the current order

    and working step.

    Return the result to the

    Generic Task Handler

    and mark the working

    step as replayed.

    Continue the steps for

    all tasks with a selected

    outcome.

    2

    1

    2

    3

    4

    3

  • Complexity

    Long-running end-to-end processes

    Approx. 20 Human Tasks per process + automated service calls

    Infrastructure with more than 750 Managed Servers in Production

    300.000 calculated end-to-end process instances per year

    Flexibility

    Configurable through Business Rules, DVMs,

    Process migration because of environment changes and new product releases are necessary

    Top-down approach (contract-first)

    Integration

    Custom-defined user task forms that fit into existing implementations and future plans

    Challenges and what it means (4)?

    Where should I store those contract information?

  • Reuse of services + data S

    OA

    Co

    mp

    osit

    e 1

    S

    OA

    Co

    mp

    os

    ite 2

    Server

    Car CustomerInfoService

    (with SOAP-Binding) Customer

    Claim Notification

    MDS

    CustomerInfoService

    (abstract Interface) ClaimNotification

    Interface

    CarRental

    Interface CarBooking

  • Share artifacts with MDS

    MDS

    Composite

    Interface (WSDL)

    Reference Interfaces

    (WSDL)

    Fault Policies

    (XML)

    Domain

    Value Maps (DVM)

    Business Events

    (EDL) Data (XSD)

    oramds:/apps//.wsdl

  • Set the title-attribute of your composite instance with a

    business related identifier

    Use component-properties to change configuration

    parameters of your implementations during runtime

    Implement dynamic endpoint-binding pattern to avoid large if-

    then-else trees (in BPEL: set property endpointURI during

    runtime)

    A few more things...

  • Complexity

    Long-running end-to-end processes

    Approx. 20 Human Tasks per process + automated service calls

    Infrastructure with more than 750 Managed Servers in Production

    300.000 calculated end-to-end process instances per year

    Flexibility

    Configurable through Business Rules, DVMs,

    Process migration because of environment changes and new product releases are necessary

    Top-down approach (contract-first)

    Integration

    Custom-defined user task forms that fit into existing implementations and future plans

    Challenges and what it means (5)?

    How can I create my own worklist application?

  • Customized BPM Worklist Task Flow

    (MDS Seeded Customization)

    BPM Worklist JAR with ADF Task Flows

    Applied MDS Seeded Customization

    ADF UI

    Custom ADF Application

  • Customized BPM Worklist Task Flow

    (MDS Seeded Customization)

  • BPM Workspace Mode

  • Lightweight ADF Task Flow for BPM

    Human Tasks

    BPM Java API

    ADF UI

    Custom ADF Application

  • Lightweight ADF Task Flow for BPM

    Human Tasks

  • ADF Security Integration

    BPM Human Task

    Generic BPM Human Task

    ADF Data Control

    Generic BPM Human Task

    ADF UI ADF UI

    BPM Human Task

    A

    D

    F

    S

    E

    C

    U

    R

    I

    T

    Y

  • Summary

    Create reusable components for BPM and ADF.

    Decouple business data from process instance data.

    Dont forget the housekeeping for BPM and ADF.

    Create well defined interfaces that fit into your architecture.

    Be prepared for the worst-case (Fault Management, Replay, Entry

    Points, etc.).

    Use MDS to share your metadata.

    Define clear naming conventions in advance for BPM and ADF.

  • Opitz Consulting Profile

    Outtasking

    Client

    Partner

    Consulting

    Coaching

    Fix Price

    Industry Financial Services

    Non-Profit Retail/

    Logistic

    Jrgen Kunz Senior Vice President Northern Europe & Managing

    Director Oracle Germany

    Our Platinum Partner OPITZ CONSULTING with his

    excellent employees and outstanding

    project successes belongs to our

    privileged partners.

    Markus Mehrens Head of Account Management, Deutsche Postbank AG

    Referring to our external partners, I rarely experienced that project

    organization and project management

    have been handled in such perfect

    manner.

    Telco/

    Media

    Technology

    Methods

    Marketing

    Non-Profit

    Andreas Rttger (COO):

    We rely on services of trusted partners so we can ensure the holistic

    approach in our projects. This is a key

    in delivering value and innovation in

    complex projects.

  • Red Samurai Profile

    Customer Base

    United States

    Germany

    South Africa

    Greece

    Switzerland

    United Kingdom

    Spain

    Portugal

    Australia

    Jordan

    Saudi Arabia

    Canada

    Czech Republic

    Norway

    Focus

    Advanced Oracle

    Fusion Coaching

    Oracle Fusion

    Architecture

    Development

    Oracle Fusion

    Development and

    Implementation

    Social Enterprise

    Suite Product

    Development and

    Integration

  • Contacts

    Danilo Schmiedel

    Blog: http://inside-bpm-and-soa.blogspot.com/

    Web: http://www.opitz-consulting.com/

    Email: [email protected]

    Twitter: dschmied

    Phone: +49-30-6298889-0

  • Contacts

    Andrejus Baranovskis

    Blog: http://andrejusb.blogpost.com

    Web: http://redsamuraiconsulting.com

    Email: [email protected]

    Facebook: http://www.facebook.com/redsamoracle

    Phone: +370-640-14737