Monday, August 24, 2015

IBM BPM PO types table (BPM DB Part)

IBM BPM 8.5.5 PO types table (BPM DB Part)
  1. PO_TYPE Name BPMDB table
  2. 1 TWProcess (Service) LSW_PROCESS
  3. 2 IC (IntegrationComponent) LSW_IC
  4. 3 Connector LSW_CONNECTOR
  5. 4 UCA (UnderCoverAgent) LSW_UCA
  6. 7 WebService LSW_WEB_SERVICE
  7. 8 WebScript
  8. 11 Report LSW_REPORT
  9. 12 TWClass (VariableType) LSW_CLASS
  10. 13 Scoreboard LSW_SCBD
  11. 14 TrackingGroup LSW_TRACKING_GROUP
  12. 15 TimingInterval LSW_TIMING_INTERVAL
  13. 16 TrackingPoint LSW_TRACKING_POINT
  14. 17 TrackedVariable LSW_TRACKED_VARIABLE
  15. 20 Layout LSW_LAYOUT
  16. 21 EPV LSW_EPV
  17. 22 GlobalVariable deprecated
  18. 24 Participant LSW_PARTICIPANT
  19. 25 BPD LSW_BPD
  20. 30 Priority LSW_PRIORITY
  21. 31 Calendar deprecated
  22. 40 CustomStatus deprecated
  23. 42 AlertSeverity deprecated
  24. 43 InfoPathForm LSW_INFOPATH_FORM
  25. 47 SLA LSW_SLA
  26. 49 Metric LSW_METRIC
  27. 50 ResourceBundleGroup LSW_RESOURCE_BUNDLE_GROUP
  28. 51 UserAttributeDefinition LSW_USER_ATTRIBUTE_DEF
  29. 52 SimulationScenario LSW_SIM_SCENARIO
  30. 53 HistoricalScenario LSW_HIST_SCENARIO
  31. 54 OrgChart deprecated
  32. 60 ExternalActivity LSW_EXTERNAL_ACTIVITY
  33. 61 ManagedAsset LSW_MANAGED_ASSET
  34. 62 EnvironmentVariableSet LSW_ENV_VAR_SET
  35. 63 ProjectDefaults LSW_PROJECT_DEFAULTS
  36. 64 CoachView BPM_COACH_VIEW
  37. 65 CoachViewBindingType BPM_COACH_VIEW_BINDING_TYPE
  38. 66 CoachViewConfigOption BPM_COACH_VIEW_CONFIG_OPTION
  39. 67 CoachViewResource BPM_COACH_VIEW_RESOURCE
  40. 68 CoachViewInlineScript BPM_COACH_VIEW_INLINE_SCRIPT
  41. 69 CoachViewLocalization BPM_COACH_VIEW_LOCAL_RES
  42. 70 CoachViewAMDDependency BPM_COACH_VIEW_AMD_DEP
  43. 71 EventSubscription BPM_EVENT_SUBSCRIPTION
  44. 1989 ExtendedPropertySet LSW_EXTENDED_PROPERTY_SET
  45. 2000 ExtendedProperty LSW_EXTENDED_PROPERTY
  46. 2001 AlertType deprecated
  47. 2002 SapConnection LSW_SAP_CONNECTION
  48. 2005 Breakpoint LSW_BREAKPOINT
  49. 2006 BpdEvent LSW_BPD_EVENT
  50. 2007 BpdParameter LSW_BPD_PARAMETER
  51. 2008 BpmEvent BPM_BPD_EVENT
  52. 2013 EpvVar LSW_EPV_VAR
  53. 2014 EpvVarValue LSW_EPV_VAR_VALUE
  54. 2015 Favorite LSW_FAVORITE
  55. 2018 ICInputProperty LSW_IC_INPUT_PROPERTY
  56. 2019 ICOutputProperty LSW_IC_OUTPUT_PROPERTY
  57. 2020 TimingIntervalBound LSW_TIMING_INTERVAL_BOUND
  58. 2022 Launcher LSW_LAUNCHER
  59. 2023 LayoutParam LSW_LAYOUT_PARAM
  60. 2025 ProcessItem LSW_PROCESS_ITEM
  61. 2026 ProcessItemLogVar deprecated
  62. 2027 ProcessLink LSW_PROCESS_LINK
  63. 2028 ProcessLabel LSW_PROCESS_LABEL
  64. 2029 ProcessItemPrePost LSW_PROCESS_ITEM_PRE_POST
  65. 2030 ReportPage LSW_REPORT_PAGE
  66. 2031 ReportChart LSW_REPORT_CHART
  67. 2032 ReportDatasource LSW_REPORT_DATASOURCE
  68. 2033 ReportDatasourceICLink LSW_REPORT_DATASOURCE_IC_LINK
  69. 2034 ReportDatasourceLayoutLink LSW_REPORT_DS_LAYOUT_LINK
  70. 2035 ReportVariable LSW_REPORT_VARIABLES
  71. 2036 ReportEpvLink LSW_REPORT_EPV_LINK
  72. 2037 ReportTGLink LSW_REPORT_TG_LINK
  73. 2038 ResourceBundle LSW_RESOURCE_BUNDLE
  74. 2039 ResourceBundleKey LSW_RESOURCE_BUNDLE_KEY
  75. 2040 SavedSearch LSW_SAVED_SEARCHES
  76. 2041 ScoreboardReportLink LSW_SCBD_RPT_LINK
  77. 2043 ScriptLanguage
  78. 2044 SyncQueue LSW_UCA_SYNC_QUEUE
  79. 2045 UCABlackout LSW_UCA_BLACKOUT
  80. 2046 UCAParam LSW_UCA_PARM
  81. 2047 ProviderUser LSW_USR
  82. 2048 User LSW_USR_XREF
  83. 2049 UserAttribute LSW_USR_ATTR
  84. 2050 UserAttributeDefinitionValue LSW_USER_ATTR_DEF_VALUES
  85. 2052 WebServiceOperation LSW_WEB_SERVICE_OP
  86. 2054 ParameterMapping LSW_PARAMETER_MAPPING
  87. 2055 ProcessParameter LSW_PROCESS_PARAMETER
  88. 2056 ProcessVariable LSW_PROCESS_VARIABLE
  89. 2057 ProcessGlobalVariableLink deprecated
  90. 2058 EpvProcessLink LSW_EPV_PROCESS_LINK
  91. 2059 ResourceProcessLink LSW_RESOURCE_PROCESS_LINK
  92. 2060 ExternalActivityParameter LSW_EXTACT_PARAMETER
  93. 2061 ExternalActivityProperty LSW_EXTACT_PROPERTY
  94. 2063 Branch LSW_BRANCH
  95. 2064 Snapshot LSW_SNAPSHOT
  96. 2065 Deployment LSW_DEPLOYMENT
  97. 2066 Project LSW_PROJECT
  98. 2068 Server LSW_SERVER
  99. 2069 ProjectDependency LSW_PROJECT_DEPENDENCY
  100. 2070 ParameterMappingParent
  101. 2072 BPDInstance LSW_BPD_INSTANCE
  102. 2073 BPDInstanceData LSW_BPD_INSTANCE_DATA
  103. 2075 UserGroup LSW_USR_GRP_XREF
  104. 2076 Release LSW_RELEASE
  105. 2077 EnvironmentVariableValue LSW_ENV_VAR_VAL
  106. 2078 Task LSW_TASK
  107. 2079 UserFavorite LSW_USER_FAVORITE
  108. 2080 TaskAttachment LSW_FILE
  109. 2081 TaskNarrative LSW_TASK_NARR
  110. 2082 TaskSendToList LSW_TASK_ADDR
  111. 2084 TaskExecutionContext LSW_TASK_EXECUTION_CONTEXT
  112. 2085 TaskInfopathFormData LSW_TASK_IPF_DATA
  113. 2086 ExternalTaskData LSW_TASK_EXTACT_DATA
  114. 2087 UserAssume LSW_USR_ASSUME
  115. 2089 BPDNotification LSW_BPD_NOTIFICATION
  116. 2090 DependencyPath LSW_DEP_PATH
  117. 2091 POReference LSW_PO_REFERENCE
  118. 2092 EnvironmentVariableDefault LSW_ENV_VAR_DEFAULT
  119. 2093 EnvironmentType LSW_ENV_TYPE
  120. 2094 EnvironmentVariable LSW_ENV_VAR
  121. 2095 RTReference LSW_RT_REFERENCE
  122. 2097 TimePeriod LSW_TIME_PERIOD
  123. 2098 TimeSchedule LSW_TIME_SCHEDULE
  124. 2099 HolidaySchedule LSW_HOLIDAY_SCHEDULE
  125. 2100 TWAclEntry LSW_ACL_ENTRY
  126. 2101 SmartFolder LSW_SMART_FOLDER
  127. 2102 ReportDatasourceServiceLink LSW_REPORT_DATASOURCE_SRV_LINK
  128. 2103 Installation LSW_INSTALLATION
  129. 2104 BlueprintSubscription LSW_BLUEPRINT_SUBSCRIPTION
  130. 2105 ReportRbgLink LSW_REPORT_RBG_LINK
  131. 2106 EnvironmentVariableType LSW_ENV_VAR_TYPE
  132. 2107 ServerCapability LSW_SERVER_CAPABILITY
  133. 2108 CapabilityType LSW_CAPABILITY_TYPE
  134. 2109 SharedObject BPM_SHARED_OBJECT
  135. 2110 SharedObjectInstance BPM_SHARED_OBJECT_INSTANCE
  136. 2111 SharedObjectValue BPM_SHARED_OBJECT_VALUE
  137. 2112 OSLCProvider BPM_OSLC_PROVIDER
  138. 2113 BPDSoapHeader BPM_BPD_SOAPHEADER
  139. 2114 EventSubscriptionType BPM_EVENT_SUBSCRIPTION_TYPE
  140. 2115 UCAEventType BPM_UCA_EVENT_TYPE
  141. 2116 BPDInstanceMeasures BPM_BPD_INSTANCE_MEASURES
  142. 2117 BPMAsset BPM_ASSET
  143. 2118 BPDActivityInstance LSW_BPD_ACTIVITY_INSTANCE
  144. 2119 UserAvatar BPM_USR_AVATAR
  145. 2120 BPDInstanceCorrelation LSW_BPD_INSTANCE_CORRELATION
  146. 2121 BPDInstanceExtData LSW_BPD_INSTANCE_EXT_DATA
  147. 2122 BPDResourceLink BPM_BPD_RESOURCE_LINK
  148. 3000 Component
  149. 3003 Coach LSW_COACH
  150. 3004 CoachResource LSW_COACH_RESOURCE
  151. 3005 CoachButton LSW_COACH_BUTTON
  152. 3007 Exception LSW_EXCEPTION
  153. 3008 ExitPoint LSW_EXIT_POINT
  154. 3009 InvokeUCA LSW_INVOKE_UCA
  155. 3010 Step LSW_STEP
  156. 3011 Script LSW_SCRIPT
  157. 3012 SubProcess LSW_SUBPROCESS
  158. 3013 Switch LSW_SWITCH
  159. 3014 SwitchCondition LSW_SWITCH_CONDITION
  160. 3015 TaskAction LSW_TASK_ACTION
  161. 3016 TaskSender LSW_TASK_SENDER
  162. 3017 TaskSenderExcludedVar LSW_TASK_SENDER_EXVAR
  163. 3018 TaskSenderAddr LSW_TASK_SENDER_ADDR
  164. 3019 TaskSenderFile LSW_TASK_SENDER_FILE
  165. 3020 TrackingPoint LSW_TRACKING_POINT
  166. 3021 TrackedVariableUse LSW_TRACKED_VARIABLE_USE
  167. 3022 JavaConnector LSW_JAVA_CONNECTOR
  168. 3023 WSConnector LSW_WS_CONNECTOR
  169. 3024 ILOGConnector LSW_ILOG_CONNECTOR
  170. 3025 SCAConnector LSW_SCA_CONNECTOR
  171. 3026 ILOGDecision LSW_ILOG_DECISION
  172. 3027 ICMCaseConnector LSW_ICMCASE_CONNECTOR
  173. 3028 CoachNG BPM_COACHNG
  174. 3029 CoachNGBoundaryEvent BPM_COACHNG_BOUNDARY_EVENT
  175. 3030 ECMConnector BPM_ECM_CONNECTOR
  176. 3031 StayOnPage LSW_STAY_ON_PAGE
  177. 3032 CoachFlow
  178. 5000 Repository
  179. 6001 Contribution BPM_CONTRIBUTION
  180. 6002 ContributionProperty BPM_CTRB_PROPERTY
  181. 6003 Artifact BPM_ARTIFACT
  182. 6004 ContributionDependency BPM_CTRB_DEPENDENCY
  183. 6005 ProcessArtifactReference BPM_PROC_ARTIFACT_REF
  184. 6006 ClassArtifactReference BPM_CLS_ARTIFACT_REF
  185. 6007 BPDArtifactReference BPM_BPD_ARTIFACT_REF
  186. 6008 MonitorProjectInterchange BPM_MON_MODEL_DATA
  187. 6009 PCRegistration BPM_REGISTRATION
  188. 6010 RepositoryLog BPM_REPOSITORY_LOG
  189. 6011 SharedToolKitUsage BPM_SHARED_TK_USAGES
  190. 6012 BPMSnapshotStatus BPM_SNAPSHOT_STATUS
  191. 6014 ProjectSubscription BPM_PROJECT_SUBSCRIPTION
  192. 6015 ProjectSubscribed BPM_PROJECT_SUBSCRIBED
  193. 6016 TaskMarker BPM_TASK_MARKERS
  194. 6017 PCIndexAction BPM_PC_IDX_ACTION
  195. 6018 PCIndexer BPM_PC_INDEXER
  196. 6019 GovernanceEvent BPM_GOVERNANCE_EVENT
  197. 6020 GovernanceAssignment BPM_GOVERNANCE_ASSIGNMENT
  198. 6021 TWClassExtension BPM_TWCLASS_EXTENSION
  199. 6022 CaseProperty BPM_CASE_PROPERTY
