Wednesday, October 15, 2014

How IBM BPM Coach framework is being loaded in client browser?

IBM BPM coach framework loads process app and associated toolkits’ java script libs and then it loads dojo framework scripts. After that it loads all coach view definitions, CV data view binding definitions and then it loads html body with all coach view default <DIV> tags to coach views.
You will find the following codes in html source code.

Load process app and toolkit JS libs.



Above piece of code loads all JS webfile assets from process app and associated toolkits.

Then framework loads dojo framework packages,




And then coach framework load coach view definitions, sample coach view source of textbox CV.



Then, it loads coach view binding definition.



You can find runtime binding rest service url, visibility, label and etc.

And then it loads the html body



In the above code, you can find the data type and data config.
Data type – it refers to particular the coach view definition
Data config – it refers to the binding and visibility definition of coach view.

Coach framework loads application JS libs, dojo packages, dojo libs, coach view definitions, coach view config’s and finally it load html body with coach view div to link CV definition and config.
A client browser takes care of loading coach views and binding of variables using dojo framework.

Friday, September 26, 2014

Can I develop a custom inbox using Coaches?

Almost 90% of new IBM BPM adopters are asking this question to implementers rather asking the product owner (IBM) before buying this product. Does it worth spending money on developing custom inbox/portals? Honest answer is big NO.

Out of the box portal is JSP page which directly interacts with DB using AJAX listeners. Also it has more features like task assignment, task auto claim, task routing and etc. OTB portal has dynamic inbox component, if another user picks a task which assigned to group, listener senses it and removes that task from user inbox as it is currently owned by other user. Task list in your inbox is more dynamic with lots of event listeners which directly interact with DB seamlessly.

What if I develop a custom inbox using coaches? Either I can query the database to get the list of tasks which are available for the logged in user or use TWSearch API to find out list of active and eligible tasks for the logged in user. Can I build a dynamic task table? Yes, but it is very complex and added more and more events listeners in on coach, it will slow down the coach performance and it can lead to script time out errors in IE(you can’t run more than 500k lines of script )

If I go for DB query approach, I need to query DB for every time and it does not seem to be right option if you want to build custom inbox for larger group. If it is very small group of people, it is okay. If you have 100+ concurrent users???

What if I user TWSearch API? Few organizations, they don’t allow developers to directly interact with product DB. In such cases, you may have to go for this option. It is like adding one more wrapper to DB approach. Instead of directly interacting with DB, you are using API’s to convert your code into DB scripts and get the response back. It is does not seem to be right option if you have larger group.

 Forget about data population for now, if I think about coaches. It is always slow performers and building dynamic view/table using coach. It will be over head for browsers to run thousand lines of client side scripts in less than a second.

Last thing, if you get into any issues with performance or product related issues. IBM won’t directly support your custom inbox and raising a PMR and get it fix will take million years.

Considering above drawbacks, I won’t really recommend it to anyone. But there are many customers willing to try this and to give up after spending lots of money on product and coach development. 

Thursday, September 18, 2014

What's new in IBM Business Process Manager 8.5?

Process Portal

Access insightful, concise information from redesigned default dashboards if you are a process owner or team manager

·Visualize process performance issues more easily, and in real time. For example, instantly see overdue and at risk work.
·Take corrective actions directly from the dashboard to improve business process outcomes or balance workloads.
·Collaborate with team members and contribute to instance activity streams without leaving the dashboard.

Experience a highly effective and collaborative work environment with improved social capabilities

·See whether other users are logged in to Process Portal to identify and contact an expert to move work forward.
·Keep up to date with posts to the @Mentions stream. Unseen posts are counted and marked, and streams are automatically refreshed.
·Easily find and choose the right experts to send an invitation to collaborate on tasks.
Work more efficiently and effectively as process participants
  • Complete tasks in environments that are integrated with IBM Connections and IBM Domino® Server.
  • Decide which pages are shown in the Process Portal interface by reordering the displayed and hidden tabs.
  • Copy URLs for inclusion in chat sessions, emails, and documents.

Process Designer and Process Center


More efficiently design dashboards for Process Portal users

·         Modify and extend the newly designed, default dashboards using tools that are in Process Designer. 
·         Create custom, localized dashboards with the reusable components that are in the Dashboards toolkit: interface elements, implementation services, and data objects.

More easily design Coaches

  • Use Ctrl + SPACE code assistance to see the available Coach API when you are entering JavaScript code. JavaScript code and HTML code now feature syntax highlighting.
  • Add variables to custom HTML items that are resolved when the HTML page is generated. For example, you can assign a user name as a variable so that each user’s name is displayed on the HTML page.
  • Set the visibility of a Coach View when you are editing it in a Coach.
  • Call classes and functions that are in Dojo 1.8.3.
  • Use Tab and Table stock controls that feature improved runtime performance. This enhanced performance is for all browsers including Microsoft Internet Explorer 8.

Enable groups of users to interact with processes more easily

  • Define organizational structure of teams by adding managers that teams report to.
  • Delegate the specification of a team's members to a team retrieval service that dynamically returns a list of users that is based on parameters.
  • Use a team filter service to specify who must work on a task from the originally assigned users.
There are also terminology improvements: participant group changed to team in IBM Process Designer, Process Portal, and Process Admin Console; milestone changed to phase in Process Designer.

