Transcript Slide 1

ActiveVOS - Server Architecture
March 2009
Topics

– Administration
2
Inbox
– Services
Admin and Event
Handling
– Deployment
MUWS
 WS-HT Human Tasks
Web Services
 People Activity
Partner
Addressing
Expression
Processing
Alerts,
Exception
Management
Common Utilities:
Timer, Work,
URN Mapping
ActiveVOS BPEL Engine
Process
Creation &
Management
Queues and
Alarms
Directory
Services
Deployment
Plans
Managers
– BPEL4People
Task
Management
Policy
Management
Receive and Invoke
Handlers
Other Services
– Core Engine,
Managers,
Expression Languages
JMS, REST, POJO, ...
ActiveVOS - Server
Architecture
Process
State
Queues
Process
Web/Application Server
Activity
Alarms
ActiveVOS Architecture Overview

Core ActiveVOS Engine

– Policy driven
– Process

Definition, validation and execution

WS-BPEL 2.0 and BPEL4WS 1.1 compliant

BPEL4People
– Publishes endpoints which Receive and
Reply to callers in conjunction with
engine
– Invokes of endpoints
– Extensible Expression Execution


– Publishes administrative, WS-HT APIs
XPath 1.0, XQuery (XPath 2.0), JavaScript,
...
– Robust interface allows wide variety of
service types. WS, JMS, POJO, REST...
Server Engine Managers
– Alarm Manager

– URN Mapping
– Deployment Manager
– Identity Services
– Process Manager
– Storage Manager
– Task Manager
– Complex Event Processing
3
Utilities and Other Services
– Work and Timer Managers
– Cluster Manager
– Queue Manager
Service framework
– Email Services

Deployment Handling

Administration
ActiveVOS Server
Partner
Addressing
Task
Management
Expression
Processing
Alerts,
Exception
Management
Common Utilities:
Timer, Work,
URN Mapping
Directory
Services
Deployment
Plans
ActiveVOS BPEL Engine
Admin and Event
Handling
MUWS
Web Services
Process
Creation &
Management
Queues and
Alarms
Managers
Receive and Invoke
Handlers
Other Services
JMS, REST, POJO, ...
Inbox
4
Policy
Management
Process
State
Queues
Process
Web/Application Server
Activity
Alarms
ActiveVOS Server
Partner
Addressing
Task
Management
Expression
Processing
Alerts,
Exception
Management
Common Utilities:
Timer, Work,
URN Mapping
Directory
Services
Deployment
Plans
ActiveVOS BPEL Engine
Admin and Event
Handling
MUWS
Web Services
Process
Creation &
Management
Queues and
Alarms
Managers
Receive and Invoke
Handlers
Other Services
JMS, REST, POJO, ...
Inbox
5
Policy
Management
Process
State
Queues
Process
Web/Application Server
Activity
Alarms
Core ActiveVOS BPEL Engine

Factory creates engine with appropriate configuration
– Engine Configuration – points to managers, expression languages, function
extensions and specific processing directives
– Configuration loaded from an XML file called aeEngineConfig.xml by default or
can be passed to factory

6
Managers perform operations on behalf of engine
Process Manager
Creates Process and Manages Process State saving and
restoration
Queue Manager
Manages Receive Queues and correlations
Alarm Manager
Manages timers for on alarms and waits
Cluster Manager
Manages failover and inter-engine facilities
Storage Manager
Manages interaction with persistent storage
Task Manager
Manages human tasks
Process

BPEL Process Definitions
– Installed into the engine via a
standardized deployment format
(or directly through API)
– Utilize a visitor pattern on the
definition objects for creation
of implementation classes
– Cached as part of overall deployment plan for process

Process Implementations
– Handle activity execution scheduling and event notifications
– Are themselves derived from the scope activity

Visitors and definitions can be extended for custom activities
– BPEL4People implementation is an example of a extension
7
Activities

Activity Implementations are associated with definition objects at
construction

All activities have a state, and transition through one or more standard
states
– Inactive, Ready to Execute, Executing, Finished, Faulted and Dead Path
– State changes trigger events which can have registered listeners
– Activity state is key to depicting proper visualizations of process
– ActiveVOS consoles and debuggers depict state visually

Each activity has an execute method to do the actual execution
– Activities set object completed state when their work is done, not always when
execute is complete (some work can be asynchronous from actual execute – e.g.
Receive)
8
ActiveVOS Server – Expression Processing
Partner
Addressing
Task
Management
Expression
Processing
Alerts,
Exception
Management
Common Utilities:
Timer, Work,
URN Mapping
Directory
Services
Deployment
Plans
ActiveVOS BPEL Engine
Admin and Event
Handling
MUWS
Web Services
Process
Creation &
Management
Queues and
Alarms
Managers
Receive and Invoke
Handlers
Other Services
JMS, REST, POJO, ...
Inbox
9
Policy
Management
Process
State
Queues
Process
Web/Application Server
Activity
Alarms
Expression Processing

