RSS

Category Archives: Uncategorized

Case management for the knowledge worker era

Companies have been using workflow and content management for many, many years. In IT we got used to the term Business Process Management (BPM) whenever we spoke of automated process execution. Not so strange since the term BPM was adopted by all the major software vendors and has received a lot of attention as “the” way to achieve process automation and integration.

There are however many different definitions of BPM, where some are technical and others are business oriented. But if we look at the Gartner definition:

Business process management (BPM) is a discipline that uses various methods to discover, model, analyze, measure, improve, and optimize business processes.  A business process coordinates the behavior of people, systems, information, and things to produce business outcomes in support of a business strategy. Processes can be structured and repeatable or unstructured and variable. Though not required, technologies are often used with BPM. BPM is key to align IT/OT investments to business strategy

 An interesting (and correct) remark by Gartner that technology is not required for BPM, however the general idea (in IT) has been that BPM equals process automation. The business process is summarized to a complete definition until the level that it can be executed as a program. The efficiency gains of automating the business process much exceed the up-front effort to fully identify it and make it executable. An effort which can initially be very large where the cost is only repaid over many instances of the process. So this approach will only work on highly predictable which is highly repeatable. It’s in some way identical to a factory production line where a huge amount of products justifies the initial up-front factory costs.

tesla.jpg

The Tesla factory production line

Using this approach to discover, implement, and execute complex and dynamic processes will be less economically beneficial. We assume that the less complex a process is, the more likely a lower initial investment is required. And the more often the process will be executed, the greater the financial gain and/or business case.

When we talk about low complexity high volume processes, we can also identify this as so called “routine work”. Routine work is well known and can be planned to a high level of detail. The process uses a general pattern and is done in a very similar way every time. Because routine work is so predictable and repeatable it has been an ideal candidate for successful BPM implementations. Simply due to the fact that the return of investment for routine work is more likely and easily gained.

Agility and Adaptability

Back in 1958 James March & Herbert Simon wrote the management science classis Organizations [2] and concluded that an organization is successful not because it does everything in exactly the same way every time, but because it is flexible enough to adapt and respond to the changes around it. Looking at the present, with changing regulations, new laws, new markets and changing business models this statement seems more true than ever. We therefore can conclude that a rigidly specified organization, that has every process fully planned in detail, will find itself unable to respond to changes.

Maybe we might accept that in real life there is never work that is 100% predictable, nor is there work that is 100% unpredictable. So it seems that the approach to automation of more complex and dynamic business processes requires more flexibility.

In 1992 the legendary business management guru Peter Drucker explains that matching a company’s strengths to the changes that have already taken place produces, in effect, a plan of action. Competitive advantage comes not from steely corporate rigor, but from organizational agility and the adaptability of support systems. [4]

Unpredictable work

Scientific management as once defined by Frederick Winslow Taylor has been at the heart of business process automation to date. And we have seen how it works for predictable and repeatable processes since they are an ideal candidate for executable BPM. But not all work is predictable and many organizations hold processes which are even unpredictable. When we talk about actions and events in processes being unpredictable, we mean that the sequence of human acts is not known in advance, and the course of the process may vary greatly for every instance. We can easily think of examples like medical care, law enforcement and complex industrial and financial processes. 

Rise of the Knowledge Worker

Whenever we read up on the knowledge worker terminology we always come across one individual, namely management guru Peter F. Drucker. Drucker made the first reference to knowledge work in his 1959 book Landmarks of Tomorrow. He loosely defined a knowledge worker as “someone who knows more about his or her job than anyone else in the organization.” What is important is that Drucker already then understood the uniqueness of the job that a knowledge worker performs.

PeterDrucker

Peter F. Drucker 

Drucker predicted during the 90’s that that the most valuable asset of a 21st-century institution (business or non-business) will be its knowledge workers and their productivity [5]. He even wends further and claimed that the productivity of knowledge and knowledge workers is likely to become the decisive competitive factor in the world economy [6].