More easily integrate services

  • Optionally select to cache the results of an integration service. The results are cached according to unique input variable data.
  • Add a new web service configuration on the Servers tab of the Process App Settings editor. You can reuse the new web service configuration from multiple web service invocations.
  • Configure web services with policy sets that are reusable.
  • Use variables to add SOAP headers to an outbound message request and automatically retrieve SOAP headers from an incoming response message. Using this method, you can work with SOAP headers whether or not they are defined in the WSDL definition.

Rename business objects, their attributes, and variables with refactoring support

See how renaming a business object will affect the objects that refer to it before you rename the business object.

Correlate on top-level properties of variables when working with intermediate events

When you are designing intermediate events that are attached to undercover agents, you can now correlate on an individual top-level property of a variable, instead of only on the variable object.
Consistently interact with documents in the internal IBM BPM document store and external CMIS-compatible ECM systems
  • IBM Business Process Manager supports Enterprise Content Management (ECM) integration with IBM FileNet® 5.1 Content Manager, IBM Content Manager 8.4.3, Microsoft Sharepoint 2010, and Alfresco Community 4.2.
  • ECM Coach Views now work with the internal IBM Business Process Manager document store.

More easily work with processes that were originally created in Blueworks Live™

  • You now can view Blueworks Live processes in Blueworks Live when you are subscribing to the processes from IBM BPM.
  • You now can search to find specific spaces and processes when you are subscribing to Blueworks Live processes.
  • Blueworks Live activity details that are not imported into another field are now imported into the documentation field, including business owners, experts, systems, suppliers, inputs, outputs, customers, risk, custom fields, problems, and existing documentation.
  • Some Blueworks Live values are automatically imported into KPIs: cost, work time, wait time, total time, and value add.
  • You now can check for updates to the original Blueworks Live processes from IBM BPM.

Enjoy more flexibility with enhanced importing

You can now import BPMN files into an existing process application instead of creating a process application that is based on a BPMN model.

Extend your ability to administer snapshots

·         You can now specify which snapshots recognize and respond to a message event.
·         You can now delete unnamed and archived snapshots of a process application using the new BPMSnapshotCleanupcommand.
·         You can schedule IBM Process Center to automatically delete unnamed snapshots.

Use governance processes to provide approvals for snapshots that are installed by wsadmin commands

Installations that are initiated through BPMInstall and BPMCreateOfflinePackage commands now can use a governance process. With a governance process, you can attach rules or approvals to the installation of a snapshot on a server.

Process Server

Experience more options for managing applications and artifacts by using wsadmin commands

  • Update system toolkits with interim fixes by using the BPMUpdateSystemApp command.
  • Administer the new IBM BPM document store with the following commands:
    • maintainDocumentStoreAuthorization
    • getDocumentStoreStatus
    • startDocumentStoreMigration
    • maintainDocumentStoreTrace
    • updateDocumentStoreApplication

Monitor events with the centralized Failed Events Manager

The Failed Event Manager is now available from the administrative console under your deployment environment.

Customize a context root prefix across a deployment environment to simplify administration

Experience easier deployment-environment administration with a custom context root prefix configuration. You can now use theBPMConfig command with the -update parameter to create a single context root prefix configuration, minimizing the initial costs, reducing security costs, and hiding context root management issues from users.

Remove durable subscription messages from your database

Using the BPMDeleteDurableMessages command, you can remove old durable subscription messages from the LSW_DUR_MSG_RECEIVED database table. You can use this capability to trim the size of the table periodically.

Integration Designer

Speed setup time with simplified installation

You can now install IBM Integration Designer and the IBM Process Server test environment from the launchpad:
  • Select the specific features in IBM Integration Designer to install.
  • Specify the user names and passwords for cell administrative account fields and deployment manager account fields while you are installing the Process Server.
  • Specify the user name and password for database connectivity.
In addition, the options IBM Integration Designer for WebSphere Enterprise Service Bus and IBM Integration Designer for IBM Business Monitor are no longer available.

Enjoy improved flexibility with custom XPath extension functions

Custom XPath extension functions can be used in BPEL processes. You now can create your own XPath extension functions instead of using only predefined functions. Custom XPath extension functions are helpful if you are migrating from a different product and want to use existing functions with IBM BPM.

Mobile

Develop mobile applications with the IBM Business Process Manager V8.5 and IBM Worklight® bundle

IBM Business Process Manager Advanced and IBM Business Process Manager Standard V8.5 now include a nonproduction license entitlement for IBM Worklight Enterprise Edition as a supporting program. You can download Worklight Enterprise Edition from Passport Advantage® based on your IBM BPM entitlements.
Worklight Enterprise Edition offers organizations a wide set of services to help manage, develop, and deploy functionally rich, cross-platform mobile applications. When you combine Worklight Enterprise Edition (nonproduction license entitlement) with IBM BPM, you can do the following tasks:
·         Develop custom hybrid mobile applications that extend IBM BPM experiences to smartphones and tablets.
·         Use IBM BPM APIs and Coaches in custom mobile applications.
·         Use authentication, notification, and analytics capabilities from Worklight Enterprise Edition.
·         Use the Worklight App Center private application store to test the distribution of your application inside your enterprise.
When you are ready to move your application to a production environment, you can do so by purchasing either a Worklight Enterprise Edition license or a Worklight Consumer Edition license, depending on your needs.

Performance Data Warehouse

Control the size of the Performance Data Warehouse


Delete records from the Performance Data Warehouse by using the new prune command, which is part of the Performance Data Warehouse tool (perfDWTool). By pruning records that you no longer need, you can keep the Performance Data Warehouse from becoming too large.