Engine Configuration allows installation of multiple Expression Languages
– Expression languages are registered with a namespace, which is used in the BPEL
process to designate the language to use
– Expression languages support both analysis and runtime execution
– All expression languages can support custom function contexts
 Registration is by namespace and associates those entries with a function context
 Once a context is registered it can be used in any BPEL process

Built in support for XPath, XQuery and JavaScript
– XPath is supported via JAXEN
– XQuery is supported through SAXEN
– JavaScript is supported through Rhino

Also has support for BSF
– An example is provided for Python
10
Example: Custom function integration
ActiveVOS BPEL Engine
User defined
Custom
Functions
BPEL Process
Evaluate XPATH Expression with
Custom Function
JAVA SCRIPT Language
Environment
Expression Evaluation
Custom
Function
Context
BPEL Function
Context
Function Evaluation
ActiveVOS Engine Runtime Environment
Custom Function Evaluation Flow
11
Function Context
Factory
XQUERY Language
Environment
Evaluate Custom Function
Expression Language
Factory
XPATH Language
Environment
Entity Instantiation
ActiveVOS Server – BPEL4People
Partner
Addressing
Task
Management
Expression
Processing
Alerts,
Exception
Management
Common Utilities:
Timer, Work,
URN Mapping
Directory
Services
Deployment
Plans
ActiveVOS BPEL Engine
Admin and Event
Handling
MUWS
Web Services
Process
Creation &
Management
Queues and
Alarms
Managers
Receive and Invoke
Handlers
Other Services
JMS, REST, POJO, ...
Inbox
12
Policy
Management
Process
State
Queues
Process
Web/Application Server
Activity
Alarms
BPEL4People

BPEL4People (B4P) – WS-BPEL Extension for People
– Integrates human tasks into BPEL processes
– Defines a new activity (People Activity) which invokes
a WS-HT task service
– Tasks can be defined
 Locally in the BPEL
process
 Outside of the BPEL process, allowing them to be shared by more than one process

Web Services Human Task (WS-HT)
– Integrates human tasks into service-oriented applications
– Human tasks are services ‘implemented’ by people
– Specifies a human task schema definition
– Defines an API for manipulating tasks (task inbox)
13
BPEL4People - Task Management

Task Management Environment
– Performs task state and lifecycle processing (deadlines, escalation)
 Handles notifications triggered by escalations
 Lifecycle handling built as BPEL processes
– Enforces role operations, who can do what and when
 Uses integrated identity services
• Providers supplied for LDAP, LDIF and XML
• Easy addition of custom providers
– Exposes services layer for interacting with tasks
 Standard Robust WS-HT
API
 Task information contains rendering information provided by developer for
generalizing integrations
 ActiveVOS Inbox uses WS-HT API (task list client)
14
Built-in Task Inbox Application

Inbox Application
– Web application which uses WS-HT for presenting tasks to users
– Task lists
 Filters (claimed, started, …)
– Custom sorting
 Actions to claim, and start work
in list
– Task Detail
 Built-in complete task detail handling
– Owners and administrators can claim, start, revoke, forward, complete and fault
tasks
 Attachment and comment
support
 Customizable either whole page or work

item via XSL
Can be used as a starting point for more complex task inbox
– WS-HT allows for a rich set of rendering capabilities
15
ActiveVOS Server – Deployment
Partner
Addressing
Task
Management
Expression
Processing
Alerts,
Exception
Management
Common Utilities:
Timer, Work,
URN Mapping
Directory
Services
Deployment
Plans
ActiveVOS BPEL Engine
Admin and Event
Handling
MUWS
Web Services
Process
Creation &
Management
Queues and
Alarms
Managers
Receive and Invoke
Handlers
Other Services
JMS, REST, POJO, ...
Inbox
16
Policy
Management
Process
State
Queues
Process
Web/Application Server
Activity
Alarms
Deployment

Business Process Archive (*.BPR file)
– Contains processes and process deployment descriptors as well as resources like
WSDL, Schema and Style Sheets

Process Deployment Descriptor
– Describes Partner Link associations and policies
Partner Role
Endpoint References
Static
Defined in deployment descriptor
Dynamic
Mapped in Process (i.e. assign to partnerRole)
Invoke
Transmitted in SOAP headers of Partner (WS-Addressing)
Principal
Lookup from Partner Definition based on Authenticated
Principal
 My Role – Service information for installing
