presentation of the module csc7321 middleware for ... › cours › ... ›...

15
Presentation of the module CSC7321 Middleware for distributed systems Chantal Taconet ASR/CSC5002 septembre 2019 Revision : 513

Upload: others

Post on 25-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Presentation of the module CSC7321 Middleware for ... › COURS › ... › presentationtu-ccn... · Presentation of the module CSC7321 Middleware for distributed systems # 3 2 Objectives

# 1

Presentation of the moduleCSC7321 Middleware for

distributed systemsChantal Taconet

ASR/CSC5002septembre 2019

Revision : 513

Page 2: Presentation of the module CSC7321 Middleware for ... › COURS › ... › presentationtu-ccn... · Presentation of the module CSC7321 Middleware for distributed systems # 3 2 Objectives

Presentation of the module CSC7321 Middleware for distributed systems

# 2

1 Administrative Information

■ TU Coordinator : Chantal Taconetmailto:[email protected]

■ TU teachers :♦ Chantal Taconet mailto:[email protected]♦ Sophie Chabridon mailto:[email protected]♦ Denis Conan mailto:[email protected]

■ TU resources :♦ moodle access (http://moodle.imtbs-tsp.eu/) TSP :CSC7321 : Middleware

for distributed systems♦ public access (http://www-inf.telecom-sudparis.eu/COURS/CSC5002/)

Télécom SudParis — INF — septembre 2019 — ASR/CSC5002 2/15

Page 3: Presentation of the module CSC7321 Middleware for ... › COURS › ... › presentationtu-ccn... · Presentation of the module CSC7321 Middleware for distributed systems # 3 2 Objectives

Presentation of the module CSC7321 Middleware for distributed systems

# 3

2 Objectives of this teaching unit

■ Be aware of different software techniques for designing distributed applications♦ Name and describe the main interaction patterns (synchronous call,

callbacks, orchestration, asynchronous calls, publish/subscribe) betweendistributed software components

♦ Learn master technologies for producing enterprise distributed applications :Web Services (REST), JavaEE, RabbitMQ

♦ Design the architecture of a multi-component distributed applicationmade of several functional modules with computing components, persistentcomponents, client components.

♦ Learn responses to architectural concerns (scalability, interoperability,security)

■ Design and implement one distributed applications through one micro-project

Télécom SudParis — INF — septembre 2019 — ASR/CSC5002 3/15

Page 4: Presentation of the module CSC7321 Middleware for ... › COURS › ... › presentationtu-ccn... · Presentation of the module CSC7321 Middleware for distributed systems # 3 2 Objectives

Presentation of the module CSC7321 Middleware for distributed systems

# 4

3 Prerequisites for this Teaching Unit

■ Labs on Unix OS

■ Object oriented programming and modeling (with UML diagrams)

■ Implementation in the Java language

■ Eclipse IDE (integrated development environment)

■ Relational databases

Télécom SudParis — INF — septembre 2019 — ASR/CSC5002 4/15

Page 5: Presentation of the module CSC7321 Middleware for ... › COURS › ... › presentationtu-ccn... · Presentation of the module CSC7321 Middleware for distributed systems # 3 2 Objectives

Presentation of the module CSC7321 Middleware for distributed systems

# 5

4 Organisation of this teaching unit

■ Component-based middleware with JavaEE (persistent components)

■ Middleware for synchronous requests (illustrated with REST Web Services)

■ Introduction to software architecture and quality attributes (scalability,interoperability, security)

■ Publish subscribe pattern and Distributed Event Based Systems (illustrated with

AMQP RabbitMQ)

Télécom SudParis — INF — septembre 2019 — ASR/CSC5002 5/15

Page 6: Presentation of the module CSC7321 Middleware for ... › COURS › ... › presentationtu-ccn... · Presentation of the module CSC7321 Middleware for distributed systems # 3 2 Objectives

Presentation of the module CSC7321 Middleware for distributed systems

# 6

5 Big Picture

WebServices/JavaRMI

Synchronous Call

TCP/UDP

sockets

BPELSCA

Activity Orchestrations

Application servers

− Life cycle (instantiate)

− Persistency

Structural Compositions

JavaEE

RabbitMQ

Publish/Subscribe

Télécom SudParis — INF — septembre 2019 — ASR/CSC5002 6/15

Page 7: Presentation of the module CSC7321 Middleware for ... › COURS › ... › presentationtu-ccn... · Presentation of the module CSC7321 Middleware for distributed systems # 3 2 Objectives

Presentation of the module CSC7321 Middleware for distributed systems

# 7

6 Evaluation

■ Study and presentation of an article (3/10)♦ Slides and oral presentation

■ Labs and intermediary deliverables (1/10)

■ Micro Project (6/10)♦ Design and architectural choices♦ Implementation in java♦ Slides and oral presentation

Télécom SudParis — INF — septembre 2019 — ASR/CSC5002 7/15

Page 8: Presentation of the module CSC7321 Middleware for ... › COURS › ... › presentationtu-ccn... · Presentation of the module CSC7321 Middleware for distributed systems # 3 2 Objectives

Presentation of the module CSC7321 Middleware for distributed systems

# 8

7 Micro Project

■ Subject : realize a bike tourism application (for olympics 2024)♦ Administrators define bike tours (e.g. From Musée Grévin to Les Catacombes)♦ Group of tourists select a tour among available ones♦ Group of tourists exchange and vizualize their positions♦ The system verify bike availabilities all around the tour

Télécom SudParis — INF — septembre 2019 — ASR/CSC5002 8/15

Page 9: Presentation of the module CSC7321 Middleware for ... › COURS › ... › presentationtu-ccn... · Presentation of the module CSC7321 Middleware for distributed systems # 3 2 Objectives

Presentation of the module CSC7321 Middleware for distributed systems 7 Micro Project

# 9

7.1 Use Case Diagram — management of tours and POIs

get a POI

list the set of tours

VLibTour

remove a POI from a tour

move a POI in the sequence of a tour

add a POI to a tour

create a POI

get a tour

remove a POI

modify the description of a POI

create a tourA travel agency thatacts as an operator of thesystem can prepare sometours, etc. on behalf offuture clients.

VlibTourOperator

Tourist

Télécom SudParis — INF — septembre 2019 — ASR/CSC5002 9/15

Page 10: Presentation of the module CSC7321 Middleware for ... › COURS › ... › presentationtu-ccn... · Presentation of the module CSC7321 Middleware for distributed systems # 3 2 Objectives

Presentation of the module CSC7321 Middleware for distributed systems 7 Micro Project

# 10

7.2 Use Case Diagram — management of group of participants

high priority use caseare in green

VLibTour

The action is performed automatically in these cases:- after a timeout (e.g. 1h)

with no action from theparticipants

- all participants arrived to the last POI

- all the participants have leaved the group

remove a group

leave a group

The creation of groupis performed by one participant, he becomes the first member to join the group.

join a group

create a group and join it

Tourist

Télécom SudParis — INF — septembre 2019 — ASR/CSC5002 10/15

Page 11: Presentation of the module CSC7321 Middleware for ... › COURS › ... › presentationtu-ccn... · Presentation of the module CSC7321 Middleware for distributed systems # 3 2 Objectives

Presentation of the module CSC7321 Middleware for distributed systems 7 Micro Project

# 11

7.3 Use Case Diagram — management of locations

high priority use caseare in green

publish location

notify the location of a participant

VLibTour

To receive the location ofthe other participants,the actor agree to givetheir location periodically

remove subscription to location information

subscribe to location information

Tourist

Télécom SudParis — INF — septembre 2019 — ASR/CSC5002 11/15

Page 12: Presentation of the module CSC7321 Middleware for ... › COURS › ... › presentationtu-ccn... · Presentation of the module CSC7321 Middleware for distributed systems # 3 2 Objectives

Presentation of the module CSC7321 Middleware for distributed systems 7 Micro Project

# 12

7.4 Use Case Diagram — management of visits

high priority use caseare in green

VLibTour

step to the next posisitionin current path

towards the next POI

get the position of the next POI

search for the arrival bike station

get current position

step to next POIin current visit

Tourist

Télécom SudParis — INF — septembre 2019 — ASR/CSC5002 12/15

Page 13: Presentation of the module CSC7321 Middleware for ... › COURS › ... › presentationtu-ccn... · Presentation of the module CSC7321 Middleware for distributed systems # 3 2 Objectives

Presentation of the module CSC7321 Middleware for distributed systems 7 Micro Project

# 13

7.5 Software Architecture of the system

RESTVLibTour

VisitCommon

These two componentsare co-located ifthey use the same RabbitMQbroker. If so,the lobby roomsystem creates the groupcommunication systemson demand (one per group).

VLibTourClientNode

VLibTourAdministratorNode

VlibTourServerSystem

AMQPor anotherframework

AMQP

EJB

VLibTourVisit

GroupCommunicationSystem

VLibTourLobbyRoom

VLibTourTourManagement

VLibTourVisitEmulation

VLibTourTourManagementAdminClient

VLibTourVisitTouristApplication

«AMQP»

«IIOP»

«IIOP»

«AMQP»or

«IIOP»

«AMQP»

«REST»

Télécom SudParis — INF — septembre 2019 — ASR/CSC5002 13/15

Page 14: Presentation of the module CSC7321 Middleware for ... › COURS › ... › presentationtu-ccn... · Presentation of the module CSC7321 Middleware for distributed systems # 3 2 Objectives

Presentation of the module CSC7321 Middleware for distributed systems 7 Micro Project

# 14

7.6 Micro Project modalities

■ Important dates♦ Subject of the project : today♦ Implement parts of the microproject during the labs♦ Project defense : Exam week (mid november)

■ Results♦ Original implementation♦ Report (6-10 pages)♦ Defense : slides and demo (1/2 hour)

Télécom SudParis — INF — septembre 2019 — ASR/CSC5002 14/15

Page 15: Presentation of the module CSC7321 Middleware for ... › COURS › ... › presentationtu-ccn... · Presentation of the module CSC7321 Middleware for distributed systems # 3 2 Objectives

Presentation of the module CSC7321 Middleware for distributed systems

# 15

8 Questions

Télécom SudParis — INF — septembre 2019 — ASR/CSC5002 15/15