So even back then there was already an understanding by business management leaders that the most valuable assets during the industrial revolution were a company’s mass production equipment. Nowadays we can recognize high volume business processes executed in BPM as a form of mass production. Upfront investment which generates value overtime by repetitively producing the same expected result. So if we recognize common grounds between industrial mass production and BPM production work nowadays, what can we say about automation knowledge work in the present or near future? Keeping in mind that Davenport more recently (2005) expresses the importance of knowledge-worker productivity stating that “Within organizations, knowledge workers tend to be closely aligned with the organization’s growth prospects [7]. So with this in mind, how can we efficiently support these knowledge workers ?

Today’s jobs are more dynamic, more ad hoc and require more skills and interaction with other specialists. Besides that, the amount of information available and necessary for a single worker has increased dramatically. So knowledge work cannot be matched on a traditional rigid business process (where work is performed according to a detailed plan prepared in advance). Because as knowledge work proceeds, the sequence of activities depends on the situational information. This is the nature of knowledge work. As the available information or external influences change the process has to be dynamic. It is not simply a matter of plan and execute but a continuous dynamic set of activities in an adaptive flow of execution. And while rules like regulations, laws and organization standards will certainly constrain the actions of the knowledge worker no plan is ever final until the end is reached.

Case Management

 To digitally support the knowledge workers to dynamically act in their cases, we need some sort of case management solution. A way to dynamically start activities like processes and tasks throughout the case lifecycle. In such a way that the knowledge worker can act on the information available to determine which actions to take. The case management solution should therefore be “information” driven.

pic_information-centric

Information drives the case

Forrester’s [3] defines case management as a highly structured but collaborative, dynamic, and information-intensive process driven by outside events requiring incremental and progressive responses from the business domain handling the case.

(Unstructured) data like documents in an enterprise content management (ECM) system and processes in business process management (BPM) suites are clearly key requirements for any case management offering. But only processes and content are insufficient. By adding advanced business rules and clear business analytics in the mix, you get the 4 essential components of a case management solution.

pic_overview

The 4 essential components for case management

Advanced business rules allow for guidance to make sure certain actions are made available or withdrawn during the case lifecycle. And dashboards with case analytics allow for real-time insight on all running cases.

These 4 core components combined with good (knowledge) user experience and the ability to integrate with your service oriented landscape are basically the case management product you want. Add some policies management and even some social collaboration and you have a set of existing proven technologies, which together have a very interesting proposition for the modern knowledge worker needs.

 

References:

  1. Keith D. Swenson; Mastering the Unpredictable: How Adaptive Case Management Will Revolutionize the Way That Knowledge Workers Get Things Done; 2010
  2. James G. March & Herbert A. Simon; Organizations; 1958
  3. Connie Moore, Craig Le Chair & Ralph Vitti (Forrester Research); Dynamic Case Management, an old idea catches new fire; 2009
  4. Peter F. Drucker; Planning for Uncertainty; 1992
  5. Peter F. Drucker; Knowledge Worker Productivity, The Biggest Challenge; 1999
  6. Peter F. Drucker; Rise of the Knowledge Worker; 1998
  7. Thomas H. Davenport; Process Management for Knowledge Work; 2005

 

 

 
Leave a comment

Posted by on 16-08-2016 in Uncategorized

 

Tags: ,

Cleaning up your old excess Docker containers

Every docker run command creates a container on your system. When you exit the container (and it is no longer running) it is still there on disk and can be seen with

docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ea520a35da1f jvzoggel/kafka "/bin/bash" 2 minutes ago Exited (0) 2 minutes ago kafka1
46067fe01dc4 jvzoggel/kafka "/bin/bash" 3 minutes ago Exited (0) 2 minutes ago kafka2
0b7bcb382e65 jvzoggel/kafka "/bin/bash" 3 minutes ago Exited (0) 3 minutes ago kafka3