IBM BPM 8.5.5 PO types table (PDW DB Part)
  1. PO_TYPE Name PDWDB table
  2. 4000 SystemDefinition LSW_SYSTEM
  3. 4002 Task LSW_TASK
  4. 4003 TrackedField LSW_TRACKED_FIELD
  5. 4004 TrackedFieldUse LSW_TRACKED_FIELD_USE
  6. 4005 TrackedValue
  7. 4006 TrackingGroup LSW_TRACKING_GROUP
  8. 4007 TrackingPoint LSW_TRACKING_POINT
  9. 4008 TrackingPointValue LSW_TRACKING_POINT_VALUE
  10. 4009 TimingIntervalValue LSW_TIMING_INTERVAL_VALUE
  11. 4010 TimingIntervalBound LSW_TIMING_INTERVAL_BOUND
  12. 4011 TimingInterval LSW_TIMING_INTERVAL
  13. 4012 LoadTrace LSW_LOAD_TRACE
  14. 4013 User LSW_USR_XREF
  15. 4014 Table LSW_TABLE
  16. 4015 Column LSW_COLUMN
  17. 4016 View LSW_VIEW
  18. 4017 Snapshot LSW_SNAPSHOT

Thursday, July 2, 2015

Search API for custom saved search results only 500 results - (7.5.1.2, 8.0.1.x, 8.5.0.x, 8.5.5.x)

