SlideShare uma empresa Scribd logo
1 de 39
BPMN for REST

Cesare Pautasso
Faculty of Informatics, USI Lugano, Switzerland
c.pautasso@ieee.org
http://www.pautasso.info
@pautasso

21.11.2011
BPM         REST

©2010 - Cesare Pautasso          3
Business
                           RESTful
              Process
                           Web Services
              Management



©2010 - Cesare Pautasso                   4
WS-* Standards Stack




©2009-2010 - Cesare Pautasso - 30.6.2010   5
WS-* Standards Stack

                                    BPM                             Management
    Interoperability
                       Metadata
                                           Reliability




                                                                      Transactions
                                                         Security



                                                                                     State
                                                         Messaging

©2009-2010 - Cesare Pautasso - 30.6.2010                                                     6
BPM                       Management
    Interoperability
                       Metadata
                                   Reliability




                                                              Transactions
                                                 Security



                                                                             State
                                     Messaging
                                   Can you do                                 it
                                   with REST?
©2010 - Cesare Pautasso                                                              7
RESTful APIs…




©2011 - Cesare Pautasso   8
RESTful APIs…




©2011 - Cesare Pautasso   9
From REST-*



       “      We believe there is huge potential to
           marrying REST with workflow and BPM.




                                                         http://www.jboss.org/reststar/specifications/workflow.html
                               […]
           Combined with the architecture of the Web,
           a workflow service can provide both a truly
           simple, portable, and flexible way to build
           workflow driven integrations and


                          ”
           applications.




©2011 - Cesare Pautasso                                  10
BPM          REST
                  resource   resource


©2010 - Cesare Pautasso                 11
REST in one slide
  Web Services expose their
   data and functionality trough      PUT
   resources identified by URI
                                             R
  Uniform Interface constraint:       GET
   Clients interact with resources       POST
   through a fix set of verbs.                   DELETE
   Example HTTP:
   GET (read), POST (create), PUT (update), DELETE
  Multiple representations for the same resource
  Hyperlinks model resource relationships and valid
   state transitions for dynamic protocol description
   and discovery
©2011 - Cesare Pautasso                                   12
From REST-*



       “   We believe there is huge potential to
       marrying REST with workflow and BPM.




                                                        http://www.jboss.org/reststar/specifications/workflow.html
      The HATEOAS (hypermedia and linking)
       principal of REST is logically a dynamic state
       machine and fits very well with how
       workflow and BPM systems are designed.
      Combined with the architecture of the Web,
       a workflow service can provide both a truly
       simple, portable, and flexible way to build
       workflow driven integrations and
       applications.

©2011 - Cesare Pautasso                                 13
BPMN Levels




                             From Bruce Silver
    1.Descriptive Modeling

    2.Analytical Modeling

    3.Executable Modeling


©2011 - Cesare Pautasso      14
BPMN Primitives

                          Web
                          Service     Service Task


                          Web
                          Service   Send/Receive Task




©2011 - Cesare Pautasso                                 15
REST as a new connector

                          RPC                 BUS
                                         Publish/Subscribe
                          Call


                                 REST/HTTP

                             Get/Put/Post/Delete


©2010 - Cesare Pautasso                                      16
Outline
   1. Goal: use a business process model to:
       orchestrate a set of distributed resources
       specify the behavior of stateful resources

   2. BPMN for REST Extension
       Resource Symbol
       Invoking external resources
       Publishing process elements as
        resources

   3. Examples
©2011 - Cesare Pautasso                              17
Modeling questions
    Which are the resources that a process depends
     upon for a successful execution?
    Which are the resources that are affected by the
     execution of a process?
    Can we reason about the behavior of stateful
     resources using a process model?
    Which are the tasks of a process that have been
     made accessible to clients as a resource?
    Which are the possible requests that can be sent
     to a resource whose behavior is specified by a
     process?



©2011 - Cesare Pautasso                                 18
BPMN 2.0 Notation




©2011 - Cesare Pautasso   19
REST Triangle

 Resources                              Representations
                                                   (Multiple,
(Multiple,
                                                    Negotiable)
Globally Addressable)


                          R
                              (Fixed,
                              Uniform Interface)
                              Verbs
©2011 - Cesare Pautasso                                           20
Resource Icon




                          R


©2011 - Cesare Pautasso       21
Resource Icon and Tasks




                          Task published as a resource




©2011 - Cesare Pautasso                                  22
Resource Icon and Events




                  Resource Request Event Signal
           (BPMN for REST)            (BPMN 2.0)


