Professional Documents
Culture Documents
Agents and Adapters: Ashutosh Sharma
Agents and Adapters: Ashutosh Sharma
Ashutosh Sharma
Introduction
Developing
Agents and Adapters By the end of this session you will be knowing how to develop Simple Agents/Adapters
BPM Training
Agenda
Introduction Agents Adapters
Synchronous
Adapters
BPM Training
Overview
This
session will let you know what an Agent/Adapter is and how simple Agent/Adapters can be developed to automate a task.
Text Text Text Te xt Text Text Te xt Text
Text
4
BPM Training
Vocabulary
Adapter
A Java class that integrates remote, third party classes and actions with SBM. An adapter can automate certain functions and tasks performed by a remote server or other external systems. In SBM, a code that executes as part of the process to perform a work step running internally within SBM, and does not access an external system.
Agent
BPM Training
Vocabulary Continued
Dataslot A data placeholder that persists through the entire process and defines the information flow of the business process. Dataslots are associated with processes, where they can add information into (Input type) or out of (Output type) worksteps, and appear as editable or read-only fields on a users interface.
Managed Adapter In SBM, a Managed Adapter is an implementation of an adapter interface that facilitates data exchange between SBM processes and external applications.
BPM Training
Performer
step. Depending on the work step type, the performer can be a human user, a
group of users, an adapter or other external performer, or a script.
BPM Training
Introduction to Agents/Adapters
Agents and adapters are non-human performers of work steps They are typically a code that connects SBM to databases, third party software or other systems. The primary difference between adapters and agents An adapter runs a remote device or application that is external to SBM. An agent is a self-contained adapter that only runs inside SBM and does not access external systems.
BPM Training
Agents
Agents are Java objects executed locally; i.e., on the same Java Virtual Machine (JVM) as the BizLogic or the BizSolo application server. The agent requires no knowledge about BizLogic or BizSolo.
BPM Training
Adapters
Adapters are objects executed remotely; i.e., and run on a separate, external JVM. The communication for a remote adapter in BizLogic is performed using the JNDI protocol. This protocol is specified during the design time on the performer tag of the Adapter work step Adapters can be of two types
BPM Training
10
Synchronous Adapters
In synchronous Adapter worksteps, the adapter calls the methods in the following sequence
No matter how long the adapter execution takes, the BizLogic and BizSolo engines wait for the task to finish. Easy to use and create Data slot results are consistent Passing information to others adapters is safe.
BPM Training
11
Asynchronous Adapters
In asynchronous adapters, BizLogic calls the adapter but does not wait for the adapter to finish its tasks. It can be used when an adapter takes a long time to complete. Connection is closed between workflow engine and the Adapter Asynchronous Adapters are of two types:
Behaves like Synchronous Adapters It waits for the asynchronous adapter class to complete the adapter. There is no need to provide output dataslot.
BPM Training
12
Developing Adapters
An
adapter is a piece of Java code that connects SBM to external systems It performs complicated calculations, including
Databases third party software tools hardware devices.
Requirement
for Adapters
External systems must have an API with which the adapter can communicate. This API can be in C, C++, Java, or other languages/formats supported by SBM.
BPM Training
13
uses the default mapping setX() and getX() methods corresponding to a dataslot named X. One can use setAllInputDatasolots() for setting all the dataslots at once and getAllOutputDataslots() for getting the values of all the dataslots at once.
BPM Training
14
Summary
In
BPM Training
15
BPM Training
16