Friday Mar 27, 2015

Now Under Development in AVIO’s Skunkworks Labs: Customized Workspace for Oracle BPM by Mark Peterson

clip_image002

Using best in class UI technologies, AVIO is developing a custom workspace that will manage your work the way you want. It starts with a initial layout that is similar to Oracle's BPM workspace, but it can use a layout that is best for you. It works in most browsers and media types; cell phones, tablets or PCs.

AVIO's workspace uses open source technologies, Angular JS (angularjs.org) and Bootstrap CSS (getbootstrap.com). Angular JS provides best in class MVC architecture to render the UI fast and rich in features. Bootstrap CSS is used for a "Design for Mobile First" approach. Where Angular is rapidly becoming the technology of choice for the front-end, Bootstrap will give your designs the responsiveness it needs for cell phones, tablets or PCs.  As opposed to Oracle's workspace, Angular enables your workspace to be customized from its own and AVIO's pre-built libraries. These libraries leverage AVIO's REST services for BPM CRUD operations with the server. Bootstrap CSS can layer on top of any open source tools to give your UIs the "wow" factor you want. These cool features will include modal menus, dynamic widgets and pages, and Kanban style task boards for an intuitive user experience.

Before we look at the workspace on a mobile device, take a close look at the top and left menu bar on a full-size display. The top menu bar contains a search box to filter the list or locate a particular work item. It also contains tabs for applications (to start new tasks), dashboards  (for grapical representation of your work) and a settings tab; for configuring your workspace. The menu on the left contains a list of views to group your work by task or case; initiated or administrative; tasks due within some time-frame; or by some metadata like region, department, or status.

The main panel (on the right) contains a work list represented by cards. These cards can be customized to contain important text and date fields,  images, links and other meta-data to identify them. These cards can represent different work items like a task or a case. With cards, there's no need to switch between task and case view when using Oracle's Adaptive Case Management (ACM) features. If mixing them together in a single list is not desired, it is easy to create views with only one or the other.

To get a feel for how this works, we will look at the UI rendered in a hand-held device as seen below. Notice that the left menu bar has been hidden and the top menu collapsed to an expandable menu icon. The work item list of cards makes it easier to design responsive layouts over a static table with rows. Different card types may need different meta-data, images and fields. Likewise the details behind the cards can adapt according to the card type. This provides more uniformity for handling tasks and cases for an intuitive and friendly look and feel.

One reason cards are used as opposed to a static table is the way the concept handles different work item types. The other reason is to allow Kanban style drag and drop.  Each card type can contain its own set of text fields, dates, images and links according to the card type. It can be dragged around (in Kanban style), sorted moved from view to view, or whatever the case may be. Cards provide more flexibility over tables. However if a table suits the need better, that is possible too. It's easier to turn off features than add them back in later on. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Monday Feb 16, 2015

Demonstration of SOA 12c Maven support by Mark Nelson

Mark Nelson's video covers the Oracle Maven Syncronization Plug-in, the SOA 12.1.3 Maven Archetype, the Maven Import Wizard, Oracle SOA Maven Plug-in, and more. Watch the video here.

clip_image002

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Tuesday Jan 27, 2015

BPM 11g: Instance Patching Revisited: Inability to Create New Instances by Mark Foster

clip_image002Introduction

Back in 2012 after the release of BPM 11g PS4FP I wrote a blog entry on Instance Patching, what it was and how it worked.

Remember, instance patching is redeployment of a composite on the same Revision ID with “keep running instances” option, as opposed to instance migration which follows deployment of a new composite with a new Revision ID and selected instances migrated from the old to the new revision.

I’ve decided to revisit the subject in a little more detail on the back of an issue a customer had with instance patching…. they’d redeployed a composite after making a very small “compatible” change to the BPM process and subsequently found that they could not instantiate new instances. This blog will detail why this situation happened and how to recover from it.

Walk-through of the Issue

Revisit the Process

From the previous blog entry we had a very simple process with three human activities and file write….

….we instantiated several instances and progressed them to various different human activities… Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Monday Jan 26, 2015

Creating Custom BPM Work List for Human Tasks based in ADF by Mark Peterson

