Architectures Orientées Services Composants de Service

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

description

Architectures Orientées Services Composants de Service. Exemple pratique de développement d'application avec une architecture de composants de services SCA. Plan du module. - PowerPoint PPT Presentation

Transcript of Architectures Orientées Services Composants de Service

Page 1: Architectures Orientées Services  Composants de Service

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: Architectures Orientées Services  Composants de Service

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: Architectures Orientées Services  Composants de Service

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: Architectures Orientées Services  Composants de Service

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

4

Ajout de « Plug-In » Help

Welcome

install new software

Page 5: Architectures Orientées Services  Composants de Service

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

5

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

Page 6: Architectures Orientées Services  Composants de Service

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

6

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

Preferences

Page 7: Architectures Orientées Services  Composants de Service

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

7

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

Page 8: Architectures Orientées Services  Composants de Service

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

8

Cas d'une librairie utilisateur Java

Taper « TUSCANY »

Page 9: Architectures Orientées Services  Composants de Service

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

9

Déclaration de la librairie Tuscany

Page 10: Architectures Orientées Services  Composants de Service

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

10

Librairie Tuscany ; classe de lancement

Page 11: Architectures Orientées Services  Composants de Service

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

11

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

Page 12: Architectures Orientées Services  Composants de Service

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

12

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

Page 13: Architectures Orientées Services  Composants de Service

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: Architectures Orientées Services  Composants de Service

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

14

Création d'un projet

New shift+alt+n

other

Page 15: Architectures Orientées Services  Composants de Service

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

15

Projet Java (pour la circonstance)

Page 16: Architectures Orientées Services  Composants de Service

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

16

« MonRestaurant »

Séparer les répertoires

Page 17: Architectures Orientées Services  Composants de Service

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

17

Page 18: Architectures Orientées Services  Composants de Service

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: Architectures Orientées Services  Composants de Service

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

19

Création d'un diagramme pour une application composite

New >

other

Page 20: Architectures Orientées Services  Composants de Service

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

20

OSOA SCA Composite Diagram

Page 21: Architectures Orientées Services  Composants de Service

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

21

Identification

Nommer le diagramme

Page 22: Architectures Orientées Services  Composants de Service

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

22

Voir les propriétés du Composite

Show property view

Clic droit

Page 23: Architectures Orientées Services  Composants de Service

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

23

Edition des propriétés

Page 24: Architectures Orientées Services  Composants de Service

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

24

Insertion d'un composant

ClicClic

nommer

Page 25: Architectures Orientées Services  Composants de Service

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

25

Propriétés du composant

Page 26: Architectures Orientées Services  Composants de Service

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

26

Autre composant, pour un autre service attendu

Page 27: Architectures Orientées Services  Composants de Service

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

27

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

ClicClic

nommer

Page 28: Architectures Orientées Services  Composants de Service

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

28

Clic ClicCorrespondances des noms

des références et des services

Page 29: Architectures Orientées Services  Composants de Service

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

29

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

Page 30: Architectures Orientées Services  Composants de Service

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

30

Autre solution : association graphique

Page 31: Architectures Orientées Services  Composants de Service

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

31

Le code du composite correspondant au diagramme

Page 32: Architectures Orientées Services  Composants de Service

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

32

Présentation en arbre de la structure du composite

Page 33: Architectures Orientées Services  Composants de Service

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

33

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

Page 34: Architectures Orientées Services  Composants de Service

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

34

Organisation des « package » api et lib

Page 35: Architectures Orientées Services  Composants de Service

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

35

Création du code du 1er interface

Page 36: Architectures Orientées Services  Composants de Service

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: Architectures Orientées Services  Composants de Service

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: Architectures Orientées Services  Composants de Service

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

38

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

Page 39: Architectures Orientées Services  Composants de Service

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

39

Création d'une Classe (suite)

Page 40: Architectures Orientées Services  Composants de Service

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: Architectures Orientées Services  Composants de Service

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

41

Affectation par drag&drop

Annotation SCA

Drag&

Drop

Page 42: Architectures Orientées Services  Composants de Service

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: Architectures Orientées Services  Composants de Service

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

43

Du composite achevé, le SCDL résultant

Page 44: Architectures Orientées Services  Composants de Service

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: Architectures Orientées Services  Composants de Service

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: Architectures Orientées Services  Composants de Service

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

46

A suivre

Page 47: Architectures Orientées Services  Composants de Service

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

47

Fin du module