Showing posts with label bpm. Show all posts
Showing posts with label bpm. Show all posts

Monday, May 4, 2015

Global Business Process Management (BPM) as a Service Market 2015-2019

Global Business Process Management (BPM) as a Service Market 2015-2019

Top 3 vendors in smart/intelligent BPM space. (81/285 technotes for 2015)

Changing Market - iBPMs include social, analytics and cloud in their offering

For different factors for iBPMs are

  • Composition of intelligent, process-centric applications
  • Continuous process improvement (CPI)
  • Business transformation
  • Digitalized process

Appian

  • what is happening right now within their organization, markets and customers, and accelerate the translation of that awareness into action and business outcomes 
  • social centricity 

Short Comings

  • does not have full CEP(Complex Event Processing) and analytics capabilities 


  • less support for top down transformation.

Pega System

  • Largest pure play vendor
  • can be leveraged for large complex business scenarios


  • advanced operational decision management capabilities, predictive analytics and IoT integration

Short Comings

  • did not focus on low end mid market
  • finding resource is difficult

IBM BPM

  • Steadily moving to cloud
  • enabling mobile, social, cloud and big data while driving efficiency and optimization into end-to-end processes.

  • starting to handle -  more-agile, lightweight projects.

  • leader in decision management 

Short Comings

  • relatively hard to configure and deploy
  • customer feedback is lukewarm / tepid.

References:

http://bit.ly/1R6rXk4

Friday, May 1, 2015

Benefits of using IBM Business Process Manager Advanced. (80/285 technotes for 2015)

Connectivity

RecProcess Integration Challenges:

  1. Variety of different types of messaging - over TCP/IP and SNA etc, propriety data formats, unusual and one off integration mechanism.
  2. Long running Business processes and handling failure scenarios 
  3. Undoing Business processes in a controlled manner.
  4. Data mapping is complex
  5. Inbound event based Business processes.
  • In particular, an automated recovery method allows you to bypass the manual interventions that would have been used

Thursday, April 30, 2015

Key Concepts for IBM BPM 7.5? (74/285 technotes for 2015)

Process Application

  • is a packaging and deployment construct
  • container - which has all the models, data definitions, service models, rules and supporting files to edit and run
  • can contain 1 or more BPD
  • can have dependencies on Toolkits
  • acronym must be unique

Toolkit

  • is a way to manage reusable assets
  • is a collection of BPM library items that can be shared across multiple projects in IBM Process Designer
  • contain - all of the same Library Items as Process Application
  • process Application which has dependency with Toolkit - can use all the elements of the toolkit
  • can only be edited - by users with the write/admin privileges. It is available as Read-Only in the Process Application
  • Process Application can upgrade to the newer version of the toolkit and revert back very easily.
image



image


Snapshots & Tracks - are part of the version management infrastructure.

Participant Groups - are how you manage who can work with different parts of the business

Security Groups - are how you manage who can create/edit and deploy Business Processes during deployment.

Scripting/Programming Language - Javascript is used to define logic and manipulate data

Advance Editor - complex Javascript

Programming Model in IBM BPM - Clear seperation

  • Model or the Flow
  • Implementation

Wednesday, April 29, 2015

IBM BPM Design Patterns for Performance. (73/285 technotes for 2015)

BPM - performance

  • Use high performance disk subsystems
  • Use most current BPManager and BPMonitor reelase
  • Appropriate JVM Heap Size for optimal throughput and response time
  • Tune your DB for optimal performance
  • Disable tracing and logging
  • Configure thread pools to ensure sufficient concerrency
  • Use fast, high bandwidth network connections
  • For Business Processes - that use 
    • BPMN
      • tune the bpd-queue-capacity & max thread pool size - optimal throuput and scalling
      • remove unnecessary snapshots from Process Center
      • disable notifications is they are not required
      • define auth alias, when using CEI to emit events
      • tune cache parameters
      • tune participant groups
      • optimize data search operations
      • tune Event Manager - tune BPD pool size, and worker thread pool size.
      • tune number of timer events
      • tune Process Server DB - increase log file size & enable file system caching
    • BPEL  
      • maximize the use of micro flow
      • use non-incorruptible processes - if macroflow is needed - separate the solution to use microflows and macroflows
      • For task and process list queries - use composite query tables
      • Use Work Manager based navigation to improve the throughput for long running processes.
      • avoid using asynchronous processes unnecessarily.
      • avoid overly granular transaction boundaries in SCA





Model & Development:


BPEL / Integration Designer:

  • use short running processes - run in one J2EE Transaction with no persistence – Where possible use synchronous interaction for non-interruptible processes
  • if macro flow is required create a seperate BPEL
  • Avoid using - async calls
  • fewer transactional boundaries - best case use      
    • Join Transaction (Interface of the called component) - true, 
    • Suspend Transaction (Reference of the calling transaction) - false,
    • Transaction - any global
      • Services that are automated or start other services - web services, enterprise resource applications

Events: 

      • start and end - 2 events are sufficient 

Architecture:  

    • Choose query tables for task list and process list queries.
    • Choose efficient metadata management - 
      • performance is better if BO types follow the Java naming standards 
      • reuse dataobject type metadata where possible - rather than using DataFactory.create(String URI, String typeName) use DataFactory.create(Type type)             -
      • Business State Machine uses more power …  so choose BPEL is possible.
    • Use - share by reference libraries where possible
    • Ensure content in toolkit is used in several applications.
    • BO parsing mode - Applications which Data Streams - like Webservices, SCA components benefit from lazy parsing.  
 


BPMN / BPD:

  • Involve Human Interactions     
  • Business Process - should have a Business Significance … and not just programming - level granularity

Events:     

  • use of Events (CEI) - should be for Business Monitoring - as event emission uses persistent mechanism      
  • Business Monitoring should not be confused with IT Monitoring     
  • Clients are concerned about state of their business - so use events to track when a task completes / or changes state

Architecture:

  • Fast connection between Process Designer and Process Center     
  • Minimize the use of Service Tasks -      
  • Use searchable business variables - with caution    
  • minimize the number of variables used     
  • minimize the size of each variable used     
  • set variables to null when no longer use - like DB result sets    
  • turn off auto-tracking - auto tracking in BPD is not required - enabled by default - if required create tracking groups to track key events. 
  • avoid BPDs that run perpetually / continuously – as it polls continuously for events -  alternatives - use JMS service or UCA 
  • develop efficient coaches          
    • Avoid large complex coaches         
    • Avoid large / repeating tables - use pagination          
    • Always wire coaches to end node     
  • Minimize use of Large Javascript scripts - it might produce large DOM models - which is expensive - limit it to 50 lines     
  • Avoid direct sql access to internal BPM tables - such as LSW_TASK or LSW_PROCESS - use BPM javascript / rest apis     

Development Best Practice:

  • clear variables in exposed human services that are not intended to end 
  • donot use multi instance loops in the system lane or for batch activities   
  • use conditional joins only when necessary
  • Avoid global error handling
  • Use sequential System lane activities efficiently.
  • Ensure Process Center is tuned
  • preventing wsdl validation from slow web service performance

References:

http://www.evernote.com/l/AKZrhhusWANG75yXr6HJbHEDMoWmyCvplqM/