Problem Statement:
Recently we upgraded our IBM BPM servers to 7.5.1.2 and faced issue while using search API.

We are using REST-API to get list of task from custom Inbox. Though there were 1000+ results, API was just fetching 500 results only 

Explaination:
When running a search in the process portal the value here is how many records are returned per search. If you expect more than 500 records for a call, then this number needs to be increased. An example is the TWSearch functtion. When using the saved search in an API format, you may expect to have more than the default of 500 rows returned. When using the saved search API, if you need more than 500 records returned, increase this number.

Solution:
add below block in 100Custom.xml

<properties>
 <server merge="mergeChildren">
  <process-search-engine-count-optimization merge="replace">500
  </process-search-engine-count-optimization>
 </server>
</properties>

Ref
http://www-01.ibm.com/support/docview.wss?uid=swg1JR52087


Wednesday, June 24, 2015

Authorization Error while doing offline deployment in IBM BPM PS

Problem :: Facing Error while doing offline deployment in IBM BPM PS servers. Error is 'You are not authorized to make changes to items in this context'.

We were doing offline deployment with very well established commands and commands which we use in other environments and working from long time.


Work Around ::
We raised PMR for same and  after some investigation IBM team came back with details that there was problem in Database an entry for particular application and authorization.  
Table - LSW_ACL_ENTRY
We need to check the entry for our project in this table which we can do by comparing below columns
LSW_ACL_ENTRY -> PO_ID
LSW_PROJECT     -> Project_Id

