Claudio Guidi and Fabrizio Montesi
Download
1 / 12

SOCK and JOLIE from the formal basis to a service oriented programming language Part II - PowerPoint PPT Presentation


  • 126 Views
  • Uploaded on

Claudio Guidi and Fabrizio Montesi. SOCK and JOLIE from the formal basis to a service oriented programming language Part II. What is Jolie?. Jolie is the concrete implementation of SOCK simple syntax which resembles those of C and Java Communication primitives

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'SOCK and JOLIE from the formal basis to a service oriented programming language Part II' - dobry


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Claudio Guidi and Fabrizio Montesi

SOCK and JOLIE from the formal basis to a service oriented programming language

Part II


What is jolie
What is Jolie?

Jolie is the concrete implementation of SOCK

  • simple syntax which resembles those of C and Java

  • Communication primitives

  • Workflow composition operators

  • Correlation sets for managing service sessions

  • Dynamic fault handling management

  • XML data

  • Developed for supporting different communication protocols (http, https, SOAP, WSAddressing,…)


Structure of a program
Structure of a program

  • A Jolie program is structured in two main parts

  • Declaration:

    • execution modality (sequential, concurrent)

    • correlation set variables

    • portTypes which contains operations

      • OneWay, Notification, RequestResponse, SolicitResponse

    • ports for binding portTypes and protocols

    • service location declaration

  • Code:

    • definition of procedures

    • main definition


Demo 1 stores
Demo (1: stores)

  • A store registry (SR) registers store locations

  • Three stores register themselves into the service registry: electroincs store (ES), photo store (PS) and TV store (TS)

ES

PS

SR

TS


Demo 2 bank
Demo (2: bank)

  • A bank database service (BDb) allows for the retrieving of bank service locations depending on the type (visa, master card)

  • Two bank services, visa (VB) and master cart (MC), provide operations for adding and subtracting euros from/to accounts

  • A payment service (PY) manages transactions among bank services. Each transaction between two banks corresponds to a session of the payment service

VB

PS

PS

BDb

PY

MC


Demo 3 client sessions
Demo (3: client sessions)

  • A client (C) open a session on the market service (MS) by sending its username and password checked by the market invoking an account service (AS)

  • Correlation sets allows for the identification of the client session

    • a fresh id is generated by the market

MS

C

MS

AS

logging..


Demo 4 getting product list
Demo (4: getting product list)

  • The client can retrieve the product list (getp command)

    • The market retrieves the store list by invoking the store registry

    • The market retrieves the product list from each store and then sends back it to the client with a 20% price rise

ES

SR

PS

PS

getp

TS

C

MS


Demo 5 the shopping cart
Demo (5: the shopping cart)

  • The shopping cart is stored within the session on the market side

  • The client manages its shopping cart by means of two commands:

    • putp: put a product into the shopping cart

    • delp: delete a product from the shopping cart

MS

MS

putp

delp

C

MS


Demo 6a buy
Demo (6a: buy)

  • The payment service waits for a confirmation from the client

  • The payment performs the transaction by invoking the bank services

  • The payment performs a transaction for each product in the shopping cart and then sends a confirmation to the market. The client checks the transaction result to the market

  • Client command for buy the shopping cart: buy.

    • The market returns the total amount to pay

    • The client sends its account data to the market

  • The market starts a transaction session on the payment service between the market and the client

  • The payment service checks the accounts invoking the bank services

VB

MS

PS

MS

PY

MC

C

MS


Demo 6b shopping cart transactions
Demo (6b: shopping cart transactions)

  • Before notifying the end of transaction to the client the market starts a transaction for each product into the shopping cart

    • it asks for the store data account

    • it starts the transaction

VB

MS

PS

MS

PY

MC

MS


Demo 7 aborting an order
Demo (7: aborting an order)

  • If a specific shopping cart order cannot be satisfied, all the payment transaction for that shopping cart must be aborted an rolled back

  • If a fault is sent back from a store to the market, the compensation mechanism starts for cancelling the previous transactions with the stores and the transaction with the client


Conclusions
Conclusions

  • Jolie is the concrete implementation of SOCK

  • Jolie is an open source project

  • At http://sourceforge.net/jolie it is possible to download an old version of the Jolie engine

  • Next month we start up a company, italianaSoftware , for commercializing Jolie

  • Version 1.0 scheduled for the end of the summer


ad