Saturday May 16, 2015

Maven Repository – Index now available – more to come by Mark Nelson

clip_image002I am happy to announce that we now have an index available for the Oracle Maven Repository.  This is a standard Maven index, built with the Maven Core Indexer code (donated by Sonatype to Maven – thanks!) and is available at https://maven.oracle.com/.index/nexus-maven-repository-index.properties and https://maven.oracle.com/.index/nexus-maven-repository-index.gz.

The easiest way to view it is to use an IDE like NetBeans, as shown below:

We are actively working with Maven Repository Manager and IDE teams to make this work for you across a variety of common tools you may use. 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 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

Monday Mar 30, 2015

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



clip_image002

If 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. 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 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

About





Search

Archives
« July 2015
SunMonTueWedThuFriSat
   
11
29
30
31
 
       
Today