The containers that are not running will not consume any system resources except disk space, but it is usually good to clean up after yourself so ..

Automatically clean-up after yourself

The Docker documentation describes how to automatically clean up the container and remove the file system when the container exits:
   –rm=false: Automatically remove the container when it exits (incompatible with -d)
The above shows that by default containers are not removed, so by adding –rm=true or just the short-hand –rm will do the trick:

docker run -i -t --rm jvzoggel/kafka /bin/bash

When you exit from the container it will be automatically removed from disc.

Manually clean-up your stuff

Another method (all credits: Guillaume J. Charmes) is the command:

docker rm `docker ps --no-trunc -aq`

which will remove all containers in a elegant way

 

 
Leave a comment

Posted by on 05-08-2016 in Uncategorized

 

Tags:

Limitation in Oracle Adaptive Case Management (ACM) revision ID length

All our Oracle BPM projects use a revision id during deployment of the SCA component which is something like [4 digits].[svn-revision] which might look like 1602.71234

The Oracle SCA version format convention

In the Oracle documentation it states that the Oracle SCA composite revision must apply this format:
n0[.n1[.n2[.n3[.n4]]]][-milestone-name[milestone-number] | _patch-number]
Where all but “milestone-name” and “comment” are numeric, composed of one or more digits (0-9) from 0 up to a maximum value of 99999999.

This is the same convention you see on the error when deploying a composite with an incorrect revision format.

foutmelding_jdev

So we are good due to the fact that our revision naming standard only use n0.n1 and both numbers will not reach the max value of 99999999 anywhere soon.

The problem

However when testing we discovered that when our revision passed 99999 we have a problem. Not due to the normal SOA or BPM components, they can easily handle the longer n1 digits. But due to the fact that our Oracle ACM projects will throw the following error when deploying a composite with a total(!) revision length of 10+

Logging:

: Case metadata deployment failed. 
Case metadata deployment failed for MyCase. 
Contact system administrator for assistance. 
{rootCauses=[]} 
at oracle.bpm.casemgmt.fabric.CaseManagementServiceEngine.deploy(CaseManagementServiceEngine.java:1941) 
at oracle.bpm.casemgmt.fabric.CaseManagementServiceEngine.deploy(CaseManagementServiceEngine.java:401) 
at oracle.bpm.casemgmt.fabric.CaseManagementServiceEngine.deploy(CaseManagementServiceEngine.java:182) 
... 
Caused By: BPM-72806 
..... 
at java.lang.Thread.run(Thread.java:662) 
Caused By: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.1.v20111018-r10243): org.eclipse.persistence.exceptions.DatabaseException 
Internal Exception: java.sql.SQLException: ORA-12899: value too large for column "SOA_SOAINFRA"."CM_CASE_DEFINITION"."COMPOSITE_VERSION" (actual: 12, maximum: 10)</pre>

So when checking the SOAINFRA database design we discovered that for ACM components the revision is also stored in a column with a definition of VARCHAR2(10)


DESC CM_CASE_DEFINITION
Name Null Type
----------------- -------- --------------
DEFINITION_ID NOT NULL VARCHAR2(400)
NAME NOT NULL VARCHAR2(255)
TITLE VARCHAR2(500)
DESCRIPTION VARCHAR2(1000)
CATEGORY VARCHAR2(400)
NAMESPACE VARCHAR2(2000)
COMPONENT_NAME VARCHAR2(200)
COMPOSITE_DN VARCHAR2(500)
COMPOSITE_NAME VARCHAR2(200)
COMPOSITE_VERSION VARCHAR2(10)
APPLICATION_NAME VARCHAR2(200)

table_soainfra

The solution

So we logged a service request (SR 3-12014738981) and together with Oracle Support we concluded that this is actually a bug in both 11g and 12c.
Bug 22564283 – Limitation in ACM revision ID due to CM_CASE_DEFINITION.COMPOSITE_VERSION

