300 likes | 506 Views
ActiveVOS - Server Architecture. March 2009. Topics. ActiveVOS - Server Architecture Core Engine, Managers, Expression Languages BPEL4People People Activity WS-HT Human Tasks Deployment Services Administration. Directory Services. Policy Management. Alerts, Exception
E N D
ActiveVOS - Server Architecture March 2009
Topics • ActiveVOS - Server Architecture • Core Engine, Managers, Expression Languages • BPEL4People • People Activity • WS-HT Human Tasks • Deployment • Services • Administration Directory Services Policy Management Alerts, Exception Management Task Management Other Services JMS, REST, POJO, ... Deployment Plans Receive and Invoke Handlers Partner Addressing Managers Expression Processing Common Utilities: Timer, Work, URN Mapping ActiveVOS BPEL Engine Process State Process Creation & Management Queues and Alarms MUWS Admin and Event Handling Web Services Queues Process Activity Alarms Web/Application Server Inbox
ActiveVOS Architecture Overview • Core ActiveVOSEngine • Process • Definition, validation and execution • WS-BPEL 2.0 and BPEL4WS 1.1 compliant • BPEL4People • Extensible Expression Execution • XPath 1.0, XQuery (XPath 2.0), JavaScript, ... • Server Engine Managers • Alarm Manager • Cluster Manager • Deployment Manager • Process Manager • Queue Manager • Storage Manager • Task Manager • Complex Event Processing • Service framework • Policy driven • Publishes endpoints which Receive and Reply to callers in conjunction with engine • Invokes of endpoints • Publishes administrative, WS-HT APIs • Robust interface allows wide variety of service types. WS, JMS, POJO, REST... • Utilities and Other Services • Work and Timer Managers • URN Mapping • Identity Services • Email Services • Deployment Handling • Administration
ActiveVOS Server Directory Services Policy Management Alerts, Exception Management Task Management Other Services JMS, REST, POJO, ... Deployment Plans Common Utilities: Timer, Work, URN Mapping Receive and Invoke Handlers Partner Addressing Managers Expression Processing ActiveVOS BPEL Engine Process State Process Creation & Management Queues and Alarms Admin and Event Handling MUWS Web Services Queues Process Activity Alarms Web/Application Server Inbox
ActiveVOS Server Directory Services Policy Management Alerts, Exception Management Task Management Other Services JMS, REST, POJO, ... Deployment Plans Receive and Invoke Handlers Partner Addressing Managers Expression Processing Common Utilities: Timer, Work, URN Mapping ActiveVOS BPEL Engine Process State Process Creation & Management Queues and Alarms Admin and Event Handling MUWS Web Services Queues Process Activity Alarms Web/Application Server Inbox
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 • 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 astandardized deployment format(or directly through API) • Utilize a visitor pattern on thedefinition objects for creationof 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
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)
ActiveVOS Server – Expression Processing Directory Services Policy Management Alerts, Exception Management Task Management Other Services JMS, REST, POJO, ... Deployment Plans Receive and Invoke Handlers Partner Addressing Managers Expression Processing Common Utilities: Timer, Work, URN Mapping ActiveVOS BPEL Engine Process State Process Creation & Management Queues and Alarms Admin and Event Handling MUWS Web Services Queues Process Activity Alarms Web/Application Server Inbox
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
ActiveVOS BPEL Engine BPEL Process Entity Instantiation Custom Function Evaluation Flow Example: Custom function integration User defined Custom Functions Evaluate XPATH Expression with Custom Function Expression Language Factory XPATH Language Environment Custom Function Context Function Context Factory Evaluate Custom Function XQUERY Language Environment BPEL Function Context JAVA SCRIPT Language Environment Expression Evaluation Function Evaluation ActiveVOS Engine Runtime Environment
ActiveVOS Server – BPEL4People Directory Services Policy Management Alerts, Exception Management Task Management Other Services JMS, REST, POJO, ... Deployment Plans Receive and Invoke Handlers Partner Addressing Managers Expression Processing Common Utilities: Timer, Work, URN Mapping ActiveVOS BPEL Engine Process State Process Creation & Management Queues and Alarms Admin and Event Handling MUWS Web Services Queues Process Activity Alarms Web/Application Server Inbox
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)
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)
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
ActiveVOS Server – Deployment Directory Services Policy Management Alerts, Exception Management Task Management Other Services JMS, REST, POJO, ... Deployment Plans Common Utilities: Timer, Work, URN Mapping Receive and Invoke Handlers Partner Addressing Managers Expression Processing ActiveVOS BPEL Engine Process State Process Creation & Management Queues and Alarms Admin and Event Handling MUWS Web Services Queues Process Activity Alarms Web/Application Server Inbox
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 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 • 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, …
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
ActiveVOS Server – Services and Administration Directory Services Policy Management Alerts, Exception Management Task Management Other Services JMS, REST, POJO, ... Deployment Plans Common Utilities: Timer, Work, URN Mapping Receive and Invoke Handlers Partner Addressing Managers Expression Processing ActiveVOS BPEL Engine Process State Process Creation & Management Queues and Alarms Admin and Event Handling MUWS Web Services Queues Process Activity Alarms Web/Application Server Inbox
Policy Management Other Services JMS, REST, POJO, ... Receive and Invoke Handlers Partner Addressing Admin and Event Handling MUWS Web Services Service Layer • Exposes key runtime interfaces • Process endpoints (“My Role” deployments) • Administrative API: • Engine Admin, MUWS, Event Listeners • WS-HT API • 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 • REST Support • EJB • Policy driven – transports and capabilities are driven by policy attachments • Partner Addressing supports partner lookups (e.g. By principal)
WS Receive Handler JMS Receive Handler REST Receive Handler ... Receive Handler Receive Handler Factory Inbound Service Request Flow Receive Handler Outbound Service Invoke Flow Entity Instantiation Service Handler Factories ActiveVOS Service Engine Architecture ActiveVOS BPEL Engine BPEL Process Receive and invoke handler factory architecture allows for extensible service framework REST Invoke Handler ... Invoke Handler WS Invoke Handler Process Invoke Handler POJO Invoke Handler JMS Invoke Handler Invoke Handler Factory Invocation Handler
Simplified Request Dispatch Flow Queued Receives Queue Manager Web Service Request Receive Handler Lookup Correlated Receive Deployment Plan Not Found Found Partner Addressing Create? No Yes Fault New Process Dispatch Receive To Process And Queue Reply QueuedReply Receive Activity Process Reply Activity
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, ...
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
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 Conclusion