©2011 - Cesare Pautasso                            23
Resource Icon and Data




                           External Resource
                          (RESTful Datastore)


©2011 - Cesare Pautasso                         24
Invoking External Resources
                          GET PUT DELETE POST
                              Message Flows
                           (Visualize the semantics
                             of the HTTP method)



                                External
                               Resources:
                           (Resource lifecycle is
                               independent
                           of process instance)
©2011 - Cesare Pautasso                               25
Abstraction




           GET message flow        Synchronous RPC
         with external resource   with participant lane
            (BPMN for REST)             (BPMN)
©2011 - Cesare Pautasso                               26
Publishing X as Resources




              Process                  Task
       published as resource   published as resource


©2011 - Cesare Pautasso                                27
Publishing X as Resource




                               SubProcess
                          published as resource

©2011 - Cesare Pautasso                           28
Publish Process as Resource
                                     List the
               GET /process          deployed         Get a form
                                     processes      describing how
                GET /process/name                     to start the
                                                        process
                                         Start a new
                POST /process/name       process
                                         instance      Check what
                                                       is the state
                GET /process/name/instance                 of the
                                                         instance
                DELETE /process/name/instance
                                                      Clean up
                                                   (once it is done)
©2010 - Cesare Pautasso                                                29
Publish Task as Resource
                                  List links to the
                                  active tasks
             GET /task            instances             Get a form
                                                      describing how
              GET /task/name/instance                 to interact with
                                                          the task
                                              Complete a
              PUT /task/name/instance
                                              task
                                                        Retrieve final
               GET /task/name/instance                  state of task




©2010 - Cesare Pautasso                                                  30
Publishing X as Resource




©2011 - Cesare Pautasso    31
Handling Resource Requests




                          The event models the arrival of a
                          specific resource request method
©2011 - Cesare Pautasso                                       32
Local Search Mashup




©2011 - Cesare Pautasso   33
Loan Approval Example




©2011 - Cesare Pautasso   34
RESTBucks Example




   ©2011 - Cesare Pautasso   35
Conclusion
  RESTful business process can be modeled using
   our simple BPMN for REST notation extension
  Processes interact with external resources
   (e.g., Web 2.0 APIs) which are fully decoupled
   from their lifecycle
  Processes publish their state as a resource:
         Entire Tasks and SubProcesses
         Use Events to model Resource Requests
  The graphical syntax and extended semantics of
   BPMN for REST was only informally sketched,
   more work is needed to specify the XML meta-
   model for the extension and its formal semantics
©2011 - Cesare Pautasso                             36
10th International Conference on
                     Business Process Management
                                (BPM 2012)

                  September 3-6 2012, Tallinn, Estonia
                        http://bpm2012.ut.ee
©2010 - Cesare Pautasso                                  37
16-20 April 2012, Lyon, France
                             http://ws-rest.org/2012
©2010 - Cesare Pautasso                                    38
PhD Positions Available




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

©2011 Cesare Pautasso                               39
Raj Balasubramanians,
                          Benjamin Carlyle,
                          Thomas Erl,
                          Cesare Pautasso,
                          SOA with REST,
                          Prentice Hall, 2012

                          http://soabooks.com/rest/




©2011 - Cesare Pautasso                               40

Mais conteúdo relacionado

Mais procurados

Migrating SAP from UNIX to SUSE Linux
Migrating SAP from UNIX to SUSE LinuxMigrating SAP from UNIX to SUSE Linux
Migrating SAP from UNIX to SUSE LinuxDirk Oppenkowski
 
Apply MLOps at Scale
Apply MLOps at ScaleApply MLOps at Scale
Apply MLOps at ScaleDatabricks
 
BPMN 2.0 Einfühung
BPMN 2.0 EinfühungBPMN 2.0 Einfühung
BPMN 2.0 EinfühungIOZ AG
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven ArchitectureChris Patterson
 
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...Chandrashekhar More
 
UiPath Community Event - UiPath Action Center and UiPath Apps - human in the ...
UiPath Community Event - UiPath Action Center and UiPath Apps - human in the ...UiPath Community Event - UiPath Action Center and UiPath Apps - human in the ...
UiPath Community Event - UiPath Action Center and UiPath Apps - human in the ...TomaszGaczynski
 
Apache NiFi Record Processing
Apache NiFi Record ProcessingApache NiFi Record Processing
Apache NiFi Record ProcessingBryan Bende
 
DER CONFIGURATIONMANAGEMENT PROZESS als Voraussetzung für aktuelle Daten in d...
DER CONFIGURATIONMANAGEMENT PROZESS als Voraussetzung für aktuelle Daten in d...DER CONFIGURATIONMANAGEMENT PROZESS als Voraussetzung für aktuelle Daten in d...
DER CONFIGURATIONMANAGEMENT PROZESS als Voraussetzung für aktuelle Daten in d...RGillessen
 
Event Driven Architecture (EDA) Reference Architecture
Event Driven Architecture (EDA) Reference ArchitectureEvent Driven Architecture (EDA) Reference Architecture
Event Driven Architecture (EDA) Reference ArchitectureBob Rhubart
 
Interactive real-time dashboards on data streams using Kafka, Druid, and Supe...
Interactive real-time dashboards on data streams using Kafka, Druid, and Supe...Interactive real-time dashboards on data streams using Kafka, Druid, and Supe...
Interactive real-time dashboards on data streams using Kafka, Druid, and Supe...DataWorks Summit
 
Meetup - Automate your project lifecycle using MuleSoft and Azure DevOps
Meetup - Automate your project lifecycle using MuleSoft and Azure DevOpsMeetup - Automate your project lifecycle using MuleSoft and Azure DevOps
Meetup - Automate your project lifecycle using MuleSoft and Azure DevOpsRenato de Oliveira
 
Core Data Service
Core Data ServiceCore Data Service
Core Data ServiceSujoy Saha
 
FIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large ScaleFIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large ScaleFIWARE
 
OMA Lightweight M2M Tutorial
OMA Lightweight M2M TutorialOMA Lightweight M2M Tutorial
OMA Lightweight M2M Tutorialzdshelby
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration StrategiesJesus Rodriguez
 
Stream SAP and Other Events Across Your Enterprise with an Event Mesh
Stream SAP and Other Events Across Your Enterprise with an Event MeshStream SAP and Other Events Across Your Enterprise with an Event Mesh
Stream SAP and Other Events Across Your Enterprise with an Event MeshSolace
 

Mais procurados (20)

Migrating SAP from UNIX to SUSE Linux
Migrating SAP from UNIX to SUSE LinuxMigrating SAP from UNIX to SUSE Linux
Migrating SAP from UNIX to SUSE Linux
 
Apply MLOps at Scale
Apply MLOps at ScaleApply MLOps at Scale
Apply MLOps at Scale
 
Bpmn Poster
Bpmn PosterBpmn Poster
Bpmn Poster
 
BPMN 2.0 Einfühung
BPMN 2.0 EinfühungBPMN 2.0 Einfühung
BPMN 2.0 Einfühung
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
 
UiPath Community Event - UiPath Action Center and UiPath Apps - human in the ...
UiPath Community Event - UiPath Action Center and UiPath Apps - human in the ...UiPath Community Event - UiPath Action Center and UiPath Apps - human in the ...
UiPath Community Event - UiPath Action Center and UiPath Apps - human in the ...
 
Apache NiFi Record Processing
Apache NiFi Record ProcessingApache NiFi Record Processing
Apache NiFi Record Processing
 
Archimate Meta Model
Archimate   Meta ModelArchimate   Meta Model
Archimate Meta Model
 
DER CONFIGURATIONMANAGEMENT PROZESS als Voraussetzung für aktuelle Daten in d...
DER CONFIGURATIONMANAGEMENT PROZESS als Voraussetzung für aktuelle Daten in d...DER CONFIGURATIONMANAGEMENT PROZESS als Voraussetzung für aktuelle Daten in d...
DER CONFIGURATIONMANAGEMENT PROZESS als Voraussetzung für aktuelle Daten in d...
 
Event Driven Architecture (EDA) Reference Architecture
Event Driven Architecture (EDA) Reference ArchitectureEvent Driven Architecture (EDA) Reference Architecture
Event Driven Architecture (EDA) Reference Architecture
 
Interactive real-time dashboards on data streams using Kafka, Druid, and Supe...
Interactive real-time dashboards on data streams using Kafka, Druid, and Supe...Interactive real-time dashboards on data streams using Kafka, Druid, and Supe...
Interactive real-time dashboards on data streams using Kafka, Druid, and Supe...
 
Meetup - Automate your project lifecycle using MuleSoft and Azure DevOps
Meetup - Automate your project lifecycle using MuleSoft and Azure DevOpsMeetup - Automate your project lifecycle using MuleSoft and Azure DevOps
Meetup - Automate your project lifecycle using MuleSoft and Azure DevOps
 
Core Data Service
Core Data ServiceCore Data Service
Core Data Service
 
Auxis Webinar: Diving into RPA
Auxis Webinar: Diving into RPAAuxis Webinar: Diving into RPA
Auxis Webinar: Diving into RPA
 
FIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large ScaleFIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large Scale
 
OMA Lightweight M2M Tutorial
OMA Lightweight M2M TutorialOMA Lightweight M2M Tutorial
OMA Lightweight M2M Tutorial
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
 
Stream SAP and Other Events Across Your Enterprise with an Event Mesh
Stream SAP and Other Events Across Your Enterprise with an Event MeshStream SAP and Other Events Across Your Enterprise with an Event Mesh
Stream SAP and Other Events Across Your Enterprise with an Event Mesh
 
Deep Dive into SAP Versions
Deep Dive into SAP VersionsDeep Dive into SAP Versions
Deep Dive into SAP Versions
 

Destaque

BPMN 2.0 Poster
BPMN 2.0 PosterBPMN 2.0 Poster
BPMN 2.0 Postersignavio
 
BPMN 2.0 cheat sheet
BPMN 2.0 cheat sheetBPMN 2.0 cheat sheet
BPMN 2.0 cheat sheetIOZ AG
 
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...Cesare Pautasso
 
Functionele afhankelijkheden en normalisatie
Functionele afhankelijkheden en normalisatieFunctionele afhankelijkheden en normalisatie
Functionele afhankelijkheden en normalisatieKatrien Verbert
 
Executing bpmn 2.0 with j bpm 3 or (at your option) any later version
Executing bpmn 2.0 with j bpm 3 or (at your option) any later versionExecuting bpmn 2.0 with j bpm 3 or (at your option) any later version
Executing bpmn 2.0 with j bpm 3 or (at your option) any later versioncamunda services GmbH
 
Openerp Warehouse Management System
Openerp Warehouse Management SystemOpenerp Warehouse Management System
Openerp Warehouse Management SystemOdoo
 
OData and the future of business objects universes
OData and the future of business objects universesOData and the future of business objects universes
OData and the future of business objects universesSumit Sarkar
 
BPMN 2.0 & PAVONE Notation
BPMN 2.0 & PAVONE NotationBPMN 2.0 & PAVONE Notation
BPMN 2.0 & PAVONE NotationBjoern Reinhold
 
Odoo Warehouse Management
Odoo Warehouse ManagementOdoo Warehouse Management
Odoo Warehouse ManagementOdoo
 
The new Odoo warehouse management system
The new Odoo warehouse management systemThe new Odoo warehouse management system
The new Odoo warehouse management systemOdoo
 
Introduction à BPMN 2.0 - Business Process Modeling Notation
Introduction à BPMN 2.0 - Business Process Modeling NotationIntroduction à BPMN 2.0 - Business Process Modeling Notation
Introduction à BPMN 2.0 - Business Process Modeling NotationSanae BEKKAR
 
BPMN 2.0 Tutorial 01 - Basic Constructs
BPMN 2.0 Tutorial 01 - Basic ConstructsBPMN 2.0 Tutorial 01 - Basic Constructs
BPMN 2.0 Tutorial 01 - Basic ConstructsMichael zur Muehlen
 
BPMN 2.0 overview
BPMN 2.0 overviewBPMN 2.0 overview
BPMN 2.0 overviewsolomd
 
BPMN 2.0 - Eine Uebersicht
BPMN 2.0 - Eine UebersichtBPMN 2.0 - Eine Uebersicht
BPMN 2.0 - Eine UebersichtAndreas Naef
 
From Conceptual to Executable BPMN Process Models A Step-by-Step Method
From Conceptual to Executable BPMN Process Models A Step-by-Step MethodFrom Conceptual to Executable BPMN Process Models A Step-by-Step Method
From Conceptual to Executable BPMN Process Models A Step-by-Step MethodMarlon Dumas
 

Destaque (17)

BPMN 2.0 Poster
BPMN 2.0 PosterBPMN 2.0 Poster
BPMN 2.0 Poster
 
BPMN 2.0 cheat sheet
BPMN 2.0 cheat sheetBPMN 2.0 cheat sheet
BPMN 2.0 cheat sheet
 
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
 
Functionele afhankelijkheden en normalisatie
Functionele afhankelijkheden en normalisatieFunctionele afhankelijkheden en normalisatie
Functionele afhankelijkheden en normalisatie
 
Executing bpmn 2.0 with j bpm 3 or (at your option) any later version
Executing bpmn 2.0 with j bpm 3 or (at your option) any later versionExecuting bpmn 2.0 with j bpm 3 or (at your option) any later version
Executing bpmn 2.0 with j bpm 3 or (at your option) any later version
 
Odoo Warehouse
Odoo WarehouseOdoo Warehouse
Odoo Warehouse
 
Bpmn portuguese
Bpmn portugueseBpmn portuguese
Bpmn portuguese
 
Openerp Warehouse Management System
Openerp Warehouse Management SystemOpenerp Warehouse Management System
Openerp Warehouse Management System
 
OData and the future of business objects universes
OData and the future of business objects universesOData and the future of business objects universes
OData and the future of business objects universes
 
BPMN 2.0 & PAVONE Notation
BPMN 2.0 & PAVONE NotationBPMN 2.0 & PAVONE Notation
BPMN 2.0 & PAVONE Notation
 
Odoo Warehouse Management
Odoo Warehouse ManagementOdoo Warehouse Management
Odoo Warehouse Management
 
The new Odoo warehouse management system
The new Odoo warehouse management systemThe new Odoo warehouse management system
The new Odoo warehouse management system
 
Introduction à BPMN 2.0 - Business Process Modeling Notation
Introduction à BPMN 2.0 - Business Process Modeling NotationIntroduction à BPMN 2.0 - Business Process Modeling Notation
Introduction à BPMN 2.0 - Business Process Modeling Notation
 
BPMN 2.0 Tutorial 01 - Basic Constructs
BPMN 2.0 Tutorial 01 - Basic ConstructsBPMN 2.0 Tutorial 01 - Basic Constructs
BPMN 2.0 Tutorial 01 - Basic Constructs
 
BPMN 2.0 overview
BPMN 2.0 overviewBPMN 2.0 overview
BPMN 2.0 overview
 
BPMN 2.0 - Eine Uebersicht
BPMN 2.0 - Eine UebersichtBPMN 2.0 - Eine Uebersicht
BPMN 2.0 - Eine Uebersicht
 
From Conceptual to Executable BPMN Process Models A Step-by-Step Method
From Conceptual to Executable BPMN Process Models A Step-by-Step MethodFrom Conceptual to Executable BPMN Process Models A Step-by-Step Method
From Conceptual to Executable BPMN Process Models A Step-by-Step Method
 

Semelhante a BPMN for REST

Push-Enabling RESTful Business Processes
Push-Enabling RESTful Business ProcessesPush-Enabling RESTful Business Processes
Push-Enabling RESTful Business ProcessesCesare Pautasso
 
Techniques for Composing REST services - SOA Symposium 2009
Techniques for Composing REST services - SOA Symposium 2009Techniques for Composing REST services - SOA Symposium 2009
Techniques for Composing REST services - SOA Symposium 2009Cesare Pautasso
 
RESTful Service Composition with JOpera
RESTful Service Composition with JOperaRESTful Service Composition with JOpera
RESTful Service Composition with JOperaCesare Pautasso
 
Composing REST Services
Composing REST ServicesComposing REST Services
Composing REST Serviceselliando dias
 
Intalio BPP 6.0のビジョン
Intalio BPP 6.0のビジョンIntalio BPP 6.0のビジョン
Intalio BPP 6.0のビジョンTomoaki Sawada
 
WS-* vs. RESTful Services
WS-* vs. RESTful ServicesWS-* vs. RESTful Services
WS-* vs. RESTful ServicesCesare Pautasso
 
Atomic Transactions for the REST of us
Atomic Transactions for the REST of usAtomic Transactions for the REST of us
Atomic Transactions for the REST of usCesare Pautasso
 
Next Generation_WVI
Next Generation_WVINext Generation_WVI
Next Generation_WVIPrasad Kapu
 
WSO2 Mashups and BPM
WSO2 Mashups and BPMWSO2 Mashups and BPM
WSO2 Mashups and BPMWSO2
 
Spagic3 Presentation En
Spagic3 Presentation EnSpagic3 Presentation En
Spagic3 Presentation Enguest76d50b
 
Spagic3 Presentation En
Spagic3 Presentation EnSpagic3 Presentation En
Spagic3 Presentation EnSpagoWorld
 
Ideate Framework WS-REST 2011
Ideate Framework  WS-REST 2011Ideate Framework  WS-REST 2011
Ideate Framework WS-REST 2011Dave Duggal
 
The Future of Technology Operations
The Future of Technology OperationsThe Future of Technology Operations
The Future of Technology OperationsIvanti
 

Semelhante a BPMN for REST (20)

Push-Enabling RESTful Business Processes
Push-Enabling RESTful Business ProcessesPush-Enabling RESTful Business Processes
Push-Enabling RESTful Business Processes
 
BPM with REST
BPM with RESTBPM with REST
BPM with REST
 
Techniques for Composing REST services - SOA Symposium 2009
Techniques for Composing REST services - SOA Symposium 2009Techniques for Composing REST services - SOA Symposium 2009
Techniques for Composing REST services - SOA Symposium 2009
 
SOA with REST
SOA with RESTSOA with REST
SOA with REST
 
RESTful Service Composition with JOpera
RESTful Service Composition with JOperaRESTful Service Composition with JOpera
RESTful Service Composition with JOpera
 
Composing REST Services
Composing REST ServicesComposing REST Services
Composing REST Services
 
Intalio BPP 6.0のビジョン
Intalio BPP 6.0のビジョンIntalio BPP 6.0のビジョン
Intalio BPP 6.0のビジョン
 
WS-* vs. RESTful Services
WS-* vs. RESTful ServicesWS-* vs. RESTful Services
WS-* vs. RESTful Services
 
Www2008 Restws Pautasso Talk
Www2008 Restws Pautasso TalkWww2008 Restws Pautasso Talk
Www2008 Restws Pautasso Talk
 
Atomic Transactions for the REST of us
Atomic Transactions for the REST of usAtomic Transactions for the REST of us
Atomic Transactions for the REST of us
 
Next Generation_WVI
Next Generation_WVINext Generation_WVI
Next Generation_WVI
 
An Unbiased Look: Oracle SOA Suite 12c
An Unbiased Look: Oracle SOA Suite 12cAn Unbiased Look: Oracle SOA Suite 12c
An Unbiased Look: Oracle SOA Suite 12c
 
SOA2010 SOA with REST
SOA2010 SOA with RESTSOA2010 SOA with REST
SOA2010 SOA with REST
 
WSO2 Mashups and BPM
WSO2 Mashups and BPMWSO2 Mashups and BPM
WSO2 Mashups and BPM
 
Spagic3 Presentation En
Spagic3 Presentation EnSpagic3 Presentation En
Spagic3 Presentation En
 
Spagic3 Presentation En
Spagic3 Presentation EnSpagic3 Presentation En
Spagic3 Presentation En
 
RossiMattiaCVFull
RossiMattiaCVFullRossiMattiaCVFull
RossiMattiaCVFull
 
Ideate Framework WS-REST 2011
Ideate Framework  WS-REST 2011Ideate Framework  WS-REST 2011
Ideate Framework WS-REST 2011
 
Rest Component
Rest ComponentRest Component
Rest Component
 
The Future of Technology Operations
The Future of Technology OperationsThe Future of Technology Operations
The Future of Technology Operations
 

Mais de Cesare Pautasso

Beautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 KeynoteBeautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 KeynoteCesare Pautasso
 
How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?Cesare Pautasso
 
Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?Cesare Pautasso
 
Disaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC TheoremDisaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC TheoremCesare Pautasso
 
The Blockchain as a Software Connector
The Blockchain as a Software ConnectorThe Blockchain as a Software Connector
The Blockchain as a Software ConnectorCesare Pautasso
 
Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...Cesare Pautasso
 
Service Oriented Architectures and Web Services
Service Oriented Architectures and Web ServicesService Oriented Architectures and Web Services
Service Oriented Architectures and Web ServicesCesare Pautasso
 
Exploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process ExecutionExploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process ExecutionCesare Pautasso
 
Real-time Mashups di Web Service Geografici
Real-time Mashups di Web Service GeograficiReal-time Mashups di Web Service Geografici
Real-time Mashups di Web Service GeograficiCesare Pautasso
 
Towards Scalable Service Composition on Multicores
Towards Scalable Service Composition on MulticoresTowards Scalable Service Composition on Multicores
Towards Scalable Service Composition on MulticoresCesare Pautasso
 
USI SCUBE Associate Member
USI SCUBE Associate MemberUSI SCUBE Associate Member
USI SCUBE Associate MemberCesare Pautasso
 
Lighweight Collaboration Management (Mashups09@OOPSLA)
Lighweight Collaboration Management (Mashups09@OOPSLA)Lighweight Collaboration Management (Mashups09@OOPSLA)
Lighweight Collaboration Management (Mashups09@OOPSLA)Cesare Pautasso
 
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009Cesare Pautasso
 
Composing RESTful Services with JOpera
Composing RESTful Services with JOperaComposing RESTful Services with JOpera
Composing RESTful Services with JOperaCesare Pautasso
 
Scientific and Grid Workflow Management (SGS09)
Scientific and Grid Workflow Management (SGS09)Scientific and Grid Workflow Management (SGS09)
Scientific and Grid Workflow Management (SGS09)Cesare Pautasso
 

Mais de Cesare Pautasso (20)

Beautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 KeynoteBeautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 Keynote
 
How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?
 
Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?
 
Disaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC TheoremDisaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC Theorem
 
The Blockchain as a Software Connector
The Blockchain as a Software ConnectorThe Blockchain as a Software Connector
The Blockchain as a Software Connector
 
Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...
 
Service Oriented Architectures and Web Services
Service Oriented Architectures and Web ServicesService Oriented Architectures and Web Services
Service Oriented Architectures and Web Services
 
Exploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process ExecutionExploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process Execution
 
Real-time Mashups di Web Service Geografici
Real-time Mashups di Web Service GeograficiReal-time Mashups di Web Service Geografici
Real-time Mashups di Web Service Geografici
 
Towards Scalable Service Composition on Multicores
Towards Scalable Service Composition on MulticoresTowards Scalable Service Composition on Multicores
Towards Scalable Service Composition on Multicores
 
USI SCUBE Associate Member
USI SCUBE Associate MemberUSI SCUBE Associate Member
USI SCUBE Associate Member
 
Lighweight Collaboration Management (Mashups09@OOPSLA)
Lighweight Collaboration Management (Mashups09@OOPSLA)Lighweight Collaboration Management (Mashups09@OOPSLA)
Lighweight Collaboration Management (Mashups09@OOPSLA)
 
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
 
Mashups09
Mashups09Mashups09
Mashups09
 
Composing RESTful Services with JOpera
Composing RESTful Services with JOperaComposing RESTful Services with JOpera
Composing RESTful Services with JOpera
 
Scientific and Grid Workflow Management (SGS09)
Scientific and Grid Workflow Management (SGS09)Scientific and Grid Workflow Management (SGS09)
Scientific and Grid Workflow Management (SGS09)
 
Composing REST Services
Composing REST ServicesComposing REST Services
Composing REST Services
 
Mashup Ecosystem
Mashup EcosystemMashup Ecosystem
Mashup Ecosystem
 
Mashup Atelier
Mashup AtelierMashup Atelier
Mashup Atelier
 
MetaCDN
MetaCDNMetaCDN
MetaCDN
 

Último

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

BPMN for REST

  • 1. BPMN for REST Cesare Pautasso Faculty of Informatics, USI Lugano, Switzerland c.pautasso@ieee.org http://www.pautasso.info @pautasso 21.11.2011
  • 2. BPM REST ©2010 - Cesare Pautasso 3
  • 3. Business RESTful Process Web Services Management ©2010 - Cesare Pautasso 4
  • 4. WS-* Standards Stack ©2009-2010 - Cesare Pautasso - 30.6.2010 5
  • 5. WS-* Standards Stack BPM Management Interoperability Metadata Reliability Transactions Security State Messaging ©2009-2010 - Cesare Pautasso - 30.6.2010 6
  • 6. BPM Management Interoperability Metadata Reliability Transactions Security State Messaging Can you do it with REST? ©2010 - Cesare Pautasso 7
  • 7. RESTful APIs… ©2011 - Cesare Pautasso 8
  • 8. RESTful APIs… ©2011 - Cesare Pautasso 9
  • 9. From REST-* “ We believe there is huge potential to marrying REST with workflow and BPM. http://www.jboss.org/reststar/specifications/workflow.html […] Combined with the architecture of the Web, a workflow service can provide both a truly simple, portable, and flexible way to build workflow driven integrations and ” applications. ©2011 - Cesare Pautasso 10
  • 10. BPM REST resource resource ©2010 - Cesare Pautasso 11
  • 11. REST in one slide  Web Services expose their data and functionality trough PUT resources identified by URI R  Uniform Interface constraint: GET Clients interact with resources POST through a fix set of verbs. DELETE Example HTTP: GET (read), POST (create), PUT (update), DELETE  Multiple representations for the same resource  Hyperlinks model resource relationships and valid state transitions for dynamic protocol description and discovery ©2011 - Cesare Pautasso 12
  • 12. From REST-* “ We believe there is huge potential to marrying REST with workflow and BPM. http://www.jboss.org/reststar/specifications/workflow.html  The HATEOAS (hypermedia and linking) principal of REST is logically a dynamic state machine and fits very well with how workflow and BPM systems are designed.  Combined with the architecture of the Web, a workflow service can provide both a truly simple, portable, and flexible way to build workflow driven integrations and applications. ©2011 - Cesare Pautasso 13
  • 13. BPMN Levels From Bruce Silver 1.Descriptive Modeling 2.Analytical Modeling 3.Executable Modeling ©2011 - Cesare Pautasso 14
  • 14. BPMN Primitives Web Service Service Task Web Service Send/Receive Task ©2011 - Cesare Pautasso 15
  • 15. REST as a new connector RPC BUS Publish/Subscribe Call REST/HTTP Get/Put/Post/Delete ©2010 - Cesare Pautasso 16
  • 16. Outline 1. Goal: use a business process model to:  orchestrate a set of distributed resources  specify the behavior of stateful resources 2. BPMN for REST Extension  Resource Symbol  Invoking external resources  Publishing process elements as resources 3. Examples ©2011 - Cesare Pautasso 17
  • 17. Modeling questions  Which are the resources that a process depends upon for a successful execution?  Which are the resources that are affected by the execution of a process?  Can we reason about the behavior of stateful resources using a process model?  Which are the tasks of a process that have been made accessible to clients as a resource?  Which are the possible requests that can be sent to a resource whose behavior is specified by a process? ©2011 - Cesare Pautasso 18
  • 18. BPMN 2.0 Notation ©2011 - Cesare Pautasso 19
  • 19. REST Triangle Resources Representations (Multiple, (Multiple, Negotiable) Globally Addressable) R (Fixed, Uniform Interface) Verbs ©2011 - Cesare Pautasso 20
  • 20. Resource Icon R ©2011 - Cesare Pautasso 21
  • 21. Resource Icon and Tasks Task published as a resource ©2011 - Cesare Pautasso 22
  • 22. Resource Icon and Events Resource Request Event Signal (BPMN for REST) (BPMN 2.0) ©2011 - Cesare Pautasso 23
  • 23. Resource Icon and Data External Resource (RESTful Datastore) ©2011 - Cesare Pautasso 24
  • 24. Invoking External Resources GET PUT DELETE POST Message Flows (Visualize the semantics of the HTTP method) External Resources: (Resource lifecycle is independent of process instance) ©2011 - Cesare Pautasso 25
  • 25. Abstraction GET message flow Synchronous RPC with external resource with participant lane (BPMN for REST) (BPMN) ©2011 - Cesare Pautasso 26
  • 26. Publishing X as Resources Process Task published as resource published as resource ©2011 - Cesare Pautasso 27
  • 27. Publishing X as Resource SubProcess published as resource ©2011 - Cesare Pautasso 28
  • 28. Publish Process as Resource List the GET /process deployed Get a form processes describing how GET /process/name to start the process Start a new POST /process/name process instance Check what is the state GET /process/name/instance of the instance DELETE /process/name/instance Clean up (once it is done) ©2010 - Cesare Pautasso 29
  • 29. Publish Task as Resource List links to the active tasks GET /task instances Get a form describing how GET /task/name/instance to interact with the task Complete a PUT /task/name/instance task Retrieve final GET /task/name/instance state of task ©2010 - Cesare Pautasso 30
  • 30. Publishing X as Resource ©2011 - Cesare Pautasso 31
  • 31. Handling Resource Requests The event models the arrival of a specific resource request method ©2011 - Cesare Pautasso 32
  • 32. Local Search Mashup ©2011 - Cesare Pautasso 33
  • 33. Loan Approval Example ©2011 - Cesare Pautasso 34
  • 34. RESTBucks Example ©2011 - Cesare Pautasso 35
  • 35. Conclusion  RESTful business process can be modeled using our simple BPMN for REST notation extension  Processes interact with external resources (e.g., Web 2.0 APIs) which are fully decoupled from their lifecycle  Processes publish their state as a resource:  Entire Tasks and SubProcesses  Use Events to model Resource Requests  The graphical syntax and extended semantics of BPMN for REST was only informally sketched, more work is needed to specify the XML meta- model for the extension and its formal semantics ©2011 - Cesare Pautasso 36
  • 36. 10th International Conference on Business Process Management (BPM 2012) September 3-6 2012, Tallinn, Estonia http://bpm2012.ut.ee ©2010 - Cesare Pautasso 37
  • 37. 16-20 April 2012, Lyon, France http://ws-rest.org/2012 ©2010 - Cesare Pautasso 38
  • 38. PhD Positions Available Cesare Pautasso http://www.pautasso.info/ @pautasso ©2011 Cesare Pautasso 39
  • 39. Raj Balasubramanians, Benjamin Carlyle, Thomas Erl, Cesare Pautasso, SOA with REST, Prentice Hall, 2012 http://soabooks.com/rest/ ©2011 - Cesare Pautasso 40