And then check what is the User_id or group_id in the respective column of LSW_ACL_ENTRY. in our case user_id was 1 which means tw_autor user was having access to that processApp.

IBM team was not sure why it was like that as it should be user_id 3 which is tw_admin who should have access to application.

Now, catch is we were using tw_admin credentials to login to wsadmin console before doing deployment. and this user was not having access to application. at same time we cannot do deployment using tw_author as it is not an admin user.

As a workaround , We have added tw_author user in tw_admins group and completed our deployment using tw_author user which worked.

IBM Team is still not sure why this thing happened and they said they will investigate and come back with permanent solution as adding tw_author in tw_admins group is not a good idea.

I will update this post if we find any permanent solution.

Monday, June 1, 2015

IBM BPM PC servre throwing OOM error and High CPU usage after 7.5.1.2 upgrade from 7.5.1.1

Problem::
Getting OutofMemory error and High CPU usage of applicaiton server just after upgrading to IBM BPM 7.5.1.2
We have raised PMR to IBM for same and solution we got was as below.

Solution ::
After upgrading BPM 7.5.1.1 to 7.5.1.2 all snapshots will be some kind 
of 'fixed'. Hence, those are loaded in the heap and could allocate a   
lot of memory, depending on the amount. This operation is called       
UserAttributeDefinitionRepair and is an one time operation. So when it 
is completed once, it is not executed again. If the system crashes     
during this operation, BPM tries to re-run it again and will probably  
fail again.                                                            
                                                                        