Yesterday we received confirmation from Oracle Support that the bug is fixed and we will receive a patch.
Meanwhile we can already use the workaround to update COMPOSITE_VERSION column in CM_ACTIVITY_DEFINITION and CM_CASE_DEFINITION to VARCHAR2(200).
So actually an easy fix on the SOAINFRA schema we assumed would work if we “hacked” it in our self, but we’re still very glad that it was quickly handled and solved through Oracle Support with an official supported patch.

alter table CM_ACTIVITY_DEFINITION modify (COMPOSITE_VERSION varchar2(200))
alter table CM_CASE_DEFINITION modify (COMPOSITE_VERSION varchar2(200))

So, if you run into the same problem you can refer with Oracle Support to the SR and BUG numbers mentioned above

 
Leave a comment

Posted by on 17-02-2016 in Uncategorized

 

Tags: , , , ,

Cloud integration using federation between Microsoft Office 365 Azure Active Directory (AAD) and Amazon Web Service (AWS)

Not an Oracle blog for a change, but when an organization uses both Amazon Web Services (AWS) and Microsoft Office 365 it is possible to allow single sign-on with the internal LDAP Microsoft uses (Azure AD). Since RubiX uses both cloud products since day 1, I decided to look into integration between both products when Microsoft recently allowed SAML federation.

In this blog I will demonstrate how to connect Amazon Web Services (AWS) to the internal Azure Active Directory (AAD) that is used by Microsoft. As a result of this blog your users should be able to login to AWS from the Office 365 menu.

RESULT

1. Configure Microsoft Office 365 / Azure Active Directory (AAD)

Go to your Administration console and select Azure AD from ADMIN

AZURE000_01

In the Azure AD console select “Active Direcory”, click on your Office 365 domain name and the AD menu should open. Click on “Applications” from the top menu

AZURE000

By defaut you will see a lot of Microsoft web applications, so we click on “Add+” on the bottom menu. Then select “Add application from the gallery”

AZURE000-2

The AWS application will be added to your list. Select Configure Single Sign-On next.

AZURE001

We will select the 1st option (MS AAD SSO) to establish federation between AAD & AWS. The Federated Single Sign-On enables the users in your organization to be automatically signed in to a third-party application like AWS by using the AAD user account information. In this scenario, when you have already been logged into Office 365 the federation eliminates the need for you to login again to AWS.

AZURE002

In this case, we don’t need to perform any extra advanced settings. So NEXT

AZURE003

Download the metadata XML and store it for future use and make sure to accept the checkbox

AZURE004

Go to the users tab and assign (bottom button) your users that are allowed to login to AWS

AZURE011

Before we can finalize our SSO from AAD, we first need to setup AWS.

2. Configure Amazon Web Service (AWS)

Login to your AWS account and select the Identity & Access Management

EC2001

First we will create an Identity Provider for AAD.
Select SAML as Provider Type and choose a logical name (I use “Office365” in my example).
Browse to the exported metadata we downloaded from the AAD console earlier.

Important: check your metadata xml file

  • The exported metadata XML file from Azure might be encoded as UTF-8 with byte order mark (BOM). Make sure to convert it to UTF-8 without BOM otherwise the AWS console will not be able to import it.
  • Make sure to remove the <?xml version=”1.0″?> on line 1, otherwise AWS will not be able to parse the file

EC2001_provider

As a result we now have a SAML provider configured, so time to set some roles.
Select Roles in the IAM menu, select “Create New Role” and give your role a logical name (I use “RubixUsers” here)
In the Role Type select “Grant Web Single Sign-On (WebSSO) access to SAML providers“.

EC2004

  • Select the SAML provider we trust, so we use the earlier created “Office365” provider here.
  • Next step we can customize the policy, which we won’t do so next.
  • In the next step we can select the policy you want to attach to your SSO users.
    You can go fine grained with policies, but for now I will use the default PowerUser policy
  • The last screen you will receive a review of the configuration, make sure to note down the Role ARN and Thrusted Entities
    Role ARN = arn:aws:iam::[customerID]:role/[RoleName]
    Trust = arn:aws:iam::[customerID]:saml-provider/[ProviderName]