process endpoints
– Service Name, Allowable Roles, Binding and Policies
– BPEL4People - Logical People Group Assignment
 Maps logical people groups to users or groups
– Process Specific directives
 Persistence (None, Full, …),suspend on uncaught fault, data indexes, …
17
Deployment

Multiple deployment interfaces
– Administrative console page for uploading a BPR
– Web service for accepting a BPR
– Directory scanner for looking for new, modified or removed deployments
– Direct Administrative API call can be used for custom deployment
High availability and clustering
 Application Servers:
 Red Hat JBoss Enterprise Application Platform 4.3
 Red Hat JBoss Enterprise SOA Platform 4.3
 Apache Tomcat 5.x
 BEA WebLogic Server 9.2
 Oracle WebLogic 10.3
 IBM WebSphere Server 6.1
 Database Servers: MySQL 5.x, Oracle Database 10g, Microsoft SQL Server
2005, IBM DB2 8.x, 9.x

18
ActiveVOS Server – Services and Administration
Partner
Addressing
Task
Management
Expression
Processing
Alerts,
Exception
Management
Common Utilities:
Timer, Work,
URN Mapping
Directory
Services
Deployment
Plans
ActiveVOS BPEL Engine
Admin and Event
Handling
MUWS
Web Services
Process
Creation &
Management
Queues and
Alarms
Managers
Receive and Invoke
Handlers
Other Services
JMS, REST, POJO, ...
Inbox
19
Policy
Management
Process
State
Queues
Process
Web/Application Server
Activity
Alarms
Service Layer

Exposes key runtime interfaces

Administrative API:


Engine Admin, MUWS, Event Listeners
WS-HT API

EJB
 Policy
driven – transports and capabilities are driven by policy attachments
 Partner
20
Admin and Event
Handling
REST Support
MUWS

Web Services
Receive and Invoke Handlers are pluggable
 Web service support implemented using Axis
 WS-Addressing
 WS-Security
 WS-Reliable Messaging
 POJO – plain old java objects
 JMS Support
Policy
Management
Receive and Invoke
Handlers

Other Services
Process endpoints (“My Role” deployments)
JMS, REST, POJO, ...

Addressing supports partner lookups (e.g. By principal)
Partner
Addressing
Service Handler Factories
ActiveVOS Service Engine Architecture
WS
Receive
Handler
JMS
Receive
Handler
REST
Receive
Handler
ActiveVOS BPEL Engine
...
Receive
Handler
BPEL Process
Inbound Service Request Flow
Receive Handler Factory
Receive Handler
Outbound Service Invoke Flow
Receive and invoke handler
factory architecture allows for
extensible service framework
Entity Instantiation
WS
Invoke
Handler
Process
Invoke
Handler
POJO
Invoke
Handler
JMS
Invoke
Handler
Invoke Handler Factory
Invocation Handler
21
REST
Invoke
Handler
...
Invoke
Handler
Simplified Request Dispatch Flow
Queue Manager
Web
Service
Request
Receive Handler
Lookup Correlated
Receive
Deployment Plan
Partner Addressing
Fault
Queued
Receives
Not Found
Found
Create?
No
Yes
New Process
Dispatch Receive
To Process
And Queue Reply
Queued
Reply
Process
Receive Activity
Reply Activity
22
Administrative API

Allows process maintenance interactions
– Suspend, Resume, Terminate, Process State Request, Process List, etc.
– Registers process and engine event listeners
 Can also dispatch events to Web services

Interfaces
– Available directly through engine factory for in-process usage
– Most methods are also exposed via a Web service, which will be the
recommended interface
– OASIS WSDM/MUWS

API usage examples
– Consoling, debugging, external management, ...
23
Administration - Process Exception Management

Process Exception Management
– Some critical processes can’t be allowed to fail because of programming or
environmental errors
– Developers and Administrators need to be able to take corrective action to
ensure process success

ActiveVOS - Process Exception Management
– Allows suspending processes on uncaught faults
 Configurable at per process
level with an engine default
– Integrates an alerting service so that appropriate actions can be taken
– Set of robust API for fixing a problem (changing data, retrying activities and
scopes, coercing an activity into completing normally)
– Administrative Consoling for manually fixing a problem
– Easy filtering of processes in a suspended/faulting state
24
Conclusion
ActiveVOS is built on a world class architecture and components
 Robust BPEL engine

– Utilizes Managers for flexible implementation of surrounding functionality
Extensible expression language integration with custom functions
 BPEL4People extension for standardized workflow
 Deployment considers many scenarios for binding and process directives
 Service handling delivers ease of service creation and interfacing
 Policy driven architecture for proper process governance
 Rich administrative functionality

– Process exception management handles unexpected faults
– Alerting and monitoring facilitates enterprise management
25