One can verify, that this process is running, doing the following: To  
check if the 'UserAttributeDefinitionRepair' is still running, please  
check table LSW_SYSTEM and look for the PROPKEY                        
'UserAttributeDefinitionRepair'. If its PROPVALUE is not COMPLETED,    
than the process is not finished yet.                                  
                                                                        
In order to regulate the number of loaded snapshots one can adjust the 
Branch Context Cache Size. We suggested to use the following action    
plan:                                                                  
                                                                        
1) Change the branch-context-max-cache-size to 64 and monitor the      
system, if OOM occurs (testing now)                                    
2) Change the branch-context-max-cache-size to 32 and monitor the      
system, if OOM occurs,                                                 
3) Install the recommended fixes for BPMSnapshotCleanup and dependency 
ifixes on top of 7.5.1.2.                                              
 - 7512 tab                                                             
4) Run BPMSnapshotCleanup command as instructed to clean up unneeded   
 snapshots.                                                            
main.doc/managinglib/topic/managing_snapshots_i.html?cp=SSFPJS_7.5.1   
5) After clean up database, start server and monitor the system.       
                                                                        
Steps 1 and 2 might be the most crucial. Reducing the cache size causes
to be not that much Snapshots be loaded in the heap at once. As a      
result, the whole process will take longer, but it will also not fail. 
This value can be adjusted after the process is once finished (see     
above: PROPVALUE shows COMPLETED then).                                
                                                                        
