Thursday, April 30, 2015

Steps to Task List and Task Group in Forum Sentry. (79/285 technotes for 2015).

image

Creating a SSL Initiation Policy (78/285 technotes for 2015)

  • Login
  • Resources –> Security Policies –> SSL
image

Creating a Remote Network Policy for Forum Sentry (77/285 technotes for 2015)

image

Importing SSL Certificate in Forum Sentry (76/285 technotes for 2015)

  • Login 
  • Resources –> PKI –> Keys
image

IBM BPM Snapshots. (75/285 technotes for 2015)

Snapshots are

  • Immutable version of Process Application, Toolkit 

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/

What is ENI (Elastic Network Interface) in AWS? (72/285 technotes for 2015)

Elastic Network Interface is a Virtual Network Interface that you can attach to an instance in VPC.

NIC - A network interface is the point of interconnection between a computer and a private or public network. A network interface is generally anetwork interface card (NIC), but does not have to have a physical form. Instead, the network interface can be implemented in software.

For eg: Loop back address or 127.0.0.1 is not a physical device - but a software simulating a network device



References:

http://bit.ly/1bEtFc0

What is Reverse DNS for email applications? (71/285 technotes for 2015)

If you plan to send email from one of the instances

When should we use instances with multiple IP addresses? (70/285 technotes for 2015)

It can be useful to have multiple IP addresses to your instance in VPC to do the following

  • Host multiple websites on a single server by using multiple SSL Certificates on a single server and associating each server with a specific ip address.
  • Operate network appliances, such as firewalls and load balancers that have multiple private ip addresses for each network interface
  • Redirect internal traffic to a standby inatance in case your instance fails by re-assigning the secondary private ip address to the standby instance

References:

http://amzn.to/1zq6M7g