Active Endpoints ActiveVOS Platform Architecture
ActiveVOS Unique process automation platforms to develop, integrate, and deploy business process applications quickly User Experience Easy to learn, use and adopt Complete, well integrated, well documented Customers successfully implement on their own ActiveVOS Platform for IT / Service Providers High-productivity Process Automation Tooling Multi-tenant Multi-site Multi-platform 2
ActiveVOS Product Components Multi-tenant Multi-site Multi-platform ActiveVOS Process Automation Platform 3
ActiveVOS Programming and Execution Paradigm See the control flow of the application graphically Implement services built from other services (staying in XML) Control the flow of asynchronous service interactions Manage the flow of work done by people and services Get visibility and control of process instances Simplified application lifecycle management 4
ActiveVOS IT and Service Provider Platform Open/standards-based BPMS BPMN 2.0 modeling / BPEL 2.0 execution BPEL4People & WS-HumanTask WS-*, including WS-Policy REST, JSON, JMS, EJB and others Full featured Modeling, simulation, testing, debugging, monitoring, reporting, process exception management, etc. Easy to learn try buy Lean, well integrated, well documented Customers successfully implement on their own Collaboration across the entire development team 5
ActiveVOS Tooling For Different Roles and Needs ActiveVOS Designer - an Integrated Development Environment (IDE) for developers to automate business processes using open standards including BPMN for graphical design and BPEL for process execution. Developers ActiveVOS Automation for Analysts a designer for Business Analysts and Subject Matter Experts to use BPMN to implement and deploy processes using services provided by IT developers. Business Analysts ActiveVOS Screenflow a designer for building powerful web applications that guide users through a series of screens and automated steps to complete a process Subject Matter Experts Purpose-specific Tooling 6
Guidance Tree Programming Paradigm Guidance Trees: A new paradigm for programming for non-programmers Captures expertise and shares it in a way that allows any employee to easily know what they should do when and next Captured expertise executes as a screenflow Leverages customization by developers Simplifies the use and access to data Designed for simplicity Employ your time in improving yourself by other men's writings, so that you shall gain easily what others have labored hard for. Socrates 7
Screenflow for Business Users No technical expertise required Simple to build - for the Subject Matter Expert Domain experts create or modify designs, simulate and then deploy them in minutes Guidance tree technology makes it easy to understand and to create Simple to use - improve productivity Users are guided to do what is most effective for the situation Automated steps call IT-provided services at the right time with the right data Built on open standards HTML 5 design environment BPMN notation / BPEL execution 8
ActiveVOS Platform Architecture 9 Active Endpoints
ActiveVOS Server Architecture and Components Other Services JMS, REST, POJO,... Web Services JSON Receive and Invoke Handlers MUWS Admin and Event Handling Policy Management Partner Addressing Process Creation & Management Process Task Management Expression Processing Process Engine Common Utilities: Timer, Work, URN Mapping Queues and Alarms Activity Alerts, Exception Management Managers Directory Services Deployment Plans Process State Queues Web/Application Server Alarms 10
Process 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 User settings stored in database (AeConfigSettings) is difference of xml file and the user settings Managers perform operations on behalf of engine Manager Process Manager Queue Manager Alarm Manager Event Manager Function Creates Process and Manages Process State saving and restoration Manages Receive Queues and correlations Manages timers for on alarms and waits Manages complex event statements and patterns Storage Manager Cluster Manager Manages interaction with persistent storage Manages failover and inter-engine facilities 11
Process Process Definitions Installed into the engine via a standardized deployment format ( API (or directly through Utilize a visitor pattern on the definition objects for creation of implementation classes Cached as part of overall deployment plan for process Process Implementations Handles 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 robust extension 12
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 State changes trigger events which are streams available for Business Event Processing Each activity has an execute method to do the actual execution Activities set object completed state when their work is done, Actual work can be asynchronous from execute method 13
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 Saxon JavaScript is supported through Rhino 14
Task Management Web Services Human Task (WS-HT) Integrates human tasks into serviceoriented applications Human tasks are services implemented by people Specifies a human task schema definition Defines an API for manipulating tasks Enables Portable Task Clients (e.g. ( Central ActiveVOS 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 15
Deployment Contributions - Business Process Archive Contains multiple processes and their associated process deployment descriptors as well as other resources like WSDL, Schema, Style Sheet, HTML, Java Jars, Images, etc. Describes exports to and imports from other contributions Versioned so that changes in resources can be isolated from other containers resources States: Online, Offline and Offline Pending Only one version of a contribution is online Offline pending means that running processes or other online contributions refer to it Process Engine Plan Cache Resource Cache Contribution Manager Global Catalog Contribution (+) Catalog Process Plans 16
Deployment Process Deployments Process Deployment Descriptor (PDD file) Describes Partner Link associations and policies. My Role (Consumers) Service information for exposing process services Service Name, Allowable Roles, Binding and Policies Partner Role (Provides) Service information for accessing other services Supports multiple bindings (HTTP/JMS/REST/ ), which can be described statically at deployment or during runtime Policy driven for ease of extensibility Services can take advantage of URN mapping for easier endpoint maintenance BPEL4People - Logical People Group Assignment Deployment time mapping of roles to users or groups Process Specific directives Logging and Persistence (None, Full, ) Suspend on uncaught fault, data indexes, event triggers 17
Deployment Multiple deployment interfaces for BPR/Contributions 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 Web/Application Servers ActiveVOS Designer Embedded Server Small footprint Apache Tomcat installation Contains all ActiveVOS features Self-contained Derby database ActiveVOS Server High availability and scalability through clustering Deployment Platforms: Apache Tomcat Web Server, JBoss, WebSphere & WebLogic Application Servers Process storage support for DB2, SQL Server, Oracle and MySQL 18
Services, Policy and Partner Addressing 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 Metro WS-* Support, WS-Addressing, WS- Security, WS-Reliable Messaging POJO plain old java objects JMS Support REST Support EJB JSON Policy driven transports and capabilities are driven by policy attachments Partner Addressing supports partner lookups (e.g. By principal) 19
Native JSON Support for jquery-based UI and JavaScript RESTful service endpoints for UI service access Google convention for XML to JSON and JSON to XML Template based generation of JSON to XML and XML to JSON Serves HTML/AJAX service-enabled forms to browser application ActiveVOS Central accepts either HTML/AJAX Form Process service forms can be served independently or tied to a framework (e.g. portal) 20
Moving the Task Client to the Web Browser Old Way App Server Dumb Web Client HTTP Post Task presentation tier Task service tier New Way AJAX Client WS-HumanTask JSON binding App Server Task service tier 21
Receive and Invoke Handlers WS Receive Handler Process Engine Receive Handler Receive Handler Factory JMS Receive Handler REST Receive Handler Dispatch Manager Process Definition... Receive Handler WS Invoke Handler Process Invoke Handler POJO Invoke Handler JMS Invoke Handler REST Invoke Handler... Invoke Handler Inbound Service Request Flow Receive and invoke handler factory architecture allows for extensible service framework Invoke Handler Factory Invocation Handler Outbound Service Invoke Flow Entity Instantiation 22
Dispatch Manager - Inbound Request Handling For each configuration created, the Dispatch Manager maintains a Dispatch Runtime for that configuration The Dispatch Runtime wraps and manages the service-level dispatch elements for a particular service: Configuration details: engine, tenants, groups and services Queue Management Execution statistics When the engine receives an inbound message request: If dispatch control is enabled, the Dispatch Manager will buffer the request for controlled execution through the runtime Dispatch control applies to all ALL inbound receives EXCEPT for subprocess invokes HTTP, JMS, Process invokes are buffered One-way and Request-Response are buffered 23
Administrative API Allows process maintenance interactions Interfaces Suspend, Resume, Terminate, Process State Request, Process List, Schedule, etc. Registers process and engine event listeners Can also dispatch events to Web services Available directly through engine factory for inprocess usage Most methods are also exposed via a Web service, which will be the recommended interface MUWS (Management Using Web Services) support API usage examples Console, debugging, external management,... 25
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 ( normally activity into completing Administrative Consoling for manually fixing a problem Easy filtering of processes in a suspended/faulting state ActiveVOS Time Machine Rewind process to any point via process log Powerful, when used cautiously 26