Architectures Orientées Services Composants de Service
description
Transcript of Architectures Orientées Services Composants de Service
![Page 1: Architectures Orientées Services Composants de Service](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/1.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/2.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/3.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/4.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/5.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/6.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/7.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/8.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/9.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/10.jpg)
Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod
10
Librairie Tuscany ; classe de lancement
![Page 11: Architectures Orientées Services Composants de Service](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/11.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/12.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/13.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/14.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/15.jpg)
Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod
15
Projet Java (pour la circonstance)
![Page 16: Architectures Orientées Services Composants de Service](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/16.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/17.jpg)
Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod
17
![Page 18: Architectures Orientées Services Composants de Service](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/18.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/19.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/20.jpg)
Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod
20
OSOA SCA Composite Diagram
![Page 21: Architectures Orientées Services Composants de Service](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/21.jpg)
Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod
21
Identification
Nommer le diagramme
![Page 22: Architectures Orientées Services Composants de Service](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/22.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/23.jpg)
Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod
23
Edition des propriétés
![Page 24: Architectures Orientées Services Composants de Service](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/24.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/25.jpg)
Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod
25
Propriétés du composant
![Page 26: Architectures Orientées Services Composants de Service](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/26.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/27.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/28.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/29.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/30.jpg)
Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod
30
Autre solution : association graphique
![Page 31: Architectures Orientées Services Composants de Service](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/31.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/32.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/33.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/34.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/35.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/36.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/37.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/38.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/39.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/40.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/41.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/42.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/43.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/44.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/45.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/46.jpg)
Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod
46
A suivre
![Page 47: Architectures Orientées Services Composants de Service](https://reader036.fdocument.pub/reader036/viewer/2022062423/56814703550346895db43f42/html5/thumbnails/47.jpg)
Cours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod
47
Fin du module