EC2001_review

 

3. Configure Microsoft Office 365 / Azure Active Directory (AAD) – part 2

Go back to the AAD management console (https://manage.windowsazure.com).
Select applications -> Amazon Web Services (AWS) -> Attributes

Add the following 2 attributes:

EC2_attributes

 

4. Result

With these configuration steps you are now able to login to AWS from your Office 365 apps tile.

RESULT

 
Leave a comment

Posted by on 16-10-2015 in Uncategorized

 

Tags: , , , , , , ,

Patching your JDeveloper 12.1.3 with SOA Bundle Patch 12.1.3.0.3

The SOA Bundle Patch 12.1.3.0.3 is available for download from Oracle Support (http://support.oracle.com)
Just use the search on patch number ‘20900599’ and it will bring you the patch details page with the download (approx. 765MB).
You can deploy the patch on top of your basic 12.1.3.0.0 or the earlier released SOA/BPM Bundle Patch 12.1.3.0.1 or SOA/BPM Bundle Patch 12.1.3.0.2

Note: For some reason Oracle no longer seems to use 1 bundle patch for both Oracle SOA 12.1.3 & BPM 12.1.3
The 12.1.3.0.3 patches 20900599 (SOA) and 20645340 (BPM) are also conflicting according to OPatch.
So you can either patch your environment (server runtime or local JDev) for BPM or SOA.

Patch 19707784: SOA/BPM Bundle Patch 12.1.3.0.1
Patch 20423408: SOA/BPM Bundle Patch 12.1.3.0.2
Patch 20900599: SOA Bundle Patch 12.1.3.0.3
Patch 20645340: BPM Bundle Patch 12.1.3.0.3


So (again) I patched my own JDeveloper 12.1.3 environment with the OPATCH tool.
Extract the downloaded patch, I’ll use C:\temp\p20900599_121300_Generic\20900599
This folder is called ‘patch_TOP’ in opatch terminology.

Since I use Windows as local OS you will need to First open a command prompt with Administrator rights (right-click, run as Administrator).
If we don’t use the right permissions we will get the error: Unable to lock Central Inventory. OPatch will attempt to re-lock

Naamloos

First we set our ORACLE_HOME to the Jdeveloper 12.1.3 folder:
SET ORACLE_HOME=C:\ORACLE\middleware\12.1.3
And make sure opatch is in our path:
SET PATH=%PATH%;C:\ORACLE\middleware\12.1.3\OPatch
We browse to the patch_top folder:
cd C:\temp\p20900599_121300_Generic\20900599
And run opatch:
opatch apply


Oracle Interim Patch Installer version 13.2.0.0.0
Copyright (c) 2014, Oracle Corporation. All rights reserved.

Oracle Home : C:\ORACLE\middleware\12.1.3
Central Inventory : C:\Program Files\Oracle\Inventory
 from : n/a
OPatch version : 13.2.0.0.0
OUI version : 13.2.0.0.0
Log file location : C:\ORACLE\middleware\12.1.3\cfgtoollogs\opatch\20900599_Aug_14_2015_09_29_34\apply2015-08-14_09-29-13AM_1.log


OPatch detects the Middleware Home as C:\ORACLE\middleware_12.1.3

aug 14, 2015 9:29:35 AM oracle.sysman.oii.oiii.OiiiInstallAreaControl initAreaControl
INFO: Install area Control created with access level 0
Applying interim patch '20900599' to OH 'C:\ORACLE\middleware\12.1.3'
Verifying environment and performing prerequisite checks...
Patch 20900599: Optional component(s) missing : [ oracle.integration.bpm, 12.1.3.0.0 ] , [ oracle.mft.apache, 12.1.3.0.0 ] , [ oracle.bpm.mgmt, 12.1.3.0.0 ] , [ oracle.hwf.standalone, 12.1.3.0.0 ] , [ oracle.soa.b2b.client, 12.1.3.0.0 ] , [ oracle.mft, 12.1.3.0.0 ] , [ oracle.bpm.processspaces, 12.1.3.0.0 ] , [ oracle.soa.workflow.wc, 12.1.3.0.0 ] , [ oracle.oep.examples, 12.1.3.0.0 ]

Patch [ 20900599 ] conflict with patch(es) [ 19707784 ] in the Oracle Home.

To resolve patch conflicts please contact Oracle Support Services.
If you continue, patch(es) [ 19707784 ] will be rolled back and the new Patch [ 20900599 ] will be installed.


Do you want to proceed? [y|n] y
User Responded with: Y
OPatch will roll back the subset patches and apply the given patch.
All checks passed.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = 'C:\ORACLE\middleware\12.1.3')

Is the local system ready for patching? [y|n] y
User Responded with: Y
Backing up files...
Rolling back interim patch '19707784' from OH 'C:\ORACLE\middleware\12.1.3'

Patching component oracle.bpm.addon, 12.1.3.0.0...
Patching component oracle.rules, 12.1.3.0.0...
Patching component oracle.bpm.plugins, 12.1.3.0.0...
Patching component oracle.soa.mgmt, 12.1.3.0.0...
Patching component oracle.integration.bam, 12.1.3.0.0...
Patching component oracle.soa.common.adapters, 12.1.3.0.0...
Patching component oracle.soacommon.plugins, 12.1.3.0.0...
Patching component oracle.integration.soainfra, 12.1.3.0.0...
RollbackSession removing interim patch '19707784' from inventory

OPatch back to application of the patch '20900599' after auto-rollback.

Patching component oracle.oep, 12.1.3.0.0...
Patching component oracle.bpm.addon, 12.1.3.0.0...
Patching component oracle.rules, 12.1.3.0.0...
Patching component oracle.mft.client, 12.1.3.0.0...
Patching component oracle.rcu.soainfra, 12.1.3.0.0...
Patching component oracle.oep.plugins, 12.1.3.0.0...
Patching component oracle.bpm.plugins, 12.1.3.0.0...
Patching component oracle.soa.mgmt, 12.1.3.0.0...
Patching component oracle.integration.bam, 12.1.3.0.0...
Patching component oracle.soa.common.adapters, 12.1.3.0.0...
Patching component oracle.soacommon.plugins, 12.1.3.0.0...
Patching component oracle.integration.soainfra, 12.1.3.0.0...

Verifying the update...
Patch 20900599 successfully applied
Log file location: C:\ORACLE\middleware\12.1.3\cfgtoollogs\opatch\20900599_Aug_14_2015_09_29_34\apply2015-08-14_09-29-13AM_1.log

OPatch succeeded.

Note:

Dave Shaffer gave me a good tip. When he patched his JDeveloper it became unstable and did not resolve any of the performance issues. However, he used jdev -clean once to fix it.

 
2 Comments

Posted by on 14-08-2015 in Uncategorized

 

Patching your JDeveloper 12.1.3 with BPM Bundle Patch 12.1.3.0.3

The BPM Bundle Patch 12.1.3.0.3 is available for download from Oracle Support (http://support.oracle.com)
Just use the search on patch number ‘20645340’ and it will bring you the patch details page with the download (approx. 688 MB).
You can deploy the patch on top of your basic 12.1.3.0.0 or the earlier released SOA/BPM Bundle Patch 12.1.3.0.1 or SOA/BPM Bundle Patch 12.1.3.0.2

Note: For some reason Oracle no longer seems to use 1 bundle patch for both Oracle SOA 12.1.3 & BPM 12.1.3
The 12.1.3.0.3 patches 20900599 (SOA) and 20645340 (BPM) are also conflicting according to OPatch.
So you can either patch your environment (server runtime or local JDev) for BPM or SOA.

Patch 19707784: SOA/BPM Bundle Patch 12.1.3.0.1
Patch 20423408: SOA/BPM Bundle Patch 12.1.3.0.2
Patch 20900599: SOA Bundle Patch 12.1.3.0.3
Patch 20645340: BPM Bundle Patch 12.1.3.0.3


So (again) I patched my own JDeveloper 12.1.3 environment with the OPATCH tool.
Extract the downloaded patch, I’ll use C:\temp\p20645340_121300_Generic\20645340
This folder is called ‘patch_TOP’ in opatch terminology.

Since I use Windows as local OS you will need to First open a command prompt with Administrator rights (right-click, run as Administrator).
If we don’t use the right permissions we will get the error: Unable to lock Central Inventory. OPatch will attempt to re-lock

Naamloos

First we set our ORACLE_HOME to the Jdeveloper 12.1.3 folder:
SET ORACLE_HOME=C:\ORACLE\middleware\12.1.3
And make sure opatch is in our path:
SET PATH=%PATH%;C:\ORACLE\middleware\12.1.3\OPatch
We browse to the patch_top folder:
cd C:\temp\p20645340_121300_Generic\20645340
And run opatch:
opatch apply


Oracle Interim Patch Installer version 13.2.0.0.0
Copyright (c) 2014, Oracle Corporation. All rights reserved.


Oracle Home : C:\ORACLE\middleware\12.1.3
Central Inventory : C:\Program Files\Oracle\Inventory
 from : n/a
OPatch version : 13.2.0.0.0
OUI version : 13.2.0.0.0
Log file location : C:\ORACLE\middleware\12.1.3\cfgtoollogs\opatch\20645340_Aug_14_2015_09_56_18\apply2015-08-14_09-56-00AM_1.log


OPatch detects the Middleware Home as C:\ORACLE\middleware\12.1.3

aug 14, 2015 9:56:20 AM oracle.sysman.oii.oiii.OiiiInstallAreaControl initAreaControl
INFO: Install area Control created with access level 0
Applying interim patch '20645340' to OH 'C:\ORACLE\middleware_12.1.3'
Verifying environment and performing prerequisite checks...
Patch 20645340: Optional component(s) missing : [ oracle.integration.bpm, 12.1.3.0.0 ] , [ oracle.mft.apache, 12.1.3.0.0 ] , [ oracle.bpm.mgmt, 12.1.3.0.0 ] , [ oracle.hwf.standalone, 12.1.3.0.0 ] , [ oracle.mft, 12.1.3.0.0 ] , [ oracle.bpm.processspaces,12.1.3.0.0 ] , [ oracle.soa.workflow.wc, 12.1.3.0.0 ] , [ oracle.oep.examples, 12.1.3.0.0 ]

Patch [ 20645340 ] conflict with patch(es) [ 20900599 ] in the Oracle Home.

To resolve patch conflicts please contact Oracle Support Services.
If you continue, patch(es) [ 20900599 ] will be rolled back and the new Patch[ 20645340 ] will be installed.

Do you want to proceed? [y|n] y
User Responded with: Y
OPatch will roll back the subset patches and apply the given patch.
All checks passed.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = 'C:\ORACLE\middleware\12.1.3')

Is the local system ready for patching? [y|n] y
User Responded with: Y
Backing up files...
Rolling back interim patch '20900599' from OH 'C:\ORACLE\middleware\12.1.3'

Patching component oracle.oep, 12.1.3.0.0...
Patching component oracle.bpm.addon, 12.1.3.0.0...
Patching component oracle.rules, 12.1.3.0.0...
Patching component oracle.mft.client, 12.1.3.0.0...
Patching component oracle.rcu.soainfra, 12.1.3.0.0...
Patching component oracle.oep.plugins, 12.1.3.0.0...
Patching component oracle.bpm.plugins, 12.1.3.0.0...
Patching component oracle.soa.mgmt, 12.1.3.0.0...
Patching component oracle.integration.bam, 12.1.3.0.0...
Patching component oracle.soa.common.adapters, 12.1.3.0.0...
Patching component oracle.soacommon.plugins, 12.1.3.0.0...
Patching component oracle.integration.soainfra, 12.1.3.0.0...
RollbackSession removing interim patch '20900599' from inventory

OPatch back to application of the patch '20645340' after auto-rollback.

Patching component oracle.oep, 12.1.3.0.0...
Patching component oracle.bpm.addon, 12.1.3.0.0...
Patching component oracle.rules, 12.1.3.0.0...
Patching component oracle.rcu.soainfra, 12.1.3.0.0...
Patching component oracle.oep.plugins, 12.1.3.0.0...
Patching component oracle.soa.mgmt, 12.1.3.0.0...
Patching component oracle.bpm.plugins, 12.1.3.0.0...
Patching component oracle.integration.bam, 12.1.3.0.0...
Patching component oracle.soa.common.adapters, 12.1.3.0.0...
Patching component oracle.soacommon.plugins, 12.1.3.0.0...
Patching component oracle.integration.soainfra, 12.1.3.0.0...

Verifying the update...
Patch 20645340 successfully applied
Log file location: C:\ORACLE\middleware\12.1.3\cfgtoollogs\opatch\20645340_Aug_14_2015_09_56_18\apply2015-08-14_09-56-00AM_1.log

OPatch succeeded.

Note:

Dave Shaffer gave me a good tip. When he patched his JDeveloper it became unstable and did not resolve any of the performance issues. However, he used jdev -clean once to fix it.

 
1 Comment

Posted by on 14-08-2015 in Uncategorized

 

How to generate and use a concrete pipeline from a template

One of the new features in Service Bus 12c is the ability to use pipeline templates. Usually the Oracle Service Bus pipelines in an environment have many common steps. Think of the re-use of logging, error handling, alerts and pattern + naming convention for your stages. In practice with OSB 11g we often used a “template” or existing OSB project which we then copied and modified. With the “clone” option of 12c this task is already easier, but the use of pipeline templates is even better. Since templates and concrete pipelines (generated pipelines from a template) remain linked we can update our services easier with new insights. For example, when you want to change your default logging or fault handling behavior.

Index:

We can generate a new concrete pipeline on an existing service bus overview, or generate a new service. In this example we will generate a whole new service which implements the concrete pipeline. The concrete pipeline is linked to the original pipeline template and will also change automatically when the template is updated. Since the earlier generated “PipelineTemplate_soap12_entity” will be used, we will create a basic entity service named getEmployeeService in this blogpost.

Generate a concrete pipeline

Use the wizard to generate a new Service Project and drag a Pipeline to the service bus overview. We select the “From Template”.

c01

 

We then need to select a SOAP 1.2 WSDL since this is the transport used in the template.

c02

 

The result is a proxy service with a concrete pipeline. The grey background color indicates reminds us that we are dealing with a concrete pipeline here. When you select an Action you can notice 2 important facts:

  1. We can not delete the action since the concrete pipeline actions are inherited from our template.
  2. The action contains the default configuration from the original template. In this case we did not modify the template yet after the generation..
    So however the templates help us to quickly generate basic message flow patterns, we still should make sure we check our actions..

a05

 

 

 

How to break the template link

If we want to edit the concrete pipeline beyond the scope of the pipeline template we can break the template link. By doing so the concrete pipeline becomes a normal pipeline. However this break can not(!) be undone. Right-click on the concrete pipeline and select Service Bus -> Break Template Link.

c01

 

Then select YES regarding the warning about the irreversibale action.

c02

 
3 Comments

Posted by on 09-06-2015 in Uncategorized

 

Tags: , ,

 
Follow

Get every new post delivered to your Inbox.

Join 458 other followers