Steps 3 to 5 are recommended in order to remove old, unused snapshots, 
that influence the whole process. Keeping the system clean is a good   
approach in general. Those cleaning operations are just available on   
BPM 7.5.1.2 and not 7.5.1.1. See:                                      
ofmemory-regarding-poversions/                                         
                                                                        
In order to prevent the whole problem, you can use the following       
process for further migrations from BPM 7.5.1.1 to BPM 7.5.1.2:        
                                                                        
1) Identify the process apps and toolkits which have the largest numbers
of snapshots by running DB queries. Take note.                         
2) Repeat the following steps to each process app or toolkit will be   
 cleaned.                                                              
    a) Create a new snapshot;                                          
    b) Export snapshot created in a);                                   
    c) Archive and delete process app or toolkit;                      
    d) Re-import snapshot exported in b).                              
                                                                        
    Note: If multiple versions of toolkit snapshots are referenced,    
please do the following:                                               
    a1) Export all toolkit snapshots to keep one by one;               
    b1) Archive and delete the toolkit;                                 
    c1) Import toolkit snapshot in the desired sequence, import the    
oldest snapshot first. Do NOT import them with dependent process apps  
since it may potentially messed up the toolkit snapshot levels.         

Thursday, May 28, 2015

All you want to know about IBM BPM Event Manager - Performance tuning


If anything most irritating in IBM BPM product is its lake of documentation of user manual for the product. I have spend long time on finding information about different component of IBM BPM and believe me its bit tough to find good article or manual. 

Yesterday, I found a very good article on IBM BPM Event Manager by BP3 and it has almost everything we want to know about IBM BPM Event Manager.

Which includes topics like below.

Event Manager Design

In the Event Manager (EM) design the database the master of everything.
The important Event Manager related table in BPMDB are:
lsw_em_instance - A row for each EM scheduler.
lsw_em_task - A row for each non-completed task, includes a reference to lsw_em_instance to indicate which scheduler owns each task.
lsw_em_task_keyword - One-to-many table mapping a task to its associated keywords
lsw_em_sync_queue - A row for each sync queue, includes a reference to lsw_em_instance to indicate which scheduler owns each sync queue.
lsw_uca_blackout - A row for each blackout period, including the next transitions into and out of blackout
The database knows what schedulers exist, what sync queues exist, what tasks exist, what states the tasks are in, etc. So, basically Event Manager uses the database’s transaction guarantees as much as possible to ensure a consistent view across all machines in a cluster. In addition, Event Manager uses the database’s system clock as the master, to avoid problems with time-syncing among machines in a cluster.
You can find full Article at below link which is very informative and intresting. 

Saturday, May 23, 2015

what to do when a Service or BPD in loop in IBM BPM and kill process does not work

Question

During testing and development, a business process definition or service might accidentally enter into an infinite loop. What is the procedure to clean up these unnecessary instances and tasks and stop the looping?

Cause

IBM Business Process Manager is a development platform and has many of the same programming structures and features that are found in traditional programming, such as looping, recursion, and so on. Looping on a service or business process definition is possible. As with any looping event, an exit condition must exist. Sometimes during development or production runtime, an infinite loop can occur.
IBM Business Process Manager has a component called the Event Manager. The Event Manager moves tokens in the business process definition engine and the service engine. The Event Manager continues to process a looping event until the event manager is stopped or the loop stops.

Answer

http://www-01.ibm.com/support/docview.wss?uid=swg21622584