clip_image002If you ever need a custom work list and need to open the human task from this list, then this blog can help you. All you really need to do is find the list of tasks and create the URL that opens the task from the custom work list. This is not as straightforward as it seems since the URL contains some dynamic fields that you will need to derive from information about the tasks.

The need for a custom work list usually involves some sort of relationship between instances in a process, or between tasks in different processes such that the OOTB functionality of the BPM workspace is not sufficient. The user wants to see a logical grouping of tasks or between parent and child tasks. These tasks should be shown grouped together. These tasks can be shown in a table or tree format and each task should have a link to click on to open the task directly from the form. This is an example of such a list and grouping.

Use Cases

The relationships between tasks may consist of simple parent/child relationships. The above table was used to implement a custom ACM UI where each of these tasks (children) are activities for a given case (parent). Here a work request (case) with several child tasks, or activities are listed along with the status, description due date, started date and assignee. Notice the links to open the task or reassign the task.

Another example is when a tasks is related to another other (like siblings) by customer or account ID. In all of these examples, the user wants a convenient way to jump directly to the related task, without closing the current task or form, going to the work space, finding and opening the task from the work space. Here are some example users stories this post can help you implement.

  1. As an agent, I want to open a task associated with a leg of a trip from the trip overview page, so I don't have to search and find the task in the workspace, when I'm working on the trip.
  2. As a user, I want to be able to see all tasks associated with a work requests and be able to open a task to work on it without having to find the task in the workspace when I'm working on the work request.
  3. As a underwriter, I want to be able to see all related line items on a insurance policy and be able to jump to any of these line items from any other line item in the policy without need to find and open the line item from the workspace.
ADF URL Parameters

The URL pattern you need to construct is as follows:

http://hostname:port/faces/adf.task-flow?bpmWorklistTaskId=<TaskId>&adf....

The following parameters needs to be derived and appended to this URL using the amphersand "&" as a delimiter between parameters and an equal sign "=" between the parameter and value. The parameter value pair a listed in the following table. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Thursday Jan 22, 2015

BPM 10g-12c Migration: Handling Excel Files as Input by Mark Foster

clip_image002Introduction

With the introduction of BPM 12c comes the long-awaited migration tool to migrate BPM 10g projects to BPM 12c.

The A-Team have been heavily involved with the effort to create collateral around this tool – patterns, approaches, samples, tutorials, labs etc.

One of the common patterns in BPM 10g is using an Excel spreadsheet as input to a process which led me to investigate how this could be replicated in 12c. What follows is a step-by-step guide to achieving an example of this. Note that this blog will not deliver an enterprise production solution but will at least provide a working example which can be built upon as required.

Approach

Handling files in SOA Suite 11g & 12c is standard functionality with the file and ftp adapters… so we’ll use the file adapter for this example.

Handling CSV files is also straightforward, they can be specified as input in the file adapter wizard… so we can use a CSV file as input to the process.

Apache POI is a standard open source approach to converting Excel to a.n.other file format…. so we can use this to convert the Excel to CSV.

The file adapter and FTP adapter in 12c (and 11g) provide a feature known as “pipelines and valves” for pre-processing (and post-processing) of files prior to delivery to the composite…. so we can use this as the point of conversion for our file.

Given we now know the approach we can begin to build the example….

The Example Project

Examine the Input Spreadsheet / CSV File

We’ll be using a simple excel spreadsheet of orders….

Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Tuesday Nov 04, 2014

Adding an ADF Human Task User Interface to our SOA Maven build by Mark Nelson

