Bonita - PowerPoint PPT Presentation

1 / 55
About This Presentation
Title:

Bonita

Description:

SQL. Web Services Technologies. Web Services Technologies. Computer. Bonita Web Services Architecture ... Virtual teams hosting and distributed communities ... – PowerPoint PPT presentation

Number of Views:116
Avg rating:3.0/5.0
Slides: 56
Provided by: francoi82
Category:

less

Transcript and Presenter's Notes

Title: Bonita


1
Bonita
J2EE Workflow Cooperative System
  • Miguel Valdés Faura
  • Bull RD
  • 08/03/2004

2
Agenda
  • Bonita project introduction
  • Basic organisation
  • Awareness
  • Advanced features
  • Web services
  • Bonita integration
  • Current work

3
Bonita Project
  • Flexible J2EE Cooperative Workflow System.
  • Bonita is integrated in the ObjectWeb Consortium
    (Open Source Middleware).
  • Bonita is Open Source and is downloadable in LGPL
    License.
  • Bonita uses new JOnAS 3.3.5 version.

4
Short History
  • Started in 2000 inside the Motu Cooperative
    plateforme
  • June 2001
  • Beginning of development of version 1
  • Ejb 1.1
  • June 2002
  • Development of version 2
  • Ejb 2.0, CMP
  • June 2003
  • Integration in the libresource platform
  • Port to Jonas

5
Context (1)
  • Types of workflow
  • Production
  • Administrative
  • Ad-hoc
  • Cooperative
  • Workflow Management System that allows
    coordination in a cooperative project
  • co-engineer, co-conception...

6
Context (2)
  • Existing Workflows
  • Isolation execution
  • Sequential execution
  • Rigid model

7
Context (3)
  • Bonita offers a new workflow execution model
  • Execution flexibility based on activity
    anticipation.
  • Interchange data flexibility

Process

...

Edition
Review


Modification

Execution

(1)

Edition

Review

Mofification

Anticipable

Edition

(2)

Review

Anticipating

Modification

Executing

8
Objectives of Bonita
  • Supporting collaborative processes
  • Long running activities
  • Distributed teams coordination
  • Awareness
  • Provide a WF engine
  • Simple
  • Dynamic
  • Flexible

9
Bonita J2EE Application
  • EJB 2.x compliant and xdoclet code generation
    engine.
  • User Authentication by Login Modules
  • JMS notification module
  • Web Interface with Struts framework, JSP and JSTL
    pages
  • Different databases MySQL, Postgres...
  • J2EE Workflow Web Services
  • ...

10
The basics
  • Process
  • Activities (or nodes)
  • Edges
  • Users
  • Roles
  • External events

11
Process
  • A process is the description of
  • a set of tasks or activities
  • the dependencies between tasks
  • a set of roles
  • a set of users participating to the process
  • the relationship between roles and tasks
  • the relationships between user and roles

12
Activities
  • Activities are used
  • To represent tasks that have to be executed
  • To express synchronisation conditions
  • AND-JOIN, OR-JOIN
  • To express execution conditions
  • Automatic, Traditional, Anticipable
  • Activities have
  • A role
  • A deadline
  • A state (initial, ready, anticipable, executing,
    anticipating, dead, terminated,)

13
Edges
  • Edge are used to represent control flow
    dependencies between activities
  • Edge have
  • A state (initial, active, dead)
  • A condition
  • Expressed as BeanShell script
  • Evaluated when the edge becomes active
  • Edge are also used for basic data flow

14
Agenda
  • Bonita project introduction
  • Basic organisation
  • Awareness
  • Advanced features
  • Web services
  • Bonita integration
  • Current work

15
Basic Organisation (API)
ProcessSessionBean Provides the Process
Instantiation API UserSessionBean Provides the
user API to get information on Todo list and
started activities produce events on activities
(start, terminate, ...) EngineBean Hidden to
user Provides the execution engine. Manage
process states and process changes API are also
available as Web Services
16
ProcessSession Bean
  • A process session bean provides the interface for
  • Creation of the process
  • Definition of nodes and edges
  • Modifications of properties
  • A process is enacted immediately.

17
Process editor
  • Tool for interactive edition of the process

18
Process definition
  • A Web Interface is used for detailled definition

19
Process execution
  • Process execution is done by commands
  • UserSessionBean implements commands and queries
  • Projects of a user
  • Todo List
  • Executing activities
  • Start/terminate/Cancel commands
  • Process execution is controlled by a special
    session bean that implements the state machine
    (EngineBean)

20
The activity manager
  • Client interface for process execution
  • Provides
  • User projects
  • Todo list for a user
  • Executing activities

21
Agenda
  • Bonita project introduction
  • Basic organisation
  • Awareness
  • Advanced features
  • Web services
  • Bonita integration
  • Current work

22
Awareness (1)
JMS notifications in workflow users definition
and visualization User notifications Mail
notifications Jabber notifications
23
Awareness(2)
  • The process editor provide a view of the state of
    the process

24
Awareness(3)
The process editor allows multiple users
definition.
25
Awareness(4)
Jabber Notification based in user preferences
26
Agenda
  • Bonita project introduction
  • Basic organisation
  • Awareness
  • Advanced features
  • Web services
  • Bonita integration
  • Current work

27
Advanced features
  • Anticipation
  • Runtime process change
  • Properties
  • Hooks
  • Process clone

28
Anticipation
Anticipating vs executing activities
29
Process change
The process can be changed anytime during its
execution
30
Properties
  • Properties are data attached to
  • A process
  • An activity
  • Process properties are the global data of the
    process
  • Activity properties provide a basic data flow
  • Implicit propagation along the control flow
  • Properties can be used in
  • Activity Scripts
  • Edge conditions

