Thursday, April 30, 2015
Creating a SSL Initiation Policy (78/285 technotes for 2015)
- Login
- Resources –> Security Policies –> SSL
Importing SSL Certificate in Forum Sentry (76/285 technotes for 2015)
- Login
- Resources –> PKI –> Keys
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.
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:
What is Reverse DNS for email applications? (71/285 technotes for 2015)
If you plan to send email from one of the instances
- Provision and EIP for the instance.
- Request to remove email sending limitations with the EIPs.
- AWS works with ISPs and Internet Spamming Organization - Spamhaus to reduce the email sent be flagged as spam
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: