31
J opera Eclipse-based Visual Composition Environment featuring a General Language for Heterogeneous Service Composition Cesare Pautasso Faculty of Informatics, USI Lugano, Switzerland [email protected] http://www.jopera.org http://twitter.com/pautasso 24.2.2012 Associate Member

JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

Embed Size (px)

DESCRIPTION

Presentation given on 24.2.2012 at the SCUBE Industry Exchange workshop at Thales, Paris

Citation preview

Page 1: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

Jopera Eclipse-based Visual Composition

Environment featuring a General Language for Heterogeneous Service Composition

Cesare Pautasso Faculty of Informatics, USI Lugano, Switzerland [email protected] http://www.jopera.org http://twitter.com/pautasso 24.2.2012 Associate Member

Page 2: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

About Cesare Pautasso • Assistant Professor at the Faculty of Informatics,

University of Lugano, Switzerland (since Sept 2007) • Research Projects:

• SOSOA – Self-Organizing Service Oriented Architectures • CLAVOS – Continuous Lifelong Analysis and Verification

of Open Services LiSA – Liquid Software Architecture

• BPEL/BPMN for REST • Researcher at IBM Zurich Research Lab (2007) • Post-Doc at ETH Zürich

• Software: JOpera: Process Support for more than Web services http://www.jopera.org/

• Ph.D. at ETH Zürich, Switzerland (2004) • Laurea Politecnico di Milano (2000) • More information:

http://www.pautasso.info/ http://twitter.com/pautasso/

©2010 Cesare Pautasso - 21.5.2010 2

Page 3: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

Faculty of Informatics (Opened 2004) 17 Professors 75 PhDs + Post-docs

Excellence in Research Innovative Teaching

University of Lugano (USI)

Page 4: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 6

(Java-based) Open Process Engine for

Reliable Activities

Page 5: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 7

Page 6: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 10

Page 7: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 14

Many kinds of Services

Service

Synchronous (RPC) Services

Service Asynchronous Services

Service

Streaming Services

Service

Human Services

RESTful Services R

Service

Page 8: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 15

Heterogeneous Composition

Service

Service

Service

Service

R

Service R Service Com

position

Page 9: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 16

Page 10: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 19

Service Interface

Data Flow (input/output parameters)

Page 11: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 20

Composition Language

Control Flow dependencies (finished, failed, aborted, etc) cycles allowed, implied by data flow arbitrary synchronization rules possible

Page 12: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 21

Recursion

Processes compose tasks (which may themselves invoke or spawn sub-processes)

Page 13: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 22

Extensibility

Mapping to service invocation mechanisms and protocols

Page 14: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 23

Modeling Viewpoints

Data Flow

Control Flow

Adapter Bindings

HTTP XPATH XSLT JAVA HTML …

Page 15: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 25

Control Flow

Control Flow Dependency

Page 16: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 26

Service Bindings

HTTP

XSLT

HTML

Page 17: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 27

Data Flow

Data Flow (Copy)

Page 18: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 28

Demo

Page 19: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso, Erik Wilde 29

Doodle Map Example

Page 20: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso, Erik Wilde 30

Doodle Map Architecture

Web Browser Workflow Engine

RESTful Web Services

APIs GET

POST GET

REST

ful A

PI

Page 21: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 32

Control Flow

Control Flow Dependency

Page 22: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 33

Service Bindings

HTTP

XPATH

XSLT

JAVA

HTML

Page 23: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

©2012 - Cesare Pautasso 34

Data Flow

Data Flow (Copy)

Page 24: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

36

Page 25: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

37

Page 26: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

Why Users Like JOpera High Level Workflow Language

Data and Control Aspects (Visual Representation) Recursion, Iteration, Parallelism and Pipelining

Open and Extensible Service Model Efficient invocation of local code snippets (Java, Javascript) Synchronous, Asynchronous, and Streaming interaction Web services support (REST, WS-*) Secure access to remote file systems and hosts (SSH) Basic human task worklist handler

40

Page 27: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

Why Users Like JOpera High Level Workflow Language

Data and Control Aspects (Visual Representation) Recursion, Iteration, Parallelism and Pipelining

Open and Extensible Component Model Efficient invocation of local code snippets (Java, Javascript) Synchronous, Asynchronous, and Streaming interaction Web services support (Axis, WSIF) Secure access to remote file systems and hosts (SSH) Basic human task worklist handler

Strong Eclipse Foundation Platform Independent (Eclipse/Java) Flexible, Extensible, Modular and Embeddable

41

Page 28: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

A Growing User Community

42

Swiss Institute of Bioinformatics, Swiss National Supercomputing Center, Purdue University, National Center for Supercomputing Applications (NCSA), Singapore Management University, McGill University, University of Kent , SINTEF (Norway), IWU Fraunhofer (Germany) …

Page 29: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

43

Conclusion Modeling service composition behavior

Flow-based composition language (Visual & XML) Development and Debugging tools for Eclipse Composition not limited to Web services

Execution of the composition models Efficiency (compiled to Java bytecode) Distributed engine (multicore, cluster, cloud) Autonomic platform (self-healing, self-tuning) Extensibility (Eclipse plug-ins to provide custom service

publishing and invocation adapters)

Page 30: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

44

Download http://www.jopera.org/latest

More Information http://www.jopera.org/docs/publications

Cesare Pautasso, [email protected], @pautasso

Page 31: JOpera - Eclipse-based Visual Composition Environment featuring a general language for Heterogeneous Service Ccomposition

PhD Positions Available

©2011 Cesare Pautasso 45

Cesare Pautasso http://www.pautasso.info/ @pautasso