With the new Maven support in 12c, it is much simpler now to include our ADF projects in our SOA Application build. Continuing on from this earlier post, we will now add the ADF project.
You can do this by opening the Human Task (from the composite view) and clicking on Form and Auto-Generate Task Form.
Then in the popup Create Project dialog box, give the project a name, I used HTUI1, and click on OK. It will take a few minutes to generate the project. When it is done, do a Save All for good measure.
Now if you want to take a look, you will see that you have three POM files – one for the SOA Project (composite), one for the ADF project, and also your application level POM. If you open the application level POM (that’s the one under Application Resources/Build Files, you will see that is is a multi-modules project that lists the other two, as you can see in the image below. It also has some configuration to tell Maven where to find ojdeploy. In this release, we still need to run ojdeploy to build and package the ADF projects, so you do need to have JDeveloper available to your build server if you want to build ADF projects there. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Sunday Nov 02, 2014

Running SCA Tests from Maven by Mark Nelson

In this post, let’s look at how we can run SCA test suites from Maven. To get started, we are going to need a test. Let’s set up our process to add two numbers. Go ahead and open the XML Schema for the inputs and outputs and change it to take two int’s as input and return a single int as output, as shown below:


Now update the assign activity’s copy rule in the BPEL process to add the two numbers together. The “from” part of the copy rule should look like this: Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Tuesday Jul 22, 2014

BPM update adds Case Management Web Interface and REST APIs by Mark Nelson

Oracle has just released BPM 11.1.1.7 Bundle Patch 3 which adds the out of the box web interface for Advanced Case Management and REST APIs for working with BPM.

The patch is available from Oracle Support, it is patch number 18072286.

The Case Management interface looks a bit like this:
acm

And here is an example of using the REST API.  You can call the REST URL (GET) http://yourserver:port/bpm/services/rest/application.wadl to get details of the available services:
Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Wednesday Jun 11, 2014

Manipulating Human Tasks (for testing) by Mark Nelson

A few months ago, while working on a BPM migration, I had the need to look at the status of human tasks, and to manipulate them – essentially to just have a single user take random actions on them at some interval, to help drive a set of processes that were being tested.

To do this, I wrote a little utility called httool.  It reuses some of the core domain classes from my custom worklist sample (with minimal changes to make it a remote client instead of a local one).

I have not got around to documenting it yet, but it is pretty simple and fairly self explanatory.  So I thought I would go ahead and share it with folks, in case anyone is interested in playing with it.

You can get the code from my ci-samples repository on java.net:

git clone git://java.net/ci4fmw~ci-samples

It is in the httool directory.

I do plan to get back to this “one day” and enhance it to be more intelligent – target particular task types, update the payload, follow a set of “rules” about what action to take – so that I can use it for more driving more interesting test scenarios.  If anyone is feeling generous with their time, and interested, please feel free to join the java.net project and hack away to your heart’s content.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Friday Feb 28, 2014

Code Coverage for BPMN by Mark Foster

Introduction

I visited a customer recently who asked a very interesting question…. they’d been performing a series of stress tests of their Business Process Management project made up of many & complex Business Process Management processes and they wanted to know if there were any activities/paths in any of their processes which they hadn’t traversed… sort of like “Clover” for Business Process Management, This led me to thinking about Business Process Management auditing and cross-referencing this with the Business Process Management activities.

BPMN Code Coverage: The Theory

CBPM_01

Let us take a look at the relevant tables in the SOAINFRA schema….


BPM_AUDIT_QUERY

Providing that the audit level has been set sufficiently high (for example “Production” would do), this table stores details of all BPMN activities instantiated at any given time.

BPM_CUBE_ACTIVITY & BPM_CUBE_PROCESS

These tables are a static view of all activities in all deployed process at any given time.

Deployed Business Process Management activities not in BPM_AUDIT_QUERY

It became obvious that selecting all activities in the join of BPM_CUBE_ACTIVITY and BPM_CUBE_PROCESS for a given deployed process/composite which did not exist in BPM_AUDIT_QUERY during a given time period would highlight activities not invoked as part of out testing. As a result I ended up with a piece of SQL thus….

…i.e. which activities in processes “BpmClover” and “BpmCallable” were not traversed in the last 24 hours.

BPMN Code Coverage: The Practice

I needed a fairly simple process to test with, not too complex but with a good selection of activities, human tasks, boundary events, gateways etc… and ended up with the following (not BPMN best practices by any means)….
…i.e. a main process and a callable sub-process. Read the complete article here.


SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki Mix Forum

About





Search

Archives
« March 2015
SunMonTueWedThuFriSat
21
28
29
30
31
    
       
Today