The document describes an engine that manages workflow orchestration and task execution. It uses queuing and databases to decouple components and ensure transactionality. The engine executes BPMN workflows in an event-based manner. It also describes a web application with client-server architecture that allows users to create, share, and monitor BPMN workflows and perform tasks. The architecture takes inspiration from enterprise systems and enables team collaboration.
SpotFlow: Tracking Method Calls and States at Runtime
Exploiting Web Technologies to Connect BPM and Engineering
1. Relational
Database
NoSQL
Database
Web Browser
WebSocket
endpoint
REST
endpoints
Editor service
User task
service
Engine
service
Client
side
Server
side
User task
service
Engine
service
Engine JMS Queues
Engine
Core
JavaScript
Evaluator
User tasks JMS Queues
Script tasks JMS Queues
Run
Database
File
Database
User task
Database
ExploitingWebTechnologies
toConnectBusinessProcess
ManagementandEngineering
www.beepmn.com
Authors
DarioCampagna
StefanoCostanzo
CarlosKavka
AlessandroTurco
ESTECO SpA, Area Science Park,
Padriciano 99, Trieste, ITALY
{campagna, costanzo, kavka, turco}
@esteco.com
The engine manages the workflow orchestration and the
execution of tasks. It guarantees the persistence of the
computed data and preserves the execution status in case of
accidental and/or unexpected blackouts. Since Script Tasks
can contain dangerous code special execution sandboxes are
provided. The engine architecture takes enterprise system
architectures as inspiration and it uses a queuing system to
decouple its components. The transactionality is guaranteed
by a convenient access to the databases and queues. Given the
XML representation of a BPMN workflow, the engine executes
workflows in an event-based fashion. More specifically, the
execution of each BPMN element and the execution of the
workflow are considered events. As such they are processed
with different enterprise integration patterns. The execution of
Script Tasks and User Tasks is entrusted to the user task service
and the JavaScript evaluator respectively. File transfers
are reduced during the workflow runs owing to
the use of URI for identifying
and referencing files.
The Business Process Model and Notation (BPMN)
standard can be used for representing low-level simulation
and automation workflows for scientific, engineering and
manufacturing processes. This paper focuses on removing the
main obstacles to a more widespread adoption of the standard
and the related technology caused by insufficient collaboration
and data management. With this goal in mind we created
a prototype which mimics a Software-as-a-Service (SaaS)
platform. It is an Extreme Collaboration environment in which
users can model their processes, share them with co-workers
and launch and monitor their execution. The prototype includes
a web application and an engine. The web application has a
client-server architecture and it enables users to create BPMN
workflows, request and monitor their execution, perform
assigned User Tasks and manage files. Teamwork is achieved
by sharing processes, templates and files, by simultaneously
editing a workflow, assigning and performing
User Tasks within groups and importing
and exporting BPMN files.
ARCHITECTURE#1
ARCHITECTURE#2
Multi Disciplinary Optimization (MDO) is a particular
case of black-box optimization with multiple
intrinsically interconnected computational blocks
widely used in complex engineering scenarios.
We present a process implementing the Individual
Discipline Feasible approach for handling an MDO
problem with two disciplines. An optimization
algorithm orchestrates a convergence loop performing
the original optimization task with additional
constraints to enforce the compatibility between the
disciplines. Parallel and Exclusive Gateways perfectly
manage this scenario, whereas Script Tasks take care
of the optimization algorithm and of the convergence
check. The two disciplines are included in generic tasks
but depending on how they are implemented,
they can be handled with Script Tasks,
Service Tasks or User Tasks.
1.Individual
DisciplineFeasibleMDO
This is a realistic prototype of a scheduling process problem of
a university department involving timetable negotiation and
optimization. More specifically, in the negotiation phase the
professors declare their availability and approve/refuse the first
schedule draft. These communications are modeled as User Tasks
(triggered in parallel). The Operational Research solver, which
generates the optimal timetable, is also part of the process.
The function calling the solver is pre-loaded in the Script Task
evaluator. The secretary office is responsible for all manual tasks
that cannot be easily automated and all direct controls required
by the procedure. The model is completely executable with the
proposed prototype platform: the professors receive a notification
whenever they have to provide information and the User Task
interface shows them the necessary inputs and
the data types of the requested outputs.
2.collaborativeworkflow
This process represents a generic evolutionary
algorithm simplified to facilitate its
understanding. Data objects are in fact hidden
and each phase is isolated in a separate Sub-
Process. We decomposed the algorithm in its
main phases: Initialization, Point Generation,
Evaluation, Selection and Stopping Criteria.
The inner structure of all Sub-Processes can be
further exploded and modeled in more details,
if necessary. The aim of this generalization is
to enable the creation of as many different
optimization algorithms as possible based on
this simple skeleton. It is possible to model the
single phases of any optimization algorithm
and freely combine them thanks to the BPMN
expressiveness. This opens the door to
extensive yet simple algorithm
customization and hybridization.
3.SCIENTIFICworkflow
CASESTUDY#1
CASESTUDY#2
CASESTUDY#3
ICSOFT-EA2016
11th International Conference on Software Engineering and Applications
24-26JULY2016|LISBON,PORTUGAL
www.esteco.com