<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>I Came,I Learned,I Experienced....</title><description>Welcome To My Little Corner Of The IT Virtual World</description><managingEditor>noreply@blogger.com (Marimuthu Udhayakumar)</managingEditor><pubDate>Thu, 19 Dec 2024 08:53:13 +0530</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">98</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><link>http://teknoturfian.blogspot.com/</link><language>en-us</language><itunes:explicit>yes</itunes:explicit><itunes:keywords>LWUIT,Java,J2ee,J2me,Php,Oracle,C,C,MQ,MQBroker,XML,Db2</itunes:keywords><itunes:summary>This podcast is fully focus on new technology </itunes:summary><itunes:subtitle>New Technology</itunes:subtitle><itunes:category text="Technology"><itunes:category text="Podcasting"/></itunes:category><itunes:owner><itunes:email>teknoturfian@gmail.com</itunes:email></itunes:owner><item><title>Solution Architect Show - What Solution Architect Does In a Project</title><link>http://teknoturfian.blogspot.com/2020_03_22_archive.html#8832737407848644905</link><pubDate>Thu, 26 Mar 2020 12:56:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-8832737407848644905</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;a class="spreaker-player" data-autoplay="false" data-cover="https://d3wo5wojvuv7l.cloudfront.net/images.spreaker.com/original/89e8fd5379b31e99a3026fca533ae16a.jpg" data-height="400px" data-playlist="false" data-resource="episode_id=11698823" data-theme="light" data-width="100%" href="https://www.spreaker.com/episode/11698823"&gt;Listen to "What Solution Architect Does In a Project" on Spreaker.&lt;/a&gt;&lt;script async="" src="https://widget.spreaker.com/widgets.js"&gt;&lt;/script&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>Solution Architect Show - What skills required to become an excellent solution architect?</title><link>http://teknoturfian.blogspot.com/2020_03_22_archive.html#1873673217381205161</link><pubDate>Thu, 26 Mar 2020 12:55:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-1873673217381205161</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;a class="spreaker-player" data-autoplay="false" data-cover="https://d3wo5wojvuv7l.cloudfront.net/images.spreaker.com/original/89e8fd5379b31e99a3026fca533ae16a.jpg" data-height="400px" data-playlist="false" data-resource="episode_id=11750590" data-theme="light" data-width="100%" href="https://www.spreaker.com/episode/11750590"&gt;Listen to "What skills required to become an excellent solution architect?" on Spreaker.&lt;/a&gt;&lt;script async="" src="https://widget.spreaker.com/widgets.js"&gt;&lt;/script&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>Why You Want To Become A Solution Architect</title><link>http://teknoturfian.blogspot.com/2020_03_22_archive.html#811321130113288614</link><pubDate>Thu, 26 Mar 2020 12:54:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-811321130113288614</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;a class="spreaker-player" data-autoplay="false" data-cover="https://d3wo5wojvuv7l.cloudfront.net/images.spreaker.com/original/89e8fd5379b31e99a3026fca533ae16a.jpg" data-height="400px" data-playlist="false" data-resource="episode_id=11810026" data-theme="light" data-width="100%" href="https://www.spreaker.com/episode/11810026"&gt;Listen to "Why You Want To Become A Solution Architect" on Spreaker.&lt;/a&gt;&lt;script async="" src="https://widget.spreaker.com/widgets.js"&gt;&lt;/script&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>How To Become A Solution Architect</title><link>http://teknoturfian.blogspot.com/2020_03_22_archive.html#8809800570995763705</link><pubDate>Thu, 26 Mar 2020 12:54:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-8809800570995763705</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;a class="spreaker-player" data-autoplay="false" data-cover="https://d3wo5wojvuv7l.cloudfront.net/images.spreaker.com/original/89e8fd5379b31e99a3026fca533ae16a.jpg" data-height="400px" data-playlist="false" data-resource="episode_id=11861660" data-theme="light" data-width="100%" href="https://www.spreaker.com/user/ybbest/how-to-become-a-solution-architect"&gt;Listen to "How To Become A Solution Architect" on Spreaker.&lt;/a&gt;&lt;script async="" src="https://widget.spreaker.com/widgets.js"&gt;&lt;/script&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>Solution Architect Show - The 7 HABITS OF HIGHLY EFFECTIVE SOLUTION ARCHITECT</title><link>http://teknoturfian.blogspot.com/2020_03_22_archive.html#5900464110305592853</link><pubDate>Thu, 26 Mar 2020 12:53:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-5900464110305592853</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;a class="spreaker-player" data-autoplay="false" data-cover="https://d3wo5wojvuv7l.cloudfront.net/images.spreaker.com/original/89e8fd5379b31e99a3026fca533ae16a.jpg" data-height="400px" data-playlist="false" data-resource="episode_id=11941194" data-theme="light" data-width="100%" href="https://www.spreaker.com/episode/11941194"&gt;Listen to " The 7 HABITS OF HIGHLY EFFECTIVE SOLUTION ARCHITECT" on Spreaker.&lt;/a&gt;&lt;script async="" src="https://widget.spreaker.com/widgets.js"&gt;&lt;/script&gt;&lt;script async="" src="https://widget.spreaker.com/widgets.js"&gt;&lt;/script&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>Solution Architect Show</title><link>http://teknoturfian.blogspot.com/2020_03_22_archive.html#1710010216136424721</link><pubDate>Thu, 26 Mar 2020 12:52:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-1710010216136424721</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;a class="spreaker-player" data-autoplay="false" data-cover="https://d3wo5wojvuv7l.cloudfront.net/images.spreaker.com/original/89e8fd5379b31e99a3026fca533ae16a.jpg" data-height="400px" data-playlist="false" data-resource="episode_id=12045141" data-theme="light" data-width="100%" href="https://www.spreaker.com/episode/12045141"&gt;Listen to "8 Common Mistakes For New Solution Architect And How To Avoid Them." on Spreaker.&lt;/a&gt;&lt;script async="" src="https://widget.spreaker.com/widgets.js"&gt;&lt;/script&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>Solution Architect Show</title><link>http://teknoturfian.blogspot.com/2020_03_22_archive.html#4235089891312192906</link><pubDate>Thu, 26 Mar 2020 12:51:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-4235089891312192906</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;a class="spreaker-player" data-autoplay="false" data-cover="https://d3wo5wojvuv7l.cloudfront.net/images.spreaker.com/original/89e8fd5379b31e99a3026fca533ae16a.jpg" data-height="400px" data-playlist="false" data-resource="episode_id=12146536" data-theme="light" data-width="100%" href="https://www.spreaker.com/episode/12146536"&gt;Listen to "The disruption to your IT Career is coming , are you ready?" on Spreaker.&lt;/a&gt;&lt;script async="" src="https://widget.spreaker.com/widgets.js"&gt;&lt;/script&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>Solution Architect Show</title><link>http://teknoturfian.blogspot.com/2020_03_22_archive.html#2147664868450858403</link><pubDate>Thu, 26 Mar 2020 12:50:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-2147664868450858403</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;a class="spreaker-player" data-autoplay="false" data-cover="https://d3wo5wojvuv7l.cloudfront.net/images.spreaker.com/original/89e8fd5379b31e99a3026fca533ae16a.jpg" data-height="400px" data-playlist="false" data-resource="episode_id=14853306" data-theme="light" data-width="100%" href="https://www.spreaker.com/episode/14853306"&gt;Listen to "The fundamental skills" on Spreaker.&lt;/a&gt;&lt;script async="" src="https://widget.spreaker.com/widgets.js"&gt;&lt;/script&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>Fetching Task PendingWith ( User / Team ) - BPM</title><link>http://teknoturfian.blogspot.com/2019_11_17_archive.html#349682673924722091</link><pubDate>Thu, 21 Nov 2019 12:05:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-349682673924722091</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
function checkEmptyString(x) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (null == x || typeof x == 'undefined' || undefined == x || 'null' == x || '' == x);&lt;br /&gt;}&lt;br /&gt;
&lt;br /&gt;
function getUserInfo(employeeId)&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var userInfo = employeeId;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(null != employeeId &amp;amp;&amp;amp; typeof employeeId != 'undefined' &amp;amp;&amp;amp; undefined != employeeId)&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var user = tw.system.org.findUserByName(employeeId);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(user != null)&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; userInfo = user.fullName + " (" + employeeId + ")";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return userInfo;&lt;br /&gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var pendingWith = "";&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( !checkEmptyString(processId) )&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var search = new TWSearch();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; search.organizedBy = TWSearch.OrganizeByTypes.Task;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var searchColumnList = new Array();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var conditionList = new Array();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Task #&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var searchColumn = new TWSearchColumn();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumn.name = TWSearchColumn.TaskColumns.ID;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumn.type = TWSearchColumn.Types.Task;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumnList.push(searchColumn);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Task - AssignedToRole&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var searchColumn = new TWSearchColumn();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumn.name = TWSearchColumn.TaskColumns.AssignedToRole;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumn.type = TWSearchColumn.Types.Task;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumnList.push(searchColumn);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Task - AssignedToUser&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var searchColumn = new TWSearchColumn();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumn.name = TWSearchColumn.TaskColumns.AssignedToUser;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumn.type = TWSearchColumn.Types.Task;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumnList.push(searchColumn);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Add Conditions&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Task - Status Equals Received&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var searchColumn = new TWSearchColumn();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumn.name = TWSearchColumn.TaskColumns.Status;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumn.type = TWSearchColumn.Types.Task;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumnList.push(searchColumn);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var condition = new TWSearchCondition();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; condition.column = searchColumn;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; condition.operator = TWSearchCondition.Operations.Equals;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; condition.value = TWTask.Statuses.Received;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conditionList.push(condition);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Process - Status Equals Active&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var searchColumn = new TWSearchColumn();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumn.name = TWSearchColumn.ProcessInstanceColumns.Status;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumn.type = TWSearchColumn.Types.ProcessInstance;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumnList.push(searchColumn);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var condition = new TWSearchCondition();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; condition.column = searchColumn;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; condition.operator = TWSearchCondition.Operations.Equals;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; condition.value = TWProcessInstance.Statuses.Active;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conditionList.push(condition);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Condition with Process Instance #&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var searchColumn = new TWSearchColumn();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumn.name = TWSearchColumn.ProcessInstanceColumns.ID;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumn.type = TWSearchColumn.Types.ProcessInstance;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchColumnList.push(searchColumn);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var condition = new TWSearchCondition();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; condition.column = searchColumn;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; condition.operator = TWSearchCondition.Operations.Equals;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; condition.value = processId;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conditionList.push(condition);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; search.columns = searchColumnList;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; search.conditions = conditionList;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var results = search.execute();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( results &amp;amp;&amp;amp; results.rows &amp;amp;&amp;amp; results.rows.length &amp;gt; 0 )&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for ( var i = 0; i &amp;lt; results.rows.length; i++ ) {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var values = results.rows[i].values;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for ( var j = 0; j &amp;lt; values.length; j++ ) {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var key = searchColumnList[j].type + "_" + searchColumnList[j].name;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( key == 'Task_AssignedToRole' &amp;amp;&amp;amp; !checkEmptyString(values[j]) )&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pendingWith = (checkEmptyString(pendingWith)) ? (values[j] + " Team") : (pendingWith + ", " + values[j] + " Team");&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if( key == 'Task_AssignedToUser' &amp;amp;&amp;amp; !checkEmptyString(values[j]) )&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pendingWith = (checkEmptyString(pendingWith)) ? getUserInfo(values[j]) : (pendingWith + ", " + getUserInfo(values[j]));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch ( Exception )&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; log.error("Process App : " + tw.system.model.processApp.acronym + ", Error while looking up pending with for Process # " + processId);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( tw.system.error )&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; log.error("Error Details : " + tw.system.error.toString(false));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return pendingWith;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>Limitations in IBM BPM document store</title><link>http://teknoturfian.blogspot.com/2016_06_19_archive.html#6767668385351930997</link><pubDate>Wed, 22 Jun 2016 11:00:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-6767668385351930997</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="body refbody"&gt;
&lt;div class="shortdesc"&gt;
There are some limitations in administering the IBM BPM document store. In most situations, you can successfully work around these limitations.&lt;/div&gt;
&lt;div class="section"&gt;
&lt;div class="p"&gt;
The following list contains some known limitations of the IBM BPM document store:&lt;/div&gt;
&lt;ul class="ul"&gt;
&lt;li class="li"&gt;The document store must be enabled at configuration time for an IBM BPM installation that is configured to use DB2 on z/OS&lt;/li&gt;
&lt;li class="li"&gt;The document store is only available when Federated Repositories is used as the user registry&lt;/li&gt;
&lt;li class="li"&gt;An exception occurs when you are logging or tracing document store operations&lt;/li&gt;
&lt;li class="li"&gt;Defining too many properties can exceed the table row size limit&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
These limitations are described in the following sections.&lt;div class="p"&gt;
Although the IBM BPM document store is not available in these situations, you can continue to work with your document attachments in the IBM BPM database. Alternatively, you can configure an external Enterprise Content Manager (ECM) system for storing your documents. In either situation, the legacy document APIs continue to be used. Any ECM operations that specify the IBM BPM document store as a server will fail.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h2 class="title sectiontitle"&gt;
The document store must be enabled at configuration time for an IBM BPM installation that is configured to use DB2 on z/OS&lt;/h2&gt;
At configuration time, you decide whether you want to enable the IBM BPM document store. After you configure the IBM BPM document store, you cannot dynamically enable or disable the IBM BPM document store.&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h2 class="title sectiontitle"&gt;
The document store is only available when Federated Repositories is used as the user registry&lt;/h2&gt;
The IBM BPM document store is only available when Business Process Manager is configured to use Federated Repositories as the user registry. If you are using a different user registry configuration, disable the autostart mechanism of the IBM_BPM_DocumentStore application.&lt;div class="p"&gt;
To use the IBM BPM document store with your LDAP users and groups, configure LDAP as a repository in Federated Repositories instead of using stand-alone LDAP as the user registry. Additional information is found in the topic "Configuring external security providers."&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h2 class="title sectiontitle"&gt;
An exception occurs when you are logging or tracing document store operations&lt;/h2&gt;
When the server is started or the IBM BPM document store commands &lt;span class="keyword cmdname"&gt;maintainDocumentStoreTrace&lt;/span&gt; or &lt;span class="keyword cmdname"&gt;updateDocumentStoreApp&lt;/span&gt; are run, the following SystemErr exception might be logged:&lt;pre class="pre codeblock"&gt;&lt;code&gt;[3/19/13 23:31:12:548 PDT] 00000084 SystemErr     R log4j:WARN No appenders could be found for logger (filenet_error.api.com.filenet.apiimpl.util.ConfigValueLookup).
[3/19/13 23:31:12:548 PDT] 00000084 SystemErr     R log4j:WARN Please initialize the log4j system properly.
[3/19/13 23:31:14:482 PDT] 00000084 SystemErr     R log4j:WARN Configuring default logging to the file E:\IBM\WebSphere\AppServer\profiles\Custom01\FileNet\
testDE1.AppCluster.WIN-E6GDL89KDJDNode01.0\p8_server_error.log
[3/19/13 23:31:49:536 PDT] 00000084 SystemErr     R log4j:WARN No appenders could be found for logger (filenet_error.api.com.filenet.apiimpl.util.ConfigValueLookup).
[3/19/13 23:31:49:536 PDT] 00000084 SystemErr     R log4j:WARN Please initialize the log4j system properly.
[3/19/13 23:33:25:867 PDT] 00000108 SystemErr     R SLF4J: Class path contains multiple SLF4J bindings.&lt;/code&gt;&lt;/pre&gt;
The exception is caused by the tracing and logging mechanism that is used with the IBM BPM document store. The exception does not result in any operational problems and can be safely ignored.&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h2 class="title sectiontitle"&gt;
Defining too many properties can exceed the table row size limit&lt;/h2&gt;
Over time, the number of properties that are defined for an application can exceed the table row size limit. You can delete unused properties by completing the actions that are described in &lt;a class="xref" href="http://www.ibm.com/support/knowledgecenter/en/SSFPJS_8.5.5/com.ibm.wbpm.admin.doc/topics/tbpmdoccleanup.html"&gt;Cleaning up the IBM BPM document store&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>BM Business Process Manager Event Manager - Common symptoms and Solutions</title><link>http://teknoturfian.blogspot.com/2016_05_22_archive.html#4611529418751337480</link><pubDate>Tue, 24 May 2016 12:56:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-4611529418751337480</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;table border="0" cellpadding="0" cellspacing="0" class="lotusTable blogsFixedTable" role="presentation" summary=""&gt;&lt;tbody&gt;
&lt;tr class="lotusFirst"&gt;&lt;td class="min-h4-padding min-entry entryContentContainerTD blogsWrapText"&gt;&lt;div class="ibm-anchor-pointer"&gt;
&lt;a href="https://www.blogger.com/null" name="ibm_bpm_event_manager_common_problems"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div id="css-entry"&gt;
Introduction&lt;div dir="ltr"&gt;
 The event manager is the central component in IBM Business Process 
Manager that is responsible for scheduling a number of different tasks. 
If it's not working correctly, you might run into severe problems that 
need to be resolved quickly.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 This blog entry describes some of the most common symptoms and shows how to resolve them.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 In &lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/ibm_bpm_event_manager_common_problems?lang=en#PartI"&gt;Part I&lt;/a&gt;, some common event manager problems will be shown. &lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/ibm_bpm_event_manager_common_problems?lang=en#PartII"&gt;Part II&lt;/a&gt; explains how to analyze and fix these problems. &lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/ibm_bpm_event_manager_common_problems?lang=en#PartIII"&gt;Part III&lt;/a&gt; lists the available APARs that are related to the event manager.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 Special thx to Mark Filley and Bill Wentworth for their technical input and in depth review!&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;h1 dir="ltr"&gt;
 &lt;div class="ibm-anchor-pointer"&gt;
&lt;a href="https://www.blogger.com/null" name="PartI"&gt;&lt;/a&gt;&lt;/div&gt;
Part I - Common event manager symptoms&lt;/h1&gt;
&lt;h2 dir="ltr"&gt;
 Symptom A - Event manager is not processing any work&lt;/h2&gt;
&lt;div dir="ltr"&gt;
 The event manger is responsible for the scheduling of various jobs like:&lt;/div&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;
  Executing undercover agents (UCAs)&lt;/li&gt;
&lt;li&gt;
  Executing system lane tasks&lt;/li&gt;
&lt;li&gt;
  Triggering business process definition (BPD) timers&lt;/li&gt;
&lt;li&gt;
  Scheduling BPD notifications, which are essential to move the process flow forward through the business process diagram (BPMN)&lt;/li&gt;
&lt;/ul&gt;
&lt;div dir="ltr"&gt;
 &lt;br /&gt;
 If your process instances are stuck, timers not fired, and UCAs are no 
longer executed, then the event manager is not running or could be 
blocked.&lt;br /&gt;
 &lt;br /&gt;
 The Process Admin Console gives you a comprehensive view that shows the status of the event manager. When the status light is &lt;span style="color: red;"&gt;red&lt;/span&gt;, the event manager is paused or did not start and its jobs are accumulating with a &lt;span style="font-family: courier new,courier,monospace;"&gt;Scheduled Time &lt;/span&gt;much behind the current time. In the Process Admin Console, these jobs would show 'Job Status' as '&lt;span style="font-family: Courier New; font-weight: bold;"&gt;Scheduled&lt;/span&gt;' and jobs would not be in the '&lt;span style="font-family: Courier New; font-weight: bold;"&gt;Executing&lt;/span&gt;' state.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 For example:&lt;/div&gt;
&lt;div dir="ltr"&gt;
 The following screen shot, which was taken from the Process Admin 
Console, shows the last event manager heart beat expiration time stamp 
of "12/10/2014 2:00:15 PM." This time stamp is normally ahead of the 
current time. The event manager job's (UCAs and BPD notifications) &lt;span style="font-family: Courier New;"&gt;Scheduled Time&lt;/span&gt;
 shows an earlier time stamp and a job is not currently executing. In 
this example, the event manager is shown as inactive (red light), which 
explains the situation.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_1.png" style="display: inline-block; width: 100%;" target="_blank"&gt;&lt;img alt="image" src="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_1.png" style="display: block; float: left; margin: 1em 0pt 0pt; width: 100%;" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &lt;span style="font-weight: bold;"&gt;Note&lt;/span&gt;: Even if the event manager
 is not running, it is possible to start new process instances, but they
 will not move forward! As services are not scheduled by the event 
manager, those could also be executed.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;h2 dir="ltr"&gt;
 Symptom B - Event manager shows jobs with a scheduled date of 2099&lt;/h2&gt;
&lt;div dir="ltr"&gt;
 The Process Admin Console can show event manager jobs scheduled for 2099 as shown here:&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_2.png" style="display: inline-block; width: 100%;" target="_blank"&gt;&lt;img alt="image" src="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_2.png" style="display: block; float: left; margin: 1em 0pt 0pt; width: 100%;" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;h2 dir="ltr"&gt;
 Symptom C -&amp;nbsp; Event manager is active, but long running system lane tasks block the event manager throughput&lt;/h2&gt;
&lt;div dir="ltr"&gt;
 There can be situations where the event manager is actively working, 
but you experience throughput problems. For example, the flow in the 
process instances is not moving forward or the execution of timers is 
delayed.&lt;br /&gt;
 &lt;br /&gt;
 The following screen shot shows five system lane activities being 
executed, but a couple of BPD notifications are waiting to be executed. 
These BPD notifications are overdue as the 'Scheduled Time' is greater 
than the current time. This situation can indicate that the event 
manager configuration needs to be tuned and/or the execution time for 
system lane tasks needs to be optimized, if possible.&amp;nbsp;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_3.png" style="display: inline-block; width: 100%;" target="_blank"&gt;&lt;img alt="image" src="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_3.png" style="display: block; float: left; margin: 1em 0pt 0pt 0pt; width: 100%;" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 See resolution section &lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/ibm_bpm_event_manager_common_problems?lang=en#CDEF"&gt;C,D,&lt;wbr&gt;&lt;/wbr&gt;E,F&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;-&amp;nbsp;Ev&lt;wbr&gt;&lt;/wbr&gt;ent&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;mana&lt;wbr&gt;&lt;/wbr&gt;ger is acti&lt;wbr&gt;&lt;/wbr&gt;ve,&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;but&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;thro&lt;wbr&gt;&lt;/wbr&gt;ughp&lt;wbr&gt;&lt;/wbr&gt;ut&amp;nbsp;p&lt;wbr&gt;&lt;/wbr&gt;robl&lt;wbr&gt;&lt;/wbr&gt;ems exist&lt;/a&gt; to analyze and resolve this problem.&lt;/div&gt;
&lt;h2 dir="ltr"&gt;
 &amp;nbsp;&lt;/h2&gt;
&lt;h2 dir="ltr"&gt;
 Symptom D - UCAs are not processing at the desired rate&lt;/h2&gt;
&lt;div dir="ltr"&gt;
 According to the definition in the process application, UCAs are bound 
to a couple of synchronous queues or a single asynchronous queue managed
 by the event manager. The capacity for these queues is defined by the 
following parameters in the &lt;span style="font-family: courier new,courier,monospace;"&gt;80EventManager.xml&lt;/span&gt; configuration file:&lt;br /&gt;
 &lt;span style="font-family: Courier New;"&gt;&lt;asy wbr=""&gt;nc-q&lt;wbr&gt;&lt;/wbr&gt;ueue&lt;wbr&gt;&lt;/wbr&gt;-cap&lt;wbr&gt;&lt;/wbr&gt;acit&lt;wbr&gt;&lt;/wbr&gt;y&amp;gt; &lt;/asy&gt;&lt;/span&gt;or&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;syn wbr=""&gt;c-qu&lt;wbr&gt;&lt;/wbr&gt;eue-&lt;wbr&gt;&lt;/wbr&gt;capa&lt;wbr&gt;&lt;/wbr&gt;city&lt;wbr&gt;&lt;/wbr&gt;&amp;gt;&lt;/syn&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 These numbers limit the rate of UCAs that can be executed at a time.&lt;br /&gt;
 &lt;br /&gt;
 See resolution section &lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/ibm_bpm_event_manager_common_problems?lang=en#CDEF"&gt;C,D,&lt;wbr&gt;&lt;/wbr&gt;E,F&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;-&amp;nbsp;Ev&lt;wbr&gt;&lt;/wbr&gt;ent&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;mana&lt;wbr&gt;&lt;/wbr&gt;ger is acti&lt;wbr&gt;&lt;/wbr&gt;ve,&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;but&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;thro&lt;wbr&gt;&lt;/wbr&gt;ughp&lt;wbr&gt;&lt;/wbr&gt;ut&amp;nbsp;p&lt;wbr&gt;&lt;/wbr&gt;robl&lt;wbr&gt;&lt;/wbr&gt;ems exist&lt;/a&gt; to analyze and resolve that problem.&lt;br /&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;h2 dir="ltr"&gt;
 &lt;br /&gt;
 Symptom E - Many BPD timers wake up at the same time&lt;/h2&gt;
&lt;div dir="ltr"&gt;
 When the event manager processes a timer, it loads the applicable task 
into the "BPD async queue," whose capacity is defined by the &lt;strong&gt;&lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;bpd wbr=""&gt;-que&lt;wbr&gt;&lt;/wbr&gt;ue-c&lt;wbr&gt;&lt;/wbr&gt;apac&lt;wbr&gt;&lt;/wbr&gt;ity&amp;gt; &lt;/bpd&gt;&lt;/span&gt;&lt;/strong&gt;setting from the &lt;span style="font-family: courier new,courier,monospace;"&gt;80EventManager.xm&lt;/span&gt;l
 configuration file. If the application design has hundreds or thousands
 of timers that start at the exact same time, then this setting might 
need to be increased beyond the default of forty (40).&lt;/div&gt;
&lt;div dir="ltr"&gt;
 Keep in mind that this queue is shared between timer executions, BPD notifications and the execution of system lane tasks.&lt;br /&gt;
 &lt;br /&gt;
 See resolution section &lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/ibm_bpm_event_manager_common_problems?lang=en#CDEF"&gt;C,D,&lt;wbr&gt;&lt;/wbr&gt;E,F&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;-&amp;nbsp;Ev&lt;wbr&gt;&lt;/wbr&gt;ent&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;mana&lt;wbr&gt;&lt;/wbr&gt;ger is acti&lt;wbr&gt;&lt;/wbr&gt;ve,&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;but&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;thro&lt;wbr&gt;&lt;/wbr&gt;ughp&lt;wbr&gt;&lt;/wbr&gt;ut&amp;nbsp;p&lt;wbr&gt;&lt;/wbr&gt;robl&lt;wbr&gt;&lt;/wbr&gt;ems exist&lt;/a&gt; to analyze and resolve that problem.&lt;br /&gt;
 &lt;br /&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;h2 dir="ltr"&gt;
 Symptom F - Event Manager warning messages CWLLG2156W, CWLLG2236W occur&lt;/h2&gt;
&lt;div dir="ltr"&gt;
 If the BPM run time detects that the database connection pool is too 
small, it will dynamically reduce the queue sizes and you will see 
entries in SystemOut.log like the following messages:&lt;br /&gt;
 &lt;span style="font-family: courier new,courier,monospace;"&gt;"CWLLG2156W: The database connection pool size xxx of the Process Server data source might be too small." and/or&lt;br /&gt;
 "CWLLG2236W: The configured &amp;lt;%%%&lt;wbr&gt;&lt;/wbr&gt;%%%-&lt;wbr&gt;&lt;/wbr&gt;queu&lt;wbr&gt;&lt;/wbr&gt;e-ca&lt;wbr&gt;&lt;/wbr&gt;paci&lt;wbr&gt;&lt;/wbr&gt;ty&amp;gt; parameter of xxx has been changed to yyy."&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 These messages indicate that there is a mismatch between the event manager queue capacity and the JDBC data source pool size.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 See resolution section &lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/ibm_bpm_event_manager_common_problems?lang=en#CDEF"&gt;C,D,E,F - Event manager is active, but throughput problems exist&lt;/a&gt; to analyze and resolve that problem.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;h2 dir="ltr"&gt;
 Symptom G - Event manager tasks fail when Lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;Even&lt;wbr&gt;&lt;/wbr&gt;tEmi&lt;wbr&gt;&lt;/wbr&gt;tter&lt;wbr&gt;&lt;/wbr&gt;Inpu&lt;wbr&gt;&lt;/wbr&gt;tQue&lt;wbr&gt;&lt;/wbr&gt;ue reached max threshold&lt;/h2&gt;
&lt;div dir="ltr"&gt;
 When you have your IBM Business Process Manager environment configured 
to forward monitoring events to a Business Monitor server, the execution
 of event manager tasks involves sending a message to the local queue 
called "&lt;span style="font-family: Courier New;"&gt;Lom&lt;wbr&gt;&lt;/wbr&gt;bard&lt;wbr&gt;&lt;/wbr&gt;iEve&lt;wbr&gt;&lt;/wbr&gt;ntEm&lt;wbr&gt;&lt;/wbr&gt;itte&lt;wbr&gt;&lt;/wbr&gt;rInp&lt;wbr&gt;&lt;/wbr&gt;utQu&lt;wbr&gt;&lt;/wbr&gt;eu&lt;wbr&gt;&lt;/wbr&gt;e&lt;/span&gt;." This queue maps to the JNDI name &lt;span style="font-family: Courier New;"&gt;jms/&lt;wbr&gt;&lt;/wbr&gt;com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;/Eve&lt;wbr&gt;&lt;/wbr&gt;ntEm&lt;wbr&gt;&lt;/wbr&gt;issi&lt;wbr&gt;&lt;/wbr&gt;onQu&lt;wbr&gt;&lt;/wbr&gt;eu&lt;wbr&gt;&lt;/wbr&gt;e&lt;/span&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 If the queue depth of the &lt;span style="font-family: Courier New;"&gt;Lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;Even&lt;wbr&gt;&lt;/wbr&gt;tEmi&lt;wbr&gt;&lt;/wbr&gt;tter&lt;wbr&gt;&lt;/wbr&gt;Inpu&lt;wbr&gt;&lt;/wbr&gt;tQue&lt;wbr&gt;&lt;/wbr&gt;ue &lt;/span&gt;reaches
 the configured maximum threshold, no more message can be put to this 
queue and the execution of an event manager tasks will end up in an 
exception like the following text:&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &lt;span style="font-family: courier new,courier,monospace;"&gt;J2CA0027E: An exception occurred while invoking prepare on an XA Resource Adapter from DataSource jms/&lt;wbr&gt;&lt;/wbr&gt;com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;/Eve&lt;wbr&gt;&lt;/wbr&gt;ntEm&lt;wbr&gt;&lt;/wbr&gt;issi&lt;wbr&gt;&lt;/wbr&gt;onQu&lt;wbr&gt;&lt;/wbr&gt;eueF&lt;wbr&gt;&lt;/wbr&gt;acto&lt;wbr&gt;&lt;/wbr&gt;ry, within transaction ID {XidImpl: formatId(57415344), gtrid_length(36), bqual_length(54),&lt;br /&gt;
 data&lt;wbr&gt;&lt;/wbr&gt;(000&lt;wbr&gt;&lt;/wbr&gt;0014&lt;wbr&gt;&lt;/wbr&gt;ac68&lt;wbr&gt;&lt;/wbr&gt;0b3d&lt;wbr&gt;&lt;/wbr&gt;d000&lt;wbr&gt;&lt;/wbr&gt;0000&lt;wbr&gt;&lt;/wbr&gt;10c3&lt;wbr&gt;&lt;/wbr&gt;c5a4&lt;wbr&gt;&lt;/wbr&gt;c306&lt;wbr&gt;&lt;/wbr&gt;53f6&lt;wbr&gt;&lt;/wbr&gt;b06f&lt;wbr&gt;&lt;/wbr&gt;16c1&lt;wbr&gt;&lt;/wbr&gt;e578&lt;wbr&gt;&lt;/wbr&gt;2cea&lt;wbr&gt;&lt;/wbr&gt;7f4f&lt;wbr&gt;&lt;/wbr&gt;ce4b&lt;wbr&gt;&lt;/wbr&gt;60a8&lt;wbr&gt;&lt;/wbr&gt;f48d&lt;wbr&gt;&lt;/wbr&gt;3000&lt;wbr&gt;&lt;/wbr&gt;0014&lt;wbr&gt;&lt;/wbr&gt;ac68&lt;wbr&gt;&lt;/wbr&gt;0b3d&lt;wbr&gt;&lt;/wbr&gt;d000&lt;wbr&gt;&lt;/wbr&gt;0000&lt;wbr&gt;&lt;/wbr&gt;10c3&lt;wbr&gt;&lt;/wbr&gt;c5a4&lt;wbr&gt;&lt;/wbr&gt;c306&lt;wbr&gt;&lt;/wbr&gt;53f6&lt;wbr&gt;&lt;/wbr&gt;b06f&lt;wbr&gt;&lt;/wbr&gt;16c1&lt;wbr&gt;&lt;/wbr&gt;e578&lt;wbr&gt;&lt;/wbr&gt;2cea&lt;wbr&gt;&lt;/wbr&gt;7f4f&lt;wbr&gt;&lt;/wbr&gt;ce4b&lt;wbr&gt;&lt;/wbr&gt;60a8&lt;wbr&gt;&lt;/wbr&gt;f48d&lt;wbr&gt;&lt;/wbr&gt;3000&lt;wbr&gt;&lt;/wbr&gt;0000&lt;wbr&gt;&lt;/wbr&gt;1000&lt;wbr&gt;&lt;/wbr&gt;0000&lt;wbr&gt;&lt;/wbr&gt;0000&lt;wbr&gt;&lt;/wbr&gt;0000&lt;wbr&gt;&lt;/wbr&gt;0000&lt;wbr&gt;&lt;/wbr&gt;0000&lt;wbr&gt;&lt;/wbr&gt;0000&lt;wbr&gt;&lt;/wbr&gt;2)} : java&lt;wbr&gt;&lt;/wbr&gt;x.tr&lt;wbr&gt;&lt;/wbr&gt;ansa&lt;wbr&gt;&lt;/wbr&gt;ctio&lt;wbr&gt;&lt;/wbr&gt;n.xa&lt;wbr&gt;&lt;/wbr&gt;.XAE&lt;wbr&gt;&lt;/wbr&gt;xcep&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;:
 CWSIC8007E: An exception was caught from the remote server with Probe 
Id 3-013-0010. Exception: CWSIC2029E: This transaction cannot commit as 
an operation that was performed within the transaction boundary failed. 
The first operation that failed generated the following exception: com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ws.s&lt;wbr&gt;&lt;/wbr&gt;ib.p&lt;wbr&gt;&lt;/wbr&gt;roce&lt;wbr&gt;&lt;/wbr&gt;ssor&lt;wbr&gt;&lt;/wbr&gt;.exc&lt;wbr&gt;&lt;/wbr&gt;epti&lt;wbr&gt;&lt;/wbr&gt;ons.&lt;wbr&gt;&lt;/wbr&gt;SIMP&lt;wbr&gt;&lt;/wbr&gt;Limi&lt;wbr&gt;&lt;/wbr&gt;tExc&lt;wbr&gt;&lt;/wbr&gt;eede&lt;wbr&gt;&lt;/wbr&gt;dExc&lt;wbr&gt;&lt;/wbr&gt;epti&lt;wbr&gt;&lt;/wbr&gt;on: CWSIK0025E: The destination Lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;Even&lt;wbr&gt;&lt;/wbr&gt;tEmi&lt;wbr&gt;&lt;/wbr&gt;tter&lt;wbr&gt;&lt;/wbr&gt;Inpu&lt;wbr&gt;&lt;/wbr&gt;tQue&lt;wbr&gt;&lt;/wbr&gt;ue on messaging engine Proc&lt;wbr&gt;&lt;/wbr&gt;essS&lt;wbr&gt;&lt;/wbr&gt;erve&lt;wbr&gt;&lt;/wbr&gt;rPro&lt;wbr&gt;&lt;/wbr&gt;dDep&lt;wbr&gt;&lt;/wbr&gt;Env.&lt;wbr&gt;&lt;/wbr&gt;SupC&lt;wbr&gt;&lt;/wbr&gt;lust&lt;wbr&gt;&lt;/wbr&gt;er.0&lt;wbr&gt;&lt;/wbr&gt;00-M&lt;wbr&gt;&lt;/wbr&gt;ONIT&lt;wbr&gt;&lt;/wbr&gt;OR.C&lt;wbr&gt;&lt;/wbr&gt;ell0&lt;wbr&gt;&lt;/wbr&gt;1.Bu&lt;wbr&gt;&lt;/wbr&gt;s is not available because the high limit for the number of messages for this destination has already been reached...&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ws.s&lt;wbr&gt;&lt;/wbr&gt;ib.c&lt;wbr&gt;&lt;/wbr&gt;omms&lt;wbr&gt;&lt;/wbr&gt;.com&lt;wbr&gt;&lt;/wbr&gt;mon.&lt;wbr&gt;&lt;/wbr&gt;Comm&lt;wbr&gt;&lt;/wbr&gt;sByt&lt;wbr&gt;&lt;/wbr&gt;eBuf&lt;wbr&gt;&lt;/wbr&gt;fer.&lt;wbr&gt;&lt;/wbr&gt;pars&lt;wbr&gt;&lt;/wbr&gt;eSin&lt;wbr&gt;&lt;/wbr&gt;gleE&lt;wbr&gt;&lt;/wbr&gt;xcep&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;(Com&lt;wbr&gt;&lt;/wbr&gt;msBy&lt;wbr&gt;&lt;/wbr&gt;teBu&lt;wbr&gt;&lt;/wbr&gt;ffer&lt;wbr&gt;&lt;/wbr&gt;.jav&lt;wbr&gt;&lt;/wbr&gt;a:17&lt;wbr&gt;&lt;/wbr&gt;53)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ws.s&lt;wbr&gt;&lt;/wbr&gt;ib.c&lt;wbr&gt;&lt;/wbr&gt;omms&lt;wbr&gt;&lt;/wbr&gt;.com&lt;wbr&gt;&lt;/wbr&gt;mon.&lt;wbr&gt;&lt;/wbr&gt;Comm&lt;wbr&gt;&lt;/wbr&gt;sByt&lt;wbr&gt;&lt;/wbr&gt;eBuf&lt;wbr&gt;&lt;/wbr&gt;fer.&lt;wbr&gt;&lt;/wbr&gt;getE&lt;wbr&gt;&lt;/wbr&gt;xcep&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;(Com&lt;wbr&gt;&lt;/wbr&gt;msBy&lt;wbr&gt;&lt;/wbr&gt;teBu&lt;wbr&gt;&lt;/wbr&gt;ffer&lt;wbr&gt;&lt;/wbr&gt;.jav&lt;wbr&gt;&lt;/wbr&gt;a)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ws.s&lt;wbr&gt;&lt;/wbr&gt;ib.c&lt;wbr&gt;&lt;/wbr&gt;omms&lt;wbr&gt;&lt;/wbr&gt;.com&lt;wbr&gt;&lt;/wbr&gt;mon.&lt;wbr&gt;&lt;/wbr&gt;Comm&lt;wbr&gt;&lt;/wbr&gt;sByt&lt;wbr&gt;&lt;/wbr&gt;eBuf&lt;wbr&gt;&lt;/wbr&gt;fer.&lt;wbr&gt;&lt;/wbr&gt;chec&lt;wbr&gt;&lt;/wbr&gt;kXAC&lt;wbr&gt;&lt;/wbr&gt;omma&lt;wbr&gt;&lt;/wbr&gt;ndCo&lt;wbr&gt;&lt;/wbr&gt;mple&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;Stat&lt;wbr&gt;&lt;/wbr&gt;us(C&lt;wbr&gt;&lt;/wbr&gt;omms&lt;wbr&gt;&lt;/wbr&gt;Byte&lt;wbr&gt;&lt;/wbr&gt;Buff&lt;wbr&gt;&lt;/wbr&gt;er.j&lt;wbr&gt;&lt;/wbr&gt;ava:&lt;wbr&gt;&lt;/wbr&gt;1218&lt;wbr&gt;&lt;/wbr&gt;)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ws.s&lt;wbr&gt;&lt;/wbr&gt;ib.c&lt;wbr&gt;&lt;/wbr&gt;omms&lt;wbr&gt;&lt;/wbr&gt;.cli&lt;wbr&gt;&lt;/wbr&gt;ent.&lt;wbr&gt;&lt;/wbr&gt;Opti&lt;wbr&gt;&lt;/wbr&gt;mize&lt;wbr&gt;&lt;/wbr&gt;dSIX&lt;wbr&gt;&lt;/wbr&gt;ARes&lt;wbr&gt;&lt;/wbr&gt;ourc&lt;wbr&gt;&lt;/wbr&gt;ePro&lt;wbr&gt;&lt;/wbr&gt;xy.p&lt;wbr&gt;&lt;/wbr&gt;repa&lt;wbr&gt;&lt;/wbr&gt;re(O&lt;wbr&gt;&lt;/wbr&gt;ptim&lt;wbr&gt;&lt;/wbr&gt;ized&lt;wbr&gt;&lt;/wbr&gt;SIXA&lt;wbr&gt;&lt;/wbr&gt;Reso&lt;wbr&gt;&lt;/wbr&gt;urce&lt;wbr&gt;&lt;/wbr&gt;Prox&lt;wbr&gt;&lt;/wbr&gt;y.ja&lt;wbr&gt;&lt;/wbr&gt;va:7&lt;wbr&gt;&lt;/wbr&gt;49)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ws.s&lt;wbr&gt;&lt;/wbr&gt;ib.c&lt;wbr&gt;&lt;/wbr&gt;omms&lt;wbr&gt;&lt;/wbr&gt;.cli&lt;wbr&gt;&lt;/wbr&gt;ent.&lt;wbr&gt;&lt;/wbr&gt;Susp&lt;wbr&gt;&lt;/wbr&gt;enda&lt;wbr&gt;&lt;/wbr&gt;bleX&lt;wbr&gt;&lt;/wbr&gt;ARes&lt;wbr&gt;&lt;/wbr&gt;ourc&lt;wbr&gt;&lt;/wbr&gt;e.pr&lt;wbr&gt;&lt;/wbr&gt;epar&lt;wbr&gt;&lt;/wbr&gt;e(Su&lt;wbr&gt;&lt;/wbr&gt;spen&lt;wbr&gt;&lt;/wbr&gt;dabl&lt;wbr&gt;&lt;/wbr&gt;eXAR&lt;wbr&gt;&lt;/wbr&gt;esou&lt;wbr&gt;&lt;/wbr&gt;rce.&lt;wbr&gt;&lt;/wbr&gt;java&lt;wbr&gt;&lt;/wbr&gt;:386&lt;wbr&gt;&lt;/wbr&gt;)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ws.s&lt;wbr&gt;&lt;/wbr&gt;ib.a&lt;wbr&gt;&lt;/wbr&gt;pi.j&lt;wbr&gt;&lt;/wbr&gt;msra&lt;wbr&gt;&lt;/wbr&gt;.imp&lt;wbr&gt;&lt;/wbr&gt;l.Jm&lt;wbr&gt;&lt;/wbr&gt;sJca&lt;wbr&gt;&lt;/wbr&gt;Reco&lt;wbr&gt;&lt;/wbr&gt;vera&lt;wbr&gt;&lt;/wbr&gt;bleS&lt;wbr&gt;&lt;/wbr&gt;iXaR&lt;wbr&gt;&lt;/wbr&gt;esou&lt;wbr&gt;&lt;/wbr&gt;rce.&lt;wbr&gt;&lt;/wbr&gt;prep&lt;wbr&gt;&lt;/wbr&gt;are(&lt;wbr&gt;&lt;/wbr&gt;JmsJ&lt;wbr&gt;&lt;/wbr&gt;caRe&lt;wbr&gt;&lt;/wbr&gt;cove&lt;wbr&gt;&lt;/wbr&gt;rabl&lt;wbr&gt;&lt;/wbr&gt;eSiX&lt;wbr&gt;&lt;/wbr&gt;aRes&lt;wbr&gt;&lt;/wbr&gt;ourc&lt;wbr&gt;&lt;/wbr&gt;e.ja&lt;wbr&gt;&lt;/wbr&gt;va:2&lt;wbr&gt;&lt;/wbr&gt;60)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ejs.&lt;wbr&gt;&lt;/wbr&gt;j2c.&lt;wbr&gt;&lt;/wbr&gt;XATr&lt;wbr&gt;&lt;/wbr&gt;ansa&lt;wbr&gt;&lt;/wbr&gt;ctio&lt;wbr&gt;&lt;/wbr&gt;nWra&lt;wbr&gt;&lt;/wbr&gt;pper&lt;wbr&gt;&lt;/wbr&gt;.pre&lt;wbr&gt;&lt;/wbr&gt;pare&lt;wbr&gt;&lt;/wbr&gt;(XAT&lt;wbr&gt;&lt;/wbr&gt;rans&lt;wbr&gt;&lt;/wbr&gt;acti&lt;wbr&gt;&lt;/wbr&gt;onWr&lt;wbr&gt;&lt;/wbr&gt;appe&lt;wbr&gt;&lt;/wbr&gt;r.ja&lt;wbr&gt;&lt;/wbr&gt;va:1&lt;wbr&gt;&lt;/wbr&gt;152)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;tx.j&lt;wbr&gt;&lt;/wbr&gt;ta.i&lt;wbr&gt;&lt;/wbr&gt;mpl.&lt;wbr&gt;&lt;/wbr&gt;JTAX&lt;wbr&gt;&lt;/wbr&gt;ARes&lt;wbr&gt;&lt;/wbr&gt;ourc&lt;wbr&gt;&lt;/wbr&gt;eImp&lt;wbr&gt;&lt;/wbr&gt;l.pr&lt;wbr&gt;&lt;/wbr&gt;epar&lt;wbr&gt;&lt;/wbr&gt;e(JT&lt;wbr&gt;&lt;/wbr&gt;AXAR&lt;wbr&gt;&lt;/wbr&gt;esou&lt;wbr&gt;&lt;/wbr&gt;rceI&lt;wbr&gt;&lt;/wbr&gt;mpl.&lt;wbr&gt;&lt;/wbr&gt;java&lt;wbr&gt;&lt;/wbr&gt;:234&lt;wbr&gt;&lt;/wbr&gt;)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;tx.j&lt;wbr&gt;&lt;/wbr&gt;ta.i&lt;wbr&gt;&lt;/wbr&gt;mpl.&lt;wbr&gt;&lt;/wbr&gt;Regi&lt;wbr&gt;&lt;/wbr&gt;ster&lt;wbr&gt;&lt;/wbr&gt;edRe&lt;wbr&gt;&lt;/wbr&gt;sour&lt;wbr&gt;&lt;/wbr&gt;ces.&lt;wbr&gt;&lt;/wbr&gt;prep&lt;wbr&gt;&lt;/wbr&gt;areR&lt;wbr&gt;&lt;/wbr&gt;esou&lt;wbr&gt;&lt;/wbr&gt;rce(&lt;wbr&gt;&lt;/wbr&gt;Regi&lt;wbr&gt;&lt;/wbr&gt;ster&lt;wbr&gt;&lt;/wbr&gt;edRe&lt;wbr&gt;&lt;/wbr&gt;sour&lt;wbr&gt;&lt;/wbr&gt;ces.&lt;wbr&gt;&lt;/wbr&gt;java&lt;wbr&gt;&lt;/wbr&gt;:121&lt;wbr&gt;&lt;/wbr&gt;1)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;tx.j&lt;wbr&gt;&lt;/wbr&gt;ta.i&lt;wbr&gt;&lt;/wbr&gt;mpl.&lt;wbr&gt;&lt;/wbr&gt;Regi&lt;wbr&gt;&lt;/wbr&gt;ster&lt;wbr&gt;&lt;/wbr&gt;edRe&lt;wbr&gt;&lt;/wbr&gt;sour&lt;wbr&gt;&lt;/wbr&gt;ces.&lt;wbr&gt;&lt;/wbr&gt;dist&lt;wbr&gt;&lt;/wbr&gt;ribu&lt;wbr&gt;&lt;/wbr&gt;tePr&lt;wbr&gt;&lt;/wbr&gt;epar&lt;wbr&gt;&lt;/wbr&gt;e(Re&lt;wbr&gt;&lt;/wbr&gt;gist&lt;wbr&gt;&lt;/wbr&gt;ered&lt;wbr&gt;&lt;/wbr&gt;Reso&lt;wbr&gt;&lt;/wbr&gt;urce&lt;wbr&gt;&lt;/wbr&gt;s.ja&lt;wbr&gt;&lt;/wbr&gt;va:1&lt;wbr&gt;&lt;/wbr&gt;472)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;tx.j&lt;wbr&gt;&lt;/wbr&gt;ta.i&lt;wbr&gt;&lt;/wbr&gt;mpl.&lt;wbr&gt;&lt;/wbr&gt;Tran&lt;wbr&gt;&lt;/wbr&gt;sact&lt;wbr&gt;&lt;/wbr&gt;ionI&lt;wbr&gt;&lt;/wbr&gt;mpl.&lt;wbr&gt;&lt;/wbr&gt;prep&lt;wbr&gt;&lt;/wbr&gt;areR&lt;wbr&gt;&lt;/wbr&gt;esou&lt;wbr&gt;&lt;/wbr&gt;rces&lt;wbr&gt;&lt;/wbr&gt;(Tra&lt;wbr&gt;&lt;/wbr&gt;nsac&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;Impl&lt;wbr&gt;&lt;/wbr&gt;.jav&lt;wbr&gt;&lt;/wbr&gt;a:14&lt;wbr&gt;&lt;/wbr&gt;88)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ws.t&lt;wbr&gt;&lt;/wbr&gt;x.jt&lt;wbr&gt;&lt;/wbr&gt;a.Tr&lt;wbr&gt;&lt;/wbr&gt;ansa&lt;wbr&gt;&lt;/wbr&gt;ctio&lt;wbr&gt;&lt;/wbr&gt;nImp&lt;wbr&gt;&lt;/wbr&gt;l.st&lt;wbr&gt;&lt;/wbr&gt;age1&lt;wbr&gt;&lt;/wbr&gt;Comm&lt;wbr&gt;&lt;/wbr&gt;itPr&lt;wbr&gt;&lt;/wbr&gt;oces&lt;wbr&gt;&lt;/wbr&gt;sing&lt;wbr&gt;&lt;/wbr&gt;(Tra&lt;wbr&gt;&lt;/wbr&gt;nsac&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;Impl&lt;wbr&gt;&lt;/wbr&gt;.jav&lt;wbr&gt;&lt;/wbr&gt;a:60&lt;wbr&gt;&lt;/wbr&gt;2)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;tx.j&lt;wbr&gt;&lt;/wbr&gt;ta.i&lt;wbr&gt;&lt;/wbr&gt;mpl.&lt;wbr&gt;&lt;/wbr&gt;Tran&lt;wbr&gt;&lt;/wbr&gt;sact&lt;wbr&gt;&lt;/wbr&gt;ionI&lt;wbr&gt;&lt;/wbr&gt;mpl.&lt;wbr&gt;&lt;/wbr&gt;proc&lt;wbr&gt;&lt;/wbr&gt;essC&lt;wbr&gt;&lt;/wbr&gt;ommi&lt;wbr&gt;&lt;/wbr&gt;t(Tr&lt;wbr&gt;&lt;/wbr&gt;ansa&lt;wbr&gt;&lt;/wbr&gt;ctio&lt;wbr&gt;&lt;/wbr&gt;nImp&lt;wbr&gt;&lt;/wbr&gt;l.ja&lt;wbr&gt;&lt;/wbr&gt;va:1&lt;wbr&gt;&lt;/wbr&gt;028)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;tx.j&lt;wbr&gt;&lt;/wbr&gt;ta.i&lt;wbr&gt;&lt;/wbr&gt;mpl.&lt;wbr&gt;&lt;/wbr&gt;Tran&lt;wbr&gt;&lt;/wbr&gt;sact&lt;wbr&gt;&lt;/wbr&gt;ionI&lt;wbr&gt;&lt;/wbr&gt;mpl.&lt;wbr&gt;&lt;/wbr&gt;comm&lt;wbr&gt;&lt;/wbr&gt;it(T&lt;wbr&gt;&lt;/wbr&gt;rans&lt;wbr&gt;&lt;/wbr&gt;acti&lt;wbr&gt;&lt;/wbr&gt;onIm&lt;wbr&gt;&lt;/wbr&gt;pl.j&lt;wbr&gt;&lt;/wbr&gt;ava:&lt;wbr&gt;&lt;/wbr&gt;962)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ws.t&lt;wbr&gt;&lt;/wbr&gt;x.jt&lt;wbr&gt;&lt;/wbr&gt;a.Tr&lt;wbr&gt;&lt;/wbr&gt;anMa&lt;wbr&gt;&lt;/wbr&gt;nage&lt;wbr&gt;&lt;/wbr&gt;rImp&lt;wbr&gt;&lt;/wbr&gt;l.co&lt;wbr&gt;&lt;/wbr&gt;mmit&lt;wbr&gt;&lt;/wbr&gt;(Tra&lt;wbr&gt;&lt;/wbr&gt;nMan&lt;wbr&gt;&lt;/wbr&gt;ager&lt;wbr&gt;&lt;/wbr&gt;Impl&lt;wbr&gt;&lt;/wbr&gt;.jav&lt;wbr&gt;&lt;/wbr&gt;a:43&lt;wbr&gt;&lt;/wbr&gt;9)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;tx.j&lt;wbr&gt;&lt;/wbr&gt;ta.i&lt;wbr&gt;&lt;/wbr&gt;mpl.&lt;wbr&gt;&lt;/wbr&gt;Tran&lt;wbr&gt;&lt;/wbr&gt;Mana&lt;wbr&gt;&lt;/wbr&gt;gerS&lt;wbr&gt;&lt;/wbr&gt;et.c&lt;wbr&gt;&lt;/wbr&gt;ommi&lt;wbr&gt;&lt;/wbr&gt;t(Tr&lt;wbr&gt;&lt;/wbr&gt;anMa&lt;wbr&gt;&lt;/wbr&gt;nage&lt;wbr&gt;&lt;/wbr&gt;rSet&lt;wbr&gt;&lt;/wbr&gt;.jav&lt;wbr&gt;&lt;/wbr&gt;a:19&lt;wbr&gt;&lt;/wbr&gt;1)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ws.u&lt;wbr&gt;&lt;/wbr&gt;ow.U&lt;wbr&gt;&lt;/wbr&gt;OWMa&lt;wbr&gt;&lt;/wbr&gt;nage&lt;wbr&gt;&lt;/wbr&gt;rImp&lt;wbr&gt;&lt;/wbr&gt;l.uo&lt;wbr&gt;&lt;/wbr&gt;wCom&lt;wbr&gt;&lt;/wbr&gt;mit(&lt;wbr&gt;&lt;/wbr&gt;UOWM&lt;wbr&gt;&lt;/wbr&gt;anag&lt;wbr&gt;&lt;/wbr&gt;erIm&lt;wbr&gt;&lt;/wbr&gt;pl.j&lt;wbr&gt;&lt;/wbr&gt;ava:&lt;wbr&gt;&lt;/wbr&gt;807)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ws.u&lt;wbr&gt;&lt;/wbr&gt;ow.e&lt;wbr&gt;&lt;/wbr&gt;mbed&lt;wbr&gt;&lt;/wbr&gt;dabl&lt;wbr&gt;&lt;/wbr&gt;e.Em&lt;wbr&gt;&lt;/wbr&gt;bedd&lt;wbr&gt;&lt;/wbr&gt;able&lt;wbr&gt;&lt;/wbr&gt;UOWM&lt;wbr&gt;&lt;/wbr&gt;anag&lt;wbr&gt;&lt;/wbr&gt;erIm&lt;wbr&gt;&lt;/wbr&gt;pl.u&lt;wbr&gt;&lt;/wbr&gt;owEn&lt;wbr&gt;&lt;/wbr&gt;d(Em&lt;wbr&gt;&lt;/wbr&gt;bedd&lt;wbr&gt;&lt;/wbr&gt;able&lt;wbr&gt;&lt;/wbr&gt;UOWM&lt;wbr&gt;&lt;/wbr&gt;anag&lt;wbr&gt;&lt;/wbr&gt;erIm&lt;wbr&gt;&lt;/wbr&gt;pl.j&lt;wbr&gt;&lt;/wbr&gt;ava:&lt;wbr&gt;&lt;/wbr&gt;881)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ws.u&lt;wbr&gt;&lt;/wbr&gt;ow.U&lt;wbr&gt;&lt;/wbr&gt;OWMa&lt;wbr&gt;&lt;/wbr&gt;nage&lt;wbr&gt;&lt;/wbr&gt;rImp&lt;wbr&gt;&lt;/wbr&gt;l.uo&lt;wbr&gt;&lt;/wbr&gt;wEnd&lt;wbr&gt;&lt;/wbr&gt;(UOW&lt;wbr&gt;&lt;/wbr&gt;Mana&lt;wbr&gt;&lt;/wbr&gt;gerI&lt;wbr&gt;&lt;/wbr&gt;mpl.&lt;wbr&gt;&lt;/wbr&gt;java&lt;wbr&gt;&lt;/wbr&gt;:782&lt;wbr&gt;&lt;/wbr&gt;)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ws.u&lt;wbr&gt;&lt;/wbr&gt;ow.e&lt;wbr&gt;&lt;/wbr&gt;mbed&lt;wbr&gt;&lt;/wbr&gt;dabl&lt;wbr&gt;&lt;/wbr&gt;e.Em&lt;wbr&gt;&lt;/wbr&gt;bedd&lt;wbr&gt;&lt;/wbr&gt;able&lt;wbr&gt;&lt;/wbr&gt;UOWM&lt;wbr&gt;&lt;/wbr&gt;anag&lt;wbr&gt;&lt;/wbr&gt;erIm&lt;wbr&gt;&lt;/wbr&gt;pl.r&lt;wbr&gt;&lt;/wbr&gt;unUn&lt;wbr&gt;&lt;/wbr&gt;derN&lt;wbr&gt;&lt;/wbr&gt;ewUO&lt;wbr&gt;&lt;/wbr&gt;W(Em&lt;wbr&gt;&lt;/wbr&gt;bedd&lt;wbr&gt;&lt;/wbr&gt;able&lt;wbr&gt;&lt;/wbr&gt;UOWM&lt;wbr&gt;&lt;/wbr&gt;anag&lt;wbr&gt;&lt;/wbr&gt;erIm&lt;wbr&gt;&lt;/wbr&gt;pl.j&lt;wbr&gt;&lt;/wbr&gt;ava:&lt;wbr&gt;&lt;/wbr&gt;818)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ws.u&lt;wbr&gt;&lt;/wbr&gt;ow.e&lt;wbr&gt;&lt;/wbr&gt;mbed&lt;wbr&gt;&lt;/wbr&gt;dabl&lt;wbr&gt;&lt;/wbr&gt;e.Em&lt;wbr&gt;&lt;/wbr&gt;bedd&lt;wbr&gt;&lt;/wbr&gt;able&lt;wbr&gt;&lt;/wbr&gt;UOWM&lt;wbr&gt;&lt;/wbr&gt;anag&lt;wbr&gt;&lt;/wbr&gt;erIm&lt;wbr&gt;&lt;/wbr&gt;pl.r&lt;wbr&gt;&lt;/wbr&gt;unUn&lt;wbr&gt;&lt;/wbr&gt;derU&lt;wbr&gt;&lt;/wbr&gt;OW(E&lt;wbr&gt;&lt;/wbr&gt;mbed&lt;wbr&gt;&lt;/wbr&gt;dabl&lt;wbr&gt;&lt;/wbr&gt;eUOW&lt;wbr&gt;&lt;/wbr&gt;Mana&lt;wbr&gt;&lt;/wbr&gt;gerI&lt;wbr&gt;&lt;/wbr&gt;mpl.&lt;wbr&gt;&lt;/wbr&gt;java&lt;wbr&gt;&lt;/wbr&gt;:370&lt;wbr&gt;&lt;/wbr&gt;)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at org.&lt;wbr&gt;&lt;/wbr&gt;spri&lt;wbr&gt;&lt;/wbr&gt;ngfr&lt;wbr&gt;&lt;/wbr&gt;amew&lt;wbr&gt;&lt;/wbr&gt;ork.&lt;wbr&gt;&lt;/wbr&gt;tran&lt;wbr&gt;&lt;/wbr&gt;sact&lt;wbr&gt;&lt;/wbr&gt;ion.&lt;wbr&gt;&lt;/wbr&gt;jta.&lt;wbr&gt;&lt;/wbr&gt;WebS&lt;wbr&gt;&lt;/wbr&gt;pher&lt;wbr&gt;&lt;/wbr&gt;eUow&lt;wbr&gt;&lt;/wbr&gt;Tran&lt;wbr&gt;&lt;/wbr&gt;sact&lt;wbr&gt;&lt;/wbr&gt;ionM&lt;wbr&gt;&lt;/wbr&gt;anag&lt;wbr&gt;&lt;/wbr&gt;er.e&lt;wbr&gt;&lt;/wbr&gt;xecu&lt;wbr&gt;&lt;/wbr&gt;te(W&lt;wbr&gt;&lt;/wbr&gt;ebSp&lt;wbr&gt;&lt;/wbr&gt;here&lt;wbr&gt;&lt;/wbr&gt;UowT&lt;wbr&gt;&lt;/wbr&gt;rans&lt;wbr&gt;&lt;/wbr&gt;acti&lt;wbr&gt;&lt;/wbr&gt;onMa&lt;wbr&gt;&lt;/wbr&gt;nage&lt;wbr&gt;&lt;/wbr&gt;r.ja&lt;wbr&gt;&lt;/wbr&gt;va:2&lt;wbr&gt;&lt;/wbr&gt;52)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;soft&lt;wbr&gt;&lt;/wbr&gt;ware&lt;wbr&gt;&lt;/wbr&gt;.uti&lt;wbr&gt;&lt;/wbr&gt;lity&lt;wbr&gt;&lt;/wbr&gt;.spr&lt;wbr&gt;&lt;/wbr&gt;ing.&lt;wbr&gt;&lt;/wbr&gt;Prog&lt;wbr&gt;&lt;/wbr&gt;ramm&lt;wbr&gt;&lt;/wbr&gt;atic&lt;wbr&gt;&lt;/wbr&gt;Tran&lt;wbr&gt;&lt;/wbr&gt;sact&lt;wbr&gt;&lt;/wbr&gt;ionS&lt;wbr&gt;&lt;/wbr&gt;uppo&lt;wbr&gt;&lt;/wbr&gt;rt.e&lt;wbr&gt;&lt;/wbr&gt;xecu&lt;wbr&gt;&lt;/wbr&gt;teIn&lt;wbr&gt;&lt;/wbr&gt;NewT&lt;wbr&gt;&lt;/wbr&gt;rans&lt;wbr&gt;&lt;/wbr&gt;acti&lt;wbr&gt;&lt;/wbr&gt;on(P&lt;wbr&gt;&lt;/wbr&gt;rogr&lt;wbr&gt;&lt;/wbr&gt;amma&lt;wbr&gt;&lt;/wbr&gt;ticT&lt;wbr&gt;&lt;/wbr&gt;rans&lt;wbr&gt;&lt;/wbr&gt;acti&lt;wbr&gt;&lt;/wbr&gt;onSu&lt;wbr&gt;&lt;/wbr&gt;ppor&lt;wbr&gt;&lt;/wbr&gt;t.ja&lt;wbr&gt;&lt;/wbr&gt;va:4&lt;wbr&gt;&lt;/wbr&gt;31)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;soft&lt;wbr&gt;&lt;/wbr&gt;ware&lt;wbr&gt;&lt;/wbr&gt;.uti&lt;wbr&gt;&lt;/wbr&gt;lity&lt;wbr&gt;&lt;/wbr&gt;.spr&lt;wbr&gt;&lt;/wbr&gt;ing.&lt;wbr&gt;&lt;/wbr&gt;Prog&lt;wbr&gt;&lt;/wbr&gt;ramm&lt;wbr&gt;&lt;/wbr&gt;atic&lt;wbr&gt;&lt;/wbr&gt;Tran&lt;wbr&gt;&lt;/wbr&gt;sact&lt;wbr&gt;&lt;/wbr&gt;ionS&lt;wbr&gt;&lt;/wbr&gt;uppo&lt;wbr&gt;&lt;/wbr&gt;rt.e&lt;wbr&gt;&lt;/wbr&gt;xecu&lt;wbr&gt;&lt;/wbr&gt;te(P&lt;wbr&gt;&lt;/wbr&gt;rogr&lt;wbr&gt;&lt;/wbr&gt;amma&lt;wbr&gt;&lt;/wbr&gt;ticT&lt;wbr&gt;&lt;/wbr&gt;rans&lt;wbr&gt;&lt;/wbr&gt;acti&lt;wbr&gt;&lt;/wbr&gt;onSu&lt;wbr&gt;&lt;/wbr&gt;ppor&lt;wbr&gt;&lt;/wbr&gt;t.ja&lt;wbr&gt;&lt;/wbr&gt;va:2&lt;wbr&gt;&lt;/wbr&gt;94)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;soft&lt;wbr&gt;&lt;/wbr&gt;ware&lt;wbr&gt;&lt;/wbr&gt;.ser&lt;wbr&gt;&lt;/wbr&gt;ver.&lt;wbr&gt;&lt;/wbr&gt;core&lt;wbr&gt;&lt;/wbr&gt;.TXC&lt;wbr&gt;&lt;/wbr&gt;omma&lt;wbr&gt;&lt;/wbr&gt;nd.e&lt;wbr&gt;&lt;/wbr&gt;xecu&lt;wbr&gt;&lt;/wbr&gt;teIn&lt;wbr&gt;&lt;/wbr&gt;Dead&lt;wbr&gt;&lt;/wbr&gt;lock&lt;wbr&gt;&lt;/wbr&gt;Retr&lt;wbr&gt;&lt;/wbr&gt;yLoo&lt;wbr&gt;&lt;/wbr&gt;p(TX&lt;wbr&gt;&lt;/wbr&gt;Comm&lt;wbr&gt;&lt;/wbr&gt;and.&lt;wbr&gt;&lt;/wbr&gt;java&lt;wbr&gt;&lt;/wbr&gt;:83)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;soft&lt;wbr&gt;&lt;/wbr&gt;ware&lt;wbr&gt;&lt;/wbr&gt;.ser&lt;wbr&gt;&lt;/wbr&gt;ver.&lt;wbr&gt;&lt;/wbr&gt;core&lt;wbr&gt;&lt;/wbr&gt;.TXC&lt;wbr&gt;&lt;/wbr&gt;omma&lt;wbr&gt;&lt;/wbr&gt;nd.e&lt;wbr&gt;&lt;/wbr&gt;xecu&lt;wbr&gt;&lt;/wbr&gt;te(T&lt;wbr&gt;&lt;/wbr&gt;XCom&lt;wbr&gt;&lt;/wbr&gt;mand&lt;wbr&gt;&lt;/wbr&gt;.jav&lt;wbr&gt;&lt;/wbr&gt;a:72&lt;wbr&gt;&lt;/wbr&gt;)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;soft&lt;wbr&gt;&lt;/wbr&gt;ware&lt;wbr&gt;&lt;/wbr&gt;.bpd&lt;wbr&gt;&lt;/wbr&gt;.run&lt;wbr&gt;&lt;/wbr&gt;time&lt;wbr&gt;&lt;/wbr&gt;.eng&lt;wbr&gt;&lt;/wbr&gt;ine.&lt;wbr&gt;&lt;/wbr&gt;quar&lt;wbr&gt;&lt;/wbr&gt;tz.A&lt;wbr&gt;&lt;/wbr&gt;bstr&lt;wbr&gt;&lt;/wbr&gt;actB&lt;wbr&gt;&lt;/wbr&gt;pdTa&lt;wbr&gt;&lt;/wbr&gt;sk.e&lt;wbr&gt;&lt;/wbr&gt;xecu&lt;wbr&gt;&lt;/wbr&gt;te(A&lt;wbr&gt;&lt;/wbr&gt;bstr&lt;wbr&gt;&lt;/wbr&gt;actB&lt;wbr&gt;&lt;/wbr&gt;pdTa&lt;wbr&gt;&lt;/wbr&gt;sk.j&lt;wbr&gt;&lt;/wbr&gt;ava:&lt;wbr&gt;&lt;/wbr&gt;119)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;soft&lt;wbr&gt;&lt;/wbr&gt;ware&lt;wbr&gt;&lt;/wbr&gt;.bpd&lt;wbr&gt;&lt;/wbr&gt;.run&lt;wbr&gt;&lt;/wbr&gt;time&lt;wbr&gt;&lt;/wbr&gt;.eng&lt;wbr&gt;&lt;/wbr&gt;ine.&lt;wbr&gt;&lt;/wbr&gt;quar&lt;wbr&gt;&lt;/wbr&gt;tz.A&lt;wbr&gt;&lt;/wbr&gt;bstr&lt;wbr&gt;&lt;/wbr&gt;actB&lt;wbr&gt;&lt;/wbr&gt;pdTa&lt;wbr&gt;&lt;/wbr&gt;sk.e&lt;wbr&gt;&lt;/wbr&gt;xecu&lt;wbr&gt;&lt;/wbr&gt;te(A&lt;wbr&gt;&lt;/wbr&gt;bstr&lt;wbr&gt;&lt;/wbr&gt;actB&lt;wbr&gt;&lt;/wbr&gt;pdTa&lt;wbr&gt;&lt;/wbr&gt;sk.j&lt;wbr&gt;&lt;/wbr&gt;ava:&lt;wbr&gt;&lt;/wbr&gt;71)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;soft&lt;wbr&gt;&lt;/wbr&gt;ware&lt;wbr&gt;&lt;/wbr&gt;.ser&lt;wbr&gt;&lt;/wbr&gt;ver.&lt;wbr&gt;&lt;/wbr&gt;sche&lt;wbr&gt;&lt;/wbr&gt;dule&lt;wbr&gt;&lt;/wbr&gt;r.En&lt;wbr&gt;&lt;/wbr&gt;gine&lt;wbr&gt;&lt;/wbr&gt;.exe&lt;wbr&gt;&lt;/wbr&gt;cute&lt;wbr&gt;&lt;/wbr&gt;(Eng&lt;wbr&gt;&lt;/wbr&gt;ine.&lt;wbr&gt;&lt;/wbr&gt;java&lt;wbr&gt;&lt;/wbr&gt;:847&lt;wbr&gt;&lt;/wbr&gt;)&lt;br /&gt;
 ...&lt;br /&gt;
 Caused by: com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;wssp&lt;wbr&gt;&lt;/wbr&gt;i.si&lt;wbr&gt;&lt;/wbr&gt;b.co&lt;wbr&gt;&lt;/wbr&gt;re.e&lt;wbr&gt;&lt;/wbr&gt;xcep&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;.SIL&lt;wbr&gt;&lt;/wbr&gt;imit&lt;wbr&gt;&lt;/wbr&gt;Exce&lt;wbr&gt;&lt;/wbr&gt;eded&lt;wbr&gt;&lt;/wbr&gt;Exce&lt;wbr&gt;&lt;/wbr&gt;ptio&lt;wbr&gt;&lt;/wbr&gt;n: CWSIK0025E: The destination Lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;Even&lt;wbr&gt;&lt;/wbr&gt;tEmi&lt;wbr&gt;&lt;/wbr&gt;tter&lt;wbr&gt;&lt;/wbr&gt;Inpu&lt;wbr&gt;&lt;/wbr&gt;tQue&lt;wbr&gt;&lt;/wbr&gt;ue on messaging engine AdvP&lt;wbr&gt;&lt;/wbr&gt;roce&lt;wbr&gt;&lt;/wbr&gt;ssSe&lt;wbr&gt;&lt;/wbr&gt;rver&lt;wbr&gt;&lt;/wbr&gt;Prod&lt;wbr&gt;&lt;/wbr&gt;DepE&lt;wbr&gt;&lt;/wbr&gt;nv.S&lt;wbr&gt;&lt;/wbr&gt;upCl&lt;wbr&gt;&lt;/wbr&gt;uste&lt;wbr&gt;&lt;/wbr&gt;r.00&lt;wbr&gt;&lt;/wbr&gt;0-MO&lt;wbr&gt;&lt;/wbr&gt;NITO&lt;wbr&gt;&lt;/wbr&gt;R.rs&lt;wbr&gt;&lt;/wbr&gt;dcpp&lt;wbr&gt;&lt;/wbr&gt;robp&lt;wbr&gt;&lt;/wbr&gt;mdm0&lt;wbr&gt;&lt;/wbr&gt;1Cel&lt;wbr&gt;&lt;/wbr&gt;l01.&lt;wbr&gt;&lt;/wbr&gt;Bus is not available because the high limit for the number of messages for this destination has already been reached.&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;ws.s&lt;wbr&gt;&lt;/wbr&gt;ib.c&lt;wbr&gt;&lt;/wbr&gt;omms&lt;wbr&gt;&lt;/wbr&gt;.com&lt;wbr&gt;&lt;/wbr&gt;mon.&lt;wbr&gt;&lt;/wbr&gt;Comm&lt;wbr&gt;&lt;/wbr&gt;sByt&lt;wbr&gt;&lt;/wbr&gt;eBuf&lt;wbr&gt;&lt;/wbr&gt;fer.&lt;wbr&gt;&lt;/wbr&gt;pars&lt;wbr&gt;&lt;/wbr&gt;eSin&lt;wbr&gt;&lt;/wbr&gt;gleE&lt;wbr&gt;&lt;/wbr&gt;xcep&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;(Com&lt;wbr&gt;&lt;/wbr&gt;msBy&lt;wbr&gt;&lt;/wbr&gt;teBu&lt;wbr&gt;&lt;/wbr&gt;ffer&lt;wbr&gt;&lt;/wbr&gt;.jav&lt;wbr&gt;&lt;/wbr&gt;a:18&lt;wbr&gt;&lt;/wbr&gt;42)&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;... 49 more&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;hr dir="ltr" /&gt;
&lt;h1 dir="ltr"&gt;
 &lt;div class="ibm-anchor-pointer"&gt;
&lt;a href="https://www.blogger.com/null" name="PartII"&gt;&lt;/a&gt;&lt;/div&gt;
Part II - Resolving common event manager symptoms&lt;/h1&gt;
&lt;h2 dir="ltr"&gt;
 A - Event manager is not processing any work&lt;/h2&gt;
&lt;div dir="ltr"&gt;
 If the event manager does not process any work as mentioned previously 
in the symptoms section, this situation might be caused by the event 
manager not being active or being active, but blocked for some reason.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 The following sections, A.1 and A.2, describe how to analyze and resolve these situations.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 To monitor and diagnose the status of the event manager, the following pieces of information are helpful:&lt;/div&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;
  DB table &lt;span style="font-family: Courier New;"&gt;LSW_EM_INSTANCE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;
  DB table &lt;span style="font-family: Courier New;"&gt;LSW_EM_TASK&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;
  DB table &lt;span style="font-family: Courier New;"&gt;LSW_&lt;wbr&gt;&lt;/wbr&gt;BLAC&lt;wbr&gt;&lt;/wbr&gt;KOUT&lt;wbr&gt;&lt;/wbr&gt;_CAL&lt;wbr&gt;&lt;/wbr&gt;ENDA&lt;wbr&gt;&lt;/wbr&gt;R&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;
  Process Admin Console section Event Manager -&amp;gt; Monitor as GUI to 1. and 2.&lt;/li&gt;
&lt;li&gt;
  Process Admin Console section Event Manager -&amp;gt; Blackout Periods as GUI to 3.&lt;/li&gt;
&lt;li&gt;
  BPM server log file &lt;span style="font-family: Courier New;"&gt;SystemOut.log&lt;/span&gt; and FFDCs&lt;/li&gt;
&lt;li&gt;
  Event manager configuration file '&lt;span style="font-family: Courier New;"&gt;80E&lt;wbr&gt;&lt;/wbr&gt;vent&lt;wbr&gt;&lt;/wbr&gt;Mana&lt;wbr&gt;&lt;/wbr&gt;ger.&lt;wbr&gt;&lt;/wbr&gt;xm&lt;wbr&gt;&lt;/wbr&gt;l&lt;/span&gt;', respectively and the global BPM server configuration file &lt;span style="font-family: Courier New;"&gt;Team&lt;wbr&gt;&lt;/wbr&gt;Work&lt;wbr&gt;&lt;/wbr&gt;sCon&lt;wbr&gt;&lt;/wbr&gt;figu&lt;wbr&gt;&lt;/wbr&gt;rati&lt;wbr&gt;&lt;/wbr&gt;on.r&lt;wbr&gt;&lt;/wbr&gt;unni&lt;wbr&gt;&lt;/wbr&gt;ng.x&lt;wbr&gt;&lt;/wbr&gt;m&lt;wbr&gt;&lt;/wbr&gt;l&lt;/span&gt;,
 which contains all of the parameters at run time. The following 
technote will show where to find these files and how they relate: &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg21439614" target="_blank"&gt;http&lt;wbr&gt;&lt;/wbr&gt;://w&lt;wbr&gt;&lt;/wbr&gt;ww.i&lt;wbr&gt;&lt;/wbr&gt;bm.c&lt;wbr&gt;&lt;/wbr&gt;om/s&lt;wbr&gt;&lt;/wbr&gt;uppo&lt;wbr&gt;&lt;/wbr&gt;rt/d&lt;wbr&gt;&lt;/wbr&gt;ocvi&lt;wbr&gt;&lt;/wbr&gt;ew.w&lt;wbr&gt;&lt;/wbr&gt;ss?u&lt;wbr&gt;&lt;/wbr&gt;id=s&lt;wbr&gt;&lt;/wbr&gt;wg21&lt;wbr&gt;&lt;/wbr&gt;4396&lt;wbr&gt;&lt;/wbr&gt;1&lt;wbr&gt;&lt;/wbr&gt;4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 dir="ltr"&gt;
 &lt;br /&gt;
 A.1 - Event manager not active&amp;nbsp;&lt;/h2&gt;
&lt;div dir="ltr"&gt;
 The easiest way to check the status of the event manager is by using 
the Process Admin Console, which shows the event manager status and 
lists all event manager jobs. It also lists the expiration time stamp, 
which is regularly updated every 15s by an internal heartbeat thread and
 set to the current time + 60s. Keep in mind that this time stamp is 
created based on the current time used on the database system that is 
hosting the BPM tables.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 The Process Admin Console panel named 'Event Manager -&amp;gt; Monitor' is a
 graphical user interface for the contents of the database tables:&lt;/div&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;
  BPM DB table &lt;span style="font-family: courier new,courier,monospace;"&gt;LSW_EM_INSTANCE&lt;/span&gt; containing the event manager status and heartbeat timestamp&lt;/li&gt;
&lt;li&gt;
  BPM DB table &lt;span style="font-family: courier new,courier,monospace;"&gt;LSW_EM_TASK&lt;/span&gt; containing all event manager jobs&lt;/li&gt;
&lt;/ul&gt;
&lt;div dir="ltr"&gt;
 The following screen shot shows the event manager status in the Process Admin Console:&lt;/div&gt;
&lt;div dir="ltr"&gt;
 Status:&lt;/div&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;
  &lt;span style="color: lime;"&gt;Green &lt;/span&gt;- running&lt;/li&gt;
&lt;li&gt;
  &lt;span style="color: red;"&gt;Red &lt;/span&gt;- stopped, not running&lt;/li&gt;
&lt;/ul&gt;
&lt;div dir="ltr"&gt;
 &lt;br /&gt;
 &lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_4.png" style="display: inline-block; width: 100%;" target="_blank"&gt;&lt;img alt="image" src="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_4.png" style="display: block; float: left; margin: 1em 0pt 0pt 0pt; width: 50%;" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 Each cluster member will have an event manager. If you have a&amp;nbsp; 
multi-cluster topology, it is only present in the AppTarget servers. In 
this example, it is a single node cluster and, therefore, only one event
 manager instance is listed. In a clustered environment, there is an 
entry for every cluster member as a new row in the table. To process 
work, the event manager needs to be in the running state (green) and the
 time stamp listed in the Connect expiration field needs to be ahead of 
the current time.&lt;br /&gt;
 &lt;br /&gt;
 A successful event manager start up is reflected in the server's &lt;span style="font-family: Courier New;"&gt;SystemOut.log&lt;/span&gt;
 file with messages that show the start of the heartbeat thread and 
acquisition of the synchronous queues. You can grep the log for messages
 of the &lt;span style="font-family: Courier New;"&gt;wle_scheduler&lt;/span&gt; group as shown here:&lt;br /&gt;
 &lt;br /&gt;
 &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0561I: Heartbeat thread starting...&lt;/span&gt;&lt;br /&gt;
 &lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0615I: Heartbeat resumed.&lt;/span&gt;&lt;br /&gt;
 &lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0597I: Trying to acquire synchronous queue SYNC_QUEUE_1.&lt;/span&gt;&lt;br /&gt;
 &lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0581I: Acquired synchronous queue SYNC_QUEUE_1.&lt;/span&gt;&lt;br /&gt;
 &lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0597I: Trying to acquire synchronous queue SYNC_QUEUE_2.&lt;/span&gt;&lt;br /&gt;
 &lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0581I: Acquired synchronous queue SYNC_QUEUE_2.&lt;/span&gt;&lt;br /&gt;
 &lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0597I: Trying to acquire synchronous queue SYNC_QUEUE_3.&lt;/span&gt;&lt;br /&gt;
 &lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0581I: Acquired synchronous queue SYNC_QUEUE_3.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 In the &lt;span style="font-family: Courier New;"&gt;LSW_EM_INSTANCE&lt;/span&gt; table, the &lt;span style="font-family: Courier New;"&gt;STATUS &lt;/span&gt;column shows a value of '1' for an active event manager and '2' if it has been paused.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 With the Process Admin Console, the event manager can be paused and 
resumed by clicking the applicable button. Make sure to click &lt;strong&gt;Refresh&lt;/strong&gt; to update the panel so that the current status is read from the &lt;span style="font-family: Courier New;"&gt;LSW_EM_INSTANCE&lt;/span&gt; table.&lt;br /&gt;
 &lt;br /&gt;
 &lt;u&gt;Reasons why the event manager might be inactive&lt;/u&gt;:&lt;/div&gt;
&lt;div dir="ltr"&gt;
 a) The event manager configuration is corrupted by an incorrect attribute in the custom property file (for example: &lt;span style="font-family: courier new,courier,monospace;"&gt;100Custom.xml&lt;/span&gt;)&lt;br /&gt;
 If you tried to overwrite event manager parameters by using a &lt;span style="font-family: courier new,courier,monospace;"&gt;100Custom.xml&lt;/span&gt;
 file and accidentally used the 'replace' attribute for merge instead of
 'mergeChildren' as show below, the required parameters from &lt;span style="font-family: courier new,courier,monospace;"&gt;80Eventmanager.xml&lt;/span&gt; are not honored:&lt;br /&gt;
 &lt;br /&gt;
 Incorrect definition sample:&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;properties&gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &lt;event-manager&gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;scheduler color:="" merge="&amp;lt;span style=" red=""&gt;replace&lt;/scheduler&gt;&lt;/event-manager&gt;&lt;/properties&gt;&lt;/span&gt;"&amp;gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;start-paused merg="" wbr=""&gt;e="r&lt;wbr&gt;&lt;/wbr&gt;epla&lt;wbr&gt;&lt;/wbr&gt;ce"&amp;gt;&lt;wbr&gt;&lt;/wbr&gt;true&lt;wbr&gt;&lt;/wbr&gt;&lt;/start-paused&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
art-&lt;wbr&gt;&lt;/wbr&gt;paus&lt;wbr&gt;&lt;/wbr&gt;ed&amp;gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &lt;br /&gt;
  
&lt;div dir="ltr"&gt;
 &lt;br /&gt;
 Correct definition sample:&lt;br /&gt;
 &lt;br /&gt;
 &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;properties&gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &lt;event-manager&gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;scheduler merg="" wbr=""&gt;e=&lt;wbr&gt;&lt;/wbr&gt;"&lt;span style="color: #33cc00;"&gt;mer&lt;wbr&gt;&lt;/wbr&gt;geCh&lt;wbr&gt;&lt;/wbr&gt;ildr&lt;wbr&gt;&lt;/wbr&gt;e&lt;wbr&gt;&lt;/wbr&gt;n&lt;/span&gt;"&amp;gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;start-paused merg="" wbr=""&gt;e="r&lt;wbr&gt;&lt;/wbr&gt;epla&lt;wbr&gt;&lt;/wbr&gt;ce"&amp;gt;&lt;wbr&gt;&lt;/wbr&gt;true&lt;wbr&gt;&lt;/wbr&gt;&lt;/start-paused&gt;&lt;/scheduler&gt;&lt;/event-manager&gt;&lt;/properties&gt;&lt;/span&gt;&lt;/div&gt;
art-&lt;wbr&gt;&lt;/wbr&gt;paus&lt;wbr&gt;&lt;/wbr&gt;ed&amp;gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 With the incorrect definition sample, the Process Admin Console shows a Null&lt;wbr&gt;&lt;/wbr&gt;Poin&lt;wbr&gt;&lt;/wbr&gt;terE&lt;wbr&gt;&lt;/wbr&gt;xcep&lt;wbr&gt;&lt;/wbr&gt;tion when you click &lt;strong&gt;Event Manager &amp;gt; Monitor&lt;/strong&gt; as shown in the following screen shot:
&lt;div dir="ltr"&gt;
 &lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_7.png" style="display: inline-block; width: 100%;" target="_blank"&gt;&lt;img alt="image" src="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_7.png" style="display: block; float: left; margin: 1em 0pt 0pt 0pt; width: 100%;" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 To solve that problem, correct the &lt;span style="font-family: courier new,courier,monospace;"&gt;100Custom.xml&lt;/span&gt; file and restart the server. After the restart, make sure that the &lt;span style="font-family: courier new,courier,monospace;"&gt;Team&lt;wbr&gt;&lt;/wbr&gt;Work&lt;wbr&gt;&lt;/wbr&gt;sCon&lt;wbr&gt;&lt;/wbr&gt;figu&lt;wbr&gt;&lt;/wbr&gt;rati&lt;wbr&gt;&lt;/wbr&gt;on.r&lt;wbr&gt;&lt;/wbr&gt;unni&lt;wbr&gt;&lt;/wbr&gt;ng.x&lt;wbr&gt;&lt;/wbr&gt;m&lt;wbr&gt;&lt;/wbr&gt;l&lt;/span&gt; file contains the complete &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;event-manager&gt;&lt;/event-manager&gt;&lt;/span&gt; section and the event manager is shown as active in the Process Admin Console.&lt;br /&gt;
 &lt;br /&gt;
 &lt;span style="font-weight: bold;"&gt;Note&lt;/span&gt;: There is a list of sample
 configuration files to adapt the IBM Business Process Manager 
configuration, including some samples for the event manager. You can 
access these files &lt;a href="https://hub.jazz.net/project/mfilley/bpm-100CustomXML/overview#https://hub.jazz.net/gerrit/plugins/gerritfs/list/mfilley%252Fbpm-100CustomXML/refs%252Fheads%252Fmaster/XML" target="_blank"&gt;here&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 b) The event manager might have been paused manually by using the 
Process Admin Console. In this case, you can resume its activity as 
mentioned previously. Even when it is paused, the connect expiration 
time stamp is renewed every 15s (default).&lt;br /&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 c) The event manager is configured to be &lt;span style="font-weight: bold;"&gt;started as "paused&lt;/span&gt;"&lt;br /&gt;
 The &lt;span style="font-family: Courier New;"&gt;80EventManager.xml &lt;/span&gt;BPM server configuration file contains a parameter called &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;start-paused&gt;&lt;/start-paused&gt;&lt;/span&gt;, which is set to &lt;span style="font-family: Courier New;"&gt;false&lt;/span&gt;, by default. If it is configured to &lt;span style="font-family: courier new,courier,monospace;"&gt;true&lt;/span&gt; by overwriting the parameter with a &lt;span style="font-family: Courier New;"&gt;100Custom.xml&lt;/span&gt;
 file, then the heartbeat thread to set the event manager 'connect 
expiration' is active, but the event manager will not process any work.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 To check for that situation, look at your &lt;span style="font-family: courier new,courier,monospace;"&gt;Team&lt;wbr&gt;&lt;/wbr&gt;Work&lt;wbr&gt;&lt;/wbr&gt;sCon&lt;wbr&gt;&lt;/wbr&gt;figu&lt;wbr&gt;&lt;/wbr&gt;rati&lt;wbr&gt;&lt;/wbr&gt;on.r&lt;wbr&gt;&lt;/wbr&gt;unni&lt;wbr&gt;&lt;/wbr&gt;ng.x&lt;wbr&gt;&lt;/wbr&gt;m&lt;wbr&gt;&lt;/wbr&gt;l&lt;/span&gt; BPM server configuration file. Search in that file for the &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;start-paused&gt;&lt;/start-paused&gt;&lt;/span&gt; string in the &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;event-manager&gt;&lt;/event-manager&gt;&lt;/span&gt; section. If that parameter is set to &lt;span style="font-family: Courier New;"&gt;true&lt;/span&gt;, this setting explains why the event manager did not become active after server start up.&lt;br /&gt;
 &lt;br /&gt;
 In case the event manager is configured to be started as "paused," the &lt;span style="font-family: courier new,courier,monospace;"&gt;SystemOut.log&lt;/span&gt;
 file will only contain the following messages during start up. They 
show that the heartbeat thread started and continuously updates the 
connect expiration time stamp, but the event manager did not acquire the
 synchronous queues.&lt;br /&gt;
 &lt;br /&gt;
 &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0570I: Heartbeat paused.&lt;/span&gt;&lt;br /&gt;
 &lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0561I: Heartbeat thread starting...&lt;/span&gt;&lt;br /&gt;
 &lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0615I: Heartbeat resumed.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
 &lt;br /&gt;
 To resume the event manager, use the Process Admin Console as shown 
previously. A successful resume action will result in the following 
messages in the &lt;span style="font-family: courier new,courier,monospace;"&gt;SystemOut.log&lt;/span&gt; file:&lt;br /&gt;
 &lt;br /&gt;
 &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0615I: Heartbeat resumed.&lt;/span&gt;&lt;br /&gt;
 &lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0597I: Trying to acquire synchronous queue SYNC_QUEUE_1.&lt;/span&gt;&lt;br /&gt;
 &lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0581I: Acquired synchronous queue SYNC_QUEUE_1.&lt;/span&gt;&lt;br /&gt;
 &lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0597I: Trying to acquire synchronous queue SYNC_QUEUE_2.&lt;/span&gt;&lt;br /&gt;
 &lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0581I: Acquired synchronous queue SYNC_QUEUE_2.&lt;/span&gt;&lt;br /&gt;
 &lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0597I: Trying to acquire synchronous queue SYNC_QUEUE_3.&lt;/span&gt;&lt;br /&gt;
 &lt;span style="background-color: lightgrey;"&gt;wle_scheduler I&amp;nbsp;&amp;nbsp; CWLLG0581I: Acquired synchronous queue SYNC_QUEUE_3.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
 &lt;br /&gt;
 Keep in mind that the &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;start-paused&gt;&lt;/start-paused&gt;&lt;/span&gt; parameter in the event manager configuration needs to be set back to &lt;span style="font-family: courier new,courier,monospace;"&gt;false&lt;/span&gt;. Otherwise, it will still be inactive after the next server restart.&lt;br /&gt;
 &lt;br /&gt;
 d) Event manager is &lt;span style="font-weight: bold;"&gt;not enabled&lt;/span&gt; in the configuration.&lt;br /&gt;
 The &lt;span style="font-family: courier new,courier,monospace;"&gt;80EventManager.xml&lt;/span&gt; BPM server configuration file contains a parameter called &lt;span style="font-family: courier new,courier,monospace;"&gt;enabled&lt;/span&gt;, which is set to &lt;span style="font-family: courier new,courier,monospace;"&gt;true&lt;/span&gt;, by default.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 To check for that situation, look at your &lt;span style="font-family: Courier New;"&gt;Team&lt;wbr&gt;&lt;/wbr&gt;Work&lt;wbr&gt;&lt;/wbr&gt;sCon&lt;wbr&gt;&lt;/wbr&gt;figu&lt;wbr&gt;&lt;/wbr&gt;rati&lt;wbr&gt;&lt;/wbr&gt;on.r&lt;wbr&gt;&lt;/wbr&gt;unni&lt;wbr&gt;&lt;/wbr&gt;ng.x&lt;wbr&gt;&lt;/wbr&gt;m&lt;wbr&gt;&lt;/wbr&gt;l&lt;/span&gt; BPM server configuration file. Search in that file for the &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;enabled&gt;&lt;/enabled&gt;&lt;/span&gt; parameter in the &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;event-manager&gt;&lt;/event-manager&gt;&lt;/span&gt; section . If that parameter is set to &lt;span style="font-family: Courier New;"&gt;false&lt;/span&gt;,
 then the event manager will not be active after the server start up. In
 contrast to being started as "paused," it will show none of the 
previous messages in the &lt;span style="font-family: courier new,courier,monospace;"&gt;SystemOut.log&lt;/span&gt; file and the connect expiration time stamp will not be updated!&lt;br /&gt;
 &lt;br /&gt;
 You cannot resume the event manager through the Process Admin Console 
in such a case. However, you need to change your configuration to set 
the &lt;span style="font-family: courier new,courier,monospace;"&gt;enabled&lt;/span&gt; parameter back to &lt;span style="font-family: Courier New;"&gt;true&lt;/span&gt; and restart your server.&lt;br /&gt;
 &lt;br /&gt;
 e) Blackout period is active&lt;br /&gt;
 Administrators establish blackout periods to specify times when events 
cannot be scheduled. For example, you might schedule a blackout period 
due to a holiday or for regular system maintenance windows. The event 
manager takes blackout periods into account when scheduling and queuing 
events, event subscriptions, and undercover agents (UCAs). The following
 screenshot shows if and which blackout periods are configured. This 
data is persisted in the &lt;span style="font-family: courier new,courier,monospace;"&gt;LSW_&lt;wbr&gt;&lt;/wbr&gt;BLAC&lt;wbr&gt;&lt;/wbr&gt;KOUT&lt;wbr&gt;&lt;/wbr&gt;_CAL&lt;wbr&gt;&lt;/wbr&gt;ENDA&lt;wbr&gt;&lt;/wbr&gt;R&lt;/span&gt; DB table.&lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_5.png" style="display: inline-block; width: 100%;" target="_blank"&gt;&lt;img alt="image" src="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_5.png" style="display: block; float: left; margin: 1em 0pt 0pt 0pt; width: 100%;" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 If a blackout period is active, the event manager monitor in the Process Admin Console lists a scheduled job named &lt;span style="font-weight: bold;"&gt;End blackout period&lt;/span&gt;
 where the scheduled time column shows when the blackout period ends. 
Event manager jobs created during the blackout period show a job status 
of &lt;strong&gt;Blacked out&lt;/strong&gt;.&lt;br /&gt;
 &lt;br /&gt;
 The following screenshot shows that scenario:&lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_6.png" style="display: inline-block; width: 100%;" target="_blank"&gt;&lt;img alt="image" src="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_6.png" style="display: block; float: left; margin: 1em 0pt 0pt; width: 100%;" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 The &lt;span style="font-family: courier new,courier,monospace;"&gt;SystemOut.log&lt;/span&gt; file does not show any applicable messages when the blackout period is entered.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 f) Exceptions during the event manager start up&lt;br /&gt;
 If the event manager is not running after start up, but was not configured as paused or disabled, the &lt;span style="font-family: courier new,courier,monospace;"&gt;SystemOut.log&lt;/span&gt; file might show a couple of exceptions.&lt;br /&gt;
 &lt;br /&gt;
 There could be various reasons why the event manager failed during 
startup or resume. Gather the documents as mentioned in the event 
manager mustgather &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg21679625"&gt;technote&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 The following section shows a few examples:&lt;/div&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;
  Event manager configuration is broken&lt;br /&gt;
  &lt;br /&gt;
  This problem is caused by an incomplete fix pack installation where 
required post-installation steps to upgrade the profile were not 
executed.&lt;br /&gt;
  &lt;br /&gt;
  The &lt;span style="font-family: courier new,courier,monospace;"&gt;SystemOut.log&lt;/span&gt; file will have exceptions that have the following signatures.&lt;br /&gt;
  &lt;br /&gt;
  &lt;span style="font-family: courier new,courier,monospace;"&gt;CWLLG0144E: Exception in init(): schedule cannot be started. com.&lt;wbr&gt;&lt;/wbr&gt;lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;soft&lt;wbr&gt;&lt;/wbr&gt;ware&lt;wbr&gt;&lt;/wbr&gt;.cor&lt;wbr&gt;&lt;/wbr&gt;e.Te&lt;wbr&gt;&lt;/wbr&gt;amWo&lt;wbr&gt;&lt;/wbr&gt;rksE&lt;wbr&gt;&lt;/wbr&gt;xcep&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;: Message: SCHE&lt;wbr&gt;&lt;/wbr&gt;DULE&lt;wbr&gt;&lt;/wbr&gt;R_CO&lt;wbr&gt;&lt;/wbr&gt;NFIG&lt;wbr&gt;&lt;/wbr&gt;_BRO&lt;wbr&gt;&lt;/wbr&gt;KEN Arguments: load&lt;wbr&gt;&lt;/wbr&gt;er-a&lt;wbr&gt;&lt;/wbr&gt;cqui&lt;wbr&gt;&lt;/wbr&gt;re-s&lt;wbr&gt;&lt;/wbr&gt;ync-&lt;wbr&gt;&lt;/wbr&gt;queu&lt;wbr&gt;&lt;/wbr&gt;e-qu&lt;wbr&gt;&lt;/wbr&gt;ery: com.&lt;wbr&gt;&lt;/wbr&gt;lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;soft&lt;wbr&gt;&lt;/wbr&gt;ware&lt;wbr&gt;&lt;/wbr&gt;.cor&lt;wbr&gt;&lt;/wbr&gt;e.co&lt;wbr&gt;&lt;/wbr&gt;nfig&lt;wbr&gt;&lt;/wbr&gt;.eve&lt;wbr&gt;&lt;/wbr&gt;ntma&lt;wbr&gt;&lt;/wbr&gt;nage&lt;wbr&gt;&lt;/wbr&gt;r.Sc&lt;wbr&gt;&lt;/wbr&gt;hedu&lt;wbr&gt;&lt;/wbr&gt;lerC&lt;wbr&gt;&lt;/wbr&gt;onfi&lt;wbr&gt;&lt;/wbr&gt;g checkAndReplace Message: SCHE&lt;wbr&gt;&lt;/wbr&gt;DULE&lt;wbr&gt;&lt;/wbr&gt;R_CO&lt;wbr&gt;&lt;/wbr&gt;NFIG&lt;wbr&gt;&lt;/wbr&gt;_REP&lt;wbr&gt;&lt;/wbr&gt;LACE&lt;wbr&gt;&lt;/wbr&gt;MENT&lt;wbr&gt;&lt;/wbr&gt;_PAR&lt;wbr&gt;&lt;/wbr&gt;AMET&lt;wbr&gt;&lt;/wbr&gt;ER_N&lt;wbr&gt;&lt;/wbr&gt;OT_F&lt;wbr&gt;&lt;/wbr&gt;OUND Arguments: %executing% load&lt;wbr&gt;&lt;/wbr&gt;er-a&lt;wbr&gt;&lt;/wbr&gt;cqui&lt;wbr&gt;&lt;/wbr&gt;re-t&lt;wbr&gt;&lt;/wbr&gt;asks&lt;wbr&gt;&lt;/wbr&gt;-que&lt;wbr&gt;&lt;/wbr&gt;ry UPDATE LSW_EM_TASK SET TASK_STATUS = %acquired%, TASK_OWNER = ? WHERE TASK_ID IN (%task-ids%)&lt;/span&gt;&lt;br /&gt;
  &lt;br /&gt;
  To fix this problem, review the documented post-installation (interim fix/fix pack) steps and rerun the missing steps.&lt;br /&gt;
  &amp;nbsp;&lt;/li&gt;
&lt;li&gt;
  Event manager start up problem due to a problem in the BPM embedded 
document store (applies to IBM Business Process Manager V8.5 and later))&lt;br /&gt;
  &lt;br /&gt;
  &lt;strong&gt;Important note: &lt;/strong&gt;If the embedded BPM document store 
cannot be started due to configuration or authorization problems, the 
event manager will also not start!&lt;br /&gt;
  &lt;br /&gt;
  The &lt;span style="font-family: courier new,courier,monospace;"&gt;SystemOut.log&lt;/span&gt;
 file will not show any of the event manager-related start up messages 
as shown previously, but you will see, for example, the following 
exception, which is related to the embedded document store:&lt;br /&gt;
  &lt;br /&gt;
  &lt;div dir="ltr"&gt;
   &lt;span style="font-family: courier new,courier,monospace;"&gt;CWTDS1100E: An error occurred while validating or creating the default configuration for the IBM BPM document store.&lt;br /&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;bpm.&lt;wbr&gt;&lt;/wbr&gt;embe&lt;wbr&gt;&lt;/wbr&gt;dded&lt;wbr&gt;&lt;/wbr&gt;ecm.&lt;wbr&gt;&lt;/wbr&gt;exce&lt;wbr&gt;&lt;/wbr&gt;ptio&lt;wbr&gt;&lt;/wbr&gt;n.Us&lt;wbr&gt;&lt;/wbr&gt;erMi&lt;wbr&gt;&lt;/wbr&gt;sses&lt;wbr&gt;&lt;/wbr&gt;Writ&lt;wbr&gt;&lt;/wbr&gt;ePer&lt;wbr&gt;&lt;/wbr&gt;miss&lt;wbr&gt;&lt;/wbr&gt;ionE&lt;wbr&gt;&lt;/wbr&gt;xcep&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;:
 CWTDS0022E: The configuration was changed in a way that the technical 
user 'deadmin' of the IBM BPM document store fails to change the object 
'Domain'.&lt;br /&gt;
   Explanation: The technical user defined in the BPM role type 'Emb&lt;wbr&gt;&lt;/wbr&gt;edde&lt;wbr&gt;&lt;/wbr&gt;dECM&lt;wbr&gt;&lt;/wbr&gt;Tech&lt;wbr&gt;&lt;/wbr&gt;nica&lt;wbr&gt;&lt;/wbr&gt;lUse&lt;wbr&gt;&lt;/wbr&gt;r' is not permitted to perform changes on an object.&lt;br /&gt;
   Action: Revert the recent configuration changes. Ensure that the user defined by the BPM role type 'Emb&lt;wbr&gt;&lt;/wbr&gt;edde&lt;wbr&gt;&lt;/wbr&gt;dECM&lt;wbr&gt;&lt;/wbr&gt;Tech&lt;wbr&gt;&lt;/wbr&gt;nica&lt;wbr&gt;&lt;/wbr&gt;lUse&lt;wbr&gt;&lt;/wbr&gt;r' has access to the object. Verify this using the admin task 'get&lt;wbr&gt;&lt;/wbr&gt;Docu&lt;wbr&gt;&lt;/wbr&gt;ment&lt;wbr&gt;&lt;/wbr&gt;Stor&lt;wbr&gt;&lt;/wbr&gt;eSta&lt;wbr&gt;&lt;/wbr&gt;tus'&lt;wbr&gt;&lt;/wbr&gt;.&lt;br /&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;bpm.&lt;wbr&gt;&lt;/wbr&gt;embe&lt;wbr&gt;&lt;/wbr&gt;dded&lt;wbr&gt;&lt;/wbr&gt;ecm.&lt;wbr&gt;&lt;/wbr&gt;inte&lt;wbr&gt;&lt;/wbr&gt;rnal&lt;wbr&gt;&lt;/wbr&gt;.Dom&lt;wbr&gt;&lt;/wbr&gt;ainC&lt;wbr&gt;&lt;/wbr&gt;onfi&lt;wbr&gt;&lt;/wbr&gt;gura&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;$2.r&lt;wbr&gt;&lt;/wbr&gt;un(D&lt;wbr&gt;&lt;/wbr&gt;omai&lt;wbr&gt;&lt;/wbr&gt;nCon&lt;wbr&gt;&lt;/wbr&gt;figu&lt;wbr&gt;&lt;/wbr&gt;rati&lt;wbr&gt;&lt;/wbr&gt;on.j&lt;wbr&gt;&lt;/wbr&gt;ava:&lt;wbr&gt;&lt;/wbr&gt;264)&lt;br /&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; at com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;bpm.&lt;wbr&gt;&lt;/wbr&gt;embe&lt;wbr&gt;&lt;/wbr&gt;dded&lt;wbr&gt;&lt;/wbr&gt;ecm.&lt;wbr&gt;&lt;/wbr&gt;inte&lt;wbr&gt;&lt;/wbr&gt;rnal&lt;wbr&gt;&lt;/wbr&gt;.Dom&lt;wbr&gt;&lt;/wbr&gt;ainC&lt;wbr&gt;&lt;/wbr&gt;onfi&lt;wbr&gt;&lt;/wbr&gt;gura&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;$2.r&lt;wbr&gt;&lt;/wbr&gt;un(D&lt;wbr&gt;&lt;/wbr&gt;omai&lt;wbr&gt;&lt;/wbr&gt;nCon&lt;wbr&gt;&lt;/wbr&gt;figu&lt;wbr&gt;&lt;/wbr&gt;rati&lt;wbr&gt;&lt;/wbr&gt;on.j&lt;wbr&gt;&lt;/wbr&gt;ava:&lt;wbr&gt;&lt;/wbr&gt;207)&lt;br /&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; at java&lt;wbr&gt;&lt;/wbr&gt;.sec&lt;wbr&gt;&lt;/wbr&gt;urit&lt;wbr&gt;&lt;/wbr&gt;y.Ac&lt;wbr&gt;&lt;/wbr&gt;cess&lt;wbr&gt;&lt;/wbr&gt;Cont&lt;wbr&gt;&lt;/wbr&gt;roll&lt;wbr&gt;&lt;/wbr&gt;er.d&lt;wbr&gt;&lt;/wbr&gt;oPri&lt;wbr&gt;&lt;/wbr&gt;vile&lt;wbr&gt;&lt;/wbr&gt;ged(&lt;wbr&gt;&lt;/wbr&gt;Acce&lt;wbr&gt;&lt;/wbr&gt;ssCo&lt;wbr&gt;&lt;/wbr&gt;ntro&lt;wbr&gt;&lt;/wbr&gt;ller&lt;wbr&gt;&lt;/wbr&gt;.jav&lt;wbr&gt;&lt;/wbr&gt;a:36&lt;wbr&gt;&lt;/wbr&gt;2&lt;wbr&gt;&lt;/wbr&gt;)&lt;/span&gt;&lt;br /&gt;
   &lt;br /&gt;
   To fix that problem, the configuration error with the document store must be resolved as shown here: &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg21673250"&gt;http&lt;wbr&gt;&lt;/wbr&gt;://w&lt;wbr&gt;&lt;/wbr&gt;ww.i&lt;wbr&gt;&lt;/wbr&gt;bm.c&lt;wbr&gt;&lt;/wbr&gt;om/s&lt;wbr&gt;&lt;/wbr&gt;uppo&lt;wbr&gt;&lt;/wbr&gt;rt/d&lt;wbr&gt;&lt;/wbr&gt;ocvi&lt;wbr&gt;&lt;/wbr&gt;ew.w&lt;wbr&gt;&lt;/wbr&gt;ss?u&lt;wbr&gt;&lt;/wbr&gt;id=s&lt;wbr&gt;&lt;/wbr&gt;wg21&lt;wbr&gt;&lt;/wbr&gt;6732&lt;wbr&gt;&lt;/wbr&gt;5&lt;wbr&gt;&lt;/wbr&gt;0&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 dir="ltr"&gt;
 A.2 - Event manager is active but it is not processing any jobs&lt;/h2&gt;
&lt;div dir="ltr"&gt;
 When the event manager is active (Process Admin Console shows it as 
active and connect expiration is not outdated) but is not processing any
 tasks, this could be caused by:&lt;/div&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;
  Event manager configuration file '&lt;span style="font-family: Courier New;"&gt;80E&lt;wbr&gt;&lt;/wbr&gt;vent&lt;wbr&gt;&lt;/wbr&gt;Mana&lt;wbr&gt;&lt;/wbr&gt;ger.&lt;wbr&gt;&lt;/wbr&gt;xm&lt;wbr&gt;&lt;/wbr&gt;l&lt;/span&gt;', respectively the global BPM server configuration file &lt;span style="font-family: Courier New;"&gt;Team&lt;wbr&gt;&lt;/wbr&gt;Work&lt;wbr&gt;&lt;/wbr&gt;sCon&lt;wbr&gt;&lt;/wbr&gt;figu&lt;wbr&gt;&lt;/wbr&gt;rati&lt;wbr&gt;&lt;/wbr&gt;on.r&lt;wbr&gt;&lt;/wbr&gt;unni&lt;wbr&gt;&lt;/wbr&gt;ng.x&lt;wbr&gt;&lt;/wbr&gt;ml, &lt;/span&gt;which
 contains all of the parameters at run time. The following technote will
 show where to find these files and how they relate: &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg21439614"&gt;http&lt;wbr&gt;&lt;/wbr&gt;://w&lt;wbr&gt;&lt;/wbr&gt;ww.i&lt;wbr&gt;&lt;/wbr&gt;bm.c&lt;wbr&gt;&lt;/wbr&gt;om/s&lt;wbr&gt;&lt;/wbr&gt;uppo&lt;wbr&gt;&lt;/wbr&gt;rt/d&lt;wbr&gt;&lt;/wbr&gt;ocvi&lt;wbr&gt;&lt;/wbr&gt;ew.w&lt;wbr&gt;&lt;/wbr&gt;ss?u&lt;wbr&gt;&lt;/wbr&gt;id=s&lt;wbr&gt;&lt;/wbr&gt;wg21&lt;wbr&gt;&lt;/wbr&gt;4396&lt;wbr&gt;&lt;/wbr&gt;1&lt;wbr&gt;&lt;/wbr&gt;4&lt;/a&gt;&lt;br /&gt;
  &amp;nbsp;&lt;/li&gt;
&lt;li&gt;
  Event manager blocked due to orphaned transactions in Microsoft SQLServer holding locks on its tables:&lt;br /&gt;
  In case you use Microsoft SQLServer as the process server database, 
the reason for that could be so called 'orphaned transactions' in the DB
 system. The following TechNote will show how to resolve such a problem:
 &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg21633692"&gt;http&lt;wbr&gt;&lt;/wbr&gt;://w&lt;wbr&gt;&lt;/wbr&gt;ww.i&lt;wbr&gt;&lt;/wbr&gt;bm.c&lt;wbr&gt;&lt;/wbr&gt;om/s&lt;wbr&gt;&lt;/wbr&gt;uppo&lt;wbr&gt;&lt;/wbr&gt;rt/d&lt;wbr&gt;&lt;/wbr&gt;ocvi&lt;wbr&gt;&lt;/wbr&gt;ew.w&lt;wbr&gt;&lt;/wbr&gt;ss?u&lt;wbr&gt;&lt;/wbr&gt;id=s&lt;wbr&gt;&lt;/wbr&gt;wg21&lt;wbr&gt;&lt;/wbr&gt;6336&lt;wbr&gt;&lt;/wbr&gt;9&lt;wbr&gt;&lt;/wbr&gt;2&lt;/a&gt;&lt;br /&gt;
  &amp;nbsp;&lt;/li&gt;
&lt;li&gt;
  System time or timezone of BPM and remote DB system which is hosting 
the BPM DB is out of sync:To fix that, please make sure, that the system
 time on the BPM and the DB node are in sync. It is a best practice to 
have both on the same network time protocol server (NTP).&lt;/li&gt;
&lt;/ul&gt;
&lt;div dir="ltr"&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;h2 dir="ltr"&gt;
 B - Event manager shows jobs with a scheduled date of 2099&lt;/h2&gt;
&lt;div dir="ltr"&gt;
 If the execution of an event manager job fails, it is retried a couple of times as defined by the&amp;nbsp; &lt;span style="font-family: courier new,courier,monospace;"&gt;re-execute-limit&lt;/span&gt; configuration parameter (default = 5) in the&amp;nbsp; &lt;span style="font-family: courier new,courier,monospace;"&gt;80EventManager.xml&lt;/span&gt; file. The behavior in such a case has gone through a fundamental change with APAR JR47860:&lt;/div&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;
  Pre JR47860 behaviour: when the &lt;span style="font-family: courier new,courier,monospace;"&gt;re-execute-limit&lt;/span&gt; is reached, the according event manager job is discarded! There is no way to re-execute this job.&lt;/li&gt;
&lt;li&gt;
  Post JR47860 behaviour: when the &lt;span style="font-family: courier new,courier,monospace;"&gt;re-execute-limit&lt;/span&gt; is reached, the event manager job is rescheduled for 2099.&lt;/li&gt;
&lt;/ul&gt;
&lt;div dir="ltr"&gt;
 The interim fix for the APAR also provides a new administrative command called &lt;span style="font-family: courier new,courier,monospace;"&gt;BPMR&lt;wbr&gt;&lt;/wbr&gt;epla&lt;wbr&gt;&lt;/wbr&gt;yOnH&lt;wbr&gt;&lt;/wbr&gt;oldE&lt;wbr&gt;&lt;/wbr&gt;MTas&lt;wbr&gt;&lt;/wbr&gt;k&lt;wbr&gt;&lt;/wbr&gt;s&lt;/span&gt;, which was introduced to resubmit this failed job. Check the &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR47860" target="_blank"&gt;APAR&amp;nbsp;description&lt;/a&gt; for more details or the see the &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFTDH_8.5.5/com.ibm.wbpm.ref.doc/topics/rref_bpmreplayonholdemtasks.html" target="_blank"&gt;prod&lt;wbr&gt;&lt;/wbr&gt;uct&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;docu&lt;wbr&gt;&lt;/wbr&gt;ment&lt;wbr&gt;&lt;/wbr&gt;atio&lt;wbr&gt;&lt;/wbr&gt;n&amp;nbsp;in&lt;wbr&gt;&lt;/wbr&gt;form&lt;wbr&gt;&lt;/wbr&gt;atio&lt;wbr&gt;&lt;/wbr&gt;n&lt;/a&gt; in the IBM Knowledge Center.&lt;br /&gt;
 &lt;br /&gt;
 &lt;span style="font-weight: bold;"&gt;Important note&lt;/span&gt;: Before 
resubmitting an event manager job, it is important to eliminate the root
 cause! Otherwise, you might run into the same problem again. To find 
the root cause, check your &lt;span style="font-family: courier new,courier,monospace;"&gt;SystemOut.log&lt;/span&gt; file for message &lt;span style="font-family: courier new,courier,monospace;"&gt;CWLLG0197W&lt;/span&gt;.
 This message indicates, that the event manager has tried to execute a 
task for 5 times but it failed. Note the thread ID and walk back in the 
thread history within the &lt;span style="font-family: courier new,courier,monospace;"&gt;SystemOut.log&lt;/span&gt; file, which will most probably tell you which exception the execution of this event manager task failed.&lt;br /&gt;
 &lt;br /&gt;
 &lt;span style="text-decoration: underline;"&gt;Example for an event manager task to execute an UCA:&lt;/span&gt;&lt;br /&gt;
 1. Search the &lt;span style="font-family: courier new,courier,monospace;"&gt;SystemOut.log&lt;/span&gt; file for &lt;span style="font-family: courier new,courier,monospace;"&gt;CWLLG0197W &lt;/span&gt;shows the following line - note thread ID &lt;span style="color: blue;"&gt;&lt;span style="font-family: courier new,courier,monospace;"&gt;00011779&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;
 &lt;span style="font-family: courier new,courier,monospace;"&gt;[2/4/14 5:54:18:395 GMT] &lt;span style="color: mediumblue;"&gt;00011779 &lt;/span&gt;wle_ucaexcept E&amp;nbsp;&amp;nbsp; &lt;strong&gt;CWLLG0197W&lt;/strong&gt;: Task Notify BPD 202738 of notification failed 5&amp;nbsp; times.&amp;nbsp; The task will not be re-executed.&lt;/span&gt;&lt;br /&gt;
 &lt;br /&gt;
 The &lt;span style="font-weight: bold;"&gt;previous &lt;/span&gt;messages for thread &lt;span style="color: mediumblue;"&gt;&lt;span style="font-family: courier new,courier,monospace;"&gt;00011779 &lt;/span&gt;&lt;/span&gt;will show this error message:&lt;br /&gt;
 &lt;span style="font-family: courier new,courier,monospace;"&gt;[2/4/14 5:54:18:337 GMT] &lt;span style="color: mediumblue;"&gt;00011779 &lt;/span&gt;wle_ucaexcept E&amp;nbsp;&amp;nbsp; CWLLG0181E: An exception occurred during execution of task 4,425,203.&amp;nbsp; Error: Prep&lt;wbr&gt;&lt;/wbr&gt;ared&lt;wbr&gt;&lt;/wbr&gt;Stat&lt;wbr&gt;&lt;/wbr&gt;emen&lt;wbr&gt;&lt;/wbr&gt;tCal&lt;wbr&gt;&lt;/wbr&gt;lbac&lt;wbr&gt;&lt;/wbr&gt;k; SQL [update LSW_&lt;wbr&gt;&lt;/wbr&gt;BPD_&lt;wbr&gt;&lt;/wbr&gt;INST&lt;wbr&gt;&lt;/wbr&gt;ANCE&lt;wbr&gt;&lt;/wbr&gt;_DAT&lt;wbr&gt;&lt;/wbr&gt;A
 set DATA = ? where BPD_INSTANCE_ID = ?]; Error for batch element #1: 
DB2 SQL Error: SQLCODE=-1476, SQLSTATE=40506, SQLERRMC=-968, 
DRIVER=3.61.65; nested exception is com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;db2.&lt;wbr&gt;&lt;/wbr&gt;jcc.&lt;wbr&gt;&lt;/wbr&gt;am.S&lt;wbr&gt;&lt;/wbr&gt;qlTr&lt;wbr&gt;&lt;/wbr&gt;ansa&lt;wbr&gt;&lt;/wbr&gt;ctio&lt;wbr&gt;&lt;/wbr&gt;nRol&lt;wbr&gt;&lt;/wbr&gt;lbac&lt;wbr&gt;&lt;/wbr&gt;kExc&lt;wbr&gt;&lt;/wbr&gt;epti&lt;wbr&gt;&lt;/wbr&gt;on: Error for batch element #1: DB2 SQL Error: SQLCODE=-1476, SQLSTATE=40506, SQLERRMC=-968, DRIVER=3.61.65&lt;br /&gt;
 com.&lt;wbr&gt;&lt;/wbr&gt;lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;soft&lt;wbr&gt;&lt;/wbr&gt;ware&lt;wbr&gt;&lt;/wbr&gt;.cor&lt;wbr&gt;&lt;/wbr&gt;e.Te&lt;wbr&gt;&lt;/wbr&gt;amWo&lt;wbr&gt;&lt;/wbr&gt;rksE&lt;wbr&gt;&lt;/wbr&gt;xcep&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;: Prep&lt;wbr&gt;&lt;/wbr&gt;ared&lt;wbr&gt;&lt;/wbr&gt;Stat&lt;wbr&gt;&lt;/wbr&gt;emen&lt;wbr&gt;&lt;/wbr&gt;tCal&lt;wbr&gt;&lt;/wbr&gt;lbac&lt;wbr&gt;&lt;/wbr&gt;k; SQL [update LSW_&lt;wbr&gt;&lt;/wbr&gt;BPD_&lt;wbr&gt;&lt;/wbr&gt;INST&lt;wbr&gt;&lt;/wbr&gt;ANCE&lt;wbr&gt;&lt;/wbr&gt;_DAT&lt;wbr&gt;&lt;/wbr&gt;A
 set DATA = ? where BPD_INSTANCE_ID = ?]; Error for batch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
element #1: DB2 SQL Error: SQLCODE=-1476, SQLSTATE=40506, SQLERRMC=-968,
 DRIVER=3.61.65; nested exception is com.&lt;wbr&gt;&lt;/wbr&gt;ibm.&lt;wbr&gt;&lt;/wbr&gt;db2.&lt;wbr&gt;&lt;/wbr&gt;jcc.&lt;wbr&gt;&lt;/wbr&gt;am.S&lt;wbr&gt;&lt;/wbr&gt;qlTr&lt;wbr&gt;&lt;/wbr&gt;ansa&lt;wbr&gt;&lt;/wbr&gt;ctio&lt;wbr&gt;&lt;/wbr&gt;nRol&lt;wbr&gt;&lt;/wbr&gt;lbac&lt;wbr&gt;&lt;/wbr&gt;kExc&lt;wbr&gt;&lt;/wbr&gt;epti&lt;wbr&gt;&lt;/wbr&gt;on: Error for batch element #1: DB2 SQL Error: SQLCODE=-1476, SQLSTATE=40506, SQLERRMC=-968, DRIVER=3.61.65&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;at com.&lt;wbr&gt;&lt;/wbr&gt;lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;soft&lt;wbr&gt;&lt;/wbr&gt;ware&lt;wbr&gt;&lt;/wbr&gt;.cor&lt;wbr&gt;&lt;/wbr&gt;e.Te&lt;wbr&gt;&lt;/wbr&gt;amWo&lt;wbr&gt;&lt;/wbr&gt;rksE&lt;wbr&gt;&lt;/wbr&gt;xcep&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;.asT&lt;wbr&gt;&lt;/wbr&gt;eamW&lt;wbr&gt;&lt;/wbr&gt;orks&lt;wbr&gt;&lt;/wbr&gt;Exce&lt;wbr&gt;&lt;/wbr&gt;ptio&lt;wbr&gt;&lt;/wbr&gt;n(Te&lt;wbr&gt;&lt;/wbr&gt;amWo&lt;wbr&gt;&lt;/wbr&gt;rksE&lt;wbr&gt;&lt;/wbr&gt;xcep&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;.jav&lt;wbr&gt;&lt;/wbr&gt;a:13&lt;wbr&gt;&lt;/wbr&gt;0 ...&lt;/span&gt;&lt;br /&gt;
 &lt;br /&gt;
 In this special case, the execution of the event manager task failed due to an SQL exception with &lt;span style="font-family: courier new,courier,monospace;"&gt;sqlcode -968,&lt;/span&gt; which means that the database filesystem is out of space.&lt;br /&gt;
 &lt;br /&gt;
 2. Fix the problem that caused the exception. In the previous example, 
resolve the out-of-space condition in the database filesystem.&lt;br /&gt;
 &lt;br /&gt;
 3. Resubmit the applicable event manager task by using the &lt;span style="font-family: courier new,courier,monospace;"&gt;BPMR&lt;wbr&gt;&lt;/wbr&gt;epla&lt;wbr&gt;&lt;/wbr&gt;yOnH&lt;wbr&gt;&lt;/wbr&gt;oldE&lt;wbr&gt;&lt;/wbr&gt;MTas&lt;wbr&gt;&lt;/wbr&gt;k&lt;wbr&gt;&lt;/wbr&gt;s&lt;/span&gt; command.&lt;br /&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;h2 dir="ltr"&gt;
 &lt;div class="ibm-anchor-pointer"&gt;
&lt;a href="https://www.blogger.com/null" name="CDEF"&gt;&lt;/a&gt;&lt;/div&gt;
C,D,E,F - Event manager is active, but throughput problems exist&lt;/h2&gt;
&lt;div dir="ltr"&gt;
 Throughput problems might be caused by a wide range of reasons. In 
terms of the event manager, the potential throughput is limited by the 
capacity of its queues.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &lt;br /&gt;
 For a comprehensive summary of all event manager-related configuration parameters including the different queues, check this &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.5/com.ibm.wbpm.admin.doc/topics/event_manager_settings.html" target="_blank"&gt;prod&lt;wbr&gt;&lt;/wbr&gt;uct&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;docu&lt;wbr&gt;&lt;/wbr&gt;ment&lt;wbr&gt;&lt;/wbr&gt;atio&lt;wbr&gt;&lt;/wbr&gt;n&lt;/a&gt; in the IBM Knowledge Center.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 To analyze and fix this problem, you need to understand the involved 
configuration parameters and how to monitor and adapt them.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 a) Find out the event manager queue capacities&lt;br /&gt;
 The event manager maintains a number of internal queues. The capacity 
of each queue is limited by a configuration parameter that is specified 
in the &lt;span style="font-family: courier new,courier,monospace;"&gt;80EventManager.xml &lt;/span&gt;configuration
 file and limits the number of jobs that can be in the execution state 
simultaneously. The following table shows the different queues, the 
applicable configuration parameter, and the default capacity (as of IBM 
Business Process Manager 8.5.5):&lt;/div&gt;
&lt;table border="1" dir="ltr" style="width: 639px;"&gt;
 &lt;tbody&gt;
&lt;tr&gt;
   &lt;th style="text-align: left; width: 165px;"&gt;
    &lt;strong&gt;Event Manager Queue&lt;/strong&gt;&lt;/th&gt;
   &lt;th style="text-align: left; width: 334px;"&gt;
    &lt;strong&gt;Configuration Parameter in 80EventManager.xml&lt;/strong&gt;&lt;/th&gt;
   &lt;th style="text-align: center; width: 115px;"&gt;
    &lt;strong&gt;Default capacity&lt;/strong&gt;&lt;/th&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td style="width: 165px;"&gt;
    Async Queue(UCA)&lt;/td&gt;
   &lt;td style="width: 334px;"&gt;
    asyn&lt;wbr&gt;&lt;/wbr&gt;c-qu&lt;wbr&gt;&lt;/wbr&gt;eue-&lt;wbr&gt;&lt;/wbr&gt;capa&lt;wbr&gt;&lt;/wbr&gt;cit&lt;wbr&gt;&lt;/wbr&gt;y&lt;/td&gt;
   &lt;th style="text-align: center; width: 115px;"&gt;
    10&lt;/th&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td style="width: 165px;"&gt;
    Sync Queue (UCA)&lt;/td&gt;
   &lt;td style="width: 334px;"&gt;
    sync-queue-capacity&lt;/td&gt;
   &lt;th style="text-align: center; width: 115px;"&gt;
    10&lt;/th&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td style="text-align: left; vertical-align: top; width: 165px;"&gt;
    
     BPD Async Queue&lt;br /&gt;

    
     - BPD Notification&lt;br /&gt;
     - system lane tasks&lt;br /&gt;
     - timer execution&lt;br /&gt;

   &lt;/td&gt;
   &lt;td style="vertical-align: top; width: 334px;"&gt;
    bpd-queue-capacity&lt;/td&gt;
   &lt;th style="text-align: center; width: 115px;"&gt;
    40&lt;/th&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td style="width: 165px;"&gt;
    System Queue&lt;/td&gt;
   &lt;td style="width: 334px;"&gt;
    syst&lt;wbr&gt;&lt;/wbr&gt;em-q&lt;wbr&gt;&lt;/wbr&gt;ueue&lt;wbr&gt;&lt;/wbr&gt;-cap&lt;wbr&gt;&lt;/wbr&gt;acit&lt;wbr&gt;&lt;/wbr&gt;y&lt;/td&gt;
   &lt;th style="text-align: center; width: 115px;"&gt;
    10&lt;/th&gt;
  &lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div dir="ltr"&gt;
 The default values could have been overwritten by using a &lt;span style="font-family: Courier New;"&gt;100Custom.xml&lt;/span&gt; file. Then, find out which values are currently being used and have a look into&lt;span style="font-family: Courier New;"&gt; Team&lt;wbr&gt;&lt;/wbr&gt;Work&lt;wbr&gt;&lt;/wbr&gt;sCon&lt;wbr&gt;&lt;/wbr&gt;figu&lt;wbr&gt;&lt;/wbr&gt;rati&lt;wbr&gt;&lt;/wbr&gt;on.r&lt;wbr&gt;&lt;/wbr&gt;unni&lt;wbr&gt;&lt;/wbr&gt;ng.x&lt;wbr&gt;&lt;/wbr&gt;m&lt;wbr&gt;&lt;/wbr&gt;l&lt;/span&gt; file.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 b) Determine the event manager queue usage and adapt the event manager queue sizes&lt;br /&gt;
 To monitor the number of executing jobs on each event manager queue, 
use the Process Admin Console event manager monitor and count the number
 of rows for each 'Job Queue' with job status 'Executing'. Alternatively
 you could use this SQL statement:&lt;br /&gt;
 &lt;br /&gt;
 &lt;span style="font-family: courier new,courier,monospace;"&gt;SELECT COUNT(*) as EXECUTION_COUNT,&lt;br /&gt;
 case QUEUE_ID&lt;br /&gt;
 when '-100' then 'UCA Async Queue'&lt;br /&gt;
 when '-101' then 'BPD Async Queue'&lt;br /&gt;
 when '-102' then 'EM System Queue'&lt;br /&gt;
 else 'UCA Sync Queue' END as QUEUE&lt;br /&gt;
 from LSW_EM_TASK where TASK_STATUS = 3 group by QUEUE_ID WITH UR;&lt;/span&gt;&lt;br /&gt;
 &lt;br /&gt;
 If the number of executing event manager tasks for a queue has reached 
the capacity limit and there are more tasks on that queue waiting to be 
executed (time to be scheduled has already passed), then there might be a
 performance problem or the queue capacity is too low for the workload 
and needs to be increased.&lt;br /&gt;
 &lt;br /&gt;
 The BPD async queue is of special interest because its capacity is 
shared between the execution of system lane tasks, timer executions, and
 BPD notifications. If the complete capacity is already occupied by 
currently executing, long-running system lane tasks, no other job can be
 executed on that queue. The screen shot shown previously for Symptom C 
is an example from a system with &lt;span style="font-family: Courier New;"&gt;bpd-queue-capacity&lt;/span&gt;
 set to 5 and the complete capacity is occupied by five executing system
 tasks. To eliminate a problem related to long running system tasks:&lt;/div&gt;
&lt;ol dir="ltr"&gt;
&lt;li&gt;
  Find out why the system lane tasks have such a long execution time and
 try to fix that. There might be various reasons like back-end response 
time, excessive JVM garbage collection, CPU and memory constraints, 
network delays, and so on.&lt;br /&gt;
  &amp;nbsp;&lt;/li&gt;
&lt;li&gt;
  If the system lane tasks are expected to be long-running, think about 
splitting them into smaller pieces or increase the capacity of the BPD 
async queue as shown in the next paragraph.&lt;/li&gt;
&lt;/ol&gt;
&lt;div dir="ltr"&gt;
 &lt;br /&gt;
 c) Increase the event manager queue capacities&lt;br /&gt;
 &lt;br /&gt;
 To increase the event manager queue sizes, specify the applicable parameter as shown in the previous table in a &lt;span style="font-family: courier new,courier,monospace;"&gt;100Custom.xml&lt;/span&gt; file. For example:&lt;br /&gt;
 &lt;br /&gt;
 &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;properties&gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;event-manager merg="" wbr=""&gt;e="m&lt;wbr&gt;&lt;/wbr&gt;erge&lt;wbr&gt;&lt;/wbr&gt;Chil&lt;wbr&gt;&lt;/wbr&gt;dren&lt;wbr&gt;&lt;/wbr&gt;"&amp;gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;scheduler merg="" wbr=""&gt;e="m&lt;wbr&gt;&lt;/wbr&gt;erge&lt;wbr&gt;&lt;/wbr&gt;Chil&lt;wbr&gt;&lt;/wbr&gt;dren&lt;wbr&gt;&lt;/wbr&gt;"&amp;gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;bpd-queue-capacity merg="" wbr=""&gt;e="r&lt;wbr&gt;&lt;/wbr&gt;epla&lt;wbr&gt;&lt;/wbr&gt;ce"&amp;gt;&lt;wbr&gt;&lt;/wbr&gt;40&amp;lt;/&lt;wbr&gt;&lt;/wbr&gt;bpd-&lt;wbr&gt;&lt;/wbr&gt;queu&lt;wbr&gt;&lt;/wbr&gt;e-ca&lt;wbr&gt;&lt;/wbr&gt;paci&lt;wbr&gt;&lt;/wbr&gt;ty&amp;gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;asy wbr=""&gt;nc-q&lt;wbr&gt;&lt;/wbr&gt;ueue&lt;wbr&gt;&lt;/wbr&gt;-cap&lt;wbr&gt;&lt;/wbr&gt;acit&lt;wbr&gt;&lt;/wbr&gt;y merg&lt;wbr&gt;&lt;/wbr&gt;e="r&lt;wbr&gt;&lt;/wbr&gt;epla&lt;wbr&gt;&lt;/wbr&gt;ce"&amp;gt;&lt;wbr&gt;&lt;/wbr&gt;10&amp;lt;/&lt;wbr&gt;&lt;/wbr&gt;bpd-&lt;wbr&gt;&lt;/wbr&gt;queu&lt;wbr&gt;&lt;/wbr&gt;e-ca&lt;wbr&gt;&lt;/wbr&gt;paci&lt;wbr&gt;&lt;/wbr&gt;ty&amp;gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;syn wbr=""&gt;c-qu&lt;wbr&gt;&lt;/wbr&gt;eue-&lt;wbr&gt;&lt;/wbr&gt;capa&lt;wbr&gt;&lt;/wbr&gt;city merg&lt;wbr&gt;&lt;/wbr&gt;e="r&lt;wbr&gt;&lt;/wbr&gt;epla&lt;wbr&gt;&lt;/wbr&gt;ce"&amp;gt;&lt;wbr&gt;&lt;/wbr&gt;10&amp;lt;/&lt;wbr&gt;&lt;/wbr&gt;bpd-&lt;wbr&gt;&lt;/wbr&gt;queu&lt;wbr&gt;&lt;/wbr&gt;e-ca&lt;wbr&gt;&lt;/wbr&gt;paci&lt;wbr&gt;&lt;/wbr&gt;ty&amp;gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;sys wbr=""&gt;tem-&lt;wbr&gt;&lt;/wbr&gt;queu&lt;wbr&gt;&lt;/wbr&gt;e-ca&lt;wbr&gt;&lt;/wbr&gt;paci&lt;wbr&gt;&lt;/wbr&gt;ty merg&lt;wbr&gt;&lt;/wbr&gt;e="r&lt;wbr&gt;&lt;/wbr&gt;epla&lt;wbr&gt;&lt;/wbr&gt;ce"&amp;gt;&lt;wbr&gt;&lt;/wbr&gt;10&amp;lt;/&lt;wbr&gt;&lt;/wbr&gt;bpd-&lt;wbr&gt;&lt;/wbr&gt;queu&lt;wbr&gt;&lt;/wbr&gt;e-ca&lt;wbr&gt;&lt;/wbr&gt;paci&lt;wbr&gt;&lt;/wbr&gt;ty&amp;gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;/sys&gt;&lt;/syn&gt;&lt;/asy&gt;&lt;/bpd-queue-capacity&gt;&lt;/scheduler&gt;&lt;br /&gt;
 &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/event-manager&gt;&lt;br /&gt;
 &lt;/properties&gt;&lt;/span&gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;strong&gt;Important&lt;/strong&gt;: When increasing the capacity of event 
manager queues, keep in mind that, besides using additional threads in 
your JVM, also additional JDBC connections will be needed. Thus, the 
JDBC data source (&lt;span style="font-family: Courier New;"&gt;jdbc/TeamworksDB&lt;/span&gt;) connection pool also needs to be increased.&lt;br /&gt;
 As a general rule, increase the number of database connections by two 
times the value by which you increased the queue capacity. Apart from 
database connections, also more JVM heap size is needed.&lt;br /&gt;
 &lt;br /&gt;
 If there is a mismatch between the queue capacities and the number of 
available connections for the data source, IBM Business Process Manager 
tries to scale down the queue size. That issue will be indicated in the 
log by the warning messages shown under Symptom F.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &lt;br /&gt;
 d) Understand the event manager queue capacity and the related thread pool size&lt;br /&gt;
 The event manager configuration also shows a parameter named &lt;span style="font-family: courier new,courier,monospace;"&gt;max-&lt;wbr&gt;&lt;/wbr&gt;thre&lt;wbr&gt;&lt;/wbr&gt;ad-p&lt;wbr&gt;&lt;/wbr&gt;ool-&lt;wbr&gt;&lt;/wbr&gt;siz&lt;wbr&gt;&lt;/wbr&gt;e&lt;/span&gt;. By default, the value for the&amp;nbsp; &lt;span style="font-family: courier new,courier,monospace;"&gt;max-&lt;wbr&gt;&lt;/wbr&gt;thre&lt;wbr&gt;&lt;/wbr&gt;ad-p&lt;wbr&gt;&lt;/wbr&gt;ool-&lt;wbr&gt;&lt;/wbr&gt;siz&lt;wbr&gt;&lt;/wbr&gt;e&lt;/span&gt;
 parameter is the sum of the individual queue capacities (70). It is 
important to understand that its size does not limit the overall number 
of event manager tasks that can be executed simultaneously. So even if 
you set &lt;span style="font-family: courier new,courier,monospace;"&gt;max-&lt;wbr&gt;&lt;/wbr&gt;thre&lt;wbr&gt;&lt;/wbr&gt;ad-p&lt;wbr&gt;&lt;/wbr&gt;ool-&lt;wbr&gt;&lt;/wbr&gt;siz&lt;wbr&gt;&lt;/wbr&gt;e&lt;/span&gt; to 5 and &lt;span style="font-family: courier new,courier,monospace;"&gt;bpd-queue-capacity&lt;/span&gt;
 to 10, you will be able to execute 10 system lane tasks simultaneously.
 It is possible because the threadpool is defined as 'growable', which 
means it temporarily allows the number of threads to exceed the defined 
limit, but such a thread would be discarded directly after it finished 
and not be returned to the pool. Therefore, these threads are a bit more
 expensive.&lt;br /&gt;
 &lt;br /&gt;
 Starting in IBM Business Process Manager 8.5.5.0, the event manager no 
longer uses its own internal thread pool. Instead, it uses a WebSphere 
Application Server work manager thread pool. This function is configured
 by these two event manager parameters:&lt;/div&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;
  &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;use wbr=""&gt;-was&lt;wbr&gt;&lt;/wbr&gt;-wor&lt;wbr&gt;&lt;/wbr&gt;k-ma&lt;wbr&gt;&lt;/wbr&gt;nage&lt;wbr&gt;&lt;/wbr&gt;r&amp;gt;tr&lt;wbr&gt;&lt;/wbr&gt;ue&amp;lt;/&lt;wbr&gt;&lt;/wbr&gt;use-&lt;wbr&gt;&lt;/wbr&gt;was-&lt;wbr&gt;&lt;/wbr&gt;work&lt;wbr&gt;&lt;/wbr&gt;-man&lt;wbr&gt;&lt;/wbr&gt;ager&lt;wbr&gt;&lt;/wbr&gt;&amp;gt;&lt;/use&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;
  &lt;span style="font-family: courier new,courier,monospace;"&gt;&lt;was wbr=""&gt;-wor&lt;wbr&gt;&lt;/wbr&gt;k-ma&lt;wbr&gt;&lt;/wbr&gt;nage&lt;wbr&gt;&lt;/wbr&gt;r&amp;gt;wm&lt;wbr&gt;&lt;/wbr&gt;/BPM&lt;wbr&gt;&lt;/wbr&gt;Even&lt;wbr&gt;&lt;/wbr&gt;tMan&lt;wbr&gt;&lt;/wbr&gt;ager&lt;wbr&gt;&lt;/wbr&gt;Work&lt;wbr&gt;&lt;/wbr&gt;Mana&lt;wbr&gt;&lt;/wbr&gt;ger&amp;lt;&lt;wbr&gt;&lt;/wbr&gt;/was&lt;wbr&gt;&lt;/wbr&gt;-wor&lt;wbr&gt;&lt;/wbr&gt;k-ma&lt;wbr&gt;&lt;/wbr&gt;nage&lt;wbr&gt;&lt;/wbr&gt;r&lt;wbr&gt;&lt;/wbr&gt;&amp;gt;&lt;/was&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div dir="ltr"&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &lt;br /&gt;
 When you use the WebSphere Application Server work manager thread pool,
 the maximum pool size is configured in the WebSphere Application Server
 Administrative Console as shown in the following screen shot:&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_8.png" style="display: inline-block; width: 100%;" target="_blank"&gt;&lt;img alt="image" src="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_8.png" style="display: block; float: left; margin: 1em 0pt 0pt 0pt; width: 100%;" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 In a default configuration, the work manager thread pool for the event 
manager is defined with a maximum of 70 threads, but also as 'growable'.
 When sizing the work manager thread pool for the event manager, also 
make sure that its size is at least equal to the sum of queue 
capacities.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 In case you modified the thread pool properties and removed the 
checkbox for "Growable", then the maximum number of threads implicity 
also limits the number of event manager jobs that can be executed 
simultaneously! See this screen shot.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_9.png" style="display: inline-block; width: 100%;" target="_blank"&gt;&lt;img alt="image" src="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_9.png" style="display: block; float: left; margin: 1em 0pt 0pt; width: 30%;" /&gt;&lt;/a&gt;&lt;br /&gt;
 &lt;br /&gt;
 One of the advantages of using a WebSphere Application Server work 
manager thread pool for the event manager is that you can use the Tivoli
 Performance Viewer. It is available from the WebSphere Application 
Server Administrative Console to monitor the thread pool activity. See 
this screen shot:&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &lt;a href="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_11.png" style="display: inline-block; width: 100%;" target="_blank"&gt;&lt;img alt="image" src="https://www.ibm.com/developerworks/community/blogs/aimsupport/resource/BPM/EventManager_common_symptoms_image_11.png" style="display: block; float: left; margin: 1em 0pt 0pt 0pt; width: 100%;" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;h2 dir="ltr"&gt;
 G - Event manager tasks fail when the Lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;Even&lt;wbr&gt;&lt;/wbr&gt;tEmi&lt;wbr&gt;&lt;/wbr&gt;tter&lt;wbr&gt;&lt;/wbr&gt;Inpu&lt;wbr&gt;&lt;/wbr&gt;tQue&lt;wbr&gt;&lt;/wbr&gt;ue reaches the maximum threshold&lt;/h2&gt;
&lt;div dir="ltr"&gt;
 Check the current queue depth and the threshold. You can use the 
service integration bus browser, which is integrated into the WebSphere 
Application Server Administrative Console, to easily check the queue 
depth and the high message threshold.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 Make sure that there is a message consumer active to read from that 
queue, which would typically be the Business Monitor infrastructure. If 
it is not started, start the message consumer and the queue depth should
 decrease.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 If the Business Monitor environment is started and consuming messages, 
but the queue depth is still at the limit, then perform tuning actions 
for the Business Monitor server or increase the high message threshold 
for the involved queues.&lt;/div&gt;
&lt;div dir="ltr"&gt;
 In case the Business Monitor environment is no longer existent, but you
 did not revert the BPM server configuration, there are still messages 
generated and put to the queue, but not consumed!&lt;/div&gt;
&lt;div dir="ltr"&gt;
 To solve it, you need to:&lt;/div&gt;
&lt;ol dir="ltr"&gt;
&lt;li&gt;
  Pause the event manager so that no new messages are created.&lt;br /&gt;
  &amp;nbsp;&lt;/li&gt;
&lt;li&gt;
  Manually delete the message on the queue destination as shown below.&lt;br /&gt;
  &amp;nbsp;&lt;/li&gt;
&lt;li&gt;
  Disable the event emission on the IBM Business Process Manager server according to instructions below.&lt;br /&gt;
  &amp;nbsp;&lt;/li&gt;
&lt;li&gt;
  Restart your IBM Business Process Manager server&lt;/li&gt;
&lt;/ol&gt;
&lt;div dir="ltr"&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;div dir="ltr"&gt;
 To delete the message from the queue destination using the WebSphere 
Application Server Administrative Console, complete these steps:&lt;/div&gt;
&lt;ol dir="ltr"&gt;
&lt;li&gt;
  In the SIBUS section, navigate to the queue point for the &lt;span style="font-family: Courier New;"&gt; Lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;Even&lt;wbr&gt;&lt;/wbr&gt;tEmi&lt;wbr&gt;&lt;/wbr&gt;tter&lt;wbr&gt;&lt;/wbr&gt;Inpu&lt;wbr&gt;&lt;/wbr&gt;tQue&lt;wbr&gt;&lt;/wbr&gt;u&lt;wbr&gt;&lt;/wbr&gt;e&lt;/span&gt;.&lt;br /&gt;
  &amp;nbsp;&lt;/li&gt;
&lt;li&gt;
  Select the &lt;strong&gt;runtime&lt;/strong&gt; tab.&lt;br /&gt;
  &amp;nbsp;&lt;/li&gt;
&lt;li&gt;
  Click &lt;strong&gt;messages&lt;/strong&gt;, which will display &lt;strong&gt;DeleteAll&lt;/strong&gt; option to delete all of the messages on that queue.&lt;/li&gt;
&lt;/ol&gt;
&lt;div dir="ltr"&gt;
 The event emission for Business Monitor has been explicitly enabled by 
the following entry. To disable it, set the value for parameter 
'enabled' to false as shown here:&lt;/div&gt;
&lt;div dir="ltr"&gt;
 &lt;span style="font-family: Courier New;"&gt;&lt;mon wbr=""&gt;itor&lt;wbr&gt;&lt;/wbr&gt;-eve&lt;wbr&gt;&lt;/wbr&gt;nt-e&lt;wbr&gt;&lt;/wbr&gt;miss&lt;wbr&gt;&lt;/wbr&gt;ion&amp;gt;&lt;br /&gt;
 &amp;nbsp; &lt;ena wbr=""&gt;bled&lt;wbr&gt;&lt;/wbr&gt;&amp;gt;&lt;span style="font-weight: bold;"&gt;fal&lt;wbr&gt;&lt;/wbr&gt;s&lt;wbr&gt;&lt;/wbr&gt;e&lt;/span&gt;&lt;/ena&gt;&lt;/mon&gt;&lt;/span&gt;&lt;/div&gt;
nabl&lt;wbr&gt;&lt;/wbr&gt;ed&amp;gt;&lt;br /&gt;
 &amp;nbsp; &lt;j2c wbr=""&gt;-aut&lt;wbr&gt;&lt;/wbr&gt;hent&lt;wbr&gt;&lt;/wbr&gt;icat&lt;wbr&gt;&lt;/wbr&gt;ion-&lt;wbr&gt;&lt;/wbr&gt;alia&lt;wbr&gt;&lt;/wbr&gt;s&amp;gt;Mo&lt;wbr&gt;&lt;/wbr&gt;nito&lt;wbr&gt;&lt;/wbr&gt;rBus&lt;wbr&gt;&lt;/wbr&gt;Auth&lt;wbr&gt;&lt;/wbr&gt;&lt;/j2c&gt;c-au&lt;wbr&gt;&lt;/wbr&gt;then&lt;wbr&gt;&lt;/wbr&gt;tica&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;-ali&lt;wbr&gt;&lt;/wbr&gt;as&amp;gt;&lt;br /&gt;
 &lt;mon wbr=""&gt;itor&lt;wbr&gt;&lt;/wbr&gt;-eve&lt;wbr&gt;&lt;/wbr&gt;nt-e&lt;wbr&gt;&lt;/wbr&gt;miss&lt;wbr&gt;&lt;/wbr&gt;ion&lt;wbr&gt;&lt;/wbr&gt;&amp;gt;&lt;/mon&gt;
&lt;h1 dir="ltr"&gt;
 &lt;div class="ibm-anchor-pointer"&gt;
&lt;a href="https://www.blogger.com/null" name="PartIII"&gt;&lt;/a&gt;&lt;/div&gt;
Part III - Known APAR related to the event manager&lt;/h1&gt;
&lt;div dir="ltr"&gt;
 &amp;nbsp;&lt;/div&gt;
&lt;table align="left" border="1" dir="ltr" style="width: 100%;"&gt;
 &lt;tbody&gt;
&lt;tr&gt;
   &lt;td&gt;
    &lt;strong&gt;Issue, error, or problem&lt;/strong&gt;&lt;/td&gt;
   &lt;td&gt;
    &lt;strong&gt;Adressed in APAR&lt;/strong&gt;&lt;/td&gt;
   &lt;th style="text-align: left;"&gt;
    Fix included in&lt;/th&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    Duplicate execution of event manager task under high load when using Oracle DB&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR49359" target="_blank"&gt;JR49359&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.0.1.3, 8.5.5&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    Change handling of failed event manager tasks and introduction of admin command to replay these failed tasks&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR47860" target="_blank"&gt;JR47860&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.0.1.3, 8.5.5&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    Posting message to event manager only starts TIP snapshot&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR45615" target="_blank"&gt;JR45615&lt;/a&gt; and &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR45616" target="_blank"&gt;JR45616&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    7.5.1.2, 8.0.1.1&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    Blackout calendar not respected for timer events&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR45899" target="_blank"&gt;JR45899&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.0.1.2&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    Task processing threadpool initialized with wrong user, error message CWLLG0326E or CWLLG0179E&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR46484" target="_blank"&gt;JR46484&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.0.1.2, 7.5.1.2, 8.5.5&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    Ille&lt;wbr&gt;&lt;/wbr&gt;galS&lt;wbr&gt;&lt;/wbr&gt;tate&lt;wbr&gt;&lt;/wbr&gt;Exce&lt;wbr&gt;&lt;/wbr&gt;ptio&lt;wbr&gt;&lt;/wbr&gt;n when starting/stopping teamworks.ear&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR47360" target="_blank"&gt;JR47360&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.0.1.2, 8.5.0.1, 8.5.5&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    Delayed communication between BPD and Service engine&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR47915" target="_blank"&gt;JR47915&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.0.1.2, 8.5.0.1, 8.5.5&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    DB2 error "bad SQL grammar" with DB2 9.5 after upgrading to 8.0.1.2 or installation of JR46470&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR48878" target="_blank"&gt;JR48878&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.0.1.3&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    com.&lt;wbr&gt;&lt;/wbr&gt;lomb&lt;wbr&gt;&lt;/wbr&gt;ardi&lt;wbr&gt;&lt;/wbr&gt;soft&lt;wbr&gt;&lt;/wbr&gt;ware&lt;wbr&gt;&lt;/wbr&gt;.cor&lt;wbr&gt;&lt;/wbr&gt;e.Te&lt;wbr&gt;&lt;/wbr&gt;amWo&lt;wbr&gt;&lt;/wbr&gt;rksE&lt;wbr&gt;&lt;/wbr&gt;xcep&lt;wbr&gt;&lt;/wbr&gt;tion&lt;wbr&gt;&lt;/wbr&gt;: Numeric Overflow on event manager task&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR49172" target="_blank"&gt;JR49172&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.5.5, 8.0.1.3&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    Double execution of event manager tasks in heavily loaded environments with Oracle DB&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR46470" target="_blank"&gt;JR46470&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.0.1.2&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    UCA message corrupted when larger than 1000 Bytes and using multibyte characters&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR47265" target="_blank"&gt;JR47265&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.0.1.2, 8.5.0.1, 8.5.5&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    UCA input/output parameters corrupted when containing unicode characters&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR46993" target="_blank"&gt;JR46993&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.0.1.2, 8.5.0.1, 8.5.5&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    Cleanup of duplicate UCAs entries created before JR41966 had been applied&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR47574" target="_blank"&gt;JR47574&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.0.1.2, 8.5.0.1, 7.5.1.2, 8.5.5&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    Time based UCAs disappear due to incomplete event manager task&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR50384" target="_blank"&gt;JR50384&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.0.1.3&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    Scheduling a time elapsed UCA task causes exception when Oracle DB is used&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR46249" target="_blank"&gt;JR46249&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.0.1.2&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    Time elapsed UCA not executed when schedule contains 'FIRST', 'LAST' or multiple weekdays selected&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR46122" target="_blank"&gt;JR46122&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    7.5.1.2, 8.0.1.2&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    Time elapsed UCAs executed at wrong time when DB and process server in different timezone&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR43099" target="_blank"&gt;JR43099&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    7.5.1.1&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    Time elapsed UCAs fired multiple times&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR41966" target="_blank"&gt;JR41966&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    7.5.1.1&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    CWLLG0181E:&amp;nbsp; Error: [&lt;me wbr=""&gt;ssag&lt;wbr&gt;&lt;/wbr&gt;e:co&lt;wbr&gt;&lt;/wbr&gt;m.lo&lt;wbr&gt;&lt;/wbr&gt;mbar&lt;wbr&gt;&lt;/wbr&gt;diso&lt;wbr&gt;&lt;/wbr&gt;ftwa&lt;wbr&gt;&lt;/wbr&gt;re.s&lt;wbr&gt;&lt;/wbr&gt;erve&lt;wbr&gt;&lt;/wbr&gt;r.sc&lt;wbr&gt;&lt;/wbr&gt;hedu&lt;wbr&gt;&lt;/wbr&gt;ler.&lt;wbr&gt;&lt;/wbr&gt;Task&lt;wbr&gt;&lt;/wbr&gt;Deat&lt;wbr&gt;&lt;/wbr&gt;h: Task killed by stopping scheduler at server stop or DB failover&lt;/me&gt;&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR49523" target="_blank"&gt;JR49523&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.0.1.3, 8.5.5&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    Exception when using BPMR&lt;wbr&gt;&lt;/wbr&gt;epla&lt;wbr&gt;&lt;/wbr&gt;yOnH&lt;wbr&gt;&lt;/wbr&gt;oldE&lt;wbr&gt;&lt;/wbr&gt;MTas&lt;wbr&gt;&lt;/wbr&gt;ks command and DB2 on z/OS is used&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR50490" target="_blank"&gt;JR50490&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    8.0.1.3&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;
    THE PROCESS ADMIN EVENT MANAGER MONITOR PAGE IS VERY SLOW&lt;/td&gt;
   &lt;td&gt;
    &lt;a href="http://www.ibm.com/support/docview.wss?uid=swg1JR48052" target="_blank"&gt;JR48052&lt;/a&gt;&lt;/td&gt;
   &lt;td&gt;
    7.5.1.2, 8.0.1.3, 8.5.5&lt;/td&gt;
  &lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>IBM BPM Scheduled UCA's</title><link>http://teknoturfian.blogspot.com/2015_09_20_archive.html#7395541671591118244</link><pubDate>Thu, 24 Sep 2015 16:26:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-7395541671591118244</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Scheduled UCAs do not automatically run in the Process Center. For testing, click 
   &lt;b&gt;Run Now&lt;/b&gt; in IBM Process Designer.
   &lt;br /&gt; 
   &lt;br /&gt; The next scheduled event displays on the Event Manager screen of
 the Process Admin console for a Process Server. For each scheduled UCA,
 it shows the last time it was executed and the next scheduled 
execution. If the time does not display, go to the 
   &lt;b&gt;Installed Apps&lt;/b&gt; tab, click the application name, then look 
under the exposing section for the UCA sub section. Check and re-check 
the box. Go back to the 
   &lt;b&gt;Event Manager&lt;/b&gt; page. Does the UCA show the correct next time to
 start? If not, turn on diagnostic tracing, repeat the steps, and send 
the log files to IBM Business Process Manager Support.
   &lt;br /&gt; 
   &lt;br /&gt; The following example is a screen shot of the Exposing section for UCAs.
   &lt;br /&gt; 
   &lt;a href="http://www-01.ibm.com/support/docview.wss?uid=swg27041883&amp;amp;aid=1" target="_blank"&gt;&lt;img class="ibm-image-resize" height="128" src="http://www-01.ibm.com/support/docview.wss?uid=swg27041883&amp;amp;aid=1" width="492" /&gt;&lt;/a&gt;
   &lt;i&gt;&lt;br /&gt; &lt;/i&gt;
   &lt;br /&gt; 
   &lt;b&gt;Notes&lt;/b&gt;: 
   &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Scheduled UCAs only operate on their scheduled time in a Process Server environment. For a Process Center, click &lt;b&gt;RUN NOW&lt;/b&gt; on the UCA implementation to test. &lt;/li&gt;
&lt;li&gt;Scheduled UCAs only operate on the DEFAULT snapshot. If you have
 more than one active snapshot, only the code implementation in the 
default snapshot fires.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>IBM BPM UCA - Consume &amp; Durable Subscription</title><link>http://teknoturfian.blogspot.com/2015_08_23_archive.html#51909645781015358</link><pubDate>Mon, 24 Aug 2015 16:17:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-51909645781015358</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: #c00000;"&gt;Consume and Durable Subscription Options Usage on
UCA&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;(IBM BPM ):-&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: #c00000;"&gt;Durable
Subscription:-&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;
Think Our BPD&amp;nbsp;is like this:-&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Start Event-----&amp;gt;Parallel
Gateway--------------&amp;gt; MIE1(Message Intermediate event(configured&amp;nbsp; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;!&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;MyUCA1))-------------&amp;gt;Scrpit1----------&amp;gt;end&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;! &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
!&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 12.0pt; mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
!-----------&amp;gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;MIE2(Message
InterMediate event(Configured &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 12.0pt; mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;MyUCA1))-- -----------------&amp;gt;Script2------------&amp;gt;end&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 12.0pt; mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 12.0pt; mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #c00000;"&gt;Human Service:-(&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;fireMyUCA1&lt;/i&gt;&lt;/b&gt;
human Service)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 12.0pt; mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Start-------------&amp;gt;Invoke UCA(Configured MyUCA1)
--------&amp;gt;end&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Testing:-&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;case1:-&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;1)If we start BPD instance&amp;nbsp; .Then flow waits at
MIE1,MIE 2 .&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;2)If we run fireMyUCA1 Human Service.Then both
MIE1,MIE2 will trigger and instance will be completed success fully.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Case2:-&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;1) Check Durable Subscription option for MIE1 and Uncheck
Durable Subscription option for MIE2.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;2)Dont start BPD&amp;nbsp; .But Run ” &lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;fireMyUCA1” &lt;/i&gt;&lt;/b&gt;human
Service.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 12.0pt; mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;3)Now Start the BPD.Go to inspector &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;view,Flow only waits at MIE2 only because MIE1
automatically fires because Durable Subscription option was checked .If you
want fire MIE2 again you have to run &lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;fireMyUCA1&lt;/i&gt;&lt;/b&gt; human&amp;nbsp; service.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Observations:-&lt;/b&gt;We are checked Durable Subscription option for MIE1
means .If any of&amp;nbsp; event fired(Which related MIE1) before flow reached MIE1
.That event persisted &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;and Once our flow
come into active it will be fired .&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 12.0pt; mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;
“What if the event that would trigger the listener occurs before the listener
is reached? This is where the concept of the Durable Subscription comes into
play. If this flag is checked, then the arrival of an event before the listener
is reached is remembered and when the process&lt;br /&gt;
reaches the Intermediate Message Event, it is immediately notified that the
solution can continue. If this flag is not checked, then the event that arrived
previously is discarded and the process will wait for a further event.”&lt;/span&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br style="mso-special-character: line-break;" /&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 12.0pt; mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #c00000;"&gt;Consume explanation:-&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-autospace: ideograph-numeric;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;"Consume"
means when an intermediate listener in a given Business Process instance
correlates to a message, should it mark that message so that it will not be
used by any other event listeners in that instance that are listening for the
same event.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;It is very important to note
that this is a per instance flag.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;The
value on this flag has no between 2 listeners in separate BPD instances.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;If a message is consumed, then the next time
a listener begins listening it will only react to events that have not been
consumed for this Business Process Instance.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 12.0pt; mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 12.0pt; mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Create two BPDs:&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: #c00000;"&gt;BPD1:-&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 12.0pt; mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;MessageStartEvent(Configured with
MYUCA1)----&amp;gt;MIE(Configured with MYUCA1)-----&amp;gt;End&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;(Consume Option was checked)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 12.0pt; mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: #c00000;"&gt;BPD2:-&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;MessageStartEvent((Configured with
MYUCA1)----&amp;gt;MIE((Configured with MYUCA1)-----&amp;gt;End&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;(Consume
Option was Unchecked)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 12.0pt; mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Testing:-&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;1)Create Human Service which will fire MYUCA1.Run
service&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;2)Then Two instances were created (BPD1,BPD2).&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;3)Coming to BPD1 flow, instance &amp;nbsp; will wait at
MIE step because ,StartMessageEvent was consumed the message .So MIE is waiting
for another Message.(If you observe the BPD1 Instance status is in Active state).&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="mso-hyphenate: auto; mso-pagination: widow-orphan;"&gt;
&lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;4)coming to BPD2 flow&amp;nbsp; won’t wait it fires both
events(MSE,MIE).(If you observe the BPD2 Instance status is complete )&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>IBM BPM 8.5 - Dynamic user assignment to task</title><link>http://teknoturfian.blogspot.com/2015_07_05_archive.html#1752157227259705120</link><pubDate>Sat, 11 Jul 2015 02:19:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-1752157227259705120</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
From IBM BPM v8.5, the Assignment options which were there before such as "&lt;b&gt;&lt;i&gt;Last User in the lane", "Routing Policy", &amp;nbsp;"List Of Users"&lt;/i&gt;&lt;/b&gt; and "&lt;b&gt;&lt;i&gt;Custom&lt;/i&gt;&lt;/b&gt;"
 were deprecated an can no longer be used for the Task Assignments. In 
older version the option "Custom" was being used for dynamic assignment 
of Team or User to a Task. In the latest versions of IBM BPM i.e., from V
 8.5.0 a new way of assignment has been introduced i.e., using the "&lt;b&gt;&lt;i&gt;Team Filter Service&lt;/i&gt;&lt;/b&gt;".&lt;br /&gt;
&lt;br /&gt;
In this post, let us look at a code sample illustrating the D&lt;b&gt;&lt;i&gt;ynamic task assignment for user using Team Filter Service.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;
As a first step create a simple BPD with one Activity with a Human Service. Click on the activity and navigate to &lt;b&gt;Properties --&amp;gt; Assignments &lt;/b&gt;and
 click on new in-front of &amp;nbsp;"Team Filter Service" to create a new 
Integration service (team filter service) as shown in below figure or 
select an already created service.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6qCOshyphenhyphenBjvE7vKYrlRLSQxW1r4ucFwS1y8AmcdhgdHof5WEiQUQ4JLMdd3lEgww6Fje4GrdKsxUpeNUPxA7x2yaPE-tgTG2RH3oj4vaI6MgAsHlx-rY13tElt9OfJp7DRb9clbvEskA/s1600/blog1.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="205" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6qCOshyphenhyphenBjvE7vKYrlRLSQxW1r4ucFwS1y8AmcdhgdHof5WEiQUQ4JLMdd3lEgww6Fje4GrdKsxUpeNUPxA7x2yaPE-tgTG2RH3oj4vaI6MgAsHlx-rY13tElt9OfJp7DRb9clbvEskA/s400/blog1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;a href="https://www.blogger.com/null" name="more"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now in the "Team Filter Service", navigate to "Variables" section and 
create a new variable called "toUserId" as shown in the figure. This 
variable can be used to pass the userId to be assigned.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy75iORV_t2o6bOcoctpIhxDc_6WkR-ESG2QNkyNoixCniT7j9obYs4pteMr0DCbxvIUjI62O1-yU1ldr65cKNL-P4JvnjoZnTKz9S2BpAJj2CPUtzzXI72w4cNNR5MyJAh_GTCpKLaw/s1600/blog+image+2.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy75iORV_t2o6bOcoctpIhxDc_6WkR-ESG2QNkyNoixCniT7j9obYs4pteMr0DCbxvIUjI62O1-yU1ldr65cKNL-P4JvnjoZnTKz9S2BpAJj2CPUtzzXI72w4cNNR5MyJAh_GTCpKLaw/s400/blog+image+2.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Let us look at the Assignment Tab of the activity in bpd after attaching
 the "Team Filter Service". Below figure shows the view of Assignment 
Tab for the activity along with the input mapping.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWOr9BxxlGPATyw97BokyyHqk473JaNyLBio-AVwM5WW3-ga2B3ODdLF84bduEW8GVKeR2TLo1ex7nIZxAGHwfHi2cmNsV9QIGiMEerat_97v6WsOqCkIfoRNxIjvL1AZe_DcKqS4qHw/s1600/blog+image+3.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="102" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWOr9BxxlGPATyw97BokyyHqk473JaNyLBio-AVwM5WW3-ga2B3ODdLF84bduEW8GVKeR2TLo1ex7nIZxAGHwfHi2cmNsV9QIGiMEerat_97v6WsOqCkIfoRNxIjvL1AZe_DcKqS4qHw/s400/blog+image+3.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
Now let us look at the script which is used to create a Team with the 
users passed dynamically to the Team Filter Service. In this Script we 
need to create the Team of User and assign it output Variable 
"filteredTeam". Below figure shows the diagram of the "Team Filter 
Service".&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij3fCIAwE_1uqpRrDTtJs1SfngJO9TaqjbcD7GaifbE-QJMtzWJf0qDDuiC1cpC__J7BvDHZA_sI6Ro8v_RVw91gG9jJhLRrBWe_Vwilehe_vJMptUNYTOefxKQbHLOuXRrni_vyeW-w/s1600/blog+image+4.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="127" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij3fCIAwE_1uqpRrDTtJs1SfngJO9TaqjbcD7GaifbE-QJMtzWJf0qDDuiC1cpC__J7BvDHZA_sI6Ro8v_RVw91gG9jJhLRrBWe_Vwilehe_vJMptUNYTOefxKQbHLOuXRrni_vyeW-w/s400/blog+image+4.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Below is the script using which the Team is created with the users passed dynamically.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #741b47; font-family: Times, Times New Roman, serif;"&gt;&lt;i style="background-color: #6fa8dc;"&gt;tw.local.filteredTeam=new tw.object.Team();&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #741b47; font-family: Times, Times New Roman, serif;"&gt;&lt;i style="background-color: #6fa8dc;"&gt;tw.local.filteredTeam.members=new tw.object.listOf.String();&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #741b47; font-family: Times, Times New Roman, serif;"&gt;&lt;i style="background-color: #6fa8dc;"&gt;tw.local.filteredTeam.members.insertIntoList(tw.local.filteredTeam.members.listLength, tw.local.toUserId);&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Once the BPD is Created and assignment is done as explained above. 
Create an instance for the BPD, you will notice that the task is 
assigned to the team created with list of Users.&lt;br /&gt;
&lt;br /&gt;
This script can be extended to filter the users from the given team 
based on certain parameters or to create new temporary temporary team 
with of the list of intended users or any other scenario where the 
intended Users / Teams are determined dynamically during run time.&lt;br /&gt;
&lt;br /&gt;
Hope this is use full !!!&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6qCOshyphenhyphenBjvE7vKYrlRLSQxW1r4ucFwS1y8AmcdhgdHof5WEiQUQ4JLMdd3lEgww6Fje4GrdKsxUpeNUPxA7x2yaPE-tgTG2RH3oj4vaI6MgAsHlx-rY13tElt9OfJp7DRb9clbvEskA/s72-c/blog1.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>IBM BPM EPV variable behaviour</title><link>http://teknoturfian.blogspot.com/2015_07_05_archive.html#5439517598009009787</link><pubDate>Fri, 10 Jul 2015 23:21:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-5439517598009009787</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;ol&gt;
&lt;li&gt; I have snapshot_A with an EPV with a default value: "123"
&lt;br /&gt;


  &lt;/li&gt;
&lt;li&gt; I installed that snapshot to my Process Server and the
--&amp;gt; current EPV value is "123" as expected
&lt;br /&gt;


  &lt;/li&gt;
&lt;li&gt; Now I add a new EPV value "456" with effective date to near future and the
--&amp;gt; current EPV value changed to "456" as expected
&lt;br /&gt;


  &lt;/li&gt;
&lt;li&gt; I created a new snapshot_B and I installed that one on my Process Server 
&lt;br /&gt;


  &lt;/li&gt;
&lt;li&gt; I used Synchronize Settings or Inflight Migration (Instances needed) and discovered that
--&amp;gt; the current EPV value switched back to "123". Here, I expected to have "456" because it was the last modified value.&lt;br /&gt;


  &lt;/li&gt;
&lt;/ol&gt;
&lt;img alt="alt text" src="https://developer.ibm.com/answers/storage/temp/3066-capture.jpg" /&gt;&lt;br /&gt;

&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The behavior of migrating EPV variables has changed due to 
requirements of utilizing the default EPV value specified in the 
snapshot, if one is defined.&lt;br /&gt;

There are two scenarios:&lt;br /&gt;

 &lt;ul&gt;
&lt;li&gt; One scenario is the application may be developed in the 
perspective where the new application requires this new EPV value 
defined in the snapshot (default behavior in earlier releases).
&lt;br /&gt;


  &lt;/li&gt;
&lt;li&gt; The other scenario is to utilize only what is defined in 
runtime and do not use any values defined from the snapshot (new default
 behavior, described above).&lt;br /&gt;


  &lt;/li&gt;
&lt;/ul&gt;
With JR52960 a new configurable property "epv-deploy-default" has 
been introduced to toggle between the two behaviors. After applying the 
fix the default behavior will be reverted back to how it was in previous
 releases where the latest modified EPV value is  migrated.  This means 
the property by default is set to 'false'. Once the property is enabled 
(true) then the  default EPV value from the snapshot will be once again 
be used during deployment  or instance migration. &lt;br /&gt;

You can find the iFix and its pre-requisites on Fix Central:
&lt;a href="https://www-947.ibm.com/support/entry/portal/search_results?sn=spe&amp;amp;filter=keywords%3Aibmsupportfixcentralsearch&amp;amp;q=JR52960"&gt;https://www-947.ibm.com/support/entry/portal/search_results?sn=spe&amp;amp;filter=keywords%3Aibmsupportfixcentralsearch&amp;amp;q=JR52960&lt;/a&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>IBM BPM - Task Management using server script ( ReAssign Task &amp; Complete Task )</title><link>http://teknoturfian.blogspot.com/2015_05_31_archive.html#741218161386475631</link><pubDate>Wed, 3 Jun 2015 00:02:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-741218161386475631</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&amp;nbsp;&lt;b&gt;&lt;span style="font-size: large;"&gt;Assign to me&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
tw.system.findTaskByID(tw.local.iTaskId).reassignTo(tw.system.user_loginName);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;Complete Task&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
If we have output variable for task, we have to add those all output variable in map as below:&lt;br /&gt;
&lt;br /&gt;
var outputVariable = new tw.object.Map(); &lt;br /&gt;
outputVariable.put("out1","");&lt;br /&gt;
outputVariable.put("out2","");&lt;br /&gt;
outputVariable.put("out3","");&lt;br /&gt;
outputVariable.put("out4",0.0);&lt;br /&gt;
outputVariable.put("out5","");&lt;br /&gt;
outputVariable.put("conditioninBPD", "success");&lt;br /&gt;
&lt;br /&gt;
tw.system.findTaskByID(tw.local.iTaskId).complete(tw.system.org.findUserByName(tw.system.user_loginName),outputVariable);&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>IBM BPM - Design Patterns</title><link>http://teknoturfian.blogspot.com/2015_05_31_archive.html#2364435843565726753</link><pubDate>Tue, 2 Jun 2015 23:35:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-2364435843565726753</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h2&gt;
Introduction&lt;/h2&gt;
IBM BPM provides a number of generic artifacts for modeling purposes.
 These can be combined in a variety of ways in order to solve different 
technical problems. &lt;br /&gt;

&lt;strong&gt;A design pattern&lt;/strong&gt; is used to document how a 
combination of model artifacts may be used together in order to solve a 
specific technical problem. Unlike a framework or utility, a design 
pattern cannot be deployed directly. A design pattern is rather like 
having a pattern template for making clothes, where a tailor may use the
 same template to create a number garments using different materials. &lt;br /&gt;

The design pattern provides a design template that allows the BPM 
developer to solve the same technical problem consistently throughout 
the model using different artifacts. Design patterns promote re-use and 
improve maintainability. Example design patterns include Layered 
Architecture, Task Services, Coach Services, Data Access Services and 
Manual Unit Tests.&lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;General Patterns&lt;/span&gt;&lt;/h1&gt;
&amp;nbsp;This page outlines a number of general design patterns.&lt;br /&gt;

If reading for the first time it is recommended that the reader should read these key patterns in the following order:&lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: large;"&gt;1. Smart Folder and Tagging&lt;/span&gt;&lt;/h1&gt;
&lt;h2&gt;
Design Pattern&lt;/h2&gt;
&lt;h4&gt;
&lt;a href="https://www.blogger.com/null" name="SmartFolderandTaggingRecommendations-Objective"&gt;&lt;/a&gt;Objective&lt;/h4&gt;
Tags can be used to create specific smart folders making it easy to 
manage and account for the development cycle of the assets being 
created. Using the “By Tag” library view, a user will be able to sort 
through a large asset library quickly.&lt;br /&gt;

&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/View-By-Tag.jpg"&gt;&lt;img alt="View By Tag Smart Folder and Tagging" class="alignnone size-full wp-image-1080" height="185" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/View-By-Tag.jpg" title="Smart Folder and Tagging" width="568" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
You’re not limited to just one tag per component. For instance, if you 
have a service/BPD/integration that tests your database connections it 
would be tagged as both a test and a database service.&lt;br /&gt;

&lt;h3&gt;
&lt;a href="https://www.blogger.com/null" name="SmartFolderandTaggingRecommendations-General(PreExistinTW7)"&gt;&lt;/a&gt;General (Pre-Exist in TW7)&lt;/h3&gt;
&lt;table class="confluenceTable"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th class="confluenceTh"&gt; Tag &lt;br clear="all" /&gt; &lt;/th&gt;
&lt;th class="confluenceTh"&gt; Purpose &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Data Access &lt;/td&gt;
&lt;td class="confluenceTd"&gt; General data access integrations (CRUD) &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Data Transform &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Transforms data from one form to another (e.g. when coming out of web services into a BPD) &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Database &lt;/td&gt;
&lt;td class="confluenceTd"&gt; To distinguish Integration services that interact with databases &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Exceptions &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Used to handle exceptions &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Deprecated &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Items that are kept around for backward compatibility but are no longer the recommended implementation &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Installation &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Used for the installation of a process app or toolkit &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Integration &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A specific integration implementation &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Report &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Implementation that is used for reporting purposes &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Reporting &lt;/td&gt;
&lt;td class="confluenceTd"&gt; To distinguish which services, variables, tracking groups, etc are linked to reporting &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Security &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Anything that is dealing with security, such as users and groups &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Task &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Specifically used to implement a task in a process.  Can be used on all first-level task services &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Test &lt;/td&gt;
&lt;td class="confluenceTd"&gt; To distinguish Test Harnesses &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Top Level &lt;/td&gt;
&lt;td class="confluenceTd"&gt; The top-level BPD or a top-level service.  Can be useful with an associated Smart folder to know where the top items are &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; UI &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Helpers for human services, such as getting lists of text for a list &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Utility &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A utility service &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Web Services &lt;/td&gt;
&lt;td class="confluenceTd"&gt; To distinguish Integration services that interact with web services &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;
&lt;a href="https://www.blogger.com/null" name="SmartFolderandTaggingRecommendations-NamingConvention"&gt;&lt;/a&gt;Naming Convention&lt;/h3&gt;
Tag services as required in the &lt;a href="https://developer.ibm.com/bpm/docs/design-patterns/general-patterns/naming-conventions/" title="Naming Conventions"&gt;Naming Conventions Pattern&lt;/a&gt;&lt;br /&gt;

&lt;h3&gt;
&lt;a href="https://www.blogger.com/null" name="SmartFolderandTaggingRecommendations-OtherTaggingOptions"&gt;&lt;/a&gt;Other Tagging Options&lt;/h3&gt;
If your developers are the compulsively organizational type, try the 
following ideas for tags, and let us know the results. We’re always 
looking for feedback.&lt;br /&gt;

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Development Status Based Tags&lt;/b&gt; - Tag each and every artifact with its development status (To Do, In Progress, Completed, etc.).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;User Based Tags -&lt;/b&gt; Tag Task Services, Reports, and BPDs by the users/participant groups that will be using them.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Process Based Tags -&lt;/b&gt; If you have a process app with multiple 
processes, tag each process-specific artifact with a tag of the BPD it’s
 associated with.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;
&lt;a href="https://www.blogger.com/null" name="SmartFolderandTaggingRecommendations-SmartFolders"&gt;&lt;/a&gt;Smart Folders&lt;/h1&gt;
&lt;h4&gt;
&lt;a href="https://www.blogger.com/null" name="SmartFolderandTaggingRecommendations-Objective"&gt;&lt;/a&gt;Objective&lt;/h4&gt;
While the new library in IBM BPM versions 7 and up eliminates the 
cluttered, confusing nested library structure of previous Teamworks 
versions, it also eliminated the ability to quickly access top-level 
services and business process diagrams.&amp;nbsp; We can eliminate this 
deficiency, and improve our development experience, by using tagging and
 smart folders.&lt;br /&gt;
&lt;br /&gt;

&lt;h3&gt;
&lt;a href="https://www.blogger.com/null" name="SmartFolderandTaggingRecommendations-Application"&gt;&lt;/a&gt;Application&lt;/h3&gt;
There are 4 types of IBM BPM artifacts that we want to be easily accessible. &amp;nbsp;Create a &lt;b&gt;shared&lt;/b&gt; smart folder for each tag listed in the table below.&lt;br /&gt;

&lt;table class="confluenceTable"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th class="confluenceTh"&gt; Smart Folder &lt;br clear="all" /&gt; &lt;/th&gt;
&lt;th class="confluenceTh"&gt; Tag &lt;br clear="all" /&gt; &lt;/th&gt;
&lt;th class="confluenceTh"&gt; Description &lt;br clear="all" /&gt; &lt;/th&gt;
&lt;th class="confluenceTh"&gt; Example &lt;br clear="all" /&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Top-Level BPDs &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Top-Level BPD &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; These BPDs should be the highest level BPDs in
 your process app. You may only have a few, but the ability to get to 
them quickly is important. &lt;/td&gt;
&lt;td class="confluenceTd"&gt; An enterprise HR Onboarding process BPD. This 
may live in the HR Process App, alongside other processes, but it stands
 alone from others (i.e. offboarding, conflict resolution, etc.). We 
would tag the HR Onboarding process with “Top-Level BPD”, and it would 
add itself the top-level BPD smart folder. We would not tag any 
sub-processes this&amp;nbsp; BPD has (i.e. background check, adding to payroll 
system, etc) &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Top-Level Services &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Top-Level Service &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; These stand-alone services (primarily Human Services) do not exist in any BPDs. &lt;/td&gt;
&lt;td class="confluenceTd"&gt;
&lt;ul&gt;
&lt;li&gt;A CRUD (create, read, update, delete) service used to allow users to manually manage database content, event schedules, etc.&lt;/li&gt;
&lt;li&gt;A service that contains a report embedded in a coach, which will be 
deployed on the Left Side Navigation bar in the IBM BPM Portal.&lt;/li&gt;
&lt;li&gt;A service that allows users to drilldown through process instances and the data/statuses associated with each.&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Integrations &lt;/td&gt;
&lt;td class="confluenceTd"&gt; (Use system specific tag) &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; These are services which contain integrations with other systems. &lt;br clear="all" /&gt;&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: To create this folder, use system specific tags (i.e. 
Database, Document Management, Legacy System). This way, you’ll be able 
to sort your smart folder by integration (sort by tag). &lt;/td&gt;
&lt;td class="confluenceTd"&gt;
&lt;ul&gt;
&lt;li&gt;A service that updates customer information using a webservice&lt;/li&gt;
&lt;li&gt;A service that writes a document to a content management system.&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Test Services &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Unit Test &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Services/BPDs&amp;nbsp; used to test User Interfaces, Integrations, Process flow, etc. &lt;/td&gt;
&lt;td class="confluenceTd"&gt;
&lt;ul&gt;
&lt;li&gt;A service used to test an integration with a document management system.&lt;/li&gt;
&lt;li&gt;A service used to test a user interface’s validation on a customer service coach.&lt;/li&gt;
&lt;li&gt;A BPD used to test proper process flow.&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt;
&lt;a href="https://www.blogger.com/null" name="SmartFolderandTaggingRecommendations-Examples"&gt;&lt;/a&gt;Examples&lt;/h4&gt;
&lt;table class="confluenceTable"&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;th class="confluenceTh"&gt; Smart Folder &lt;br clear="all" /&gt; &lt;/th&gt;
&lt;th class="confluenceTh"&gt; Example Screenshot &lt;br clear="all" /&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Top-Level BPDs &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt;&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Top-Level-BPD-Smart-Folder.jpg"&gt;&lt;img alt="Top Level BPD Smart Folder Smart Folder and Tagging" class="alignnone size-full wp-image-1085" height="225" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Top-Level-BPD-Smart-Folder.jpg" title="Smart Folder and Tagging" width="606" /&gt;&lt;/a&gt;&lt;br clear="all" /&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Top-Level Services &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; &lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Top-Level-Services-Smart-Folder.jpg"&gt;&lt;img alt="Top Level Services Smart Folder Smart Folder and Tagging" class="alignnone size-full wp-image-1081" height="201" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Top-Level-Services-Smart-Folder.jpg" title="Smart Folder and Tagging" width="583" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Integrations &lt;/td&gt;
&lt;td class="confluenceTd"&gt;&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Integration-Smart-Folder.jpg"&gt;&lt;img alt="Integration Smart Folder Smart Folder and Tagging" class="alignnone size-full wp-image-1082" height="233" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Integration-Smart-Folder.jpg" title="Smart Folder and Tagging" width="599" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Test Services &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt;&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Test-Services-Smart-Folder.jpg"&gt;&lt;img alt="Test Services Smart Folder Smart Folder and Tagging" class="alignnone size-full wp-image-1083" height="214" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Test-Services-Smart-Folder.jpg" title="Smart Folder and Tagging" width="585" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: large;"&gt;2. Naming Conventions&lt;/span&gt;&lt;/h1&gt;
&lt;h2&gt;
Purpose&lt;/h2&gt;
To provide a standard method of naming TW artifacts to better 
organize and manage process apps. Additionally, updating the standard 
from Teamworks 6 in order to leverage new features in Teamworks 7 and 
make this pattern easier to learn and use.&lt;br /&gt;

&lt;h3&gt;
&lt;a href="https://www.blogger.com/null" name="NamingConventionPattern- NoticeableChangesfromtheTW6pattern"&gt;&lt;/a&gt;&amp;nbsp;Noticeable Changes from the TW6 pattern&lt;/h3&gt;
&lt;h4&gt;
&lt;a href="https://www.blogger.com/null" name="NamingConventionPattern- Prefixes"&gt;&lt;/a&gt;&amp;nbsp;Prefixes&lt;/h4&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Process-Apps.jpg"&gt;&lt;img alt="Process Apps Naming Conventions" class="alignnone size-full wp-image-1069" height="240" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Process-Apps.jpg" title="Naming Conventions" width="346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
Because of the separation of process apps in Teamworks 7, there is no 
longer a worry of cluttered libraries with artifacts from multiple 
different process apps. This removes the need for prefixes.&lt;br /&gt;

&lt;h4&gt;
&lt;a href="https://www.blogger.com/null" name="NamingConventionPattern- Body"&gt;&lt;/a&gt;&amp;nbsp;Body&lt;/h4&gt;
The use of reserved verbs will help to clarify the action/use of a service.&lt;br /&gt;

&lt;h4&gt;
&lt;a href="https://www.blogger.com/null" name="NamingConventionPattern- AbbreviatedSuffixes"&gt;&lt;/a&gt;&amp;nbsp;Abbreviated Suffixes&lt;/h4&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Service-Types.jpg"&gt;&lt;img alt="Service Types Naming Conventions" class="alignnone size-full wp-image-1070" height="207" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Service-Types.jpg" title="Naming Conventions" width="311" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
Due to the new service types in Teamworks 7, and the addition of tagging
 capability, abbreviated suffixes, used heavily in Teamworks 6 naming 
convention pattern, are no longer part of the pattern.&amp;nbsp; This should help
 make the naming pattern simpler and more user-friendly.&lt;br /&gt;
&lt;br /&gt;

&lt;h2&gt;
&lt;a href="https://www.blogger.com/null" name="NamingConventionPattern-Artifacts"&gt;&lt;/a&gt;Artifacts&lt;/h2&gt;
New service types allow artifacts to have simpler names, and the use of tags will allow clarification for users.&lt;br /&gt;

&lt;table class="confluenceTable"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th class="confluenceTh"&gt; Tag &lt;br clear="all" /&gt; &lt;/th&gt;
&lt;th class="confluenceTh"&gt; Artifact Type &lt;br clear="all" /&gt; &lt;/th&gt;
&lt;th class="confluenceTh"&gt; Description &lt;br clear="all" /&gt; &lt;/th&gt;
&lt;th class="confluenceTh"&gt; Notes &lt;br clear="all" /&gt; &lt;/th&gt;
&lt;th class="confluenceTh"&gt; Examples &lt;br clear="all" /&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Tasks &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Human Service or General System Service &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A service that directly implements an activity. Such a service is responsible for coordinating a whole task for a user/system. &lt;/td&gt;
&lt;td class="confluenceTd"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td class="confluenceTd"&gt; Register Sales Opportunity &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Coaches &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Human Service &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A service that implements a single coach. It is generally recommended that a service not have more than a single coach in it. &lt;/td&gt;
&lt;td class="confluenceTd"&gt; If the coach service has the same name as the task service, add the suffix “Coach” to the coach service. &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Register Sales Opportunity Coach &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Events &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; General System Service &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A service that is used specifically to invoke an Event Driven UCA. &lt;/td&gt;
&lt;td class="confluenceTd"&gt; The UCA has the same name as this service. If event based, append “Event” on both this service and the UCA &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Start Sales Cycle Event &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Event Implementation &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; General System Service &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A service that directly implements an Event Driven UCA. &lt;/td&gt;
&lt;td class="confluenceTd"&gt; To name this service, precede the UCA name with the reserved verb “Implement”. &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Implement Start Sales Cycle Event &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Data Access &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Integration Service or General System Service &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A service whose specific purpose it is to get 
some data from inside (EPV, properties, variable) or outside (DB, LDAP) 
Teamworks and return it to the calling service/BPD. &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Use the reserved verb “Retrieve”. &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Retrieve Company Info &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Unit Test &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Human Service, General System Service, BPD &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A service designed to test another service or BPD. &lt;/td&gt;
&lt;td class="confluenceTd"&gt; The unit test has the same name as the 
service/BPD being tested with the reserved verb “Test”. This can apply 
to any other type of service, such as task services, coach services, web
 service services, etc. &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Test Register Sales Opportunity &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Coach Validator &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; General System Service &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A service used to encapsulate coach validation logic. &lt;/td&gt;
&lt;td class="confluenceTd"&gt; This is used in conjunction with the Coach Validation Framework. Service name starts with reserved verb “Validate”. &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Validate Sales Opportunity &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Batch &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; General System Service &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A service that directly implements a Batch/Chron driven UCA. &lt;/td&gt;
&lt;td class="confluenceTd"&gt; To name this service, precede the UCA name with “Batch” and the reserved verb  “Implement”. &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Batch Implement Sales Cycle Event &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Utilities &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; General System Service &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A service that implements some piece of utility functionality (such as text parsing for valid email format, etc) &lt;/td&gt;
&lt;td class="confluenceTd"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td class="confluenceTd"&gt; Parse Email Addresses &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Inbound Web Service &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Web Service &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A service that directly implements a Teamworks hosted Web Service. &lt;/td&gt;
&lt;td class="confluenceTd"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td class="confluenceTd"&gt; ReceiveProductDetails &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Outbound Web Service &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Integration Service &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A service that wraps a Web Service connector. &lt;/td&gt;
&lt;td class="confluenceTd"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td class="confluenceTd"&gt; Update Sales Opportunity in Salesforce.com &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Constructor &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; General System Service &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A service that initializes a variable. &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Precede the variable name with the reserved verb “Construct” &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Construct SalesforceOpportunity &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Business Object &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Variable Type &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A variable type that resides within the 
Business Object Model layer within a layered Teamworks architecture. 
These are used to define a common view of business data within a 
Teamworks process. &lt;/td&gt;
&lt;td class="confluenceTd"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td class="confluenceTd"&gt; SalesforceOpportunity &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; View Object &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Variable Type &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A variable type that resides within the View 
layer within a layered Teamworks architecture. These may be defined to 
present data in a specific way. &lt;/td&gt;
&lt;td class="confluenceTd"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td class="confluenceTd"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Integration Object &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Variable Type &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; A variable type that resides within the 
Integration layer within a layered Teamworks architecture. These may be 
used directly with SQL and Web Service connectors that load data 
directly into Teamworks variables. &lt;/td&gt;
&lt;td class="confluenceTd"&gt; It may be useful to include the system being integrated with in the title of the variable. &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; SalesforceSalesOpportunity &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt;
&lt;a href="https://www.blogger.com/null" name="NamingConventionPattern-ExampleLibrary"&gt;&lt;/a&gt;Example Library&lt;/h4&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Example-Tags-and-Names.jpg"&gt;&lt;img alt="Example Tags and Names Naming Conventions" class="alignnone size-full wp-image-1071" height="755" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Example-Tags-and-Names.jpg" title="Naming Conventions" width="314" /&gt;&lt;/a&gt;&lt;br /&gt;

&lt;h4&gt;
&lt;a href="https://www.blogger.com/null" name="NamingConventionPattern-ReservedVerbs"&gt;&lt;/a&gt;Reserved Verbs&lt;/h4&gt;
These verbs can be used at the beginning of artifact names in order to more clearly specify the action of the service.&lt;br /&gt;
&lt;br /&gt;

&lt;table class="confluenceTable"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th class="confluenceTh"&gt; Verb &lt;br clear="all" /&gt; &lt;/th&gt;
&lt;th class="confluenceTh"&gt; Use &lt;br clear="all" /&gt; &lt;/th&gt;
&lt;th class="confluenceTh"&gt; Example &lt;br clear="all" /&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Retrieve &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Pulling data from a system of record &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Retrieve Product Details from Salesforce &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Write &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Creating a new record in a system of record &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Write Customer Details to Salesforce &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Update &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Updating an existing record in a system of record &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Update Customer Details in Salesforce &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Delete &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Removing a record from a system of record &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Delete Customer from Salesforce &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Send &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Sending a message event/email to another system/participant &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Send Email to Customer &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Receive &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Receiving a message event to and from a participant &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Receive message from Salesforce &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Validate &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Validating a coach using the coach validation framework &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Validate Product Details Coach &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Test &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Testing a service &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Test Delete Product Details from Salesforce &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Construct &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Initializing a variable type &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Construct ProductDetails &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="confluenceTd"&gt; Implement &lt;br clear="all" /&gt; &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Implementing a UCA &lt;/td&gt;
&lt;td class="confluenceTd"&gt; Implement Batch Timer &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;
&lt;a href="https://www.blogger.com/null" name="NamingConventionPattern-HigherLevelArtifacts"&gt;&lt;/a&gt;Higher Level Artifacts&lt;/h2&gt;
&lt;h4&gt;
&lt;a href="https://www.blogger.com/null" name="NamingConventionPattern-SnapshotNames"&gt;&lt;/a&gt;Snapshot Names&lt;/h4&gt;
Snapshot names should do at least 1 of 2 things:&lt;br /&gt;

&lt;ul&gt;
&lt;li&gt;Provide a date stamp of the snapshot (e.g. v15March2010 or 14June2010Release)&lt;/li&gt;
&lt;li&gt;Describe change/enhancement (e.g. RouteAroundExecutiveApprovals)&lt;/li&gt;
&lt;/ul&gt;
Here is an example of a more detailed naming convention around Snapshots&lt;br /&gt;

&lt;b&gt;Special Note for BPM Advanced&lt;/b&gt;&lt;br /&gt;

Not all the recommendations apply to BPM Advanced. For example, refer to this &lt;a href="http://pic.dhe.ibm.com/infocenter/dmndhelp/v8r0m1/index.jsp?topic=%2Fcom.ibm.wbpm.wid.main.doc%2Fnewapp%2Ftopics%2Fcversions.html&amp;amp;resultof%3D%2522%2576%2565%2572%2573%2569%256f%256e%2522%2520%2522%2573%2563%2568%2565%256d%2565%2522%2520" rel="nofollow"&gt;infocenter reference in situations&lt;/a&gt; where you want to use more than 3 digit numeric snapshots.&lt;br /&gt;

&lt;ul&gt;
&lt;li&gt;(Prior Release/Production).(Playback/Maintenance Release).(Snapshot per Current Playback/Maintenance Release).(Workspace branch)&lt;/li&gt;
&lt;li&gt;Examples:
&lt;ul&gt;
&lt;li&gt;Snapshot for Release 1 development prior to installation to 
Production, during playback 3 development, the 6th snapshot during this 
time = 0.3.6&lt;/li&gt;
&lt;li&gt;Snapshot for Release 1 development post installation to Production, 
during&amp;nbsp; development for the 2nd maintenance release, the 4th snapshot 
during this time = 1.2.4&lt;/li&gt;
&lt;li&gt;Snapshot for Release 1 development post installation to Production, 
in a workspace taken from a branch at 1.2.4, 1st snapshot in this 
branch= 1.2.4.1&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Once there are multiple releases and multiple workspaces, this might
 need to be expanded to incorporate that. A possible approach would be 
going to other snapshots for subsequent releases (normally with a major 
scope change) or starting over from a snapshot of choice from a prior 
release.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
&lt;a href="https://www.blogger.com/null" name="NamingConventionPattern-EnvironmentVariables"&gt;&lt;/a&gt;Environment Variables&lt;/h4&gt;
Environment Variables Naming Pattern: Coming Soon&lt;br /&gt;

&lt;h4&gt;
&lt;a href="https://www.blogger.com/null" name="NamingConventionPattern-ProcessAppNames"&gt;&lt;/a&gt;Process App Names&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Name your Process Application after the main process in the PA or the business term/purpose for the PA&lt;/li&gt;
&lt;li&gt;Don’t use words “Process Application” in PA’s name&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
&lt;a href="https://www.blogger.com/null" name="NamingConventionPattern-ToolkitNames"&gt;&lt;/a&gt;Toolkit Names&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Name the toolkit after what utility/services it provides&lt;/li&gt;
&lt;li&gt;Add “Toolkit” or “Framework” word to the name, so the export of it can be differentiated from process applications.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
&lt;a href="https://www.blogger.com/null" name="NamingConventionPattern-ProcessApp&amp;amp;ToolkitNames"&gt;&lt;/a&gt;Process App &amp;amp; Toolkit Names&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Don’t use very long names try to keep it less than 64 characters&lt;/li&gt;
&lt;li&gt;Use white space between words to improve readability&lt;/li&gt;
&lt;li&gt;Avoid using abbreviation (this is what acronym is meant for) except common words to make the name shorter&lt;/li&gt;
&lt;li&gt;Put additional information in Description field&lt;/li&gt;
&lt;li&gt;Don’t use version number in the name (this is what snapshot should 
be used for), unless want to bring attention to the major change in the 
solution (like Axis2 vs Axis)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
&lt;a href="https://www.blogger.com/null" name="NamingConventionPattern-Diagram"&gt;&lt;/a&gt;Diagram&lt;/h2&gt;
The names of model artifacts should be shortened to be readable on 
the diagram, but they must still provide an explanation of what the 
attached artifact does.&lt;br /&gt;
&lt;br /&gt;

&lt;h4&gt;
&lt;a href="https://www.blogger.com/null" name="NamingConventionPattern-SpecificConventions"&gt;&lt;/a&gt;Specific Conventions&lt;/h4&gt;
&lt;b&gt;Logging.&lt;/b&gt;&amp;nbsp; For most logging-related library items, the words  “Log” or  “Logging” should appear in the name.&lt;br /&gt;

&lt;b&gt;Layouts.&lt;/b&gt;&amp;nbsp; Layout names will generally include the name of the 
 specific  type of layout, e.g. a coach layout will have the word 
“Coach”  in it.&amp;nbsp; Again,  this is not necessary, but it is useful.&lt;br /&gt;

&lt;b&gt;Variable Types.&lt;/b&gt;&amp;nbsp; Variable types must be all one word, no  
spaces and a  limited selection of special characters (0..9 and _ are  
allowed). Also, variable  types should always begin with a capital  
letter.&amp;nbsp; Usually new types are defined  to be complex objects  
(structures), and the standard for capitalization for such  types is to 
 be capitalized.&lt;br /&gt;

&lt;b&gt;UCAs.&lt;/b&gt;&amp;nbsp; UCAs that will be used as Events in a BPD should be  
named with  the word “Event” in the name.&amp;nbsp; For example, “New Order  
Event”.&amp;nbsp; The services  which implement these UCAs should be labeled as  
“Implement New Order Event” for example.&amp;nbsp; UCAs  which are not tied to a 
BPD  implementation should not include the word  “Event” in the name.&lt;br /&gt;

UCAs require attached Services – and it’s best to follow a convention
  where the name of the Service is “the same” as the name of the UCA.   
While it’s true that multiple UCAs can be attached to the same Service, 
 it’s generally easier to think of them in terms of a paired Service and
  UCA.&lt;br /&gt;

&lt;b&gt;Decision Points.&lt;/b&gt;&amp;nbsp; Decision points, whether in BPDs or  
Services, should  be in the form of a question.&amp;nbsp; All of the lines coming
  out of the decision  should be answers to the question.&lt;br /&gt;

Lines coming out of Decision points should have labels that indicate 
 the condition under which the path is taken.  Labels such as “yes” and 
 “no” require the reader to trace back to the Decision Gateway, so they 
 should be generally avoided in favor of something more descriptive like
  “loan exceeds $100″.&lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: large;"&gt;3. Reuse&lt;/span&gt; &lt;/h1&gt;
&lt;h2&gt;
Design Pattern&lt;/h2&gt;
Reuse is recognized as a fundamental best practice within the IT 
industry and has been practiced from the earliest days of programming. 
This basic principle is the basis of many other best practices including
 modularity, loose coupling, high cohesion, information hiding and 
separation of concerns.&lt;br /&gt;

The idea is that a solution should be comprised of reusable modules 
instead of replicating complete sections of the solution no matter how 
large or small. Each module is written once and maintained in one place.
 If another aspect of the solution needs the same functionality then it 
can simply delegate to the module that provides that functionality. This
 avoids redundancy within the solution, improves maintenance time, and 
promotes consistency.&lt;br /&gt;

Within IBM BPM resue is achieved by wrapping reuseable aspects of the
 solution within a service. A library of reuseable services may be 
developed that can simply be dragged onto other service or BPD diagrams 
as many times as required. Many other design patterns are based upon 
this idea. For example, the task service design pattern illustartes a 
specific example of a reusable service.&lt;br /&gt;

Services may be used to wrap other model artifacts, such as coaches 
and server script, that cannot be reused directly without introducing 
redundancy. The coach service design pattern and data access service 
design pattern provide good examples of this.&lt;br /&gt;

Generally it is a good idea to avoid exposing java script to business
 users wherever possible. Wrapping server script within a reuseable 
service hides the complexity of the Java Script and provides a simple 
component which the business user is more familiar with.&lt;br /&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: large;"&gt;4. Constructor Design Pattern&lt;/span&gt;&lt;/h1&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
Use the constructor design pattern to create and initialise the data 
in your business objects in a consistent fashion and in one single place
 with a reusable component model within a Process Application or 
Toolkit. Adopt this design approach, instead of having multiple process 
code locations for initialising and setting default values for Business 
Objects. Typically, Business Object initialisation is done using local 
private JavaScript blocks which make the code difficult to manage, 
update and leads to errors/defects that difficult to trace and fix.&lt;br /&gt;

This pattern is a specialisation of the standard Singleton Design pattern.&lt;br /&gt;

The main parts of this pattern are:&lt;br /&gt;

    Define a Business Object variable&lt;br /&gt;
    Create a general system service to be used as the singleton constructor&lt;br /&gt;
        Declare the target Business object as an input, output and private variable.&lt;br /&gt;
        Model the General System Service&lt;br /&gt;
    Create an initialisation wrapper service that calls the constructor&lt;br /&gt;

The example below creates a constructor for a list of Job Business Object.&lt;br /&gt;

&lt;h2&gt;
&lt;strong&gt;Define a Business Object variable&lt;/strong&gt;&lt;/h2&gt;
In this case, I’m using a complex variable called Job&lt;br /&gt;
The Business object consists of three parameters – JobDescription, JobStatus, and JobCompleted&lt;br /&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2014/12/BOdetails.png"&gt;&lt;img alt="BOdetails Constructor Design Pattern" class="alignnone size-full wp-image-564" height="458" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2014/12/BOdetails.png" title="Constructor Design Pattern" width="225" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;h2&gt;
&lt;strong&gt;Create a general system service to be used as the singleton constructor&lt;/strong&gt;&lt;/h2&gt;
Create a service of type “General System Service” that will be used 
to instantiate the Business Object and set default values, if required. &lt;br /&gt;

I’ve used the prefix underscore (_) in the name to indicate this 
service is a helper or utility service that should only be used within 
other services and never directly in a human service or BPD activity. 
This makes it easy to spot misuse and ensure process developers are 
using agreed design guidelines. Also make it easier to unit test 
services based on different implementation and usage types.&lt;br /&gt;

Created _constructorListOfJobs&lt;br /&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2014/12/constructorService-01Overview.png"&gt;&lt;img alt="constructorService 01Overview Constructor Design Pattern" class="alignnone size-full wp-image-563" height="530" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2014/12/constructorService-01Overview.png" title="Constructor Design Pattern" width="529" /&gt;&lt;/a&gt;&lt;br /&gt;

&lt;h2&gt;
&lt;strong&gt;Declare the target Business object as an input, output and private variable.&lt;/strong&gt;&lt;/h2&gt;
If your variable is a list also declare as an input an integer for 
the size of the list to be created and populated with default values.&lt;br /&gt;

The input and output variable should be the same Business Object type and have a descriptive name.&lt;br /&gt;
The private variable should be the same Business Object type as the 
input and output variables, called something like “_constructor”, using a
 naming convention to indicate this is only ever to be a private 
variable.&lt;br /&gt;
Select the “Has Defaults” check box for the private variable to 
auto-generate the script to create and initialise the Business object.&lt;br /&gt;

See screenshots below for details.&lt;br /&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2014/12/constructorService-02Variables.png"&gt;&lt;img alt="constructorService 02Variables Constructor Design Pattern" class="alignnone size-full wp-image-562" height="538" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2014/12/constructorService-02Variables.png" title="Constructor Design Pattern" width="301" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2014/12/constructorService-02Variables1.png"&gt;&lt;img alt="constructorService 02Variables1 Constructor Design Pattern" class="alignnone size-full wp-image-561" height="472" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2014/12/constructorService-02Variables1.png" title="Constructor Design Pattern" width="1072" /&gt;&lt;/a&gt;&lt;br /&gt;

&lt;h2&gt;
&lt;strong&gt;Model the General System Service&lt;/strong&gt;&lt;/h2&gt;
Create a script block that contains the default values for this type of Business Object.&lt;br /&gt;
In addition, you should add error handling and logging to catch any 
errors. Typical errors would be initialisation script errors occurring 
after the modification of the Business Object, for example renaming a 
parameter.&lt;br /&gt;
Usually, the “Has Defaults” auto generated script should update in synch
 with any changes in the Business object. If it does not for whatever 
reason, just uncheck and recheck the check box to correct the “Has 
Defaults” auto generated script.&lt;br /&gt;

If required, make the necessary changes to the default values 
initialisation script block. Now any referencing BPD or Service that 
requires a variable of this Business Object type to be created, 
initialised and possibly have default values set will automatically have
 the benefit of these changes.&lt;br /&gt;

Always nullify private variables for efficient memory management.&lt;br /&gt;

I’ve used two exits as this is consistent with the developer 
guidelines agreed on the project for modelling utility and helper 
services. This simplifies the models in parent services and makes the 
flow logic clear when a system error, as opposed to business exception, 
has occurred.&lt;br /&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2014/12/constructorService-03Constructor.png"&gt;&lt;img alt="constructorService 03Constructor Constructor Design Pattern" class="alignnone size-full wp-image-560" height="672" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2014/12/constructorService-03Constructor.png" title="Constructor Design Pattern" width="901" /&gt;&lt;/a&gt;&lt;br /&gt;

&lt;h2&gt;
&lt;strong&gt;Create an initialisation wrapper service that calls the constructor&lt;/strong&gt;&lt;/h2&gt;
Create a wrapper service that encapsulates and calls the constructor.
 This also has the benefit of being able to use the “Where Used” feature
 on the modular wrapper service to clearly see references to other 
services and BPDs using this particular Business Object initialisation 
logic, instead of trawling through individual private JavaScript blocks.&lt;br /&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2014/12/constructorService-04ConstructorWrapper.png"&gt;&lt;img alt="constructorService 04ConstructorWrapper Constructor Design Pattern" class="alignnone size-full wp-image-559" height="421" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2014/12/constructorService-04ConstructorWrapper.png" title="Constructor Design Pattern" width="494" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2014/12/constructorService-04ConstructorWrapper1.png"&gt;&lt;img alt="constructorService 04ConstructorWrapper1 Constructor Design Pattern" class="alignnone size-full wp-image-558" height="523" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2014/12/constructorService-04ConstructorWrapper1.png" title="Constructor Design Pattern" width="1034" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;span style="font-size: large;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;5. Loop Design Pattern&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
There are two ways to implement loops within services. One method is 
to write it entirely within Javascript, the other is to do it 
diagrammatically.&lt;br /&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Loop.jpg"&gt;&lt;img alt="Loop Loop Pattern" class="alignnone size-full wp-image-1054" height="310" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Loop.jpg" title="Loop Pattern" width="566" /&gt;&lt;/a&gt;&lt;br /&gt;

The preceding image illustrates a loop implemented diagrammatically. 
Some of these steps actually use small snippets of Javascript, but these
 are very simple constructs that business users can easily understand. 
The loop requires a counter to indicate the number of times the loop has
 been iterated. An Integer may be used for this purpose and is set to 
zero during the initialisation of the loop. Any other variable 
initialisation may also be performed during this step. For example:&lt;br /&gt;
&lt;code&gt;tw.local.count = 0;&lt;br /&gt;
tw.local.policyDebt = 0;&lt;/code&gt;&lt;br /&gt;

Loops are typically used to iterate over a list variable. The list may be empty, so the loop exit criteria must be checked before looping commences. The decision gateway Yes path will require a condition to be specified. For example:&lt;br /&gt;
&lt;code&gt;tw.local.count &amp;lt; tw.local.claims.listLength&lt;/code&gt;&lt;br /&gt;

Some action will be performed each time round the loop. Typically, this may be a Service, a Server Script or a combination. The list variable and counter may be used together to identify the next item within the list. This may be mapped to either an input or an output parameter of a service, or directly within a Server Script. For example:&lt;br /&gt;
&lt;code&gt;tw.local.policyDebt += tw.local.claims[tw.local.count].debt;&lt;/code&gt;&lt;br /&gt;

Before re-entering the decision gateway the counter is incremented. This either locates the next item within the list or triggers the exit condition. For example:&lt;br /&gt;
&lt;code&gt;tw.local.count++;&lt;/code&gt;&lt;br /&gt;

The following code segment illustrates a loop implemented entirely with Javascript:&lt;br /&gt;
&lt;code&gt;tw.local.policyDebt = 0;&lt;br /&gt;
for(varcount = 0; count 
  tw.local.policyDebt += tw.local.claims[count.debt];&lt;br /&gt;
}&lt;/code&gt;&lt;br /&gt;

The advantages of using the Javascript approach are: &lt;br /&gt;

&lt;ul class="a"&gt;
&lt;li&gt;&lt;strong&gt;Performance improvement.&lt;/strong&gt; There is a minimal run-time performance overhead when using the diagrammatic approach.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The speed of development.&lt;/strong&gt; An experienced Javascript programmer may prefer this approach as it is quicker to implement. &lt;/li&gt;
&lt;/ul&gt;
The advantages of using the diagrammatic approach are: &lt;br /&gt;

&lt;ul class="a"&gt;
&lt;li&gt;&lt;strong&gt;Easy for business users to understand&lt;/strong&gt;. i.e. They don't have to become a skilled Javascript programmer.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Easy to debug. &lt;/strong&gt;The process inspector allows BPM developers to step through each step within the loop and examine variables. Conversely, Server Scripts are executed atomically, so it is not possible to step through each step within a loop written entirely within Javascript.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Avoids infinite loops.&lt;/strong&gt; It is possible to define a loop either using Javascript or diagrammatically where the exit criteria is never satisfied. i.e. it loops forever. IBM BPM provides a facility to detect infinite loops. With diagrammatic loops it is possible for IBM BPM to stop services running infinite loops by using the admin console, whereas the only way to stop infinite loops written entirely in Javascript is to restart the process server.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Allows nested services to be used within the loop.&lt;/strong&gt; This is also technically possible within Javascript but it has its drawbacks - the syntax it is not business user friendly and services invoked using Javascript cannot contain coaches.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
&lt;span style="font-size: large;"&gt;Additional Notes&lt;/span&gt;&lt;/h2&gt;
If you run a simple test you may see exponential performance impact as you increase the number of loops. However, this is likely due to the structure of your test.  &lt;br /&gt;

When you add even a small operation, say a 20ms unit of work to be performed inside the illustrated test with a single loop of size 100, the results are no longer different between scripting and diagramming your loop.  You'd have 210s (canvas) vs. 200.055s (script).   For larger units of work, the difference approaches zero and becomes negligible.&lt;br /&gt;

Unless the unit of work inside the loop is insignificant (less than 10ms) and the size of the loop is significant (larger than 100) the performance difference between diagrammatic and script is negligible.  On the other hand, there will always be the JS sync issue in anything prior to TW7.&lt;br /&gt;

The only time a script loop makes any sense is for very small loop size and/or very small unit of work contained inside the loop.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: large;"&gt;6. Constants Pattern&lt;/span&gt;&lt;/h1&gt;
&lt;strong&gt;Overview&lt;/strong&gt;&lt;br /&gt;

Teamworks does not provide a model artefact specifically designed to 
maintain constants used within the Solution. Constants are used to 
promote consistency, improve maintenance and reduce typographical 
errors. Exposed Process Values (EPVs) are intended to be used to allow 
business users modify the parameters affecting business rules within the
 solution. However, EPVs may also be used to maintain constants.&lt;br /&gt;

For each EPV variable the External Name, Variable Name, External 
Description and Default Value should all be identical, as illustrated in
 Figure 1. Constants should not be directly exposed within the user 
interfaces, use localization resources instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/02/Constants.jpg"&gt;&lt;img alt="Constants 300x129 Constants Pattern" class="alignnone size-medium wp-image-652" height="129" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/02/Constants-300x129.jpg" title="Constants Pattern" width="300" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: large;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&amp;nbsp;Source : IBM&lt;br /&gt;
&lt;br /&gt;
 &lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>IBM BPM - Functional Architecture</title><link>http://teknoturfian.blogspot.com/2015_05_31_archive.html#1241284422999313822</link><pubDate>Tue, 2 Jun 2015 23:05:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-1241284422999313822</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h2&gt;
&lt;span style="font-size: large;"&gt;Design Pattern&lt;/span&gt;&lt;/h2&gt;
IBM BPM provides business process governance by leveraging existing 
legacy systems and data sources within organisations. IBM BPM is not 
intended to be the master of record nor replace existing systems and 
data sources, instead it integrates with these legacy assets, as 
illustrated in figure 1 (left-hand side). IBM BPM is a server-side 
application and provides its human interface by leveraging thin-client 
web browser technology supported by modern desktop computers and mobile 
devices. Figure 1 (right-hand-side) illustrates how a IBM BPM solution 
may be divided into a number of architectural layers. Figure 2 
(left-hand-side) illustrates where various model artefacts reside within
 each layer of the architecture. Each layer is responsible for a 
specific aspect of the solution. These model artefacts are described 
within other design patterns. &lt;br /&gt;

&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/TW-Arch-Layers.jpg"&gt;&lt;img alt="TW Arch Layers Layered Architecture Pattern" class="alignnone size-full wp-image-1135" height="672" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/TW-Arch-Layers.jpg" title="Layered Architecture Pattern" width="1272" /&gt;&lt;/a&gt;&lt;br /&gt;

The basic premise of these layers is based upon the de-facto 
Model-View-Controller design pattern that has been widely adopted 
throughout the IT industry. The Business Process layer is responsible 
for enforcing business process governance, the View layer is responsible
 for providing the user interface, and the Business Object Model (BOM) 
layer is responsible for providing a consistent means for accessing 
business data (regardless of where the data originated). The Business 
Object Model layer provides a common definition of business entities, 
their relationships and behaviour. The Integration layer is responsible 
for communicating with a variety of legacy systems and data sources in 
order to retrieve and store data. The Integration layer is responsible 
for interfacing with external systems and data sources using appropriate
 technologies (such as JDBC, Web Services, and Java connectors) and 
shields the other layers from having direct exposure to these 
interfaces.&lt;br /&gt;

Clients are encouraged to assemble BPM project teams with individuals
 from both the Business and IT. Clients often ask which aspects of the 
solution should the business be responsible for and and which aspects of
 the solution should IT be responsible for. A common assumption is that 
it should be possible to draw a horizontal line within the layered 
architecture to indicate which layers belong to the business and which 
belong to IT. In reality both parties are responsible for all layers 
within the architecture but the emphasis changes within each each layer,
 as illustrated in Figure 2 (right-hand-side). The diagram illustrates 
the division of responsibility with a diagonal line that passes through 
all the layers. The business has greater responsibility within the 
layers towards the the top of the architecture and IT has greater 
responsibility within the layers towards the bottom of the architecture.&lt;br /&gt;

&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/TW-Artefacts-Responsibility.jpg"&gt;&lt;img alt="TW Artefacts Responsibility Layered Architecture Pattern" class="alignnone size-full wp-image-1136" height="672" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/TW-Artefacts-Responsibility.jpg" title="Layered Architecture Pattern" width="1272" /&gt;&lt;/a&gt;&lt;br /&gt;

Figure 3 illustrates how data is passed between the layers 
(left-hand-side) and how data is transformed between the layers 
(right-hand-side). Each legacy asset usually has its own definition for 
representing business data. The Integration layer shields the other 
layers from these different data models and is responsible for 
transforming business data into the common Business Object Model. 
Similarly, the View layer may need to provide different ways of 
presenting data based upon the common Business Object Model. The View 
layer is responsible for translating data between the Business Object 
Model and the data structures required to support the various user 
interfaces. IBM BPM combines business data with coach definitions and 
automatically transforms it into HTML pages that are displayed within 
the web browser and vice-versa.&lt;br /&gt;

&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Data-Flow-vs-Data-Transformation.jpg"&gt;&lt;img alt="Data Flow vs Data Transformation Layered Architecture Pattern" class="alignnone size-full wp-image-1137" height="672" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/Data-Flow-vs-Data-Transformation.jpg" title="Layered Architecture Pattern" width="1272" /&gt;&lt;/a&gt;&lt;br /&gt;


&lt;h2&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h2&gt;
&lt;br /&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: large;"&gt;Reference Architecture&lt;/span&gt;&lt;/h1&gt;
&lt;h2&gt;
&lt;span style="font-size: small;"&gt;Purpose&lt;/span&gt;&lt;/h2&gt;
&lt;em&gt;&lt;/em&gt;
The reference architecture depicts typical cases of a functional 
architecture in traditional BPM projects.This can be taken as reference,
 guideline and best practice to create the application architecture on 
any BPM development project.There will never be a 100% pre-formed 
solution, therefore this may apply for 80% of cases and case dependent 
adjustment are recommended to be done.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h2&gt;
&lt;br /&gt;
&lt;h2&gt;
&lt;span style="font-size: small;"&gt;Architecture Overview&lt;/span&gt;&lt;/h2&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/BPM-Reference-Architecture-v1.jpg"&gt;&lt;img alt="BPM Reference Architecture v1 Reference Architecture" class="alignnone size-full wp-image-1142" height="720" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/03/BPM-Reference-Architecture-v1.jpg" title="Reference Architecture" width="960" /&gt;&lt;/a&gt;&lt;br /&gt;

The blue parts depict what’s usually part of the decision process of a BPM project.&lt;br /&gt;
The gray portion shows the pieces of the architecture that are usually 
out of scope to be designed by a BPM project are mostly part of a 
Enterprise Architecture initiative.&lt;br /&gt;
Most scenarios involve:&lt;br /&gt;

&lt;ul&gt;
&lt;li&gt;BPM itself with either coaches or a third party UI.&lt;/li&gt;
&lt;li&gt;A shared service environment (ESB)&lt;/li&gt;
&lt;li&gt;Shared data, which can either be enterprise master data management 
systems or simply other applications which have data that need to be 
accessed by one or more external systems&lt;/li&gt;
&lt;/ul&gt;
The reference architecture is divided into 4 layers:&lt;br /&gt;

&lt;h2&gt;
&lt;span style="font-size: small;"&gt;User Interface (UI)&lt;/span&gt;&lt;/h2&gt;
Visualization layer. &lt;br /&gt;

Mostly coaches are being used, therefore this can almost be neglected as coaches interaction with the process out of the box.&lt;br /&gt;
A commonly used alternative are custom UI, e.g. for mobile devices that interact with BPM using the REST API&lt;br /&gt;

&lt;h2&gt;
&lt;span style="font-size: small;"&gt;Application (App)&lt;/span&gt;&lt;/h2&gt;
The application layer holds the logic for each business application. Whether it is process oriented or not.&lt;br /&gt;

Business logic should always be solely held on the application layer 
and NOT distributed. Common mistakes are to have business logic either 
on the UI layer or even ESB.&lt;br /&gt;

If external systems interact with BPM, this can happen through different ways.&lt;br /&gt;

BPM can expose a service, e.g. web service, which would be called through ESB.&lt;br /&gt;

If the actual application is a combination of a external system 
together with BPM, it makes sense to interact using the WebServices API.&lt;br /&gt;

&lt;h2&gt;
&lt;span style="font-size: small;"&gt;Integration – Enterprise Service Bus (ESB)&lt;/span&gt;&lt;/h2&gt;
The ESB or Integration Layer is the portion of a architecture that integrates a application with other applications. &lt;br /&gt;

It is important to understand that a ESB is not a product. A ESB is a
 concept of a single instance (a bus) that exist within a company which 
enables you to access other enterprise services or data.&lt;br /&gt;

A ESB can be implemented different ways.&lt;br /&gt;

A very common and recommended way is to use existing products such as
 WebSphere Message Queue (MQ), WebSphere Message Broker (MB) or 
WebSphere ESB. However, it is not uncommon that clients have their own 
implementation of a ESB. Often even as custom java implementation.&lt;br /&gt;

&lt;h2&gt;
&lt;span style="font-size: small;"&gt;Canonical Model&lt;/span&gt;&lt;/h2&gt;
A ESB often implements the recommended pattern of a “canonical 
model”.This simply means that the enterprise data model “lives” on the 
ESB.Any application should basically implement this model. However, due 
to historical growth and many other reasons, application are often not 
able to do that or change their model into that fashion.For every 
service call that a application can do TO the ESB, the service data 
model gets the transformed into this standard model. From there it gets 
transformed into the target data model (if not the same).Through this, 
every transformation has only to be done once and is way more flexible 
for changes and enhancements as opposed to point-to-point 
transformations where every service call would have to maintained 
manually.&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>IBM BPM - Coach Views Separation of Concerns</title><link>http://teknoturfian.blogspot.com/2015_05_31_archive.html#8545551668997901030</link><pubDate>Tue, 2 Jun 2015 22:58:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-8545551668997901030</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
The following good practices are related to ensuring the right people are focused on the right things.&lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;Good practice – Divide the labor when you author custom coach views&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
Coach views are reusable user interface controls in the 
coaches framework of IBM®&amp;nbsp;Business Process Manager (BPM). IBM supplies a
 number of stock coach views, but you can create your own coach views 
for your own purposes. For these custom coach views, a good practice is 
to distinguish between atomic coach views and composite coach views:&lt;/div&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;Atomic coach views are coach views that are written with HTML and 
JavaScript. These coach views should be authored by someone on your team
 who is skilled in these languages. Everyone else on the development 
team can reuse atomic coach views that the skilled developer authored. 
Put these coach views into one toolkit for easy reuse.&lt;/li&gt;
&lt;li&gt;Composite coach views are coach views that are built from other 
coach views, for example a date-range coach view or user-address coach 
view. These coach views can be authored by team members who do not have 
HTML or JavaScript skills because authoring these coach views involves 
laying out and configuring other coach views.&lt;/li&gt;
&lt;/ul&gt;
&lt;div dir="ltr"&gt;
From a division-of-labor perspective, have one full- or 
part-time UI expert on the team to build the relatively rare atomic 
coach views; otherwise, the rest of the team can build many more 
reusable, composite coach views.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable editions: &lt;/strong&gt;Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable releases:&lt;/strong&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Source:&lt;/strong&gt; &lt;span style="text-decoration: underline;"&gt;&lt;a data-cke-saved-href="http://www.redbooks.ibm.com/redpieces/abstracts/sg248210.html" href="http://www.redbooks.ibm.com/redpieces/abstracts/sg248210.html" target="_blank"&gt;Leveraging&amp;nbsp;the&amp;nbsp;IBM&amp;nbsp;BPM&amp;nbsp;Coach&amp;nbsp;Framework&amp;nbsp;in&amp;nbsp;Your&amp;nbsp;Organization&lt;/a&gt;&lt;/span&gt;&amp;nbsp;(SG24-8210-00)&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>IBM BPM - Security, Topology, Installation, Configuration, and Migration</title><link>http://teknoturfian.blogspot.com/2015_05_31_archive.html#552752381383574559</link><pubDate>Tue, 2 Jun 2015 22:53:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-552752381383574559</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;1. Good practice – Plan your release-to-release migration&lt;/span&gt;&lt;/h1&gt;
&lt;div class="shortdesc" dir="ltr"&gt;
Before you migrate from a version or 
release to another version or release, for example from V8.0.x to 
V8.5.x, in&amp;nbsp;any production environment, make sure that you have migrated 
your staging or test environment and have tested your applications in 
the new environment.&lt;/div&gt;
&lt;div class="p" dir="ltr"&gt;
Migrate to a new version for one or more of the following reasons:
&lt;ul class="ul"&gt;
&lt;li class="li"&gt;You want to improve performance.&lt;/li&gt;
&lt;li class="li"&gt;You need fixes that are in the new version.&lt;/li&gt;
&lt;li class="li"&gt;You want to use new features that are provided in the new version.&lt;/li&gt;
&lt;li class="li"&gt;Your existing product version is going out of service.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="li"&gt;
Test your migration procedures for one or more of the following reasons:&lt;/div&gt;
&lt;/div&gt;
&lt;ul class="ul"&gt;
&lt;li class="li"&gt;You must estimate in advance the amount of downtime that 
will be needed for migration. An estimate of downtime cannot be created 
without testing the migration procedures.&lt;/li&gt;
&lt;li class="li"&gt;You want to make sure that the new version improves performance.&lt;/li&gt;
&lt;li class="li"&gt;You want to make sure that the fixes you require are in the new version and work as expected.&lt;/li&gt;
&lt;li class="li"&gt;You want to make sure that your existing applications work correctly in the new version.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="li"&gt;
For more information, read&amp;nbsp;&lt;a data-cke-saved-href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.5/com.ibm.wbpm.imuc.doc/topics/cpln_mig_planning.html" href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.6/com.ibm.wbpm.imuc.doc/topics/cpln_mig_planning.html" target="_blank"&gt;Planning&amp;nbsp;a&amp;nbsp;migration&lt;/a&gt;.&lt;/div&gt;
&lt;strong&gt;Applicable editions:&lt;/strong&gt;&amp;nbsp;Express, Standard, and Advanced&lt;br /&gt;
&lt;strong&gt;Applicable releases: &lt;/strong&gt;All&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;2. Good practice – Specify configuration values in 100Custom.xml&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
There are a number of XML-based configuration files for IBM™ Business Process Manager that you should never directly edit:&lt;/div&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;99Local.xml.&lt;/li&gt;
&lt;li&gt;00Static.xml&lt;/li&gt;
&lt;li&gt;50AppServer.xml&lt;/li&gt;
&lt;li&gt;60Database.xml&lt;/li&gt;
&lt;li&gt;80EventManager.xml&lt;/li&gt;
&lt;li&gt;98Database.xml&lt;/li&gt;
&lt;/ul&gt;
&lt;div dir="ltr"&gt;
To ensure that you do not lose changes when you migrate to a
 new release, always edit the configuration values in 100Custom.xml 
instead of editing the configuration values in these files directly.&lt;/div&gt;
&lt;div dir="ltr"&gt;
For detailed information, see &lt;a data-cke-saved-href="http://pic.dhe.ibm.com/infocenter/dmndhelp/v8r5m0/topic/com.ibm.wbpm.admin.doc/topics/managing_twks_config_settings.html" href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.6/com.ibm.wbpm.admin.doc/topics/managing_twks_config_settings.html?cp=SSFPJS_8.5.6&amp;amp;lang=en" target="_blank"&gt;The&amp;nbsp;99Local.xml&amp;nbsp;and&amp;nbsp;100Custom.xml&amp;nbsp;configuration&amp;nbsp;files&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable editions:&lt;/strong&gt; Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable releases:&lt;/strong&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;3. Good practice – Use an offline process server for production&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
In IBM® Process Center, you can register online process 
servers and offline process servers. Online process servers are 
convenient for easily deploying snapshots to them by interactively using
 the Process Center user interface. However, for security reasons, it is
 a good practice to register the process server cell that runs your 
processes in production as an offline process server. By being offline, 
it prevents developers from being able to access and change the process 
using Process Designer’s inspector. Furthermore, being offline enables 
the Process Center and your mission-critical production server to be on 
different networks.&lt;/div&gt;
&lt;div dir="ltr"&gt;
An acceptable alternative to using an offline Process 
Server for production is to have a separate Process Center just for 
online deployment to production. In this scenario,&amp;nbsp;no Process Designer 
users should be given security permission to access the Process Center.&lt;/div&gt;
&lt;div dir="ltr"&gt;
For information about how to deploy to an offline process server, see&amp;nbsp;&lt;a data-cke-saved-href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.5/com.ibm.wbpm.admin.doc/topics/releasing_installing_procs_D.html" href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.6/com.ibm.wbpm.admin.doc/topics/releasing_installing_procs_D.html" target="_blank"&gt;Installing&amp;nbsp;snapshots&amp;nbsp;on&amp;nbsp;offline&amp;nbsp;process&amp;nbsp;servers&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable editions:&amp;nbsp;&lt;/strong&gt;Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable releases: &lt;/strong&gt;All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;4. Good practice – Use the rolling upgrade option when you update IBM BPM&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
If you install IBM® Business Process Manager (BPM) fix 
packs V7.5.1.2, V8.0.1.2, V8.5.0.1, or upgrade to V8.5.5 or V8.5.6 from 
V8.5.0.1 or V8.5.5, you can use the rolling upgrade option. By using the
 rolling upgrade approach, you can incrementally upgrade one process 
server at a time, starting with test, then staging, and finishing with 
production. The final step is to upgrade your IBM Process Center and 
desktop tools. The rolling upgrade approach is safer because you can 
certify one cell at a time before upgrading the next cell, and it 
requires less down time for processes that are in production because you
 don’t have to wait for all the servers to be upgraded and certified to 
continue in-production processes.&lt;/div&gt;
&lt;div dir="ltr"&gt;
Note, however, that in V7.5.1.2 your process servers must 
be offline, while in subsequent releases they can remain online. In all 
releases, you might not be able to debug your process applications &amp;nbsp;by 
using IBM Process Designer until both IBM BPM Process Server and Process
 Designer are at the same level.&lt;/div&gt;
&lt;div dir="ltr"&gt;
For more information, see &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.6/com.ibm.wbpm.imuc.doc/topics/tmig_rolling_upgrade.html?lang=en" target="_blank"&gt;Performing a rolling upgrade&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable editions: &lt;/strong&gt;Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable releases: &lt;/strong&gt;All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;5. Good-practice resource – Implement the appropriate IBM BPM production topology&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
Are you an IT architect or IT specialist who wants to 
understand, select, and implement the appropriate production topologies 
for an environment? If so, follow the step-by-step instructions to build
 those topologies in the appropriate information:&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;a data-cke-saved-href="http://www.redbooks.ibm.com/abstracts/sg248135.html?Open" href="http://www.redbooks.ibm.com/abstracts/sg248135.html?Open" target="_blank"&gt;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;Version&amp;nbsp;8.0&amp;nbsp;Production&amp;nbsp;Topologies&lt;/a&gt;
 – This IBM® Redbook® describes how to build production topologies for 
IBM Business Process Manager (BPM) V8.0 and is an update of the existing
 book IBM BPM V7.5 Production Topologies, SG24-7976.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;a href="http://www.redbooks.ibm.com/redbooks/pdfs/sg248175.pdf" target="_blank" title="Business Process Management Deployment Guide Using IBM Business Process Manager V8.5"&gt;Business Process Management Deployment Guide Using IBM Business Process Manager V8.5&lt;/a&gt;
 – This IBM Redbook provides an introduction to designing and building 
IBM Business Process Manager V8.5 environments. It introduces the 
changes and new features in IBM BPM V8.5 and provides an overview of the
 basic topology and components. This book also provides an overview of a
 consolidated migration approach that was introduced in V8.5.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;a data-cke-saved-href="http://pic.dhe.ibm.com/infocenter/dmndhelp/v8r5m0/index.jsp?topic=%2Fcom.ibm.wbpm.imuc.doc%2Ftopics%2Ftins_inst_topologies.html" href="http://www.ibm.com/support/knowledgecenter/SSFTDH_8.5.6/com.ibm.wbpm.imuc.doc/topics/tins_inst_topologies.html" target="_blank"&gt;Planning&amp;nbsp;your&amp;nbsp;network&amp;nbsp;deployment&amp;nbsp;environment&lt;/a&gt; – This topic specifically refers to the IBM Business Process Manager V8.5 production topology.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable editions:&lt;/strong&gt; Express, Standard, Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable releases:&lt;/strong&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;6. Good-practice resource – Secure your IBM BPM environment&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
It is important to secure your IBM® Business Process Manager environment.&lt;/div&gt;
&lt;div dir="ltr"&gt;
If you are on IBM BPM V7.5.1, consult the IBM Redbooks® publication &lt;a data-cke-saved-href="http://www.redbooks.ibm.com/abstracts/sg248027.html?Open" href="http://www.redbooks.ibm.com/abstracts/sg248027.html?Open" target="_blank"&gt;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;Security:&amp;nbsp;Concepts&amp;nbsp;and&amp;nbsp;Guidance&lt;/a&gt;,
 which provides information about security that concerns an 
organization’s business process management (BPM) program, common 
security holes that often occur in this field, and techniques for 
rectifying these holes. This book documents preferred practices and 
common security hardening exercises that will help you achieve a secured
 IBM BPM installation.&lt;/div&gt;
&lt;div dir="ltr"&gt;
If you are on IBM BPM V8.0, see &lt;a data-cke-saved-href="http://pic.dhe.ibm.com/infocenter/dmndhelp/v8r0mx/index.jsp?topic=%2Fcom.ibm.wbpm.admin.doc%2Ftopics%2Fwelcome_wps_sec.html" href="http://pic.dhe.ibm.com/infocenter/dmndhelp/v8r0mx/index.jsp?topic=%2Fcom.ibm.wbpm.admin.doc%2Ftopics%2Fwelcome_wps_sec.html"&gt;Securing&amp;nbsp;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;and&amp;nbsp;application&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
If you are on IBM BPM V8.5, see &lt;a data-cke-saved-href="http://pic.dhe.ibm.com/infocenter/dmndhelp/v8r5m0/topic/com.ibm.wbpm.admin.doc/topics/welcome_wps_sec.html" href="http://pic.dhe.ibm.com/infocenter/dmndhelp/v8r5m0/topic/com.ibm.wbpm.admin.doc/topics/welcome_wps_sec.html" target="_blank"&gt;Securing&amp;nbsp;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;and&amp;nbsp;applications&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
If you are on IBM BPM V8.5.5, see &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.5/com.ibm.wbpm.imuc.doc/topics/csec_elementsofsecurity.html?cp=SSFPJS_8.5.5&amp;amp;lang=en" target="_blank"&gt;Application security&lt;/a&gt; and &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.5/com.ibm.wbpm.imuc.ebpm.doc/topics/welcome_wps_sec.html?cp=SSFPJS_8.5.5&amp;amp;lang=en" target="_blank"&gt;Creating a secure environment&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
If you are on IBM BPM V8.5.6, see &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.6/com.ibm.wbpm.imuc.doc/topics/csec_elementsofsecurity.html?cp=SSFPJS_8.5.6&amp;amp;lang=en" target="_blank"&gt;Application security&lt;/a&gt; and &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.6/com.ibm.wbpm.imuc.ebpm.doc/topics/welcome_wps_sec.html?cp=SSFPJS_8.5.6&amp;amp;lang=en" target="_blank"&gt;Creating a secure environment&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable editions:&lt;/strong&gt; Express, Standard, Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable releases:&lt;/strong&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;7. Good-practice resource – Use the IBM Business 
Process Manager Interactive Installation and Configuration Guide or the 
Interactive Migration Guide&lt;/span&gt;&lt;/h1&gt;
The &lt;a href="https://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.6/com.ibm.wbpm.imuc.doc/topics/bpm_roadmap_form.html" target="_blank"&gt;IBM Business Process Manager Interactive Installation and Configuration Guide&lt;/a&gt;
 takes you through the steps for installing and configuring IBM Business
 Process Manager (IBM BPM) by using installation and configuration rules
 and considerations that are described in other topics in the 
documentation.&lt;br /&gt;

If you are migrating business data and applications from a previous version, use the &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFTDH_8.5.6/com.ibm.wbpm.imuc.doc/topics/bpm_mig_roadmap_form.html?cp=SSFTDH_8.5.6&amp;amp;lang=en" target="_blank"&gt;IBM Business Process Manager Interactive Migration Guide&lt;/a&gt;
 instead. The Interactive Migration Guide generates instructions for a 
complete migration, including installing and configuring IBM BPM.&lt;br /&gt;

&lt;b&gt;Applicable editions: &lt;/b&gt;Express, Standard, and Advanced&lt;br /&gt;

&lt;b&gt;Applicable releases:&lt;/b&gt; All&lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;br /&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author><enclosure length="14575645" type="application/pdf" url="http://www.redbooks.ibm.com/redbooks/pdfs/sg248175.pdf"/><itunes:explicit>yes</itunes:explicit><itunes:subtitle>1. Good practice – Plan your release-to-release migration Before you migrate from a version or release to another version or release, for example from V8.0.x to V8.5.x, in&amp;nbsp;any production environment, make sure that you have migrated your staging or test environment and have tested your applications in the new environment. Migrate to a new version for one or more of the following reasons: You want to improve performance. You need fixes that are in the new version. You want to use new features that are provided in the new version. Your existing product version is going out of service. Test your migration procedures for one or more of the following reasons: You must estimate in advance the amount of downtime that will be needed for migration. An estimate of downtime cannot be created without testing the migration procedures. You want to make sure that the new version improves performance. You want to make sure that the fixes you require are in the new version and work as expected. You want to make sure that your existing applications work correctly in the new version. For more information, read&amp;nbsp;Planning&amp;nbsp;a&amp;nbsp;migration. Applicable editions:&amp;nbsp;Express, Standard, and Advanced Applicable releases: All 2. Good practice – Specify configuration values in 100Custom.xml There are a number of XML-based configuration files for IBM™ Business Process Manager that you should never directly edit: 99Local.xml. 00Static.xml 50AppServer.xml 60Database.xml 80EventManager.xml 98Database.xml To ensure that you do not lose changes when you migrate to a new release, always edit the configuration values in 100Custom.xml instead of editing the configuration values in these files directly. For detailed information, see The&amp;nbsp;99Local.xml&amp;nbsp;and&amp;nbsp;100Custom.xml&amp;nbsp;configuration&amp;nbsp;files. Applicable editions: Express, Standard, and Advanced Applicable releases: All 3. Good practice – Use an offline process server for production In IBM® Process Center, you can register online process servers and offline process servers. Online process servers are convenient for easily deploying snapshots to them by interactively using the Process Center user interface. However, for security reasons, it is a good practice to register the process server cell that runs your processes in production as an offline process server. By being offline, it prevents developers from being able to access and change the process using Process Designer’s inspector. Furthermore, being offline enables the Process Center and your mission-critical production server to be on different networks. An acceptable alternative to using an offline Process Server for production is to have a separate Process Center just for online deployment to production. In this scenario,&amp;nbsp;no Process Designer users should be given security permission to access the Process Center. For information about how to deploy to an offline process server, see&amp;nbsp;Installing&amp;nbsp;snapshots&amp;nbsp;on&amp;nbsp;offline&amp;nbsp;process&amp;nbsp;servers. Applicable editions:&amp;nbsp;Express, Standard, and Advanced Applicable releases: All 4. Good practice – Use the rolling upgrade option when you update IBM BPM If you install IBM® Business Process Manager (BPM) fix packs V7.5.1.2, V8.0.1.2, V8.5.0.1, or upgrade to V8.5.5 or V8.5.6 from V8.5.0.1 or V8.5.5, you can use the rolling upgrade option. By using the rolling upgrade approach, you can incrementally upgrade one process server at a time, starting with test, then staging, and finishing with production. The final step is to upgrade your IBM Process Center and desktop tools. The rolling upgrade approach is safer because you can certify one cell at a time before upgrading the next cell, and it requires less down time for processes that are in production because you don’t have to wait for all the servers to be upgraded and certified to continue in-production processes. Note, however, that in V7.5.1.2 your process servers must be offline, while in subsequent releases they can remain online. In all releases, you might not be able to debug your process applications &amp;nbsp;by using IBM Process Designer until both IBM BPM Process Server and Process Designer are at the same level. For more information, see Performing a rolling upgrade. Applicable editions: Express, Standard, and Advanced Applicable releases: All 5. Good-practice resource – Implement the appropriate IBM BPM production topology Are you an IT architect or IT specialist who wants to understand, select, and implement the appropriate production topologies for an environment? If so, follow the step-by-step instructions to build those topologies in the appropriate information: IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;Version&amp;nbsp;8.0&amp;nbsp;Production&amp;nbsp;Topologies – This IBM® Redbook® describes how to build production topologies for IBM Business Process Manager (BPM) V8.0 and is an update of the existing book IBM BPM V7.5 Production Topologies, SG24-7976. Business Process Management Deployment Guide Using IBM Business Process Manager V8.5 – This IBM Redbook provides an introduction to designing and building IBM Business Process Manager V8.5 environments. It introduces the changes and new features in IBM BPM V8.5 and provides an overview of the basic topology and components. This book also provides an overview of a consolidated migration approach that was introduced in V8.5. Planning&amp;nbsp;your&amp;nbsp;network&amp;nbsp;deployment&amp;nbsp;environment – This topic specifically refers to the IBM Business Process Manager V8.5 production topology. Applicable editions: Express, Standard, Advanced Applicable releases: All 6. Good-practice resource – Secure your IBM BPM environment It is important to secure your IBM® Business Process Manager environment. If you are on IBM BPM V7.5.1, consult the IBM Redbooks® publication IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;Security:&amp;nbsp;Concepts&amp;nbsp;and&amp;nbsp;Guidance, which provides information about security that concerns an organization’s business process management (BPM) program, common security holes that often occur in this field, and techniques for rectifying these holes. This book documents preferred practices and common security hardening exercises that will help you achieve a secured IBM BPM installation. If you are on IBM BPM V8.0, see Securing&amp;nbsp;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;and&amp;nbsp;application. If you are on IBM BPM V8.5, see Securing&amp;nbsp;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;and&amp;nbsp;applications. If you are on IBM BPM V8.5.5, see Application security and Creating a secure environment. If you are on IBM BPM V8.5.6, see Application security and Creating a secure environment. Applicable editions: Express, Standard, Advanced Applicable releases: All 7. Good-practice resource – Use the IBM Business Process Manager Interactive Installation and Configuration Guide or the Interactive Migration Guide The IBM Business Process Manager Interactive Installation and Configuration Guide takes you through the steps for installing and configuring IBM Business Process Manager (IBM BPM) by using installation and configuration rules and considerations that are described in other topics in the documentation. If you are migrating business data and applications from a previous version, use the IBM Business Process Manager Interactive Migration Guide instead. The Interactive Migration Guide generates instructions for a complete migration, including installing and configuring IBM BPM. Applicable editions: Express, Standard, and Advanced Applicable releases: All &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;</itunes:subtitle><itunes:author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</itunes:author><itunes:summary>1. Good practice – Plan your release-to-release migration Before you migrate from a version or release to another version or release, for example from V8.0.x to V8.5.x, in&amp;nbsp;any production environment, make sure that you have migrated your staging or test environment and have tested your applications in the new environment. Migrate to a new version for one or more of the following reasons: You want to improve performance. You need fixes that are in the new version. You want to use new features that are provided in the new version. Your existing product version is going out of service. Test your migration procedures for one or more of the following reasons: You must estimate in advance the amount of downtime that will be needed for migration. An estimate of downtime cannot be created without testing the migration procedures. You want to make sure that the new version improves performance. You want to make sure that the fixes you require are in the new version and work as expected. You want to make sure that your existing applications work correctly in the new version. For more information, read&amp;nbsp;Planning&amp;nbsp;a&amp;nbsp;migration. Applicable editions:&amp;nbsp;Express, Standard, and Advanced Applicable releases: All 2. Good practice – Specify configuration values in 100Custom.xml There are a number of XML-based configuration files for IBM™ Business Process Manager that you should never directly edit: 99Local.xml. 00Static.xml 50AppServer.xml 60Database.xml 80EventManager.xml 98Database.xml To ensure that you do not lose changes when you migrate to a new release, always edit the configuration values in 100Custom.xml instead of editing the configuration values in these files directly. For detailed information, see The&amp;nbsp;99Local.xml&amp;nbsp;and&amp;nbsp;100Custom.xml&amp;nbsp;configuration&amp;nbsp;files. Applicable editions: Express, Standard, and Advanced Applicable releases: All 3. Good practice – Use an offline process server for production In IBM® Process Center, you can register online process servers and offline process servers. Online process servers are convenient for easily deploying snapshots to them by interactively using the Process Center user interface. However, for security reasons, it is a good practice to register the process server cell that runs your processes in production as an offline process server. By being offline, it prevents developers from being able to access and change the process using Process Designer’s inspector. Furthermore, being offline enables the Process Center and your mission-critical production server to be on different networks. An acceptable alternative to using an offline Process Server for production is to have a separate Process Center just for online deployment to production. In this scenario,&amp;nbsp;no Process Designer users should be given security permission to access the Process Center. For information about how to deploy to an offline process server, see&amp;nbsp;Installing&amp;nbsp;snapshots&amp;nbsp;on&amp;nbsp;offline&amp;nbsp;process&amp;nbsp;servers. Applicable editions:&amp;nbsp;Express, Standard, and Advanced Applicable releases: All 4. Good practice – Use the rolling upgrade option when you update IBM BPM If you install IBM® Business Process Manager (BPM) fix packs V7.5.1.2, V8.0.1.2, V8.5.0.1, or upgrade to V8.5.5 or V8.5.6 from V8.5.0.1 or V8.5.5, you can use the rolling upgrade option. By using the rolling upgrade approach, you can incrementally upgrade one process server at a time, starting with test, then staging, and finishing with production. The final step is to upgrade your IBM Process Center and desktop tools. The rolling upgrade approach is safer because you can certify one cell at a time before upgrading the next cell, and it requires less down time for processes that are in production because you don’t have to wait for all the servers to be upgraded and certified to continue in-production processes. Note, however, that in V7.5.1.2 your process servers must be offline, while in subsequent releases they can remain online. In all releases, you might not be able to debug your process applications &amp;nbsp;by using IBM Process Designer until both IBM BPM Process Server and Process Designer are at the same level. For more information, see Performing a rolling upgrade. Applicable editions: Express, Standard, and Advanced Applicable releases: All 5. Good-practice resource – Implement the appropriate IBM BPM production topology Are you an IT architect or IT specialist who wants to understand, select, and implement the appropriate production topologies for an environment? If so, follow the step-by-step instructions to build those topologies in the appropriate information: IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;Version&amp;nbsp;8.0&amp;nbsp;Production&amp;nbsp;Topologies – This IBM® Redbook® describes how to build production topologies for IBM Business Process Manager (BPM) V8.0 and is an update of the existing book IBM BPM V7.5 Production Topologies, SG24-7976. Business Process Management Deployment Guide Using IBM Business Process Manager V8.5 – This IBM Redbook provides an introduction to designing and building IBM Business Process Manager V8.5 environments. It introduces the changes and new features in IBM BPM V8.5 and provides an overview of the basic topology and components. This book also provides an overview of a consolidated migration approach that was introduced in V8.5. Planning&amp;nbsp;your&amp;nbsp;network&amp;nbsp;deployment&amp;nbsp;environment – This topic specifically refers to the IBM Business Process Manager V8.5 production topology. Applicable editions: Express, Standard, Advanced Applicable releases: All 6. Good-practice resource – Secure your IBM BPM environment It is important to secure your IBM® Business Process Manager environment. If you are on IBM BPM V7.5.1, consult the IBM Redbooks® publication IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;Security:&amp;nbsp;Concepts&amp;nbsp;and&amp;nbsp;Guidance, which provides information about security that concerns an organization’s business process management (BPM) program, common security holes that often occur in this field, and techniques for rectifying these holes. This book documents preferred practices and common security hardening exercises that will help you achieve a secured IBM BPM installation. If you are on IBM BPM V8.0, see Securing&amp;nbsp;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;and&amp;nbsp;application. If you are on IBM BPM V8.5, see Securing&amp;nbsp;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;and&amp;nbsp;applications. If you are on IBM BPM V8.5.5, see Application security and Creating a secure environment. If you are on IBM BPM V8.5.6, see Application security and Creating a secure environment. Applicable editions: Express, Standard, Advanced Applicable releases: All 7. Good-practice resource – Use the IBM Business Process Manager Interactive Installation and Configuration Guide or the Interactive Migration Guide The IBM Business Process Manager Interactive Installation and Configuration Guide takes you through the steps for installing and configuring IBM Business Process Manager (IBM BPM) by using installation and configuration rules and considerations that are described in other topics in the documentation. If you are migrating business data and applications from a previous version, use the IBM Business Process Manager Interactive Migration Guide instead. The Interactive Migration Guide generates instructions for a complete migration, including installing and configuring IBM BPM. Applicable editions: Express, Standard, and Advanced Applicable releases: All &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;</itunes:summary><itunes:keywords>LWUIT,Java,J2ee,J2me,Php,Oracle,C,C,MQ,MQBroker,XML,Db2</itunes:keywords></item><item><title>IBM BPM - Performance</title><link>http://teknoturfian.blogspot.com/2015_05_31_archive.html#9065440574504759610</link><pubDate>Tue, 2 Jun 2015 22:43:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-9065440574504759610</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;1. Good practice – Avoid excessive use of server-side JavaScript&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
Avoid large server-side JavaScript blocks within BPDs and 
services, because JavaScript is interpreted and therefore is slower to 
process than other compiled mechanisms, such as Java™ code.&lt;/div&gt;
&lt;div dir="ltr"&gt;
Furthermore, large JavaScript scripts often indicate that 
too much integration logic is being placed in the business process layer
 instead of having that logic encapsulated in Java code, or in an 
Advanced Integration service if you are using IBM™ Business Process 
Manager Advanced, or externally in an Enterprise Service Bus.&lt;/div&gt;
&lt;div dir="ltr"&gt;
Beyond performance concerns, complex JavaScript runs the 
risk of infinite loops and other coding errors that are hard to triage 
and recover from.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable editions:&lt;/strong&gt; Express, Standard, Advanced.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable releases:&lt;/strong&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;2. Good practice – Avoid large business objects in a process or service&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
Business processes in IBM® Business Process Manager should 
store only the data that is needed for the process or a service in the 
process as the process runs. Avoid large “cargo” object data being 
carried through the process because that data needs to be persisted as 
process instance state.&lt;/div&gt;
&lt;div dir="ltr"&gt;
When large amounts of data are stored as variables, they 
use memory and disk space in the process database, require serializing 
and deserializing, and they will be copied on by-value invocations. 
According to the&amp;nbsp;&lt;a data-cke-saved-href="http://www.redbooks.ibm.com/redpapers/pdfs/redp4935.pdf" href="http://www.redbooks.ibm.com/abstracts/SG248216.html?Open" target="_blank" title="(Opens a PDF file)"&gt;IBM Business Process Manager V8.5 Performance Tuning and Best Practices&lt;/a&gt;
 Redpaper, “In general, objects that are 5 MB or larger might be 
considered “large” and require special attention. Objects of 100 MB or 
larger are “very large” and generally require significant tuning to be 
processed successfully.”&lt;/div&gt;
&lt;div dir="ltr"&gt;
One way to avoid carrying data is to use the Claim Check 
pattern; the large object is persisted in a separate system of record 
and only a reference to it is used in the process. Claim Check is an 
enterprise integration pattern (eaipatterns.com/StoreInLibrary.html). 
For information about using the claim check pattern with BPEL, see &lt;a data-cke-saved-href="http://www.ibm.com/developerworks/websphere/library/techarticles/1006_kharlamov/1006_kharlamov.html" href="http://www.ibm.com/developerworks/websphere/library/techarticles/1006_kharlamov/1006_kharlamov.html" target="_blank" title="(Opens in a new tab or window)"&gt;Improving application efficiency with the Claim Check pattern in WebSphere Integration Developer V6.2.0.1&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
In addition, retrieve data only when it is needed, and 
carry data for only as long as it is needed. Consider the following 
examples:&lt;/div&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;A process refers to a customer and displays the customer’s address 
and order history at a point in the process. If the process does not 
need this information elsewhere, it should not be stored in the process;
 the information should be retrieved from the system of record as 
reference data before it is displayed.&lt;/li&gt;
&lt;li&gt;A call to a web-service brings in 100 fields of data. The process 
needs only 2 fields of this data. Ensure that the rest of the data that 
is retrieved from the call is not stored and that the variables are 
nulled after use so the JVM can do garbage collection.&lt;/li&gt;
&lt;li&gt;A process requires a file to be uploaded by a user and added to an 
Enterprise Content Management system. This scenario is best handled by 
using the Document List coach view which allows uploading of a document 
directly from a user’s machine without using an intermediate process or 
service variable to hold the contents of the file.&lt;/li&gt;
&lt;/ul&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable editions:&lt;/strong&gt; Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable releases:&lt;/strong&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;3. Good practice – Avoid multiple sequential system lane activities&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
In IBM® Business Process Manager, minimize the extra resources that are needed for multiple system lane transitions.&lt;/div&gt;
&lt;div dir="ltr"&gt;
Each system lane activity is considered a new Event Manager
 task, which adds a task transition in IBM Process Server. These task 
transitions are expensive. If your business process definition (BPD) 
contains multiple system lane service tasks in a row, use one system 
lane task that wraps the others to minimize the extra resources that 
these transitions need.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable editions:&lt;/strong&gt; Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable releases:&lt;/strong&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Source:&lt;/strong&gt; &amp;nbsp;&lt;a data-cke-saved-href="http://www.redbooks.ibm.com/redpapers/pdfs/redp4935.pdf" href="http://www.redbooks.ibm.com/abstracts/SG248216.html?Open" target="_blank" title="(Opens a PDF file)"&gt;IBM Business Process Manager V8.5 Performance Tuning and Best Practices&lt;/a&gt; Redpaper&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;4. Good practice – Place Process Center near where your Process Designer users are physically located&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
If you have a geographically disperse business process 
management (BPM) development team, it is better to have regional IBM® 
Process Centers than to have a single shared Process Center that is 
accessed by remote Process Designer authoring clients.&lt;/div&gt;
&lt;div dir="ltr"&gt;
The Process Designer interacts frequently with the Process 
Center for authoring tasks. For this reason, minimize network latency to
 provide optimal response times. Place the Process Center in or near the
 same physical location as the Process Designer users. Process Designer 
clients that connect to a very remote Process Center might experience 
slow performance and dropped connections.&lt;/div&gt;
&lt;div dir="ltr"&gt;
To share content between Process Centers, exchange .twx files or, as of IBM Business Process Manager V8.0, see &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.6/com.ibm.wbpm.admin.doc/topics/sharing_pa_toolkit.html" target="_blank"&gt;Registering Process&amp;nbsp;Centers and sharing toolkits&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable editions:&lt;/strong&gt; Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable releases:&lt;/strong&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Source:&lt;/strong&gt;&amp;nbsp;&lt;a data-cke-saved-href="http://www.redbooks.ibm.com/redpapers/pdfs/redp4935.pdf" href="http://www.redbooks.ibm.com/abstracts/SG248216.html?Open" target="_blank" title="(Opens a PDF file)"&gt;IBM Business Process Manager V8.5 Performance Tuning and Best Practices&lt;/a&gt; Redpaper&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;5. Good practice – Purge data regularly&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
If your IBM® Business Process Manager data grows without 
bounds, it can over time lead to disk space issues and to performance 
issues as database queries take longer and longer to process. Therefore,
 it is important to have a policy of continuously removing older data. 
There are a number of places within IBM BPM where data is collected.&lt;/div&gt;
&lt;div dir="ltr"&gt;
Consult the article &lt;a data-cke-saved-href="http://www.ibm.com/developerworks/bpm/bpmjournal/1312_spriet/1312_spriet.html" href="http://www.ibm.com/developerworks/bpm/bpmjournal/1312_spriet/1312_spriet.html"&gt;Purging&amp;nbsp;data&amp;nbsp;in&amp;nbsp;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&lt;/a&gt;
 on developerWorks to understand where with the product data is 
collected and how to purge it. Decide which data to purge and how often.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable editions:&lt;/strong&gt; Express, Standard, Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable releases:&lt;/strong&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;6. Good practice – Use efficient SQL statements&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
When you write SQL statements directly in IBM® Business 
Process Manager, such as from server-side JavaScript in a service, 
ensure that you use typical SQL good practices for performance and 
resiliency.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Avoid using ‘SELECT * from ‘&lt;/strong&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
When you use ‘SELECT * ‘ all the fields from the table or 
view are returned. If the table changes, the list of fields also 
changes, which might not be what you want, especially when you are 
mapping directly to a business object where the new names might not 
exist.&lt;/div&gt;
&lt;div dir="ltr"&gt;
In addition, the asterisk (*) might return many columns in the results that are not needed but take up memory.&lt;/div&gt;
&lt;div dir="ltr"&gt;
Instead, explicitly name the columns that you want returned
 as a result name, for example “SELECT &lt;column1&gt; AS 
&lt;result1name&gt;, &lt;column2&gt; AS &lt;result2name&gt;”. The use of
 AS means that your business object names do not need to match the 
database column names and can be more meaningful. For example, CST1NAM 
could map to CustomerName.&lt;/result2name&gt;&lt;/column2&gt;&lt;/result1name&gt;&lt;/column1&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Use parameter markers&lt;/strong&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
Do not construct an SQL statement by concatenating variable names, such as&lt;/div&gt;
&lt;div dir="ltr"&gt;
“SELECT CUST_NAME FROM CUST_MAST WHERE CUST_NUM=”+tw.local.customer_number&lt;/div&gt;
&lt;div dir="ltr"&gt;
If you concatenate variable names, the database cannot precompile and cache the select statement because it changes every time.&lt;/div&gt;
&lt;div dir="ltr"&gt;
Instead, use parameter markers, such as in “SELECT CUST_NAME FROM CUST_MAST WHERE CUST_NUM=?”, and then set the parameter value.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Better yet, wrap database access in an SOA service that is invoked remotely or by using an Advanced Integration service.&lt;/strong&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable editions:&lt;/strong&gt; Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable releases:&lt;/strong&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;7. Good practice – Use query tables for BPEL processes&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
For BPEL process list and human task queries in IBM 
WebSphere® Process Server and IBM Business Process Manager (BPM) 
Advanced, use composite query tables to achieve excellent response times
 for high-volume task and process list queries.&lt;/div&gt;
&lt;div dir="ltr"&gt;
Particularly in production scenarios, use composite query 
tables instead of the standard Business Process Choreographer query APIs
 because composite query tables provide an abstraction over the actual 
implementation of the query and, therefore, enable query optimization. 
Furthermore, you can change composite query tables at run time without 
redeploying the client that accesses the query table.&lt;/div&gt;
&lt;div dir="ltr"&gt;
For information about query tables, see &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.6/com.ibm.wbpm.main.doc/topics/c6bpel_querytables.html?cp=SSFPJS_8.5.6&amp;amp;lang=en" target="_blank"&gt;Query tables in Business Process Choreographer&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
Source : IBM &lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author><enclosure length="1361359" type="application/pdf" url="http://www.redbooks.ibm.com/redpapers/pdfs/redp4935.pdf"/><itunes:explicit>yes</itunes:explicit><itunes:subtitle>1. Good practice – Avoid excessive use of server-side JavaScript Avoid large server-side JavaScript blocks within BPDs and services, because JavaScript is interpreted and therefore is slower to process than other compiled mechanisms, such as Java™ code. Furthermore, large JavaScript scripts often indicate that too much integration logic is being placed in the business process layer instead of having that logic encapsulated in Java code, or in an Advanced Integration service if you are using IBM™ Business Process Manager Advanced, or externally in an Enterprise Service Bus. Beyond performance concerns, complex JavaScript runs the risk of infinite loops and other coding errors that are hard to triage and recover from. Applicable editions: Express, Standard, Advanced. Applicable releases: All 2. Good practice – Avoid large business objects in a process or service Business processes in IBM® Business Process Manager should store only the data that is needed for the process or a service in the process as the process runs. Avoid large “cargo” object data being carried through the process because that data needs to be persisted as process instance state. When large amounts of data are stored as variables, they use memory and disk space in the process database, require serializing and deserializing, and they will be copied on by-value invocations. According to the&amp;nbsp;IBM Business Process Manager V8.5 Performance Tuning and Best Practices Redpaper, “In general, objects that are 5 MB or larger might be considered “large” and require special attention. Objects of 100 MB or larger are “very large” and generally require significant tuning to be processed successfully.” One way to avoid carrying data is to use the Claim Check pattern; the large object is persisted in a separate system of record and only a reference to it is used in the process. Claim Check is an enterprise integration pattern (eaipatterns.com/StoreInLibrary.html). For information about using the claim check pattern with BPEL, see Improving application efficiency with the Claim Check pattern in WebSphere Integration Developer V6.2.0.1. In addition, retrieve data only when it is needed, and carry data for only as long as it is needed. Consider the following examples: A process refers to a customer and displays the customer’s address and order history at a point in the process. If the process does not need this information elsewhere, it should not be stored in the process; the information should be retrieved from the system of record as reference data before it is displayed. A call to a web-service brings in 100 fields of data. The process needs only 2 fields of this data. Ensure that the rest of the data that is retrieved from the call is not stored and that the variables are nulled after use so the JVM can do garbage collection. A process requires a file to be uploaded by a user and added to an Enterprise Content Management system. This scenario is best handled by using the Document List coach view which allows uploading of a document directly from a user’s machine without using an intermediate process or service variable to hold the contents of the file. Applicable editions: Express, Standard, and Advanced Applicable releases: All 3. Good practice – Avoid multiple sequential system lane activities In IBM® Business Process Manager, minimize the extra resources that are needed for multiple system lane transitions. Each system lane activity is considered a new Event Manager task, which adds a task transition in IBM Process Server. These task transitions are expensive. If your business process definition (BPD) contains multiple system lane service tasks in a row, use one system lane task that wraps the others to minimize the extra resources that these transitions need. Applicable editions: Express, Standard, and Advanced Applicable releases: All Source: &amp;nbsp;IBM Business Process Manager V8.5 Performance Tuning and Best Practices Redpaper 4. Good practice – Place Process Center near where your Process Designer users are physically located If you have a geographically disperse business process management (BPM) development team, it is better to have regional IBM® Process Centers than to have a single shared Process Center that is accessed by remote Process Designer authoring clients. The Process Designer interacts frequently with the Process Center for authoring tasks. For this reason, minimize network latency to provide optimal response times. Place the Process Center in or near the same physical location as the Process Designer users. Process Designer clients that connect to a very remote Process Center might experience slow performance and dropped connections. To share content between Process Centers, exchange .twx files or, as of IBM Business Process Manager V8.0, see Registering Process&amp;nbsp;Centers and sharing toolkits. Applicable editions: Express, Standard, and Advanced Applicable releases: All Source:&amp;nbsp;IBM Business Process Manager V8.5 Performance Tuning and Best Practices Redpaper 5. Good practice – Purge data regularly If your IBM® Business Process Manager data grows without bounds, it can over time lead to disk space issues and to performance issues as database queries take longer and longer to process. Therefore, it is important to have a policy of continuously removing older data. There are a number of places within IBM BPM where data is collected. Consult the article Purging&amp;nbsp;data&amp;nbsp;in&amp;nbsp;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager on developerWorks to understand where with the product data is collected and how to purge it. Decide which data to purge and how often. Applicable editions: Express, Standard, Advanced Applicable releases: All 6. Good practice – Use efficient SQL statements When you write SQL statements directly in IBM® Business Process Manager, such as from server-side JavaScript in a service, ensure that you use typical SQL good practices for performance and resiliency. Avoid using ‘SELECT * from ‘ When you use ‘SELECT * ‘ all the fields from the table or view are returned. If the table changes, the list of fields also changes, which might not be what you want, especially when you are mapping directly to a business object where the new names might not exist. In addition, the asterisk (*) might return many columns in the results that are not needed but take up memory. Instead, explicitly name the columns that you want returned as a result name, for example “SELECT AS , AS ”. The use of AS means that your business object names do not need to match the database column names and can be more meaningful. For example, CST1NAM could map to CustomerName. Use parameter markers Do not construct an SQL statement by concatenating variable names, such as “SELECT CUST_NAME FROM CUST_MAST WHERE CUST_NUM=”+tw.local.customer_number If you concatenate variable names, the database cannot precompile and cache the select statement because it changes every time. Instead, use parameter markers, such as in “SELECT CUST_NAME FROM CUST_MAST WHERE CUST_NUM=?”, and then set the parameter value. Better yet, wrap database access in an SOA service that is invoked remotely or by using an Advanced Integration service. Applicable editions: Express, Standard, and Advanced Applicable releases: All 7. Good practice – Use query tables for BPEL processes For BPEL process list and human task queries in IBM WebSphere® Process Server and IBM Business Process Manager (BPM) Advanced, use composite query tables to achieve excellent response times for high-volume task and process list queries. Particularly in production scenarios, use composite query tables instead of the standard Business Process Choreographer query APIs because composite query tables provide an abstraction over the actual implementation of the query and, therefore, enable query optimization. Furthermore, you can change composite query tables at run time without redeploying the client that accesses the query table. For information about query tables, see Query tables in Business Process Choreographer. Source : IBM &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;</itunes:subtitle><itunes:author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</itunes:author><itunes:summary>1. Good practice – Avoid excessive use of server-side JavaScript Avoid large server-side JavaScript blocks within BPDs and services, because JavaScript is interpreted and therefore is slower to process than other compiled mechanisms, such as Java™ code. Furthermore, large JavaScript scripts often indicate that too much integration logic is being placed in the business process layer instead of having that logic encapsulated in Java code, or in an Advanced Integration service if you are using IBM™ Business Process Manager Advanced, or externally in an Enterprise Service Bus. Beyond performance concerns, complex JavaScript runs the risk of infinite loops and other coding errors that are hard to triage and recover from. Applicable editions: Express, Standard, Advanced. Applicable releases: All 2. Good practice – Avoid large business objects in a process or service Business processes in IBM® Business Process Manager should store only the data that is needed for the process or a service in the process as the process runs. Avoid large “cargo” object data being carried through the process because that data needs to be persisted as process instance state. When large amounts of data are stored as variables, they use memory and disk space in the process database, require serializing and deserializing, and they will be copied on by-value invocations. According to the&amp;nbsp;IBM Business Process Manager V8.5 Performance Tuning and Best Practices Redpaper, “In general, objects that are 5 MB or larger might be considered “large” and require special attention. Objects of 100 MB or larger are “very large” and generally require significant tuning to be processed successfully.” One way to avoid carrying data is to use the Claim Check pattern; the large object is persisted in a separate system of record and only a reference to it is used in the process. Claim Check is an enterprise integration pattern (eaipatterns.com/StoreInLibrary.html). For information about using the claim check pattern with BPEL, see Improving application efficiency with the Claim Check pattern in WebSphere Integration Developer V6.2.0.1. In addition, retrieve data only when it is needed, and carry data for only as long as it is needed. Consider the following examples: A process refers to a customer and displays the customer’s address and order history at a point in the process. If the process does not need this information elsewhere, it should not be stored in the process; the information should be retrieved from the system of record as reference data before it is displayed. A call to a web-service brings in 100 fields of data. The process needs only 2 fields of this data. Ensure that the rest of the data that is retrieved from the call is not stored and that the variables are nulled after use so the JVM can do garbage collection. A process requires a file to be uploaded by a user and added to an Enterprise Content Management system. This scenario is best handled by using the Document List coach view which allows uploading of a document directly from a user’s machine without using an intermediate process or service variable to hold the contents of the file. Applicable editions: Express, Standard, and Advanced Applicable releases: All 3. Good practice – Avoid multiple sequential system lane activities In IBM® Business Process Manager, minimize the extra resources that are needed for multiple system lane transitions. Each system lane activity is considered a new Event Manager task, which adds a task transition in IBM Process Server. These task transitions are expensive. If your business process definition (BPD) contains multiple system lane service tasks in a row, use one system lane task that wraps the others to minimize the extra resources that these transitions need. Applicable editions: Express, Standard, and Advanced Applicable releases: All Source: &amp;nbsp;IBM Business Process Manager V8.5 Performance Tuning and Best Practices Redpaper 4. Good practice – Place Process Center near where your Process Designer users are physically located If you have a geographically disperse business process management (BPM) development team, it is better to have regional IBM® Process Centers than to have a single shared Process Center that is accessed by remote Process Designer authoring clients. The Process Designer interacts frequently with the Process Center for authoring tasks. For this reason, minimize network latency to provide optimal response times. Place the Process Center in or near the same physical location as the Process Designer users. Process Designer clients that connect to a very remote Process Center might experience slow performance and dropped connections. To share content between Process Centers, exchange .twx files or, as of IBM Business Process Manager V8.0, see Registering Process&amp;nbsp;Centers and sharing toolkits. Applicable editions: Express, Standard, and Advanced Applicable releases: All Source:&amp;nbsp;IBM Business Process Manager V8.5 Performance Tuning and Best Practices Redpaper 5. Good practice – Purge data regularly If your IBM® Business Process Manager data grows without bounds, it can over time lead to disk space issues and to performance issues as database queries take longer and longer to process. Therefore, it is important to have a policy of continuously removing older data. There are a number of places within IBM BPM where data is collected. Consult the article Purging&amp;nbsp;data&amp;nbsp;in&amp;nbsp;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager on developerWorks to understand where with the product data is collected and how to purge it. Decide which data to purge and how often. Applicable editions: Express, Standard, Advanced Applicable releases: All 6. Good practice – Use efficient SQL statements When you write SQL statements directly in IBM® Business Process Manager, such as from server-side JavaScript in a service, ensure that you use typical SQL good practices for performance and resiliency. Avoid using ‘SELECT * from ‘ When you use ‘SELECT * ‘ all the fields from the table or view are returned. If the table changes, the list of fields also changes, which might not be what you want, especially when you are mapping directly to a business object where the new names might not exist. In addition, the asterisk (*) might return many columns in the results that are not needed but take up memory. Instead, explicitly name the columns that you want returned as a result name, for example “SELECT AS , AS ”. The use of AS means that your business object names do not need to match the database column names and can be more meaningful. For example, CST1NAM could map to CustomerName. Use parameter markers Do not construct an SQL statement by concatenating variable names, such as “SELECT CUST_NAME FROM CUST_MAST WHERE CUST_NUM=”+tw.local.customer_number If you concatenate variable names, the database cannot precompile and cache the select statement because it changes every time. Instead, use parameter markers, such as in “SELECT CUST_NAME FROM CUST_MAST WHERE CUST_NUM=?”, and then set the parameter value. Better yet, wrap database access in an SOA service that is invoked remotely or by using an Advanced Integration service. Applicable editions: Express, Standard, and Advanced Applicable releases: All 7. Good practice – Use query tables for BPEL processes For BPEL process list and human task queries in IBM WebSphere® Process Server and IBM Business Process Manager (BPM) Advanced, use composite query tables to achieve excellent response times for high-volume task and process list queries. Particularly in production scenarios, use composite query tables instead of the standard Business Process Choreographer query APIs because composite query tables provide an abstraction over the actual implementation of the query and, therefore, enable query optimization. Furthermore, you can change composite query tables at run time without redeploying the client that accesses the query table. For information about query tables, see Query tables in Business Process Choreographer. Source : IBM &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;</itunes:summary><itunes:keywords>LWUIT,Java,J2ee,J2me,Php,Oracle,C,C,MQ,MQBroker,XML,Db2</itunes:keywords></item><item><title>IBM BPM - Operations</title><link>http://teknoturfian.blogspot.com/2015_05_31_archive.html#4923546559471199242</link><pubDate>Tue, 2 Jun 2015 22:33:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-4923546559471199242</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;1. Good practice – Have a plan for regularly upgrading IBM BPM&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
Like all software, IBM®&amp;nbsp;Business Process Manager (BPM) is 
constantly improving. Every so often IBM “rolls up” (consolidates) all 
fixes into a new fourth digit fix pack or third digit modification 
release. These releases typically contain many critical fixes.&lt;/div&gt;
&lt;div dir="ltr"&gt;
To avoid experiencing a serious issue that a fix was made 
available for in the last, say, 10 or 12 months, have a regular plan for
 updating your IBM BPM software within its current release. For example,
 you might have a plan that checks for the latest service level every 
six months and schedules an upgrade if one is available. If a new fix 
pack or modification release is not available at that time, you can 
apply the latest recommended fixes for your release instead. You can 
search for the list of fixes that IBM recommends for a given release on &lt;a data-cke-saved-href="https://www-933.ibm.com/support/fixcentral/" href="https://www-933.ibm.com/support/fixcentral/"&gt;Fix&amp;nbsp;Central&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable editions&lt;/strong&gt;&lt;strong&gt;: &lt;/strong&gt;Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable releases&lt;/strong&gt;: All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;2. Good practice – Monitor the Process Federation Server embedded Elasticsearch service by using the Head utility&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
You can use the open source Head utility to browse your 
Elasticsearch cluster, view the status and topology of the Elasticsearch
 cluster, and perform index- and node-level operations. You can also use
 the Head utility to call the Elasticsearch RESTful API.&amp;nbsp;The Head 
utility has been tested successfully on Firefox and Internet Explorer 
browsers in this configuration. Some issues have been seen in Chrome 
with requests other than HTTP GETs.&lt;/div&gt;
&lt;h3 dir="ltr"&gt;
Viewing Elasticsearch health and topology&lt;/h3&gt;
&lt;div dir="ltr"&gt;
In the &lt;strong&gt;Overview&lt;/strong&gt; tab, you see the status of
 the cluster, the nodes, and the indexes. Here, you see the primary 
shards and the replicas for each node, the size of each index on the 
node, and the number of documents that have been indexed.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/04/Elasticsearch_Health-and-topology.jpg"&gt;&lt;img alt="Elasticsearch Health and topology Good practice   Monitor the Process Federation Server embedded Elasticsearch service by using the Head utility" class="alignnone wp-image-1253 size-full" height="463" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/04/Elasticsearch_Health-and-topology.jpg" title="Good practice   Monitor the Process Federation Server embedded Elasticsearch service by using the Head utility" width="889" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h3 dir="ltr"&gt;
Checking index status&lt;/h3&gt;
&lt;div dir="ltr"&gt;
To see more in-depth information about the index, click &lt;strong&gt;Info&lt;/strong&gt; and select &lt;strong&gt;Index Status&lt;/strong&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/04/Elasticsearch__Checking-index-status.jpg"&gt;&lt;img alt="Elasticsearch  Checking index status Good practice   Monitor the Process Federation Server embedded Elasticsearch service by using the Head utility" class="alignnone wp-image-1254 size-full" height="514" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/04/Elasticsearch__Checking-index-status.jpg" title="Good practice   Monitor the Process Federation Server embedded Elasticsearch service by using the Head utility" width="462" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h3 dir="ltr"&gt;
Viewing index data&lt;/h3&gt;
&lt;div dir="ltr"&gt;
Select the &lt;strong&gt;Browser&lt;/strong&gt; tab to view index 
documents and their data. To see the details and field values for a 
specific document, select an index to restrict the tabular view to show 
only documents from one index and then select a document within the 
tabular view.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/04/Elasticsearch__Viewing-index-data.jpg"&gt;&lt;img alt="Elasticsearch  Viewing index data Good practice   Monitor the Process Federation Server embedded Elasticsearch service by using the Head utility" class="alignnone wp-image-1252 size-full" height="568" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/04/Elasticsearch__Viewing-index-data.jpg" title="Good practice   Monitor the Process Federation Server embedded Elasticsearch service by using the Head utility" width="1005" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h3 dir="ltr"&gt;
Making REST calls&lt;/h3&gt;
&lt;div dir="ltr"&gt;
You can make Elasticsearch REST calls in the &lt;strong&gt;Any Request&lt;/strong&gt; tab, which you do to verify the queries that the Process Federation Server made.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;a href="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/04/Elasticsearch_Making-REST-calls.jpg"&gt;&lt;img alt="Elasticsearch Making REST calls Good practice   Monitor the Process Federation Server embedded Elasticsearch service by using the Head utility" class="alignnone wp-image-1255 size-full" height="636" src="https://developer.ibm.com/bpm/wp-content/uploads/sites/31/2015/04/Elasticsearch_Making-REST-calls.jpg" title="Good practice   Monitor the Process Federation Server embedded Elasticsearch service by using the Head utility" width="1002" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h4 dir="ltr"&gt;
The forwarder application&lt;/h4&gt;
&lt;div dir="ltr"&gt;
The Elasticsearch Head utility can work with the HTTP port 
of the Elasticsearch service. However, because some browsers do not 
support mixed content on the same page and that the HTTP port does not 
support authentication, authorization, or secure communications, keep 
the Elasticsearch HTTP port disabled (the default configuration). As a 
secure alternative to the Elasticsearch HTTP port, Process Federation 
Server provides an application, called the &lt;em&gt;forwarder application&lt;/em&gt;,
 that securely forwards REST requests to the Elasticsearch service, 
acting like a proxy server. However, the forwarder application forwards 
the requests internally only to the Elasticsearch process that runs on 
the same server. Before the forwarder application accepts Elasticsearch 
HTTP requests, it checks the authorization of the user who sent the 
request.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Note: &lt;/strong&gt;For single sign-on to work 
correctly, the host name and port in the URL must be the same for both 
the Head utility and the forwarder application.&lt;/div&gt;
&lt;h4 dir="ltr"&gt;
Ensuring security credentials can be shared&lt;/h4&gt;
&lt;div dir="ltr"&gt;
To ensure that security credentials can be shared across 
the Elasticsearch Head utility and the forwarder application, run the 
Elasticsearch Head utility from the Process Federation Server that also 
hosts the forwarder application. To run the Head utility from 
your&amp;nbsp;Process Federation Server Liberty server installation, download the
 Head utility and then repackage it into a deployable &lt;span class="_Tgc"&gt;web application archive&lt;/span&gt; (WAR file) that can be run on the Process Federation Server Liberty server.&lt;/div&gt;
&lt;div dir="ltr"&gt;
For more information about the Elasticsearch Head utility, see &lt;a data-cke-saved-href="https://github.com/mobz/elasticsearch-head" href="https://github.com/mobz/elasticsearch-head"&gt;https://github.com/mobz/elasticsearch-head&lt;/a&gt;.&lt;/div&gt;
&lt;h3 dir="ltr"&gt;
Packaging the Head utility&lt;/h3&gt;
&lt;ol dir="ltr"&gt;
&lt;li&gt;On &lt;a data-cke-saved-href="https://github.com/mobz/elasticsearch-head" href="https://github.com/mobz/elasticsearch-head"&gt;https://github.com/mobz/elasticsearch-head&lt;/a&gt;, click &lt;strong&gt;Download ZIP&lt;/strong&gt; to download the &lt;strong&gt;elasticsearch-head-master.zip&lt;/strong&gt; file.&lt;/li&gt;
&lt;/ol&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. The files contained within the zip file have a directory structure that looks like this:&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -elasticsearch-head-master&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; – index.html&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; – dist&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; – …&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Copy the contents of the extracted zip file 
under elasticsearch-head-master directory into c:\temp\eshead\ 
directory. The structure will look like this:&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; – eshead&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; – index.html&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; – dist&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; – …&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Notice that all the files under the elasticsearch-head-master directory are now under the new eshead directory.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3. Create a&amp;nbsp; c:\temp\eshead\WEB-INF directory:&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; – eshead&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; – index.html&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; – WEB-INF&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; – dist&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; – …&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4. Create a web.xml file in the c:\temp\eshead\WEB-INF directory:&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; – eshead&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; – index.html&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; – WEB-INF&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -web.xml&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; – dist&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; – …&lt;/div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5. Edit the web.xml file and copy the following text into the file:&lt;br /&gt;

&lt;pre dir="ltr"&gt;
&lt;web-app id="ESHead" version="2.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"&gt;
    &lt;display-name&gt;ESHead&lt;/display-name&gt;
    &lt;description&gt;ESHead&lt;/description&gt;
    &lt;security-constraint&gt;
        &lt;display-name&gt;ESHead&lt;/display-name&gt;
        &lt;web-resource-collection&gt;
            &lt;web-resource-name&gt;UIContent&lt;/web-resource-name&gt;
            &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
        &lt;/web-resource-collection&gt;
        &lt;auth-constraint&gt;
            &lt;role-name&gt;esadmin&lt;/role-name&gt;
        &lt;/auth-constraint&gt;
        &lt;user-data-constraint&gt;
            &lt;transport-guarantee&gt;CONFIDENTIAL&lt;/transport-guarantee&gt;
        &lt;/user-data-constraint&gt;
    &lt;/security-constraint&gt;
    &lt;login-config&gt;
        &lt;auth-method&gt;BASIC&lt;/auth-method&gt;
    &lt;/login-config&gt;
    &lt;security-role&gt;
        &lt;role-name&gt;esadmin&lt;/role-name&gt;
    &lt;/security-role&gt;
    &lt;welcome-file-list&gt;
        &lt;welcome-file&gt;index.html&lt;/welcome-file&gt;
    &lt;/welcome-file-list&gt;
&lt;/web-app&gt;
&lt;/pre&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6. Create a .zip file of the c:\temp\eshead\ 
directory and call it ESHead.war. The zip file will have the following 
structure:&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; – index.html&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; – WEB-INF&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -web.xml&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; – dist&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; – …&lt;/div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Notice that the structure does not have the elasticsearch-head-master directory.&lt;br /&gt;

&lt;h3 dir="ltr"&gt;
Setting up the Head utility&lt;/h3&gt;
&lt;div dir="ltr"&gt;
To configure Process Federation Server Liberty, complete the following steps:&lt;/div&gt;
&lt;ol dir="ltr"&gt;
&lt;li&gt;Edit the server.xml file.&lt;/li&gt;
&lt;li&gt;Ensure that the forwarder application feature is enabled in the &lt;featuremanager&gt; section:&lt;br /&gt;
&lt;feature&gt;ibmPfs:federatedForwarder-1.0&lt;/feature&gt;&lt;/featuremanager&gt;&lt;/li&gt;
&lt;li&gt;Ensure that the Elasticsearch port is disabled by updating the attributes of&amp;nbsp; the &lt;ibmpfs_elasticsearch&gt; section:&lt;br /&gt;
http.enabled=”false”&lt;/ibmpfs_elasticsearch&gt;&lt;/li&gt;
&lt;li&gt;Add authorized users, groups, or special subjects in the 
&lt;authorization-roles id="”com.ibm.bpm.federated.forwarder.authorization”"&gt; element. For 
example, to allow all logged-in users to administer, monitor, and search
 the Elasticsearch data, use the following configuration:
&lt;pre dir="ltr"&gt;&lt;authorization-roles id="com.ibm.bpm.federated.forwarder.authorization"&gt;
        &lt;security-role name="bpmadmin"&gt;
            &lt;special-subject type="ALL_AUTHENTICATED_USERS"&gt;
        &lt;/special-subject&gt;&lt;/security-role&gt;
        &lt;security-role name="bpmmonitor"&gt;
            &lt;special-subject type="ALL_AUTHENTICATED_USERS"&gt;
        &lt;/special-subject&gt;&lt;/security-role&gt;
        &lt;security-role name="bpmuser"&gt;
            &lt;special-subject type="ALL_AUTHENTICATED_USERS"&gt;
        &lt;/special-subject&gt;&lt;/security-role&gt;
&lt;/authorization-roles&gt;&lt;/pre&gt;
&lt;/authorization-roles&gt;&lt;/li&gt;
&lt;li&gt;Copy the ESHead.war file into the &lt;code&gt;&lt;var class="keyword varname"&gt;pfs_install_root/&lt;/var&gt;&lt;/code&gt;usr/shared/apps directory on your&amp;nbsp; Process Federation Server Liberty server.&lt;/li&gt;
&lt;li&gt;Add the following sections to the server.xml file. Note that the 
location is the name of the .zip file that you created previously; the 
default directory is \usr\shared\apps directory. The security role that 
you define must be the same as the role that is defined in the web.xml 
file (in this example it is “esadmin”). You can also authorize a group 
or special subject&amp;nbsp;instead of a user.
&lt;pre dir="ltr"&gt;     &lt;webapplication contextroot="ESHead" location="ESHead.war"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;application-bnd&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;security-role name="esadmin"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;user name="uid=admin,o=defaultWIMFileBasedRealm"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/user&gt;&lt;/security-role&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/application-bnd&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/webapplication&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Ensure the user, group, or special subject is in the bpmadmin and 
bpmmonitor security roles of the 
com.ibm.bpm.federated.forwarder.authorization authorization role, as 
previously described. In this example, all authenticated users have 
access to the forwarder application, but only the admin user has access 
to the Head utility.&lt;/li&gt;
&lt;li&gt;Restart Process Federation Server Liberty.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 dir="ltr"&gt;
Accessing the Head utility&lt;/h3&gt;
&lt;ol dir="ltr"&gt;
&lt;li&gt;Go to&amp;nbsp;&lt;a data-cke-saved-href="https://varadvm2.rtp.raleigh.ibm.com:9443/ESHead" href="https://varadvm2.rtp.raleigh.ibm.com:9443/ESHead"&gt;https://&lt;host name=""&gt;:&lt;secure port=""&gt;/ESHead&lt;/secure&gt;&lt;/host&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;In the Head utility, enter the location of the administrative forwarder application, for example &lt;a data-cke-saved-href="https://localhost:9444/elastic-search-admin/" href="https://localhost:9444/elastic-search-admin/"&gt;https://localhost:9443/elasticsearch-admin/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;Source : IBM&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
 &lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>IBM BPM  - Methodology</title><link>http://teknoturfian.blogspot.com/2015_05_31_archive.html#4011158528642987930</link><pubDate>Tue, 2 Jun 2015 22:29:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-4011158528642987930</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;1. Good practice – Ensure business processes have a business owner&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
Business process management can only succeed when there is a
 close partnership between IT and business. This collaboration is most 
critical when it comes to designing the processes themselves, both 
capturing today’s as-is information and tomorrow’s to-be information. 
Ensure that all business processes have a business owner who is the 
subject matter expert for that process. This process owner should attend
 all playbacks and have a final signoff on the process model.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions: &lt;/b&gt;Express, Standard and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases: &lt;/b&gt;All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;2. Good practice – Plan for and perform non-functional testing&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
Before going into production, ensure that you planned for 
and tested non-functional aspects of your process, including response 
time of the user interface, throughput, and scalability. Allot adequate 
time for this phase before going to production. The test environment 
should match the target production system as closely as possible, and 
the use cases should represent both typical and stress scenarios that 
are anticipated in production. All systems should be tuned according to 
the &lt;a data-cke-saved-href="http://www.redbooks.ibm.com/redpapers/pdfs/redp4935.pdf" href="http://www.redbooks.ibm.com/redpapers/pdfs/redp4935.pdf" target="_blank"&gt;IBM&amp;nbsp;BPM&amp;nbsp;Performance&amp;nbsp;Tuning&lt;/a&gt; redpaper guidelines before you perform the non-functional tests.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions:&lt;/b&gt; Express, Standard and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases:&lt;/b&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;&lt;span style="font-size: small;"&gt;3. Good practice – Plan for disaster recovery&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
Many factors, ranging from human error to natural disasters, could 
compromise the capability of the hardware infrastructure that runs your 
IBM® Business Process Manager (BPM) system. To preserve business 
continuity when an entire data center is lost, it is important to have a
 disaster recovery plan. This plan describes the operational procedures 
that must be followed to regularly replicate the configuration data and 
the runtime data that comprise your IBM BPM system as well as the 
operational procedures that must be followed when restoring the 
replicated data to an alternate data center.&lt;br /&gt;
There are several options available to IBM BPM administrators who 
want to design this type of replication strategy. One such option is 
described in detail in &lt;a href="http://www.ibm.com/developerworks/bpm/bpmjournal/1409_wang/1409_wang.html" target="_blank"&gt;Storing
 transaction and compensation logs in a relational database for high 
availability and disaster recovery in IBM Business Process Manager&lt;/a&gt;. But consider other strategies as well.&lt;br /&gt;
For more information, see &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.6/com.ibm.wbpm.mon.trbl.doc/topics/cadm_disaster_recovery.html?lang=en" target="_blank"&gt;Disaster recovery&lt;/a&gt; and &lt;a href="http://www.ibm.com/developerworks/bpm/library/techarticles/1504_richardson/1504_richardson.html" target="_blank"&gt;Disaster recovery guidance for IBM Business Process Manager: An updated approach for IBM BPM V8.x&lt;/a&gt;.&lt;br /&gt;
&lt;b&gt;Applicable editions: &lt;/b&gt;Express, Standard, and Advanced&lt;br /&gt;
&lt;b&gt;Applicable releases:&lt;/b&gt; All&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;4. Good-practice resource – Learn about IBM BPM from an expert&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
Neil Kolban is an IBM employee who focuses on the IBM 
Business Process Manager and related products. Over time, he has built 
and collected information related to the use of this product that he has
 found to be of value and has bundled this information into a book that 
is available as a PDF document that you can download. The book is 
released once a month (normally on the 1st day of the month), so it is a
 good practice to bookmark this page and reference it as required.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;a data-cke-saved-href="http://www.neilkolban.com/IBM/" href="http://www.neilkolban.com/IBM/" target="_blank"&gt;Kolban’s&amp;nbsp;Book&amp;nbsp;on&amp;nbsp;IBM&amp;nbsp;BPM&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
Although Neil is an IBM employee, please note that any 
words, concepts or content may not necessarily represent the views of 
IBM. This book does not replace the information center for official 
product documentation&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions:&lt;/b&gt; Express, Standard, Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases:&lt;/b&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;5. Good-practice resource – Learn about troubleshooting IBM Business Process Manager&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
Troubleshooting IBM® BPM issues can be complex without the correct tools and techniques. &lt;a data-cke-saved-href="http://www.ibm.com/developerworks/bpm/bpmjournal/1312_chan/1312_chan.html" href="http://www.ibm.com/developerworks/bpm/bpmjournal/1312_chan/1312_chan.html"&gt;Troubleshooting IBM Business Process Manager&lt;/a&gt; describes a set of tools and techniques that the IBM BPM team suggests to help you with problem determination.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions:&lt;/b&gt; Express, Standard, Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases:&lt;/b&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;6. Good-practice resource – New to IBM BPM? Start with the Hiring tutorial&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
If you are new to IBM Business Process Manager (BPM) and on V8.5 or later, check out the new &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.6/com.ibm.wbpm.main.doc/topics/cbpm_tutorial.html?cp=SSFPJS_8.5.6&amp;amp;lang=en" target="_blank"&gt;Hiring tutorial&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
After you complete the tutorial, you will be able to do the following tasks:&lt;/div&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;Model a process that is based on process requirements.&lt;/li&gt;
&lt;li&gt;Implement a process, including data variables and services that are required by the process.&lt;/li&gt;
&lt;li&gt;Create the user interface for the process.&lt;/li&gt;
&lt;li&gt;Conduct playbacks to validate the work that you completed.&lt;/li&gt;
&lt;li&gt;Run and review the process.&lt;/li&gt;
&lt;/ul&gt;
&lt;div dir="ltr"&gt;
The Hiring Tutorial covers everything that you need to know
 to re-create the Hiring Sample process application that is packaged 
with IBM BPM. As you go though the tutorial, you create the My Hiring 
Sample process application that has a few enhancements from the packaged
 Hiring Sample process application. The “Comparison with the packaged 
Hiring Sample” topic covers the differences between this process 
application that you create in the tutorial and the packaged Hiring 
Sample process application.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions:&lt;/b&gt; Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases:&lt;/b&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;7. Good-practice resource – Read the coaches IBM Redbooks publication&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
If you use IBM® Business Process Manager (BPM) next-generation coaches, which were introduced in IBM BPM V8.0, read the&amp;nbsp;&lt;a data-cke-saved-href="http://www.redbooks.ibm.com/redpieces/abstracts/sg248210.html" href="http://www.redbooks.ibm.com/redpieces/abstracts/sg248210.html" target="_blank"&gt;Leveraging&amp;nbsp;the&amp;nbsp;IBM&amp;nbsp;BPM&amp;nbsp;Coach&amp;nbsp;Framework&amp;nbsp;in&amp;nbsp;Your&amp;nbsp;Organization&lt;/a&gt;&amp;nbsp;IBM
 Redbooks&amp;nbsp;(SG24-8210-00) publication that focuses on this subject to 
learn about how to develop coaches and find out about the various tips 
and good practices.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions:&amp;nbsp;&lt;/b&gt;Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases: &lt;/b&gt;V8.0 and later&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;8. Good-practice resource – Use the IBM BPM Center of Excellence and Program to Project Redbooks&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
To succeed with IBM® Business Process Manager (BPM) beyond 
your first project, ensure that you are prepared and organized for 
success. For example, do you have the proper buy-in and participation 
from the organization?&lt;/div&gt;
&lt;div dir="ltr"&gt;
The following timeless resources will help you expand your first project into an ongoing program:&lt;/div&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;&lt;a data-cke-saved-href="http://www.redbooks.ibm.com/abstracts/sg247973.html" href="http://www.redbooks.ibm.com/abstracts/sg247973.html"&gt;Scaling&amp;nbsp;BPM&amp;nbsp;Adoption:&amp;nbsp;From&amp;nbsp;Project&amp;nbsp;to&amp;nbsp;Program&amp;nbsp;with&amp;nbsp;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&lt;/a&gt;&amp;nbsp;(SG24-7973-01)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.redbooks.ibm.com/abstracts/redp4898.html?Open" target="_blank"&gt;Creating a BPM Center of Excellence (CoE)&lt;/a&gt; (REDP-4898-00)&lt;/li&gt;
&lt;/ul&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions&lt;/b&gt;&lt;b&gt;: &lt;/b&gt;Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases: &lt;/b&gt;all&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;9. Good-practice resource – Tune your IBM BPM performance&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
It is imperative to your success that you read and follow the advice in the appropriate&amp;nbsp;IBM Redpaper™ for your release:&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;a href="http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/sg248216.html?Open" target="_blank"&gt;IBM Business Process Manager V8.5 Performance Tuning and Best Practices&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;a href="http://www.redbooks.ibm.com/redpapers/pdfs/redp4935.pdf" target="_blank"&gt;IBM Business Process Manager V8.0 Performance Tuning and Best Practices &lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;a href="http://www.redbooks.ibm.com/abstracts/redp4784.html?Open" target="_blank"&gt;IBM Business Process Manager V7.5 Performance Tuning and Best Practices&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
Also see&amp;nbsp;&lt;a href="https://www.ibm.com/developerworks/community/blogs/5things/entry/5_things_to_know_about_ibm_bpm_performance_tuning?lang=en" target="_blank"&gt;5 Things to Know About IBM BPM Performance Tuning&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions:&lt;/b&gt; Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases:&lt;/b&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;
Source : IBM&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;br /&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author><enclosure length="1361359" type="application/pdf" url="http://www.redbooks.ibm.com/redpapers/pdfs/redp4935.pdf"/><itunes:explicit>yes</itunes:explicit><itunes:subtitle>1. Good practice – Ensure business processes have a business owner Business process management can only succeed when there is a close partnership between IT and business. This collaboration is most critical when it comes to designing the processes themselves, both capturing today’s as-is information and tomorrow’s to-be information. Ensure that all business processes have a business owner who is the subject matter expert for that process. This process owner should attend all playbacks and have a final signoff on the process model. Applicable editions: Express, Standard and Advanced Applicable releases: All 2. Good practice – Plan for and perform non-functional testing Before going into production, ensure that you planned for and tested non-functional aspects of your process, including response time of the user interface, throughput, and scalability. Allot adequate time for this phase before going to production. The test environment should match the target production system as closely as possible, and the use cases should represent both typical and stress scenarios that are anticipated in production. All systems should be tuned according to the IBM&amp;nbsp;BPM&amp;nbsp;Performance&amp;nbsp;Tuning redpaper guidelines before you perform the non-functional tests. Applicable editions: Express, Standard and Advanced Applicable releases: All &amp;nbsp;&amp;nbsp; 3. Good practice – Plan for disaster recovery Many factors, ranging from human error to natural disasters, could compromise the capability of the hardware infrastructure that runs your IBM® Business Process Manager (BPM) system. To preserve business continuity when an entire data center is lost, it is important to have a disaster recovery plan. This plan describes the operational procedures that must be followed to regularly replicate the configuration data and the runtime data that comprise your IBM BPM system as well as the operational procedures that must be followed when restoring the replicated data to an alternate data center. There are several options available to IBM BPM administrators who want to design this type of replication strategy. One such option is described in detail in Storing transaction and compensation logs in a relational database for high availability and disaster recovery in IBM Business Process Manager. But consider other strategies as well. For more information, see Disaster recovery and Disaster recovery guidance for IBM Business Process Manager: An updated approach for IBM BPM V8.x. Applicable editions: Express, Standard, and Advanced Applicable releases: All 4. Good-practice resource – Learn about IBM BPM from an expert Neil Kolban is an IBM employee who focuses on the IBM Business Process Manager and related products. Over time, he has built and collected information related to the use of this product that he has found to be of value and has bundled this information into a book that is available as a PDF document that you can download. The book is released once a month (normally on the 1st day of the month), so it is a good practice to bookmark this page and reference it as required. Kolban’s&amp;nbsp;Book&amp;nbsp;on&amp;nbsp;IBM&amp;nbsp;BPM Although Neil is an IBM employee, please note that any words, concepts or content may not necessarily represent the views of IBM. This book does not replace the information center for official product documentation Applicable editions: Express, Standard, Advanced Applicable releases: All 5. Good-practice resource – Learn about troubleshooting IBM Business Process Manager Troubleshooting IBM® BPM issues can be complex without the correct tools and techniques. Troubleshooting IBM Business Process Manager describes a set of tools and techniques that the IBM BPM team suggests to help you with problem determination. Applicable editions: Express, Standard, Advanced Applicable releases: All 6. Good-practice resource – New to IBM BPM? Start with the Hiring tutorial If you are new to IBM Business Process Manager (BPM) and on V8.5 or later, check out the new Hiring tutorial. After you complete the tutorial, you will be able to do the following tasks: Model a process that is based on process requirements. Implement a process, including data variables and services that are required by the process. Create the user interface for the process. Conduct playbacks to validate the work that you completed. Run and review the process. The Hiring Tutorial covers everything that you need to know to re-create the Hiring Sample process application that is packaged with IBM BPM. As you go though the tutorial, you create the My Hiring Sample process application that has a few enhancements from the packaged Hiring Sample process application. The “Comparison with the packaged Hiring Sample” topic covers the differences between this process application that you create in the tutorial and the packaged Hiring Sample process application. Applicable editions: Express, Standard, and Advanced Applicable releases: All 7. Good-practice resource – Read the coaches IBM Redbooks publication If you use IBM® Business Process Manager (BPM) next-generation coaches, which were introduced in IBM BPM V8.0, read the&amp;nbsp;Leveraging&amp;nbsp;the&amp;nbsp;IBM&amp;nbsp;BPM&amp;nbsp;Coach&amp;nbsp;Framework&amp;nbsp;in&amp;nbsp;Your&amp;nbsp;Organization&amp;nbsp;IBM Redbooks&amp;nbsp;(SG24-8210-00) publication that focuses on this subject to learn about how to develop coaches and find out about the various tips and good practices. Applicable editions:&amp;nbsp;Express, Standard, and Advanced Applicable releases: V8.0 and later 8. Good-practice resource – Use the IBM BPM Center of Excellence and Program to Project Redbooks To succeed with IBM® Business Process Manager (BPM) beyond your first project, ensure that you are prepared and organized for success. For example, do you have the proper buy-in and participation from the organization? The following timeless resources will help you expand your first project into an ongoing program: Scaling&amp;nbsp;BPM&amp;nbsp;Adoption:&amp;nbsp;From&amp;nbsp;Project&amp;nbsp;to&amp;nbsp;Program&amp;nbsp;with&amp;nbsp;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;(SG24-7973-01) Creating a BPM Center of Excellence (CoE) (REDP-4898-00) Applicable editions: Express, Standard, and Advanced Applicable releases: all 9. Good-practice resource – Tune your IBM BPM performance It is imperative to your success that you read and follow the advice in the appropriate&amp;nbsp;IBM Redpaper™ for your release: IBM Business Process Manager V8.5 Performance Tuning and Best Practices IBM Business Process Manager V8.0 Performance Tuning and Best Practices IBM Business Process Manager V7.5 Performance Tuning and Best Practices Also see&amp;nbsp;5 Things to Know About IBM BPM Performance Tuning. Applicable editions: Express, Standard, and Advanced Applicable releases: All Source : IBM &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;</itunes:subtitle><itunes:author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</itunes:author><itunes:summary>1. Good practice – Ensure business processes have a business owner Business process management can only succeed when there is a close partnership between IT and business. This collaboration is most critical when it comes to designing the processes themselves, both capturing today’s as-is information and tomorrow’s to-be information. Ensure that all business processes have a business owner who is the subject matter expert for that process. This process owner should attend all playbacks and have a final signoff on the process model. Applicable editions: Express, Standard and Advanced Applicable releases: All 2. Good practice – Plan for and perform non-functional testing Before going into production, ensure that you planned for and tested non-functional aspects of your process, including response time of the user interface, throughput, and scalability. Allot adequate time for this phase before going to production. The test environment should match the target production system as closely as possible, and the use cases should represent both typical and stress scenarios that are anticipated in production. All systems should be tuned according to the IBM&amp;nbsp;BPM&amp;nbsp;Performance&amp;nbsp;Tuning redpaper guidelines before you perform the non-functional tests. Applicable editions: Express, Standard and Advanced Applicable releases: All &amp;nbsp;&amp;nbsp; 3. Good practice – Plan for disaster recovery Many factors, ranging from human error to natural disasters, could compromise the capability of the hardware infrastructure that runs your IBM® Business Process Manager (BPM) system. To preserve business continuity when an entire data center is lost, it is important to have a disaster recovery plan. This plan describes the operational procedures that must be followed to regularly replicate the configuration data and the runtime data that comprise your IBM BPM system as well as the operational procedures that must be followed when restoring the replicated data to an alternate data center. There are several options available to IBM BPM administrators who want to design this type of replication strategy. One such option is described in detail in Storing transaction and compensation logs in a relational database for high availability and disaster recovery in IBM Business Process Manager. But consider other strategies as well. For more information, see Disaster recovery and Disaster recovery guidance for IBM Business Process Manager: An updated approach for IBM BPM V8.x. Applicable editions: Express, Standard, and Advanced Applicable releases: All 4. Good-practice resource – Learn about IBM BPM from an expert Neil Kolban is an IBM employee who focuses on the IBM Business Process Manager and related products. Over time, he has built and collected information related to the use of this product that he has found to be of value and has bundled this information into a book that is available as a PDF document that you can download. The book is released once a month (normally on the 1st day of the month), so it is a good practice to bookmark this page and reference it as required. Kolban’s&amp;nbsp;Book&amp;nbsp;on&amp;nbsp;IBM&amp;nbsp;BPM Although Neil is an IBM employee, please note that any words, concepts or content may not necessarily represent the views of IBM. This book does not replace the information center for official product documentation Applicable editions: Express, Standard, Advanced Applicable releases: All 5. Good-practice resource – Learn about troubleshooting IBM Business Process Manager Troubleshooting IBM® BPM issues can be complex without the correct tools and techniques. Troubleshooting IBM Business Process Manager describes a set of tools and techniques that the IBM BPM team suggests to help you with problem determination. Applicable editions: Express, Standard, Advanced Applicable releases: All 6. Good-practice resource – New to IBM BPM? Start with the Hiring tutorial If you are new to IBM Business Process Manager (BPM) and on V8.5 or later, check out the new Hiring tutorial. After you complete the tutorial, you will be able to do the following tasks: Model a process that is based on process requirements. Implement a process, including data variables and services that are required by the process. Create the user interface for the process. Conduct playbacks to validate the work that you completed. Run and review the process. The Hiring Tutorial covers everything that you need to know to re-create the Hiring Sample process application that is packaged with IBM BPM. As you go though the tutorial, you create the My Hiring Sample process application that has a few enhancements from the packaged Hiring Sample process application. The “Comparison with the packaged Hiring Sample” topic covers the differences between this process application that you create in the tutorial and the packaged Hiring Sample process application. Applicable editions: Express, Standard, and Advanced Applicable releases: All 7. Good-practice resource – Read the coaches IBM Redbooks publication If you use IBM® Business Process Manager (BPM) next-generation coaches, which were introduced in IBM BPM V8.0, read the&amp;nbsp;Leveraging&amp;nbsp;the&amp;nbsp;IBM&amp;nbsp;BPM&amp;nbsp;Coach&amp;nbsp;Framework&amp;nbsp;in&amp;nbsp;Your&amp;nbsp;Organization&amp;nbsp;IBM Redbooks&amp;nbsp;(SG24-8210-00) publication that focuses on this subject to learn about how to develop coaches and find out about the various tips and good practices. Applicable editions:&amp;nbsp;Express, Standard, and Advanced Applicable releases: V8.0 and later 8. Good-practice resource – Use the IBM BPM Center of Excellence and Program to Project Redbooks To succeed with IBM® Business Process Manager (BPM) beyond your first project, ensure that you are prepared and organized for success. For example, do you have the proper buy-in and participation from the organization? The following timeless resources will help you expand your first project into an ongoing program: Scaling&amp;nbsp;BPM&amp;nbsp;Adoption:&amp;nbsp;From&amp;nbsp;Project&amp;nbsp;to&amp;nbsp;Program&amp;nbsp;with&amp;nbsp;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;(SG24-7973-01) Creating a BPM Center of Excellence (CoE) (REDP-4898-00) Applicable editions: Express, Standard, and Advanced Applicable releases: all 9. Good-practice resource – Tune your IBM BPM performance It is imperative to your success that you read and follow the advice in the appropriate&amp;nbsp;IBM Redpaper™ for your release: IBM Business Process Manager V8.5 Performance Tuning and Best Practices IBM Business Process Manager V8.0 Performance Tuning and Best Practices IBM Business Process Manager V7.5 Performance Tuning and Best Practices Also see&amp;nbsp;5 Things to Know About IBM BPM Performance Tuning. Applicable editions: Express, Standard, and Advanced Applicable releases: All Source : IBM &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;</itunes:summary><itunes:keywords>LWUIT,Java,J2ee,J2me,Php,Oracle,C,C,MQ,MQBroker,XML,Db2</itunes:keywords></item><item><title>IBM BPM - Maintainability</title><link>http://teknoturfian.blogspot.com/2015_05_31_archive.html#7424889703859377023</link><pubDate>Tue, 2 Jun 2015 22:14:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-7424889703859377023</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;b&gt;&lt;span style="font-size: small;"&gt;1. Good practice – Avoid mutually dependent toolkits&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div dir="ltr"&gt;
In IBM® Business Process Manager, design toolkit 
hierarchies to avoid mutual dependencies by factoring out common content
 into its own toolkit so that the other toolkits can refer to it 
independently.&lt;/div&gt;
&lt;div dir="ltr"&gt;
If you update the dependency on a child toolkit, you need 
to take a new snapshot of that parent toolkit for the change to be 
effective for whoever uses that toolkit, which can lead to a race 
situation with mutually dependent toolkits. For example, when you 
snapshot toolkit A, you now need to update the dependency and snapshot 
toolkit B, which means that you need to update the dependency and 
snapshot toolkit A. And that means that you need to update the 
dependency and snapshot toolkit B. And so on.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable editions:&lt;/strong&gt; Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;strong&gt;Applicable releases:&lt;/strong&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&amp;nbsp; &lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;2. Good practice – Back up your IBM BPM data regularly&lt;/span&gt;&lt;/h1&gt;
Back up your IBM® Business Process Manager (BPM) data regularly, 
particularly after you make discrete configuration changes, such as 
installing a new system, applying interim fixes, deploying applications,
 and changing the topology, which you would do for vertical or 
horizontal scaling. It is also especially important before purging any 
data. The more recent your data backup, the less work will be lost if 
restoring it becomes necessary.&lt;br /&gt;

To do the back up, shut down the cell, make sure no transaction is 
pending in the databases, and then back up the IBM BPM databases (and 
your relevant application databases).&lt;br /&gt;

&lt;strong&gt;Applicable editions: &lt;/strong&gt;Express, Standard, and Advanced&lt;br /&gt;

&lt;strong&gt;Applicable releases:&lt;/strong&gt; All&lt;br /&gt;

&lt;strong&gt;Source:&lt;/strong&gt; IBM&lt;br /&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
 &lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author></item><item><title>IBM BPM - High-Quality Processes</title><link>http://teknoturfian.blogspot.com/2015_05_31_archive.html#3604703892936091006</link><pubDate>Tue, 2 Jun 2015 21:58:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-44619120687887377.post-3604703892936091006</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="ltr"&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;1. Good practice – Diligently deal with faults when invoking external services&lt;/span&gt;&lt;/h1&gt;
&lt;br /&gt;
Well-designed external and Advanced Integration services 
have modeled faults for business exceptions such as “insufficient funds”
 and often have unmodeled faults for technical exceptions such as 
“network failure” issues. When you are invoking services from a process,
 design your process to deal with both types of faults. Typically, a 
business exception can be handled in the process flow, such as by 
returning to a previous step or engaging the user, whereas a system 
fault might result in retrying the service or engaging a process 
administrator.&lt;/div&gt;
&lt;div dir="ltr"&gt;
To learn more about how to model fault handling in Business
 Process Modeling Notation (BPMN), search the IBM®&amp;nbsp;Business Process 
Manager (BPM) documentation for your release for “Handling errors in 
services”.&lt;/div&gt;
&lt;div dir="ltr"&gt;
Also, see the following resources:&lt;/div&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;&lt;a data-cke-saved-href="http://www.ibm.com/developerworks/websphere/library/techarticles/1105_ragava/1105_ragava.html" href="http://www.ibm.com/developerworks/websphere/library/techarticles/1105_ragava/1105_ragava.html" target="_blank"&gt;WebSphere&amp;nbsp;Lombardi&amp;nbsp;exception&amp;nbsp;handling&amp;nbsp;and&amp;nbsp;logging&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a data-cke-saved-href="https://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/topic/com.ibm.iea.ibpmgr/ibpmgr/8.0/ProcessDesigner/BPM80_ErrorAndTerminationHandling.pdf?dmuid=20120803145107962855" href="https://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/topic/com.ibm.iea.ibpmgr/ibpmgr/8.0/ProcessDesigner/BPM80_ErrorAndTerminationHandling.pdf?dmuid=20120803145107962855" target="_blank"&gt;“Introduction&amp;nbsp;to&amp;nbsp;enhanced&amp;nbsp;error&amp;nbsp;handling&amp;nbsp;and&amp;nbsp;termination&amp;nbsp;handling”&amp;nbsp;presentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div dir="ltr"&gt;
To learn more about how to model fault handling in Business
 Process Execution Language (BPEL), search the IBM BPM documentation for
 your release for “&lt;span class="resultofText"&gt;Fault&lt;/span&gt;&amp;nbsp;handling in&amp;nbsp;&lt;span class="resultofText"&gt;BPEL&lt;/span&gt;“.&lt;/div&gt;
&lt;div dir="ltr"&gt;
Also, see these developerWorks articles:&lt;/div&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;&lt;a data-cke-saved-href="http://www.ibm.com/developerworks/websphere/library/techarticles/0810_chacko/0810_chacko.html" href="http://www.ibm.com/developerworks/websphere/library/techarticles/0810_chacko/0810_chacko.html" target="_blank"&gt;Error&amp;nbsp;handling&amp;nbsp;in&amp;nbsp;WebSphere&amp;nbsp;Process&amp;nbsp;Server,&amp;nbsp;Part&amp;nbsp;1:&amp;nbsp;Developing&amp;nbsp;an&amp;nbsp;error&amp;nbsp;handling&amp;nbsp;strategy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ibm.com/developerworks/websphere/library/techarticles/1011_toth/1011_toth.html" target="_blank"&gt;Implementing
 tracing, logging, and error handling in mediation modules using 
WebSphere Integration Developer and WebSphere ESB V7, Part 1 &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ibm.com/developerworks/websphere/library/techarticles/1108_toth/1108_toth.html" target="_blank"&gt;Tracing,
 logging, and error handling in mediation modules using IBM Integration 
Designer, WebSphere ESB, WebSphere Process Server, and Business Process 
Manager Advanced Edition, Part 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ibm.com/developerworks/bpm/library/techarticles/1210_agrawal/1210_agrawal.html" target="_blank"&gt;Configuring error handling for Advanced Integration Services in IBM Business Process Manager Advanced V8&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;
2.&lt;b&gt; &lt;span style="font-size: small;"&gt;Good practice – Do not use IBM BPM as a system of record&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div dir="ltr"&gt;
Business processes naturally use business data in the form 
of variables to represent the process state and affect the process flow.
 However, do not consider this data a system of record (SOR). 
IBM®&amp;nbsp;Business Process Manager should always work with external systems 
of record to access and update data. Use the business data in a process 
only for the purpose of that process; do not expose that data as an SOR 
for other purposes.&lt;/div&gt;
&lt;div dir="ltr"&gt;
A proper SOR is architected and designed for transactional,
 efficient, and safe reading and writing and reporting by one or more 
users and producers. The business data in a process is merely a 
temporary stateful representation of that data to affect the process 
flow and user interactions. Process variables and their underlying IBM 
BPM persistent data store are not designed to be used outside of that 
process. Considering these process variables as the single source of 
truth for that data eventually causes issues and requests for typical 
transactional &lt;a data-cke-saved-href="http://en.wikipedia.org/wiki/Create,_read,_update_and_delete" href="http://en.wikipedia.org/wiki/Create,_read,_update_and_delete" target="_blank"&gt;CRUD&lt;/a&gt; access to that data that is not possible or recommended on top of the IBM BPM internal database.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions:&lt;/b&gt; Express, Standard and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases:&lt;/b&gt;&amp;nbsp;All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Source:&lt;/b&gt; &lt;a data-cke-saved-href="http://soapower.com/IBMBPM/Whitepapers/IBM-BPM-BP-BestPractices-SystemOfRecord-BPM-SOR-Architecture.pdf" href="http://soapower.com/IBMBPM/Whitepapers/IBM-BPM-BP-BestPractices-SystemOfRecord-BPM-SOR-Architecture.pdf" target="_blank"&gt;System-of-Record&amp;nbsp;Architecture&amp;nbsp;for&amp;nbsp;Process-Driven&amp;nbsp;Solutions&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
3&lt;b&gt;. &lt;span style="font-size: small;"&gt;Good practice – Ensure the health of your BPMN processes by using the JavaScript loop detector and process monitor&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
There are tools in IBM® Business Process Manager (BPM) that
 help you ensure the health of your Business process Modeling Notation 
(BPMN) processes:&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;JavaScript loop detector:&lt;/b&gt;&amp;nbsp;This tool is in IBM BPM V8.5.5 and available as an interim fix (see APAR&lt;a data-cke-saved-href="http://www-01.ibm.com/support/docview.wss?uid=swg1JR48395" href="http://www-01.ibm.com/support/docview.wss?uid=swg1JR48395"&gt;&amp;nbsp;JR48395&lt;/a&gt;)
 for V8.0.1.1, V8.0.1.2, and V8.5.0.1. With this tool installed&amp;nbsp;and 
enabled, the engine identifies what appear to be infinite loops in 
individual server-side JavaScript steps when you perform playbacks in 
Process Center. If potential infinite loops are detected, you are given 
an opportunity to terminate that JavaScript step without having to 
restart Process Center.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Process monitor:&lt;/b&gt;&amp;nbsp;From this page on the 
Process Admin Console, you can proactively and reactively detect 
processes and services that are acting errantly.&amp;nbsp;For more information, 
see &lt;a data-cke-saved-href="http://www.ibm.com/support/docview.wss?uid=swg27042159" href="http://www.ibm.com/support/docview.wss?uid=swg27042159" target="_blank"&gt;Monitoring&amp;nbsp;processes&amp;nbsp;and&amp;nbsp;services&amp;nbsp;in&amp;nbsp;the&amp;nbsp;Process&amp;nbsp;Admin&amp;nbsp;Console&amp;nbsp;for&amp;nbsp;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;(BPM)&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions:&lt;/b&gt; Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases:&lt;/b&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;4. &lt;span style="font-size: small;"&gt;Good practice – Mark system tasks for deletion when you create them&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
For system tasks in your business process definitions (BPDs), select the &lt;b&gt;Delete task on completion &lt;/b&gt;check
 box on the&amp;nbsp;Implementation tab of the properties in IBM Process 
Designer. With this option selected, tasks are automatically deleted 
when they complete, which can save a significant amount of data from 
being persisted. Note that the default setting for this check box was 
changed to selected as of IBM Business Process Manager V8.5.5.0 for 
newly created system tasks.&lt;/div&gt;
&lt;div dir="ltr"&gt;
For user tasks in your BPDs, make a conscious decision about the &lt;b&gt;Clean State&lt;/b&gt;&amp;nbsp;check
 box on the Implementation tab of the BPD’s properties. By default, this
 option is not selected, but selecting it automatically cleans up the 
context (such as variables) for the user task when it completes. If the 
state is not required to be persisted and this option is selected, you 
can save a significant about of database space and even speed the 
migration of snapshot instances.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions: &lt;/b&gt;Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases&lt;/b&gt;: All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;5.&lt;span style="font-size: small;"&gt;Good practice – Turn off auto-tracking in BPDs if it is not required&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
Auto-tracking in IBM® WebSphere Lombardi Edition and IBM 
Business Process Manager is important for many business process 
definitions (BPDs) because it helps you gather, track, and report key 
business metrics. However, an additional cost comes with auto-tracking 
because these events are processed by the Performance Data Warehouse and
 persisted in the database.&lt;/div&gt;
&lt;div dir="ltr"&gt;
Because of that cost, disable the default auto-tracking 
capability for BPDs if you do not need to track and report on their 
business metrics so that you can lower your costs​. Also, consider 
creating tracking groups to track only key business events, and then 
disable auto-tracking. This approach ensures that the events that are 
persisted are only those that are required for your business metrics.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions: &lt;/b&gt;Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases: &lt;/b&gt;All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Source:&lt;/b&gt;&amp;nbsp;&lt;a data-cke-saved-href="http://www.redbooks.ibm.com/redpapers/pdfs/redp4935.pdf" href="http://www.redbooks.ibm.com/abstracts/SG248216.html?Open" target="_blank" title="(Opens a PDF file)"&gt;IBM Business Process Manager V8.5 Performance Tuning and Best Practices&lt;/a&gt; Redpaper&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;6.&lt;span style="font-size: small;"&gt;Good practice – Use governance processes for snapshot installations&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
As of IBM Business Process Manager (BPM) V8.0, Process Center supports a special type of process called a &lt;i&gt;governance process&lt;/i&gt;.
 This process is installed and runs in Process Center to detect and 
react when a snapshot changes status or a request is made to install a 
snapshot.&lt;/div&gt;
&lt;div dir="ltr"&gt;
To ensure that there is visibility regarding the 
installation of new snapshots, it’s a good practice&amp;nbsp;to have a governance
 process. For example, your governance process could ensure that the 
architect and test lead both approved installing the new snapshot&amp;nbsp;before
 it is installed into a production environment.&lt;/div&gt;
&lt;div dir="ltr"&gt;
For information about governance processes, see &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.6/com.ibm.wbpm.admin.doc/topics/govern_install_intro.html?cp=SSFPJS_8.5.6&amp;amp;lang=en" target="_blank"&gt;Applying governance to a process application&lt;/a&gt;.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions: &lt;/b&gt;Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases:&lt;/b&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;7.&lt;span style="font-size: small;"&gt; Good practice – Use IBM BPM Advanced, an 
enterprise service bus, or both  to expose services to your business 
processes that use BPMN&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;Business processes orchestrate services and people. Most 
business processes require services, such as web services or REST 
services, to perform their business functions.&amp;nbsp;However, because IBM® 
Business Process Manager (BPM) Standard is intended for the business 
developer more so than the integration developer, there is limited 
support in IBM BPM Standard for accessing services across different 
protocols. The type system is based on JavaScript rather than XML schema
 to reduce the complexity.&lt;/div&gt;
&lt;div dir="ltr"&gt;
Therefore, to expose services to your business processes 
that use Business Process Modeling Notation (BPMN) and have 
business-friendly user interfaces and protocols, use IBM BPM Advanced, 
an enterprise service bus (ESB) such as IBM Integration Bus, or both. 
These products allow for the complexity&amp;nbsp;of integrating with enterprise 
systems. They also keep dealing with various protocols and qualities of 
service out of the BPMN business processes that are developed by 
integration developers who use more powerful integration tools, such as 
IBM Integration Designer or IBM Integration Toolkit.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions:&amp;nbsp;&lt;/b&gt;Express, Standard, and Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases:&lt;/b&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;8.&lt;span style="font-size: small;"&gt;Good practice – Use the facade pattern for Advanced Integration services&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
When you use Advanced Integration services in IBM® Business
 Process Manager (BPM) Advanced, a copy of the EAR file for the 
implementation of each Advanced Integration service is created for each 
process app that uses it.&lt;/div&gt;
&lt;div dir="ltr"&gt;
For large implementations, these EAR file copies take a lot
 of space. To avoid wasting space, deploy that implementation EAR file 
once as part of one dedicated process app, and have a very small facade 
Advanced Integration service that invokes the process app. This facade 
pattern is documented in &lt;a data-cke-saved-href="http://www.ibm.com/developerworks/websphere/bpmjournal/1112_pacholski/1112_pacholski.html" href="http://www.ibm.com/developerworks/websphere/bpmjournal/1112_pacholski/1112_pacholski.html" target="_blank" title="(Opens in a new tab or window)"&gt;Implementing the facade pattern using IBM Business Process Manager Advanced V7.5&lt;/a&gt;. This IBM developerWorks article also applies to IBM BPM V8.0 through V8.5.5.&lt;/div&gt;
&lt;div dir="ltr"&gt;
This pattern is built into IBM BPM v8.5.6.&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions: &lt;/b&gt;Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases:&lt;/b&gt; All&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Source: &lt;/b&gt;&lt;a data-cke-saved-href="http://www.ibm.com/developerworks/websphere/bpmjournal/1112_pacholski/1112_pacholski.html" href="http://www.ibm.com/developerworks/websphere/bpmjournal/1112_pacholski/1112_pacholski.html" target="_blank" title="(Opens in a new tab or window)"&gt;Implementing the facade pattern using IBM Business Process Manager Advanced V7.5&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;9.&lt;span style="font-size: small;"&gt;Good practice – Use the right process for the job&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
It is important to use the right type of process for your 
requirements. You can determine the right type of process by following 
these guidelines:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;For human and case centric processes, use BPMN or business process definitions (BPDs).&lt;/li&gt;
&lt;li&gt;If you have IBM Business Process Manager (BPM) Advanced, for 
straight-through processes that contain no human tasks, use BPEL. These 
processes are more efficient and can use the advanced qualities of 
services and integration capability.
&lt;ul&gt;
&lt;li&gt;For straight-through processes that do not need to wait on 
asynchronous services, use BPEL microflows, which are very efficient. 
The entire process runs in one transaction.&lt;/li&gt;
&lt;li&gt;For straight-through processes that might span a longer period of 
time, perhaps because they must wait on an asynchronous response, use 
BPEL long-running flows. If only a portion of the solution requires 
long-running processes, separate it into both microflows and 
long-running processes to maximize the use of microflows. For more 
information, see &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFTDH_8.5.6/com.ibm.wbpm.wid.bpel.doc/topics/cprocess_transaction.html?cp=SSFTDH_8.5.6&amp;amp;lang=en" target="_blank"&gt;Transactional behavior of BPEL processes&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If you have only IBM BPM Express or Standard, for straight-through 
processes use the BPD option (new in V8.5.5) to optimize the process for
 latency. For more information, see &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFTDH_8.5.6/com.ibm.wbpm.wle.editor.doc/topics/performance_optimization.html?cp=SSFTDH_8.5.6" target="_blank"&gt;Optimizing BPD execution for latency&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
For more information about BPEL microflows versus long-running flows, see the topics &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFTDH_8.5.6/com.ibm.wbpm.wid.bpel.doc/topics/cprocess.html?cp=SSFTDH_8.5.6&amp;amp;lang=en" target="_blank"&gt;BPEL process types&lt;/a&gt; and &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFTDH_8.5.6/com.ibm.wbpm.wid.bpel.doc/topics/clngmcro.html?lang=en" target="_blank"&gt;Choosing between a microflow and a long-running process&lt;/a&gt;.&lt;br /&gt;
&lt;b&gt;Applicable editions: &lt;/b&gt;Express, Standard, and Advanced&lt;br /&gt;
&lt;b&gt;Applicable releases: &lt;/b&gt;All&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;10. Good practice – Use the sync-over-async invocation pattern with caution&lt;/span&gt;&lt;/h1&gt;
&lt;div dir="ltr"&gt;
When you develop advanced IBM® Business Process Manager 
(BPM) applications using IBM Integration Designer, use caution when you 
invoke an asynchronous component or import using a synchronous 
invocation style.&lt;/div&gt;
&lt;div dir="ltr"&gt;
Invoking an asynchronous component or import using a 
synchronous invocation style causes the infrastructure underneath to 
switch from synchronous to asynchronous, often with unintended 
consequences including a new transaction boundary, use of threads to 
wait on the asynchronous response, and specific retry behavior if the 
invocation fails. This now infamous “Sync Over Async” situation is 
considered an anti-pattern because of the issues it can cause.&lt;/div&gt;
&lt;div dir="ltr"&gt;
Follow the instructions in &lt;a href="http://www.ibm.com/support/knowledgecenter/SSFTDH_8.5.5/com.ibm.wbpm.main.doc/topics/csca_synchoverasynch.html" target="_blank"&gt;Synchronous&amp;nbsp;over&amp;nbsp;asynchronous&amp;nbsp;invocation.&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable editions:&lt;/b&gt; Advanced&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;b&gt;Applicable releases:&lt;/b&gt; All&lt;/div&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;b&gt;Source:&lt;/b&gt; IBM&lt;/span&gt;&lt;/h1&gt;
&lt;h1 class="pn-page-title"&gt;
&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
&lt;br /&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</author><enclosure length="1361359" type="application/pdf" url="http://www.redbooks.ibm.com/redpapers/pdfs/redp4935.pdf"/><itunes:explicit>yes</itunes:explicit><itunes:subtitle>1. Good practice – Diligently deal with faults when invoking external services Well-designed external and Advanced Integration services have modeled faults for business exceptions such as “insufficient funds” and often have unmodeled faults for technical exceptions such as “network failure” issues. When you are invoking services from a process, design your process to deal with both types of faults. Typically, a business exception can be handled in the process flow, such as by returning to a previous step or engaging the user, whereas a system fault might result in retrying the service or engaging a process administrator. To learn more about how to model fault handling in Business Process Modeling Notation (BPMN), search the IBM®&amp;nbsp;Business Process Manager (BPM) documentation for your release for “Handling errors in services”. Also, see the following resources: WebSphere&amp;nbsp;Lombardi&amp;nbsp;exception&amp;nbsp;handling&amp;nbsp;and&amp;nbsp;logging “Introduction&amp;nbsp;to&amp;nbsp;enhanced&amp;nbsp;error&amp;nbsp;handling&amp;nbsp;and&amp;nbsp;termination&amp;nbsp;handling”&amp;nbsp;presentation To learn more about how to model fault handling in Business Process Execution Language (BPEL), search the IBM BPM documentation for your release for “Fault&amp;nbsp;handling in&amp;nbsp;BPEL“. Also, see these developerWorks articles: Error&amp;nbsp;handling&amp;nbsp;in&amp;nbsp;WebSphere&amp;nbsp;Process&amp;nbsp;Server,&amp;nbsp;Part&amp;nbsp;1:&amp;nbsp;Developing&amp;nbsp;an&amp;nbsp;error&amp;nbsp;handling&amp;nbsp;strategy Implementing tracing, logging, and error handling in mediation modules using WebSphere Integration Developer and WebSphere ESB V7, Part 1 Tracing, logging, and error handling in mediation modules using IBM Integration Designer, WebSphere ESB, WebSphere Process Server, and Business Process Manager Advanced Edition, Part 2 Configuring error handling for Advanced Integration Services in IBM Business Process Manager Advanced V8 2. Good practice – Do not use IBM BPM as a system of record Business processes naturally use business data in the form of variables to represent the process state and affect the process flow. However, do not consider this data a system of record (SOR). IBM®&amp;nbsp;Business Process Manager should always work with external systems of record to access and update data. Use the business data in a process only for the purpose of that process; do not expose that data as an SOR for other purposes. A proper SOR is architected and designed for transactional, efficient, and safe reading and writing and reporting by one or more users and producers. The business data in a process is merely a temporary stateful representation of that data to affect the process flow and user interactions. Process variables and their underlying IBM BPM persistent data store are not designed to be used outside of that process. Considering these process variables as the single source of truth for that data eventually causes issues and requests for typical transactional CRUD access to that data that is not possible or recommended on top of the IBM BPM internal database. Applicable editions: Express, Standard and Advanced Applicable releases:&amp;nbsp;All Source: System-of-Record&amp;nbsp;Architecture&amp;nbsp;for&amp;nbsp;Process-Driven&amp;nbsp;Solutions 3. Good practice – Ensure the health of your BPMN processes by using the JavaScript loop detector and process monitor There are tools in IBM® Business Process Manager (BPM) that help you ensure the health of your Business process Modeling Notation (BPMN) processes: JavaScript loop detector:&amp;nbsp;This tool is in IBM BPM V8.5.5 and available as an interim fix (see APAR&amp;nbsp;JR48395) for V8.0.1.1, V8.0.1.2, and V8.5.0.1. With this tool installed&amp;nbsp;and enabled, the engine identifies what appear to be infinite loops in individual server-side JavaScript steps when you perform playbacks in Process Center. If potential infinite loops are detected, you are given an opportunity to terminate that JavaScript step without having to restart Process Center. Process monitor:&amp;nbsp;From this page on the Process Admin Console, you can proactively and reactively detect processes and services that are acting errantly.&amp;nbsp;For more information, see Monitoring&amp;nbsp;processes&amp;nbsp;and&amp;nbsp;services&amp;nbsp;in&amp;nbsp;the&amp;nbsp;Process&amp;nbsp;Admin&amp;nbsp;Console&amp;nbsp;for&amp;nbsp;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;(BPM). Applicable editions: Express, Standard, and Advanced Applicable releases: All 4. Good practice – Mark system tasks for deletion when you create them For system tasks in your business process definitions (BPDs), select the Delete task on completion check box on the&amp;nbsp;Implementation tab of the properties in IBM Process Designer. With this option selected, tasks are automatically deleted when they complete, which can save a significant amount of data from being persisted. Note that the default setting for this check box was changed to selected as of IBM Business Process Manager V8.5.5.0 for newly created system tasks. For user tasks in your BPDs, make a conscious decision about the Clean State&amp;nbsp;check box on the Implementation tab of the BPD’s properties. By default, this option is not selected, but selecting it automatically cleans up the context (such as variables) for the user task when it completes. If the state is not required to be persisted and this option is selected, you can save a significant about of database space and even speed the migration of snapshot instances. Applicable editions: Express, Standard, and Advanced Applicable releases: All 5.Good practice – Turn off auto-tracking in BPDs if it is not required Auto-tracking in IBM® WebSphere Lombardi Edition and IBM Business Process Manager is important for many business process definitions (BPDs) because it helps you gather, track, and report key business metrics. However, an additional cost comes with auto-tracking because these events are processed by the Performance Data Warehouse and persisted in the database. Because of that cost, disable the default auto-tracking capability for BPDs if you do not need to track and report on their business metrics so that you can lower your costs​. Also, consider creating tracking groups to track only key business events, and then disable auto-tracking. This approach ensures that the events that are persisted are only those that are required for your business metrics. Applicable editions: Express, Standard, and Advanced Applicable releases: All Source:&amp;nbsp;IBM Business Process Manager V8.5 Performance Tuning and Best Practices Redpaper 6.Good practice – Use governance processes for snapshot installations As of IBM Business Process Manager (BPM) V8.0, Process Center supports a special type of process called a governance process. This process is installed and runs in Process Center to detect and react when a snapshot changes status or a request is made to install a snapshot. To ensure that there is visibility regarding the installation of new snapshots, it’s a good practice&amp;nbsp;to have a governance process. For example, your governance process could ensure that the architect and test lead both approved installing the new snapshot&amp;nbsp;before it is installed into a production environment. For information about governance processes, see Applying governance to a process application. Applicable editions: Express, Standard, and Advanced Applicable releases: All 7. Good practice – Use IBM BPM Advanced, an enterprise service bus, or both to expose services to your business processes that use BPMN &amp;nbsp;Business processes orchestrate services and people. Most business processes require services, such as web services or REST services, to perform their business functions.&amp;nbsp;However, because IBM® Business Process Manager (BPM) Standard is intended for the business developer more so than the integration developer, there is limited support in IBM BPM Standard for accessing services across different protocols. The type system is based on JavaScript rather than XML schema to reduce the complexity. Therefore, to expose services to your business processes that use Business Process Modeling Notation (BPMN) and have business-friendly user interfaces and protocols, use IBM BPM Advanced, an enterprise service bus (ESB) such as IBM Integration Bus, or both. These products allow for the complexity&amp;nbsp;of integrating with enterprise systems. They also keep dealing with various protocols and qualities of service out of the BPMN business processes that are developed by integration developers who use more powerful integration tools, such as IBM Integration Designer or IBM Integration Toolkit. Applicable editions:&amp;nbsp;Express, Standard, and Advanced Applicable releases: All 8.Good practice – Use the facade pattern for Advanced Integration services When you use Advanced Integration services in IBM® Business Process Manager (BPM) Advanced, a copy of the EAR file for the implementation of each Advanced Integration service is created for each process app that uses it. For large implementations, these EAR file copies take a lot of space. To avoid wasting space, deploy that implementation EAR file once as part of one dedicated process app, and have a very small facade Advanced Integration service that invokes the process app. This facade pattern is documented in Implementing the facade pattern using IBM Business Process Manager Advanced V7.5. This IBM developerWorks article also applies to IBM BPM V8.0 through V8.5.5. This pattern is built into IBM BPM v8.5.6. Applicable editions: Advanced Applicable releases: All Source: Implementing the facade pattern using IBM Business Process Manager Advanced V7.5 9.Good practice – Use the right process for the job It is important to use the right type of process for your requirements. You can determine the right type of process by following these guidelines: For human and case centric processes, use BPMN or business process definitions (BPDs). If you have IBM Business Process Manager (BPM) Advanced, for straight-through processes that contain no human tasks, use BPEL. These processes are more efficient and can use the advanced qualities of services and integration capability. For straight-through processes that do not need to wait on asynchronous services, use BPEL microflows, which are very efficient. The entire process runs in one transaction. For straight-through processes that might span a longer period of time, perhaps because they must wait on an asynchronous response, use BPEL long-running flows. If only a portion of the solution requires long-running processes, separate it into both microflows and long-running processes to maximize the use of microflows. For more information, see Transactional behavior of BPEL processes. If you have only IBM BPM Express or Standard, for straight-through processes use the BPD option (new in V8.5.5) to optimize the process for latency. For more information, see Optimizing BPD execution for latency. For more information about BPEL microflows versus long-running flows, see the topics BPEL process types and Choosing between a microflow and a long-running process. Applicable editions: Express, Standard, and Advanced Applicable releases: All 10. Good practice – Use the sync-over-async invocation pattern with caution When you develop advanced IBM® Business Process Manager (BPM) applications using IBM Integration Designer, use caution when you invoke an asynchronous component or import using a synchronous invocation style. Invoking an asynchronous component or import using a synchronous invocation style causes the infrastructure underneath to switch from synchronous to asynchronous, often with unintended consequences including a new transaction boundary, use of threads to wait on the asynchronous response, and specific retry behavior if the invocation fails. This now infamous “Sync Over Async” situation is considered an anti-pattern because of the issues it can cause. Follow the instructions in Synchronous&amp;nbsp;over&amp;nbsp;asynchronous&amp;nbsp;invocation. Applicable editions: Advanced Applicable releases: All &amp;nbsp;Source: IBM &amp;nbsp;</itunes:subtitle><itunes:author>teknoturfian@gmail.com (Marimuthu Udhayakumar)</itunes:author><itunes:summary>1. Good practice – Diligently deal with faults when invoking external services Well-designed external and Advanced Integration services have modeled faults for business exceptions such as “insufficient funds” and often have unmodeled faults for technical exceptions such as “network failure” issues. When you are invoking services from a process, design your process to deal with both types of faults. Typically, a business exception can be handled in the process flow, such as by returning to a previous step or engaging the user, whereas a system fault might result in retrying the service or engaging a process administrator. To learn more about how to model fault handling in Business Process Modeling Notation (BPMN), search the IBM®&amp;nbsp;Business Process Manager (BPM) documentation for your release for “Handling errors in services”. Also, see the following resources: WebSphere&amp;nbsp;Lombardi&amp;nbsp;exception&amp;nbsp;handling&amp;nbsp;and&amp;nbsp;logging “Introduction&amp;nbsp;to&amp;nbsp;enhanced&amp;nbsp;error&amp;nbsp;handling&amp;nbsp;and&amp;nbsp;termination&amp;nbsp;handling”&amp;nbsp;presentation To learn more about how to model fault handling in Business Process Execution Language (BPEL), search the IBM BPM documentation for your release for “Fault&amp;nbsp;handling in&amp;nbsp;BPEL“. Also, see these developerWorks articles: Error&amp;nbsp;handling&amp;nbsp;in&amp;nbsp;WebSphere&amp;nbsp;Process&amp;nbsp;Server,&amp;nbsp;Part&amp;nbsp;1:&amp;nbsp;Developing&amp;nbsp;an&amp;nbsp;error&amp;nbsp;handling&amp;nbsp;strategy Implementing tracing, logging, and error handling in mediation modules using WebSphere Integration Developer and WebSphere ESB V7, Part 1 Tracing, logging, and error handling in mediation modules using IBM Integration Designer, WebSphere ESB, WebSphere Process Server, and Business Process Manager Advanced Edition, Part 2 Configuring error handling for Advanced Integration Services in IBM Business Process Manager Advanced V8 2. Good practice – Do not use IBM BPM as a system of record Business processes naturally use business data in the form of variables to represent the process state and affect the process flow. However, do not consider this data a system of record (SOR). IBM®&amp;nbsp;Business Process Manager should always work with external systems of record to access and update data. Use the business data in a process only for the purpose of that process; do not expose that data as an SOR for other purposes. A proper SOR is architected and designed for transactional, efficient, and safe reading and writing and reporting by one or more users and producers. The business data in a process is merely a temporary stateful representation of that data to affect the process flow and user interactions. Process variables and their underlying IBM BPM persistent data store are not designed to be used outside of that process. Considering these process variables as the single source of truth for that data eventually causes issues and requests for typical transactional CRUD access to that data that is not possible or recommended on top of the IBM BPM internal database. Applicable editions: Express, Standard and Advanced Applicable releases:&amp;nbsp;All Source: System-of-Record&amp;nbsp;Architecture&amp;nbsp;for&amp;nbsp;Process-Driven&amp;nbsp;Solutions 3. Good practice – Ensure the health of your BPMN processes by using the JavaScript loop detector and process monitor There are tools in IBM® Business Process Manager (BPM) that help you ensure the health of your Business process Modeling Notation (BPMN) processes: JavaScript loop detector:&amp;nbsp;This tool is in IBM BPM V8.5.5 and available as an interim fix (see APAR&amp;nbsp;JR48395) for V8.0.1.1, V8.0.1.2, and V8.5.0.1. With this tool installed&amp;nbsp;and enabled, the engine identifies what appear to be infinite loops in individual server-side JavaScript steps when you perform playbacks in Process Center. If potential infinite loops are detected, you are given an opportunity to terminate that JavaScript step without having to restart Process Center. Process monitor:&amp;nbsp;From this page on the Process Admin Console, you can proactively and reactively detect processes and services that are acting errantly.&amp;nbsp;For more information, see Monitoring&amp;nbsp;processes&amp;nbsp;and&amp;nbsp;services&amp;nbsp;in&amp;nbsp;the&amp;nbsp;Process&amp;nbsp;Admin&amp;nbsp;Console&amp;nbsp;for&amp;nbsp;IBM&amp;nbsp;Business&amp;nbsp;Process&amp;nbsp;Manager&amp;nbsp;(BPM). Applicable editions: Express, Standard, and Advanced Applicable releases: All 4. Good practice – Mark system tasks for deletion when you create them For system tasks in your business process definitions (BPDs), select the Delete task on completion check box on the&amp;nbsp;Implementation tab of the properties in IBM Process Designer. With this option selected, tasks are automatically deleted when they complete, which can save a significant amount of data from being persisted. Note that the default setting for this check box was changed to selected as of IBM Business Process Manager V8.5.5.0 for newly created system tasks. For user tasks in your BPDs, make a conscious decision about the Clean State&amp;nbsp;check box on the Implementation tab of the BPD’s properties. By default, this option is not selected, but selecting it automatically cleans up the context (such as variables) for the user task when it completes. If the state is not required to be persisted and this option is selected, you can save a significant about of database space and even speed the migration of snapshot instances. Applicable editions: Express, Standard, and Advanced Applicable releases: All 5.Good practice – Turn off auto-tracking in BPDs if it is not required Auto-tracking in IBM® WebSphere Lombardi Edition and IBM Business Process Manager is important for many business process definitions (BPDs) because it helps you gather, track, and report key business metrics. However, an additional cost comes with auto-tracking because these events are processed by the Performance Data Warehouse and persisted in the database. Because of that cost, disable the default auto-tracking capability for BPDs if you do not need to track and report on their business metrics so that you can lower your costs​. Also, consider creating tracking groups to track only key business events, and then disable auto-tracking. This approach ensures that the events that are persisted are only those that are required for your business metrics. Applicable editions: Express, Standard, and Advanced Applicable releases: All Source:&amp;nbsp;IBM Business Process Manager V8.5 Performance Tuning and Best Practices Redpaper 6.Good practice – Use governance processes for snapshot installations As of IBM Business Process Manager (BPM) V8.0, Process Center supports a special type of process called a governance process. This process is installed and runs in Process Center to detect and react when a snapshot changes status or a request is made to install a snapshot. To ensure that there is visibility regarding the installation of new snapshots, it’s a good practice&amp;nbsp;to have a governance process. For example, your governance process could ensure that the architect and test lead both approved installing the new snapshot&amp;nbsp;before it is installed into a production environment. For information about governance processes, see Applying governance to a process application. Applicable editions: Express, Standard, and Advanced Applicable releases: All 7. Good practice – Use IBM BPM Advanced, an enterprise service bus, or both to expose services to your business processes that use BPMN &amp;nbsp;Business processes orchestrate services and people. Most business processes require services, such as web services or REST services, to perform their business functions.&amp;nbsp;However, because IBM® Business Process Manager (BPM) Standard is intended for the business developer more so than the integration developer, there is limited support in IBM BPM Standard for accessing services across different protocols. The type system is based on JavaScript rather than XML schema to reduce the complexity. Therefore, to expose services to your business processes that use Business Process Modeling Notation (BPMN) and have business-friendly user interfaces and protocols, use IBM BPM Advanced, an enterprise service bus (ESB) such as IBM Integration Bus, or both. These products allow for the complexity&amp;nbsp;of integrating with enterprise systems. They also keep dealing with various protocols and qualities of service out of the BPMN business processes that are developed by integration developers who use more powerful integration tools, such as IBM Integration Designer or IBM Integration Toolkit. Applicable editions:&amp;nbsp;Express, Standard, and Advanced Applicable releases: All 8.Good practice – Use the facade pattern for Advanced Integration services When you use Advanced Integration services in IBM® Business Process Manager (BPM) Advanced, a copy of the EAR file for the implementation of each Advanced Integration service is created for each process app that uses it. For large implementations, these EAR file copies take a lot of space. To avoid wasting space, deploy that implementation EAR file once as part of one dedicated process app, and have a very small facade Advanced Integration service that invokes the process app. This facade pattern is documented in Implementing the facade pattern using IBM Business Process Manager Advanced V7.5. This IBM developerWorks article also applies to IBM BPM V8.0 through V8.5.5. This pattern is built into IBM BPM v8.5.6. Applicable editions: Advanced Applicable releases: All Source: Implementing the facade pattern using IBM Business Process Manager Advanced V7.5 9.Good practice – Use the right process for the job It is important to use the right type of process for your requirements. You can determine the right type of process by following these guidelines: For human and case centric processes, use BPMN or business process definitions (BPDs). If you have IBM Business Process Manager (BPM) Advanced, for straight-through processes that contain no human tasks, use BPEL. These processes are more efficient and can use the advanced qualities of services and integration capability. For straight-through processes that do not need to wait on asynchronous services, use BPEL microflows, which are very efficient. The entire process runs in one transaction. For straight-through processes that might span a longer period of time, perhaps because they must wait on an asynchronous response, use BPEL long-running flows. If only a portion of the solution requires long-running processes, separate it into both microflows and long-running processes to maximize the use of microflows. For more information, see Transactional behavior of BPEL processes. If you have only IBM BPM Express or Standard, for straight-through processes use the BPD option (new in V8.5.5) to optimize the process for latency. For more information, see Optimizing BPD execution for latency. For more information about BPEL microflows versus long-running flows, see the topics BPEL process types and Choosing between a microflow and a long-running process. Applicable editions: Express, Standard, and Advanced Applicable releases: All 10. Good practice – Use the sync-over-async invocation pattern with caution When you develop advanced IBM® Business Process Manager (BPM) applications using IBM Integration Designer, use caution when you invoke an asynchronous component or import using a synchronous invocation style. Invoking an asynchronous component or import using a synchronous invocation style causes the infrastructure underneath to switch from synchronous to asynchronous, often with unintended consequences including a new transaction boundary, use of threads to wait on the asynchronous response, and specific retry behavior if the invocation fails. This now infamous “Sync Over Async” situation is considered an anti-pattern because of the issues it can cause. Follow the instructions in Synchronous&amp;nbsp;over&amp;nbsp;asynchronous&amp;nbsp;invocation. Applicable editions: Advanced Applicable releases: All &amp;nbsp;Source: IBM &amp;nbsp;</itunes:summary><itunes:keywords>LWUIT,Java,J2ee,J2me,Php,Oracle,C,C,MQ,MQBroker,XML,Db2</itunes:keywords></item></channel></rss>