Bonita J2EE Workflow Cooperative System Miguel Valdés Faura JIAP Project 09/12/2003.

Slides:



Advertisements
Similar presentations
XML-based web services with the java 2 platform, Enterprise edition (j2EE) by anis karimpour-fard.
Advertisements

Siebel Web Services Siebel Web Services March, From
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
Apache Struts Technology
Spring, Hibernate and Web Services 13 th September 2014.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
Distributed Heterogeneous Data Warehouse For Grid Analysis
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Introduction to Java 2 Enterprise Edition About myself –Neutrinos, Cancer Research, IT Applications Today’s topic: J2EE –Context –Advantages –Components.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Web Services Andrea Miller Ryan Armstrong Alex. Web services are an emerging technology that offer a solution for providing a common collaborative architecture.
The Architecture of Transaction Processing Systems
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Understanding and Managing WebSphere V5
Web-based Software Development - An introduction.
Distributed System Using Java 2 Enterprise Edition (J2EE)
SOA, BPM, BPEL, jBPM.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
Chemical Toxicity and Safety Information System Shuanghui Luo Ying Li Jin Xu.
Introduction to J2EE Architecture Portions by Kunal Mehta.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
第十四章 J2EE 入门 Introduction What is J2EE ?
Web Services Part II Yongqun He. J2EE-based Web Services.
Enterprise Java v120131Intro to JavaEE1 Java EE 5 TM Introduction.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
XML Registries Source: Java TM API for XML Registries Specification.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Introduction to Server-Side Web Development Introduction to Server-Side Web Development using JSP and Web Services JSP and Web Services 18 th March 2005.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
EGEE User Forum Data Management session Development of gLite Web Service Based Security Components for the ATLAS Metadata Interface Thomas Doherty GridPP.
Kemal Baykal Rasim Ismayilov
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
1 Cooperative Open Workflow Yvan Peter, Thomas Vantroys Laboratoire TRIGONE – Equipe Noce Université des Sciences et Technologies de Lille
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008.
Apache Struts Technology A MVC Framework for Java Web Applications.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
In this session, you will learn to: Understand managed code Create managed database objects Define the Hypertext Transfer Protocol endpoints Implement.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
Business Process Execution Language (BPEL) Pınar Tekin.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
The Holmes Platform and Applications
J2EE Platform Overview (Application Architecture)
Distributed System Using Java 2 Enterprise Edition (J2EE)
JavaServer Faces: The Fundamentals
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Introduction to Web Services
Presentation transcript:

Bonita J2EE Workflow Cooperative System Miguel Valdés Faura JIAP Project 09/12/2003

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

Bonita Project Flexible 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 version.

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

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

Context (2) Existing Workflows –Isolation execution –Sequential execution –Rigid model

Context (3) Bonita offers a new workflow execution model: –Execution flexibility based on activity anticipation. –Interchange data flexibility Edition Modification Edition Review Mofification Edition Review Modification... Process Execution (1) (2) Anticipating Anticipable Executing Review

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

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...

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

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

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,…)

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

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

Basic Organisation 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

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.

Process editor Tool for interactive edition of the process

Process definition A Web Interface is used for detailled definition

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)

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

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

Awareness (1) JMS notifications in workflow users definition and visualization User notifications: Mail notifications Jabber notifications

Awareness(2) The process editor provide a view of the state of the process

Awareness(3) The process editor allows multiple users definition.

Awareness(4) Jabber Notification based in user preferences

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

Advanced features Anticipation Runtime process change Properties Hooks Process clone

Anticipation Green activities are anticipable

Process change The process can be changed anytime during its execution

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

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 –Executing –On Cancel –On Die

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, On execute 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 Hooks

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

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) Hooks Implementation

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

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

Web Services Powerful and easy integration that will enable more efficient business processes. You will easily integrate your software with other pieces of software. No need to worry about how each Web Service is implemented.

Web Services and J2EE Proprietary Protocol IIOPHTTP Web service Container Servlets Business Partner or other system Applets, JWS Applications Business Partner or other system Existing System ERP System ConnectorsEJB’s XML Parser JSP, MVC Framework… View generation Web Container EJB Container HTTP RMI Client tier Back-End Systems DB SQL Web Services Technologies Computer

Bonita Web Services Architecture Bonita Third Generation Workflow Architecture based on Web Services. Server-Side Business Logic Struts Server-Side Presentation Web Services Client-Side Presentation Workflow information Bonita Database MySQL Postgres Oracle  Bonita Definition component  Bonita Execution component  Web environment to define and control the workflow process

100% browser-based environment We can use external Web Services and also publish Workflow Web Services. HTTP Request sent to SOAP server HTTP Response from SOAP server HTTP Encoding/ Decoding SOAP Serialization/ De-serialization SOAP Package XML Method Call Local Interfaces HTTP View generation XML Java Parser Bonita Struts Framework Web Server Business Partner Server Business Partner Service API (XML/SOAP) Bonita 100% Browser-based Bonita & Web Services

Integrating Bonita Web Services 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 Client Connectivity –Different kinds of clients connect to the web services in a variety of ways: UDDI, WSDL, SOAP, ebXML. –Multiple client views for one web service.

The XML code returned to the client. NodeLightValue state id creatoridname role idnamedescription … node12 admin roleadmin Bonita Web Services Sample

A particular Bonita Web Service can be adapted to each user view. Business Partner or other system Session Bean Transform XML Servlet / JSP s UDDI Registry Register Service in UDDI Registry JAXR JAXM, JAX/RPC JAXP, JAXB Locale Service and Service Descriptions (WSDL and/or CPP) SOAP and/or ebXML request Web service Container Castor XML Data Binding XSL/XSLT Client Request Bonita Client Connectivity

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

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

Libresource integration

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

Bonita State Used in different projects –KVM –Libresource –Coopera > 5000 downloads at Bonita ObjectWeb site. Bonita references at: TheServerSide, Apache, Freshmeat, Internet Global Congress... Stable execution engine

Current work Short term –Completion of MultiInstanction implementation –Integration in the LibreSource platform –New workflow administration web interface. –Hook editor –Import XPDL workflow files. Middle term –XPDL workflow model –Web Services orchestration: BPEL4WS –...

XPDL Standard Variety of different tools exists to define workflow processes XPDL defines a common interchange format: – transfer workflow process definitions between different products Separation between the development and run- time environments

Bonita & XPDL Standard Jawe Definition Client XPDL representation Bonita Definition Client

Bonita Home Page