cours miage « architectures orientées services » henry boccon-gibod 1 architectures orientées...

47
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement d'application avec une architecture de composants de services SCA

Upload: madelaine-raynal

Post on 03-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

1

Architectures Orientées Services Composants de Service

Exemple pratique de développement d'application avec une architecture de composants de services SCA

Page 2: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

2

Plan du module

• L'objet de ce module est de montrer un interface de développement « convivial » d'application à base de d'architecure de composants de services SCA.

• Il est la suite logique du cours sur le standard et les technologies SCA• Il montre pas à pas les étapes de développement d'un exemple

d'application pour un restaurant :• Il commence par des étapes de configuration de l'environnement

Page 3: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

3

Eclipse

• Depuis février 2010 L'environnement de développement Eclipse comporte des « plug-ins » pour le développement d'applications orientées services (SOA) et de composants d'architectures de services (SCA).

• Ces plug-ins sont accessibles sur le site : Helios - http://download.eclipse.org/releases/helios

Page 4: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

4

Ajout de « Plug-In » Help

Welcome

install new software

Page 5: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

5

Téléchargement sur un/des site(s) choisi(s)

Page 6: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

6

Configuration d'un moteur : ici Tuscany (télechargé d'ailleurs)

Preferences

Page 7: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

7

Windows > Préférences >Java ou SCA Tools ?

Page 8: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

8

Cas d'une librairie utilisateur Java

Taper « TUSCANY »

Page 9: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

9

Déclaration de la librairie Tuscany

Page 10: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

10

Librairie Tuscany ; classe de lancement

Page 11: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

11

Librairie Tuscany ; Chemin d'accès des classes (Classpath)

Page 12: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

12

Liste des mâles d'oies domestiques (jars)

Page 13: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

13

L'exemple de Projet

• Il s'agit d'une composition de services pour calculer la note due dans un restaurant

– Description des plats– Calcul des prix en fonction des taxes– Calcul de la TVA– Calcul de pourboires

Page 14: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

14

Création d'un projet

New shift+alt+n

other

Page 15: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

15

Projet Java (pour la circonstance)

Page 16: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

16

« MonRestaurant »

Séparer les répertoires

Page 17: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

17

Page 18: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

18

Création d'un diagramme pour une application composite

>

SCA > Initialize OSOA/SCA Composite Diagram Files

Page 19: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

19

Création d'un diagramme pour une application composite

New >

other

Page 20: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

20

OSOA SCA Composite Diagram

Page 21: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

21

Identification

Nommer le diagramme

Page 22: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

22

Voir les propriétés du Composite

Show property view

Clic droit

Page 23: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

23

Edition des propriétés

Page 24: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

24

Insertion d'un composant

ClicClic

nommer

Page 25: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

25

Propriétés du composant

Page 26: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

26

Autre composant, pour un autre service attendu

Page 27: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

27

Les composants placés, définition des références

ClicClic

nommer

Page 28: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

28

Clic ClicCorrespondances des noms

des références et des services

Page 29: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

29

Association entre référence et service (Wire)

Page 30: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

30

Autre solution : association graphique

Page 31: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

31

Le code du composite correspondant au diagramme

Page 32: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

32

Présentation en arbre de la structure du composite

Page 33: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

33

Création des « packages » de code à associer aux composants

Page 34: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

34

Organisation des « package » api et lib

Page 35: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

35

Création du code du 1er interface

Page 36: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

36

Classe de type interface RestaurantService Component

Code destiné au « service » « RestaurantService » d'appel au composant

« Restaurant Service Component »

Code destiné au « service » « RestaurantService » d'appel au composant

« Restaurant Service Component »

Page 37: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

37

Autre code d'interface

Voir le lien de Téléchargement du code

Page 38: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

38

Création d'une Classe pour le code d'un composant

Page 39: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

39

Création d'une Classe (suite)

Page 40: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

40

Exemple de code spécifique d'un des composant

Annotation SCA

Annotation SCA

RestaurantService Component

Page 41: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

41

Affectation par drag&drop

Annotation SCA

Drag&

Drop

Page 42: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

42

Affectation par édition d'interface

Propriété D'interfacePropriété D'interfacePropriété D'interface

Page 43: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

43

Du composite achevé, le SCDL résultant

Page 44: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

44

Testpackage test;

import org.apache.tuscany.sca.host.embedded.SCADomain;

import restaurant.api.Menu;

import restaurant.api.RestaurantService;

public class Client {

public static void main(String[] args) throws Exception {

SCADomain scaDomain = SCADomain.newInstance("Restaurant.composite");

RestaurantService restaurantService = scaDomain.getService(

RestaurantService.class, "RestaurantServiceComponent");

Menu[] menus = restaurantService.getMenus();

System.out.println("--- Menu ---");

for (Menu m : menus) {

System.out.println("- " + m.printMenu());

}

System.out.println();

Menu menu = menus[3];

System.out.println("My choice: " + menu.printMenu());

System.out.println();

double price = restaurantService.getBill(menu);

System.out.println("Price (" + menu.printMenu() + "): " + price);

scaDomain.close();

}

}

Page 45: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

45

Lancement du client:

-click droit sur la classe Client.

Selectionner : Run as > Java Application.

Page 46: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

46

A suivre

Page 47: Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement

Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod

47

Fin du module