LinkedIn

Saturday, April 16, 2011

Importing a BPMN Visio Diagram as a BPM Process in Oracle BPM 11g

The Case
For many of you who have wondered how can a design created in Visio be converted into a BPM process in Oracle 11g this article will show a step by step guide in doing it.

I am sure not all Business Analyst/Process Analyst would like to install JDeveloper for modeling their business process. They would certain be scared to open a developer IDE to create a business process. There are a however a lot of other ways in which a process can be modeled outside JDeveloper and imported as a BPM process.

Prerequisites

  1. JDeveloper 11g PS2 or JDeveloper 11g PS3
  2. SOA and BPM Extensions for JDeveloper
  3. Microsoft Visio (2010 or 2007)
  4. Jdeveloper BPC Extension (Business Process Converter Extension)
    The extension can be downloaded from the BPM download link from Oracle by expanding the Prerequisites & Recommended Install Process

    image

    image
    Install JDeveloper with the SOA and BPM extensions. Unzip the Oracle Business Process Converter downloaded extension. It contains an extension zip (tutor_bpm_integrator.zip) for JDeveloper. Install this  extension to JDeveloper and restart it.

    A little about the Process
    We have to design a very simple basic process for Automated Credit Card application approval. The process have very little or no touch points.  A credit card application can be made either through an online customer self service portal or through a Customer Phone line. Applications can even be mailed to the Credit Card Division. The CC division converts all email applications into a batch.

    The process checks the eligibility for an applicant to receive a card (credit check, background check etc). If the the applicant is eligible his Card type is determined else if it is rejected an email notification for the same is sent to him. In case the eligibility cannot be determined automatically the applicant is put on hold for a manual review.  If the manual reviewer approves the application then his card type is determined and the applicant is sent a notification about the same.

    All outcomes must be delivered as an event to an external process that can act on the outcome of the process.

    Not very informative but i guess this is enough for us to get started.

    Creating a BPMN Process in Visio
    • Open Visio 2007 or 2010 (Start->Run->Visio->Enter).
    • Visio 2010 has already a BPMN 2.0 stencil which can be used to create a BPMN model.
    • Go to File->New->BPMN Diagram.

      image
      • Upon clicking this you would see the BPMN Shapes on the left and an empty visio diagram on the right.
      • Scroll down on the Shapes to locate the shape marked as ‘Pool /Lane’ and drag it onto the diagram.

      image
      • Double click on this and name this Pool as Customer . The Pool/Lane is equivalent to a swimlane in a BPM process. The Pool Name will be converted into a BPM Process Role.
      • Create two more Pool /Lane below the first and name them as ‘Approver’ and ‘Admin’ respectively.
      image
      • Now from the BPMN Basic Shapes palette drag a Start Event and drop it to the Customer lane.  Name this as ‘Customer Rep Line’.
      • Drag two more Start events to the Customer lane and name them as ‘Customer Request’ and ‘Batch’ respectively.
      • Right click on the ‘Customer Request’ start event and change ‘Trigger’ type to Message.
      • Do the same for the ‘Batch’ start activity as well.

      image
      • Now drag a Task activity to the customer lane and name it ‘Initialize Process’. Drag another Task activity adjacent to ‘Initialize Process’ activity and name it as ‘Credit Card Request’.
      • Right click on ‘Initialize Process’ and change ‘Task Type’ to ‘Script’. Similarly change the ‘Credit Card Request’ task type to ‘User’.

      image
      • Create a Message flow from Customer Rep Line –> Initialize Process –>  Credit Card Request.
      • Now create a BPMN diagram in the Visio as per the diagram below.
      • Remember you can drag a Task to the diagram and change the Type to any of the below

        • Service
        • Recieve
        • Send
        • User
        • Script
        • Reference

      • Similarly a Gateway can be of of the following type

        • Exclusive Data
        • Exclusive Data (with Marker)
        • Exclusive Event
        • Inclusive
        • Parallel
        • Complex

      • It doesn't matter in which lane the Automatic Events or Tasks are dropped to. Only the user tasks have to be in the correct lane. Also remember to neatly label each event, activity, transition and gateway.
      image
      • Now save the Visio diagram as ‘CardApprovalProcess.vdx’. The one that i finally created can be downloaded from here.
      • Now open JDeveloper and create a New SOA ApplicationCreditApprovalApplication’ and a new Project called ‘CreditApprovalProcess’ with SOA and BPM technologies.
      image

      image

      image

      image
      • Go to the Application Navigator and right click on ‘CreditApprovalProcess’ project and click on ‘Import Model(s)’.

      image
      • Navigate to the directory where you saved your .vdx file and click on ‘Open’.

      image
      • JDeveloper will prompt for a window for options to create a single process for all ‘Pools’ in the .vdx or create separate models for each pool.
      • Select ‘Merge pools into one model’ and click ‘Ok’.

      image
      • JDeveloper will now start the conversion process.

      image
      • Upon completion you would see that your BPMN process in .vdx has been converted into an Oracle 11g BPM process. Of course the layout looks horrible but it would take a small effort to rewire the layout.

      image
      • A little layout tweak and here is how the process would look. Works like a charm.

      image
      • Now an IT Analyst can implement the Business process using his set of IT services.

      Here is the sample BPMN design in Visio.

      And here is the zipped JDeveloper Application.

      2 comments:

      1. Great article -- but the links to the artifacts are broken: Google Docs displays the error, "Sorry, we are unable to retrieve this document."

        Thanks,
        Steve

        ReplyDelete
      2. Thanks Steve. I dont know why everyone here has problem accessing the links as i can. Anyways i wll look at fixing these links.

        ReplyDelete