Business Process Modeling Notation (BPMN) Process Monitoring functionality has been introduced in BPM V7.5 Advanced by integrating with IBM Business Monitor V7.5. Similar to a BPEL process and a mediation flow, a BPMN process (BPD in the process application) can also be monitored using Business Monitor. I’d like to share with everyone my recent experience of BPMN process monitoring implementation, which might be helpful for you in any of your projects implemented using BPM 7.5 and later.
Please find below the steps involved in the process monitoring implementation using Process Designer and Integration Designer.
Process Designer:
After a BPD (Business Process Definition) is created in a process application, the tracking definitions have to be added in the BPD. These tracking definitions can be added using Intermediate Tracking Event in the BPD. Before adding the tracking definition, a tracking group has to be created containing all the fields, which need to be tracked in the BPD. A tracking group and can either be created from Performance tab in the left panel under the process application or from the intermediate tracking event in the BPD. Please look at the screen shot below for the tracking group.
After the tracking group is created with all the fields, to be tracked, drag and drop an intermediate event from the palette in the BPD, where you want to define tracking. Please look at the screen shot below for the intermediate event and the implementation part of it.
The tracking group has to be selected or created and the tracked fields should be assigned values (either from process variables or hard coded values) as shown above. Similarly, we can add multiple tracking events in BPD where ever you want to define the tracking. Finally, we need to enable process monitoring in the process app settings (under Monitor Settings) for the process application as shown below.
Integration Designer:
After the changes are done in the Process Designer, a monitor model has to be created using the Integration Designer. A monitor model can either be generated from the process application directly(right click the process app in Business Integration view) or created separately. If we want to create and define our own monitor model instead of generating from the existing process app with predefined inbound events and metrics, we have to create a monitoring project and then create a monitor model. After opening the monitor model in the monitor model editor, we need to define the monitoring context, inbound events and metrics. Before defining the event parts in the inbound event, we would need to know the event(CBE) xml structure for the events emitted from the BPMN process.
We can look at the actual event data using either CBE browser(after enabling event data store) or Event Recording(after enabling event recording) in the admin console in our local test environment, as shown below.
The type/format of the events(emitted from BPD) differs from that of a BPEL process.
http://www.ibm.com/xmlns/prod/websphere/monitoring/7.5
is the namespace of the XML Catalog, defined for the events emitted from a BPD. It contains the predefined data types(like mon:eventPointData ), which needs to be selected while adding the event type in the event parts of the inbound event.
In a BPEL process or a mediation component, we have an option to configure any activity or a variable to emit events, so that we can limit the number of events getting emitted to the Business Monitor. However, in BPD, events will get emitted for each and every activity in the BPD and I believe there is no option to control or filter the events getting emitted to the Business Monitor. So, its better to filter the events in the monitor side (receiving end) by adding a filter in the inbound event. Since we have added the tracking events in the BPD, we just need to filter only those events in the monitor side in order to consume the data for the metrics, as long as we don’t need data from the other activities. The following condition would filter out only the tracked events
xs:string(Task_Created_or_Completed/EventPointData/mon:kind) = 'EVENT_THROWN'
After the inbound event is defined, we have to create all the metrics, triggers, timers, counters, cubes, dimensions, KPIs etc., based on our reporting requirements. The reports can be viewed in the Business Space during runtime, after the process app and the monitor model are deployed.
Parthasarathi Jayapathi, a Consultant at Prolifics, has over 8 years of IT experience having expertise in the IBM WebSphere suite of products. Partha has worked with many customers implementing SOA and Integration solutions using IBM and J2EE technologies. He is specialized and certified in BPM V7.5, WebSphere Process Server, WebSphere ESB, WebSphere Business Monitor and WebSphere Lombardi Edition with extensive design and development background. He holds a BE degree in Computer Science, graduated in 2003 from Bharathiar University, India.
Showing posts with label Business Process Manager. Show all posts
Showing posts with label Business Process Manager. Show all posts
Thursday, November 8, 2012
Tuesday, November 6, 2012
"It's the Business Process, Stupid"
It is election day in America and with the economy being the central theme, all of us are reminded of the words made famous by James Carville during the Clinton campaign of 1992 – “It's the economy, stupid”. Today, IT Departments around the world are coming to an important realization as they try to align their solutions to their respective business clients – A successful IT strategy revolves around BPM and making Business Processes the core of every solution that they build for their business. The historic challenge of aligning IT with Business is finally seeing a solution with BPM.
However, BPM is no panacea and if not implemented right will end up being yet another IT initiative. When I say right, I am not just talking about the right tool or the right architecture. No doubt those are important, but there are other aspects of BPM Implementation that need to be prioritized and really focused on which, if not done correctly, will not result in why you wanted BPM in the first place: To offer your business clients the real deal.
1. Alignment to Business Goals: It is extremely essential to map every BPM initiative to one of more of measurable goals that a business has. Every business has a Business Plan and in that plan there are defined Business Objectives and SMART Business Goals. Businesses setup new processes or re-engineer existing processes to achieve these goals. Every BPM initiative that is implemented should be able to clearly define what Objective / Goal in the business plan that it will help achieve. For e.g. in an Insurance vertical, loss ratios, combined ratios, underwriting ratios are typical metrics that are monitored by business units and any process re-engineering initiatives that can help improve these ratios for the company is of extremely high importance.
2. Measurement: When it comes to Real Estate, it is all about – ‘Location, Location, Location’ and when it comes to BPM, it is all about ‘Measurement, Measurement, Measurement’. No BPM initiative can be deemed successful if you are not able to measure the change that has been achieved based on the new process that has been put in place and how that maps to the strategic business objectives and goals. In key BPM engagements the Prolifics has been involved in, we have been able to quantitatively demonstrate to the business owners the efficiencies in the re-engineered processes in terms of time and cost efficiencies achieved.
3. BPM Adoption Strategy: While business focus in paramount in BPM, it is still the IT organization that needs to champion BPM and ensure that it is adopted and well executed within an organization. While I have seen a lot of focus by customers on the choosing the right BPM platform, focusing on architecture and design patterns, discussing best practices etc. it is most important for IT leadership to realize that this is a BPM journey and you need to think holistically from multiple dimensions.
I strongly believe that BPM is not just yet another three letter acronym but is the “Change” that will revolutionize the way IT does Business.
To find out more about Prolifics' BPM practice, please visit: http://prolifics.com/bpm.htm
Rajiv Ramachandran is the Vice President of the BPM & Connectivity Practice at Prolifics. He has 14 years experience in the IT field — 3 of those years at IBM working in the development teams at its Object Technology Competency Center in Bangalore, India. He was then a Solution Architect implementing IBM WebSphere Solutions at Fireman's Fund Insurance. Currently at Prolifics, he manages a 100+ member worldwide team that focuses on BPM, SOA, Decision Management, Architecture and Infrastructure. An author at the IBM developerWorks community, Rajiv has presented at IBM Impact and IBM WebSphere Services Technical Conference. He holds an MBA from UCLA Anderson School of Management.
However, BPM is no panacea and if not implemented right will end up being yet another IT initiative. When I say right, I am not just talking about the right tool or the right architecture. No doubt those are important, but there are other aspects of BPM Implementation that need to be prioritized and really focused on which, if not done correctly, will not result in why you wanted BPM in the first place: To offer your business clients the real deal.
1. Alignment to Business Goals: It is extremely essential to map every BPM initiative to one of more of measurable goals that a business has. Every business has a Business Plan and in that plan there are defined Business Objectives and SMART Business Goals. Businesses setup new processes or re-engineer existing processes to achieve these goals. Every BPM initiative that is implemented should be able to clearly define what Objective / Goal in the business plan that it will help achieve. For e.g. in an Insurance vertical, loss ratios, combined ratios, underwriting ratios are typical metrics that are monitored by business units and any process re-engineering initiatives that can help improve these ratios for the company is of extremely high importance.
2. Measurement: When it comes to Real Estate, it is all about – ‘Location, Location, Location’ and when it comes to BPM, it is all about ‘Measurement, Measurement, Measurement’. No BPM initiative can be deemed successful if you are not able to measure the change that has been achieved based on the new process that has been put in place and how that maps to the strategic business objectives and goals. In key BPM engagements the Prolifics has been involved in, we have been able to quantitatively demonstrate to the business owners the efficiencies in the re-engineered processes in terms of time and cost efficiencies achieved.
3. BPM Adoption Strategy: While business focus in paramount in BPM, it is still the IT organization that needs to champion BPM and ensure that it is adopted and well executed within an organization. While I have seen a lot of focus by customers on the choosing the right BPM platform, focusing on architecture and design patterns, discussing best practices etc. it is most important for IT leadership to realize that this is a BPM journey and you need to think holistically from multiple dimensions.
- Are you ready for this? What you need from People, Process, Skills etc. to start adopting BPM
- It is not just architecture and best practices – it is also about an overall organizational adoption across the entire SDLC from inception all the way to construction and transition – not just at a project level but at a program level.
I strongly believe that BPM is not just yet another three letter acronym but is the “Change” that will revolutionize the way IT does Business.
To find out more about Prolifics' BPM practice, please visit: http://prolifics.com/bpm.htm
Rajiv Ramachandran is the Vice President of the BPM & Connectivity Practice at Prolifics. He has 14 years experience in the IT field — 3 of those years at IBM working in the development teams at its Object Technology Competency Center in Bangalore, India. He was then a Solution Architect implementing IBM WebSphere Solutions at Fireman's Fund Insurance. Currently at Prolifics, he manages a 100+ member worldwide team that focuses on BPM, SOA, Decision Management, Architecture and Infrastructure. An author at the IBM developerWorks community, Rajiv has presented at IBM Impact and IBM WebSphere Services Technical Conference. He holds an MBA from UCLA Anderson School of Management.
Monday, June 25, 2012
ILOG Integration with Process Designer (IBM BPM 7.5.1)
Some information I gathered on best practice of ILOG Integration with Process Designer (IBM BPM 7.5.1):
Connecting JRules directly from IBM BPM Via Webservice-SOAP connector:
Just want to add that this is not a best practice, but a nice description of one way to integrate BPM 7.5.1 with JRules. There are multiple factors that impact the integration pattern. You always have to consider the information model in scope for the rules, that is far different from the model for the process. So the BPD will most likely not be able to send all the data to JRules. There is always a middle man, service, responsible to populate the data graph needed for the rule processing. With BPM Advance this could be a SCA component integrated as Advance Integration Service, in BPM Standard a java component exposed as web service and consumed as such within the BPD.
JRules connector directly in IBM BPM
The goal of embedding the ILOG rule editor inside IBM BPM is to provide a much simpler way to modify the behavior of the processes. Those rules live within the process and as such a new version of the process needs to be redeployed every time a rule needs to be changed.
SOA Best Approach:
The SOA based approach for Business Process Management suggests the options as below:
Identify the Hosted Transparent Decision Service (HTDS) interface .
Create an SCA library for HTDS WSDL.
Defines a mediation module for the interface mapping.
Joel Krishnan, a Solution Architect for Prolifics, has over 9+ years of IT experience and has worked in many customers implementing technology solutions across multiple business verticals.He is specialized in IBM BPM specifically in ProcessDesigner.He has extensive experince in Architecture/Design and Devopment of IBM BPM.He is also certified in IBM BPM. Joel received his BE in Electrical Engineering in 2002.
Connecting JRules directly from IBM BPM Via Webservice-SOAP connector:
Just want to add that this is not a best practice, but a nice description of one way to integrate BPM 7.5.1 with JRules. There are multiple factors that impact the integration pattern. You always have to consider the information model in scope for the rules, that is far different from the model for the process. So the BPD will most likely not be able to send all the data to JRules. There is always a middle man, service, responsible to populate the data graph needed for the rule processing. With BPM Advance this could be a SCA component integrated as Advance Integration Service, in BPM Standard a java component exposed as web service and consumed as such within the BPD.
JRules connector directly in IBM BPM
The goal of embedding the ILOG rule editor inside IBM BPM is to provide a much simpler way to modify the behavior of the processes. Those rules live within the process and as such a new version of the process needs to be redeployed every time a rule needs to be changed.
SOA Best Approach:
The SOA based approach for Business Process Management suggests the options as below:
- Blueworks Live -> Business Process Manager
- ILOG(create Business rules) -> Websphere Integration Developer -> Process Server
Identify the Hosted Transparent Decision Service (HTDS) interface .
Create an SCA library for HTDS WSDL.
Defines a mediation module for the interface mapping.
Joel Krishnan, a Solution Architect for Prolifics, has over 9+ years of IT experience and has worked in many customers implementing technology solutions across multiple business verticals.He is specialized in IBM BPM specifically in ProcessDesigner.He has extensive experince in Architecture/Design and Devopment of IBM BPM.He is also certified in IBM BPM. Joel received his BE in Electrical Engineering in 2002.
Wednesday, June 6, 2012
How to Delete Process Applications from IBM BPM 7.5.1
As a new feature of the Business Process Manager V7.5.1 platform, process applications can now be deleted from the repository. In the previous version of BPM, version 7.5.0 & 7.5.0.1, users could only archive snapshots within a process application. This did not remove the application; rather it was merely hidden from the default view and it was still stored in the repository and the database.
In the latest version of BPM, users can now actually delete the process application, and in turn, delete all snapshots and instances tied to that application, including deletion of these entries from the database.
To delete a process application, click on the process application that you want to delete and then click on Manage.
Next, click on Archive Process App and click on Archive.
Click on the Process Apps tab of Process Center and then click on Archived.
Click on the process app that you previously archived and select Delete Process App, click on Delete.
If you then return to the Process Apps tab in Process center, you will notice that the process app no longer appears in the list.
We can actually confirm that all database entries are also removed as part of the process app deletion. Here we can see that the entry for our application named TestApplication was added to the BPMDB in the table LSW_PROJECT.
After deleting the process app, this entry is no longer present in the table. If the application contained snapshots and BPDs, these entries would also be removed from the LSW_SNAPSHOT and LSW_BPD tables respectively.
Please keep in mind, that this cleanup only happens in Process Center. Currently, the product does not have the capaibility to clean up these components on the Process Server side. However, this is an important new feature to help keep your Process Center repository clean and its database clean and efficient.
Seth Gagnon, a Senior Consultant for Prolifics, has over eight years experience in the healthcare industry and has worked with business process management technology to automate member enrollment and claim adjudication for a Fortune 200 healthcare client. He has experience in IBM middleware products such as WebSphere Application Server, WebSphere Process Server, WebSphere Business Process Manager, and other products in the IBM BPM stack. Seth received his BS in Management Information Systems from the University of CT and his MS in Technology Commercialization from Northeastern University.
In the latest version of BPM, users can now actually delete the process application, and in turn, delete all snapshots and instances tied to that application, including deletion of these entries from the database.
To delete a process application, click on the process application that you want to delete and then click on Manage.
Next, click on Archive Process App and click on Archive.
Click on the Process Apps tab of Process Center and then click on Archived.
Click on the process app that you previously archived and select Delete Process App, click on Delete.
If you then return to the Process Apps tab in Process center, you will notice that the process app no longer appears in the list.
We can actually confirm that all database entries are also removed as part of the process app deletion. Here we can see that the entry for our application named TestApplication was added to the BPMDB in the table LSW_PROJECT.
After deleting the process app, this entry is no longer present in the table. If the application contained snapshots and BPDs, these entries would also be removed from the LSW_SNAPSHOT and LSW_BPD tables respectively.
Please keep in mind, that this cleanup only happens in Process Center. Currently, the product does not have the capaibility to clean up these components on the Process Server side. However, this is an important new feature to help keep your Process Center repository clean and its database clean and efficient.
Seth Gagnon, a Senior Consultant for Prolifics, has over eight years experience in the healthcare industry and has worked with business process management technology to automate member enrollment and claim adjudication for a Fortune 200 healthcare client. He has experience in IBM middleware products such as WebSphere Application Server, WebSphere Process Server, WebSphere Business Process Manager, and other products in the IBM BPM stack. Seth received his BS in Management Information Systems from the University of CT and his MS in Technology Commercialization from Northeastern University.
Tuesday, March 6, 2012
The Importance of Unique Cell Names in BPM 7.5
In order for the many features of IBM Business Process Manager (BPM) Advanced 7.5 product to function as designed, one must plan accordingly and pay attention to detail, specifically around naming conventions.
BPM 7.5 includes a feature known as the Process Inspector. This feature, in Process Designer, allows developers to run and debug processes in the Process Center authoring environment, as well as, remote Process Server environments that are connected to the Process Center. Process Inspector provides a centralized location for viewing and debugging running process instances in any environment connected to your Process Center. Table 1 below outlines some of the main tasks that the Inspector allows a developer to perform.
Table 1 – Tasks in Process Inspector (IBM, 2011)
In order to use the Inspector functionality to its full potential, it is important to ensure that each of your BPM cells has unique names. According to the IBM BPM 7.5 InfoCenter,
Figure 1 – View of Process Inspector while running a process instance
Normally, after selecting an environment to test your process instance on, Inspector would connect to the remote Process Server and allow you to execute your tests. However, if your BPM cells for all of your environments are named with the exact same name, you may see a screen resembling Figure 2, even though you have already successfully deployed the snapshot.
Figure 2 – Error messaging indicating no snapshots are deployed
When the BPM cell names are all the same, cross-cell communication experiences issues that will cause you to lose key functionality of the products, as described above. Figure 3 provides a high level view (as an example) of the connectivity between Process Designer (which contains Process Inspector), Process Center, and Process Server environments:
Figure 3 – Cross Cell Communication for Deployment in BPM 7.5 (Markowitz, 2011)
In conclusion, it is imperative that you review the pre-requisites for installing IBM BPM 7.5 Advanced, or any products for that matter, thoroughly to ensure a successful implementation. The old saying “measure twice and cut once” is always a good rule of thumb to avoid rework and further expense down the road.
Works Cited:
IBM. (2011). Naming considerations for profiles, nodes, servers, hosts, and cells. Retrieved February 16, 2012, from IBM Business Process Manager 7.5 InfoCenter: http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r5mx/index.jsp?topic=%2Fcom.ibm.wbpm.main.doc%2Ftopics%2Fcins_naming.html
IBM. (2011). Running and debugging processes with the Inspector. Retrieved February 16, 2012, from IBM Business Process Manager 7.5 InfoCenter: http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r5mx/index.jsp?topic=%2Fcom.ibm.wbpm.wle.editor.doc%2Ftopics%2Frunning_debugging_procs.html
Markowitz, E. (2011, 11). Product Development Director at Prolifics.
Seth Gagnon, a Senior Consultant for Prolifics, has over seven years experience in the healthcare industry and has worked with business process management technology to automate member enrollment and claim adjudication for a Fortune 200 healthcare client. He has experience in IBM middleware products such as WebSphere Application Server, WebSphere Process Server, WebSphere Business Process Manager, and other products in the IBM BPM stack. Seth received his BS in Management Information Systems from the University of CT and his MS in Technology Commercialization from Northeastern University.
BPM 7.5 includes a feature known as the Process Inspector. This feature, in Process Designer, allows developers to run and debug processes in the Process Center authoring environment, as well as, remote Process Server environments that are connected to the Process Center. Process Inspector provides a centralized location for viewing and debugging running process instances in any environment connected to your Process Center. Table 1 below outlines some of the main tasks that the Inspector allows a developer to perform.
Table 1 – Tasks in Process Inspector (IBM, 2011)
In order to use the Inspector functionality to its full potential, it is important to ensure that each of your BPM cells has unique names. According to the IBM BPM 7.5 InfoCenter,
“Use a unique name for the deployment manager cell. A cell name must be unique in any circumstance in which the product is running on the same physical workstation or cluster of workstations, such as a Sysplex. Additionally, a cell name must be unique in any circumstance in which network connectivity between entities is required either between the cells or from a client that must communicate with each of the cells. Cell names also must be unique if their name spaces are going to be federated. Otherwise, you might encounter symptoms such as a javax.naming.Name NotFoundException exception, in which case, you need to create uniquely named cells.” (IBM, 2011)Process Inspector does make use of connectivity between the cells and also from a client that must communicate with each of the cells. When connecting to Process Center through the Inspector, there is cross-cell communication that occurs when Inspector goes to look for the running instances you have in one of your remote Process Server environments. As an example, if a developer has deployed code onto the Process Center server (also known as the playback server) and is now ready to test the code on a remote Process Server environment, Process Inspector will allow the developer to kick off a process instance and debug the code step by step through the process, provided the snapshot has already been deployed to the remote Process Server. The drop down box in Figure 1 shows the various Process Server environments that are connected to the Process Center.
Figure 1 – View of Process Inspector while running a process instance
Normally, after selecting an environment to test your process instance on, Inspector would connect to the remote Process Server and allow you to execute your tests. However, if your BPM cells for all of your environments are named with the exact same name, you may see a screen resembling Figure 2, even though you have already successfully deployed the snapshot.
Figure 2 – Error messaging indicating no snapshots are deployed
When the BPM cell names are all the same, cross-cell communication experiences issues that will cause you to lose key functionality of the products, as described above. Figure 3 provides a high level view (as an example) of the connectivity between Process Designer (which contains Process Inspector), Process Center, and Process Server environments:
Figure 3 – Cross Cell Communication for Deployment in BPM 7.5 (Markowitz, 2011)
In conclusion, it is imperative that you review the pre-requisites for installing IBM BPM 7.5 Advanced, or any products for that matter, thoroughly to ensure a successful implementation. The old saying “measure twice and cut once” is always a good rule of thumb to avoid rework and further expense down the road.
Works Cited:
IBM. (2011). Naming considerations for profiles, nodes, servers, hosts, and cells. Retrieved February 16, 2012, from IBM Business Process Manager 7.5 InfoCenter: http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r5mx/index.jsp?topic=%2Fcom.ibm.wbpm.main.doc%2Ftopics%2Fcins_naming.html
IBM. (2011). Running and debugging processes with the Inspector. Retrieved February 16, 2012, from IBM Business Process Manager 7.5 InfoCenter: http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r5mx/index.jsp?topic=%2Fcom.ibm.wbpm.wle.editor.doc%2Ftopics%2Frunning_debugging_procs.html
Markowitz, E. (2011, 11). Product Development Director at Prolifics.
Seth Gagnon, a Senior Consultant for Prolifics, has over seven years experience in the healthcare industry and has worked with business process management technology to automate member enrollment and claim adjudication for a Fortune 200 healthcare client. He has experience in IBM middleware products such as WebSphere Application Server, WebSphere Process Server, WebSphere Business Process Manager, and other products in the IBM BPM stack. Seth received his BS in Management Information Systems from the University of CT and his MS in Technology Commercialization from Northeastern University.
Subscribe to:
Posts (Atom)













