Monday May 04, 2015

Top 10 Things You Should Know About BPM 11g/12c by Mark Foster

clip_image001With the help of my A-Team colleagues (Sushil Shukla, Siming Mu, John Featherly, Pete Farkas), and based on collective experiences visiting numerous BPM customers worldwide, I have put together my “Top 10″ list of things everyone should know when embarking on a BPM project.

You might agree, you might disagree, most of all, feel free to comment.

1. Auditing

BPM provides the business with extremely detailed visibility of runtime instances through its powerful auditing capabilities.

HOWEVER

This comes at a cost: detailed auditing requires frequent inserts into the SOAINFRA database increasing the likelihood of contention and causing significant database growth. As volume increases it is almost always the case that the consequences of Auditing produce the first bottleneck.

BUT…

Auditing can be tuned down where appropriate and purge scripts can remediate database growth

SEE…

Auditing Demystified

2. Payload Size

It can often be simpler at the time of BPM process design to have one large payload schema that includes all elements for every possible interaction within the lifetime of an instance, and pass this everywhere within the instance, including to human tasks and their UIs.

HOWEVER

The cost of this, both at runtime and in terms of the number and size of database rows, can be large. The whole payload must be written to SOAINFRA database at dehydration points within the lifetime of a process instance & in-between these dehydration points, data objects associated with this payload are held in memory.

BUT…

Appropriate design of the payload schema (flatter & simpler) can reduce the size considerably. The optimal solution would be to pass only key-values in the payload and retrieve detail values as-and-when needed inside the process, however this can lead to over-complicating the process design with technical services. A sensible balance is always the best approach.

SEE…

XML_DOCUMENT Table Growth

3. Partitioning / Purging

BPM audits heavily, this can be extremely useful for business insight

HOWEVER

The SOAINFRA database growth can be larger than expected

BUT…

Partitioning & purging are critical to limiting database growth. Test purging thoroughly as part of a normal stress/load test cycle. Determine whether “loop purge” outside of the online window is sufficient, if not consider also using “parallel purge” during quiet periods during the online day. Partitioning is a good option in most cases, in 11g SOAINFRA must be partitioned post-installation but in 12c it is an installation option.

SEE…

SOA 11g Database Growth Management Strategy Paper

SOA Partitioning

4. Negative Testing

SOA Suite provides a comprehensive fault policy framework & BPM has inbuilt fault-handling constructs, allowing the vast majority of technical and business exceptions to be handled gracefully.

HOWEVER

Failure to properly negative test potential exceptions, individually & in bulk, can lead to inadequate operational guidelines & faults occurring in production which can be hard to recover.

BUT… 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 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

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

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

Monday Jan 06, 2014

BPM Auditing Demystified by Mark Foster

I have heard from a couple of customers recently asking about BPM audit table growth, specifically BPM_AUDIT_QUERY. It led me to investigate the impact of the various audit levels in SOA/BPM on these table and to propose options to them.

It is important to note up-front that BPM is a human-centric workflow application and therefore should be expected to audit often and in detail the reality is that business users probably will want to know who did what and when, and also who did not do what when they were supposed to. BPM auditing is very rich and can provide this kind of information and more. The “downside” of this is that audit tables can grow at a faster rate than expected, and BPM_AUDIT_QUERY is normally the most prominent of these.

Clearly there are well documented strategies for archiving/purging and partitioning which can control/limit the impact of table growth but there may also be simple changes to the BPM audit settings which can prove beneficial in certain business situations.

Audit Settings

There are essentially three places where the auditing of BPM applications can be controlled Read the full 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

Thursday Nov 21, 2013

Case Management In-Depth: Cases & Case Activities Part 2 – Case Rules by Mark Foster

In the previous blog entry we started to look at case artefacts, specifically case activities and how we should design these at the correct level of granularity.

In this entry we’ll look at case rules, the “glue” that connects case artefacts together at the level of the case.

Case Artefacts & Case Rules

As of PS6, the design-time for Case Management inside Business Process Management Studio has no “holistic” view of the case and its artefacts, however this is planned for a future release. In the absence of this I’ve been trying to understand how it would be possible to visualize everything that makes up a case and how these things are interrelated.

A Mind Mapping Approach

My colleagues Prasen Palvankar & Ravi Rangaswamy came up with a neat use of mind-mapping to show the case & its relationships.

… I find this great for understanding the questions that need to be asked in the design of a case from within Business Process Management Studio…”who are the stakeholders”, “what are the case activities”, “which documents can be attached to the case” etc. but from this I could still not immediately grasp what my case looked like and the relationship between the artefacts. Read the full 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

Monday Oct 28, 2013

Case Management In-Depth: Stakeholders & Permissions by Mark Foster

We’ve seen in the previous 3 posts in this series what Case Management is, how it can be configured in BPM Studio and its lifecycle.

I now want to go into some more depth with specific areas such as:.

  • Stakeholders & Permissions
  • Case Activities
  • Case Rules
  • etc.

In the process of designing a Case Management solution it is important to know what approach to take, what questions to ask and based on the answers to these questions, how to implement. I’ll start with Stakeholders & Permissions.

Stakeholders

The users that perform actions on case objects, defined at a business level, e.g. “Help Desk Agent”, “Help Desk Supervisor” etc. Read the full 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

Saturday Oct 26, 2013

Case Management In-Depth: Cases & Case Activities Part 1 – Activity Scope by Mark Foster

In the previous blog entry we looked at stakeholders and permissions, i.e. how we control interaction with the case and its artefacts.

In this entry we’ll look at case activities, specifically how we decide their scope, in the next part we’ll look at how these activities relate to the over-arching case and how we can effectively visualize the relationship between the case and its activities.

Case Activities

As mentioned in an earlier blog entry, case activities can be created from:

  • BPM processes
  • Human Tasks
  • Custom (Java Code)

It is pretty obvious that we would use custom case activities when either:

  • we already have existing code that we would like to form part of a case
  • we cannot provide the necessary functionality with a BPM process or simple Human Task

However, how do we determine what our BPM process as a case activity contains? What level of granularity?

Take the following simple BPM process Read the full article here.

CMPS6_5_03

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
« May 2015
SunMonTueWedThuFriSat
     
13
27
28
29
30
31
      
Today