31
Hooks
  • Hooks are used to add automatic behavior to
    activities for
  • Integration
  • Control
  • Automation
  • Hook are scripts written in
  • Tcl, java or beanscript
  • They are associated to the following events
  • Before start and after start
  • Before terminate and after terminate
  • Anticipating
  • On Cancel
  • On Die

32
Hooks
  • Before start and after terminate are executed
    outside of the activity transactional context
  • If the before start fails, the activity does not
    start but does not fail either... it can be
    retried later.
  • After start, anticipate and before terminate are
    executed inside the activity transactional
    context
  • Failure of one of the hooks makes the activity
    failed
  • On Die and On cancel are used to take action in
    case of activity failure
  • Recovery, programmatic compensation,
    instantiation of a compensation process

33
Process Hook vs Activity Hook
  • A process hook will be executed for each activity
    of the process
  • Allows to specialized the process behavior
  • An activity hook is executed only for the
    activities it is attached to
  • Executing hook can be used for automatic
    activities

34
Hooks Implementation
  • A hook is implemented as a BeanShell script or as
    a Java class (must be deployed)
  • The script has access to the current activity
    bean and to engine bean (change to the process
    execution status can be done)

35
Process Clone
  • Clone is used instead of schema to instantiate
    processes
  • A Process clone is an exact copy of an existing
    process except that
  • All activity and edge states are reinitialised
  • Participants to the project are not copied
  • To use a cloned project the admin has to
  • set the users
  • recreate the user/role relationship
  • No relationship between the copies

36
Agenda
  • Bonita project introduction
  • Basic organisation
  • Awareness
  • Advanced features
  • Web services
  • Bonita integration
  • Current work

37
Bonita Web Services
  • 100 browser-based environment
  • We can use external Web Services and also publish
    Workflow Web Services.

38
Web Services and J2EE
Client tier
Web Services Technologies
RMI
IIOP
HTTP
HTTP
View generation
XML Parser
Web Container
JSP, MVC Framework
Web service Container
EJB Container
SQL
Web Services Technologies
Proprietary Protocol
Back-End Systems
Business Partner or other system
Existing System ERP System
DB
39
Bonita Web Services Architecture
  • Bonita Third Generation Workflow Architecture
    based on Web Services.
  • Bonita Definition component
  • Bonita Execution component
  • Web environment to define and control the
    workflow process

40
Integrating Bonita Web Services (1/2)
  • Data translation and transformation
  • Translating the results of the business service
    into XML
  • Bonita XML Data Binding Serializer.
  • XML data binding offers a simpler approach to
    working with XML

41
Integrating Bonita Web Services (2/2)
  • Client Connectivity
  • Multiple client views for the same web service.
  • Multiple Bonita Web Services API
  • Workflow Definition APIs
  • ProjectSession
  • ProjectBasicSession
  • ProjectSoapXML
  • Workflow Execution APIs
  • UserSession
  • UserSoapXML

42
Bonita Web Services Sample
  • The XML code returned to the client.

43
Bonita Client Connectivity
  • A particular Bonita Web Service can be adapted
    to each user view.

SOAP and/or ebXML request
Register Service in UDDI Registry
Locale Service and Service Descriptions (WSDL
and/or CPP)
Transform XML
Web service Container
44
Agenda
  • Bonita project introduction
  • Basic organisation
  • Awareness
  • Advanced features
  • Web services
  • Bonita integration
  • Current work

45
Bonita integration example
  • Libresource Platform
  • A modular platform for cooperative software
    development
  • Virtual teams hosting and distributed communities
  • Data sharing, coordination, awareness,
    communication

http//libresource.loria.fr/
46
Libresource integration
47
(No Transcript)
48
Agenda
  • Bonita project introduction
  • Basic organisation
  • Awareness
  • Advanced features
  • Web services
  • Bonita integration
  • Current work

49
Bonita State
  • Used in different projects
  • KVM
  • Libresource
  • Coopera
  • gt 7000 downloads at Bonita ObjectWeb site.
  • Bonita references at TheServerSide, Apache,
    Internet Global Congress...
  • Stable execution engine

50
And also..
  • Bonita is working with Evidian for the
    integration into AccesMaster
  • Bonita and Bull are working with CG95.
  • Bonita is member of ObjectWeb Workflow Working
    group
  • Synergies between Bonita, Shark and Cow projects.
  • We work on a list of components which forms the
    building blocks of each workflow system

51
Current work (1)
  • Short term
  • INRIA
  • Users externalization
  • Configurable workflow engine
  • Integration in the LibreSource platform
  • Bull RD
  • Callback functions
  • Mapper User and roles assignment at
    instantiation time
  • Properties mapper
  • LDAP mapper
  • Custom mapper
  • Performer assignment at activation start time

52
Current work (2)
  • Short term
  • Bull RD
  • Trace functionalities
  • Log/Historic functionality
  • Delete project instances when finish
  • Middle term
  • Forms generation
  • Web Services orchestration BPEL4WS
  • ...

53
Bonita-v1.1
  • Release Notes (04-03-2004)
  • New graphical Interface for Definition and
    Execution components.
  • UserSession and EngineSession beans are now
    stateless session beans.
  • Configuration changes to select bonita and jrmp
    (rmi) port.
  • Process instantiation and activites sub-process.
  • New JMS Service Module (stateful session bean).
  • Activities iteration is available.
  • Client side Internationalization.
  • Hooks improvement.
  • LDAP support Authorization import LDAP users
    to Bonita database.
  • New documentation LDAP configuration, new
    user_guide, bonita samples, API javadoc.

54
Bonita Today
55
Bonita Home Page
http//bonita.objectweb.org/
Write a Comment
User Comments (0)
About PowerShow.com