Preface
About this documentation
User types
Information on documentation
Conventions used in this manual
Product support contact information
OpenEdge Business Process Server overview
Business Process Server components
How Business Process Server works
Business Process Server user types
Introducing BPM Events
BPM Events principles
BPM Events rules
BPM Events tutorial
Using rules to control Business Process Server processes
Using rules to correlate business process events
Using rules to monitor and report on business processes
Using rules to populate infopads
Using rules to modify monitoring reports
Using rules to monitor an application
Defining a report
Events generated by the application
More about the value field
Understanding event-maps
Building the report
Using rules to correlate multiple events
Using rules to generate alarms
Using rules to synchronize Business Process Server processes
Understanding BPM Events
The event model
Attributes
Event sources
The XML event
The XML schema definition
Accessing XML body content
Accessing message properties
The BP Server event protocol
Type and value of the event
Date of the event
Event ID
Context of BP Server events
Default attribute values
The rule language
Rule structure
Syntactical conventions and limitations
Event variables and expressions
Event attributes
Checking the presence of an event attribute
Examples of event variables and expressions
Common variables, constants, and their scope
Constant values vs. variables
Scope of a value or of a variable
Infopad variables
Recovery issues for global variables and values
Rule condition as a logical expression
Priority and parentheses
Relational expressions and operands
Relational expression
Arithmetic expression
Type conversions
String expression
Comments in rule language
Rule modules and rule groups
Rule modules of an application
Rule module and name scope
Rule groups
Current rule base
Adding and removing rules dynamically
Dynamic loading and unloading of rule modules
Dynamically enabling and disabling rules
Operational semantics of rules
Event correlation
The triggering event and the correlating event
Event filtering
Event filter syntax
General semantics of rule loading and rule execution
Time operations and expressions
Date expressions
Date values in rule language
Date unit in rule language
General date expressions in rule language
Extracting elements of a date
Date conversion functions
Converting a date using a long-coded Java date in a rule
Converting a date to long in a rule
Time expressions
Date functions
Business time
Controlling rule execution
Avoiding unnecessary or unwanted rule executions
Canceling multiple evaluations of a rule
Disabling events as rule triggers
Predefined rule actions
println(): Printing values to a file
Printing values in the bpmevents.output file
Printing values in a file
Recovery considerations
generate(): Generating internal events
postDB(): Posting an event into the database event queue
postJMS(): Posting an event into a JMS queue
sendMail(): Sending e-mail automatically
schedule(): Scheduling a future event
Using the event scheduler
unschedule(): Removing a scheduled event from the scheduler
Discarding infopads and events
discard(): removing infopads
discard(): removing individual events
discardIndexEntry(): removing all events related to the same process
discardAllIndexEntry(): removing all events related to the same process and subprocesses
Enabling and disabling rules
enableRule(<application>, <module>, <rulename>)
disableRule(<application>, <module>, <rulename>)
Controlling the actions of a rule
Syntactic structure of rule actions
Functional action statements
Declaration action statements
Assignment action statements
Infopad variables
Conditional action statements
Compound action statements
Iterative action statements
Defining and using global functions
Persistent structures
Infopads
Defining Infopads, cells, and slots
Creating infopads
Defining infopads
Initial values of infopad cells
Accessing infopads across modules
Associating labels with infopads
Attaching alarm conditions to cells
Unsetting alarm conditions
Discarding infopads from memory
Using infopads
Updating slots in a cell
Using operators and functions to perform actions
Updating a cell with an event
Iterating over infopad cells
Persistent maps
Defining persistent maps, keys, and values
Creating persistent map instances
Defining persistent map
Accessing persistent maps and map instances
Associating keys to persistent maps
Discarding persistent maps and map instances from memory
Using persistent maps
Updating attributes of a given key
Using various operators to perform actions
Iterating over persistent map keys
Event channels
The database event channel (DEC)
postDB predefined rule action
Configuring the database event channel
The JMS event channel
JMS message adapter
Running the sample program
postJMS predefined rule action
XML messages
Namespace declaration
XML type
XML data field access syntax
Dot notation for XML data fields
Bracket notation for XML data fields
Function notation for XML data fields
XML data conversion
XPath rule condition
XPath query expression/statement
New syntax for iteration
Foreach syntax for iteration
Accessing Java objects and EJB components
Rule language extensions
Mapping data types
Object instantiation
Static method invocation or property access
Instance method invocation or property access
Exception catching
Exception throwing
Using complex Java objects in rules
Using external java objects in rules
Searching class files
Mixing two separate instance of a class
EJB component invocation
Dynamic loading
Using modified class implementation in BPM Events
Using modified class implementation in BPM Events when signature of the Java class is changed
Administering and operating BPM Events
The rule development cycle
Rule compiling
RuleCompiler command options
Setting up and monitoring the database persistence tables
Starting and operating the BPM Events server
Starting BPM Events from Business Process Portal
Starting BPM Events from the Start menu
Starting BPM Events from the BPM Events component
Monitoring the server with BPM Events Admin utility
Loading rules using BPM Events Admin utility
Viewing an installed infopad using BPM Events Admin utility
Application upgrade scenarios
Upgrading a dynamic application
Log files and output files
Loading rules
Loading rules using Business Process Portal's Administration module
Loading rules using BPM Events Admin
Unloading rules
Unloading rules from BPM Events Admin utility
Points about unloading rules
Troubleshooting cases
Fixing with full recovery
Fixing by upgrading application
Fixing with recovery and partial rule upgrade
BPM Events Admin: BPM Events administrator utility
Functions
Starting BPM Events Admin
BPM Events Admin main menu
Server Monitor menu
Loader menu
Rule Manager menu
Persistent Structure Monitor menu
Infopad Monitor submenu
Persistent Map Monitor submenu
Event Manager menu
Scheduler menu
File Manager menu
JMS menu
Event management
Processing external and internal events
Transactional and serial events
Transactional external events
Serialized external events
Event scheduling
Event caching and indexing
Internal events handling
Cache management from the application
Persistence and recovery
Infopad persistence
Database access failure handling
Keeping the recovery backup up-to-date
Event cache synchronization
Rules synchronization
Infopad synchronization
Scheduler synchronization
Event counter synchronization and management
Loading and recovering applications
BPM Events configuration parameters
Using the purchase order rule wizard
Applying the purchase order template
Using the purchase order template
Rule syntax
Language tokens (Reserved keywords)
Rule module syntax
Predefined functions and operators
Recovery of global variables and file handling
Global variables and values
Recovering global variables
File reopening after recovery
ACL manager
Activity workstep
Adapter
Administration
Application
Balanced scorecard
BAM
BPM Events
BPM Webflow
BPEL
BPMN
BP Server
Business calendar
Business flow
Business logic
Business object
Business process
Business Process Server application
Business Process Server Web services
Business Process Portal
Business process management
Business Process Modeler
Business rule
Control flow
Dashboard
Dataslot
Expression editor
Group
Heatmap
Home
Infopad
Instance
KPI
Managed Adapter
Management
Migration
Performer
Presentation flow
Process engine
Process refresh
Process template
Progress Developer Studio for OpenEdge
Role
Rollback
Rule wizard
Swim lanes
Task
User
Workflow
Preface
Workflow