Académique Documents
Professionnel Documents
Culture Documents
Construction d’une
Evolution des applications réparties
application répartie
• Identifier les éléments fonctionnels de
l’application pour les regrouper au sein d’unités
• Estimer les interactions entre unités
g
• Définir le schéma d’organisation de l’application
pp
Inconvénients du réparti
Avantages du réparti
• Une mise en œuvre plus délicate
• Organisationnel – Gestion des erreurs
– Suivi des exécutions
– Décentraliser les responsabilités
• Pas de vision globale instantanée
– Découpage en unité – Délais des transmissions
• Fiabilité et disponibilité • Administration
Ad i i t ti plus l llourde
d
– Individualisation des défaillances – Installation
– Duplication des constituants de l’application – Configuration
– Surveillance
• Performance • Coût
– Partage de la charge – Formation
• Maintenance et évolution – Achat des environnements
SOA et services web: 3éme SIL 5 SOA et services web: 3éme SIL 6
1
08/03/2013
9 10
SOA et services web: 3éme SIL 9 SOA et services web: 3éme SIL 10
11 12
SOA et services web: 3éme SIL 11 SOA et services web: 3éme SIL 12
2
08/03/2013
Middleware:
Mécanisme de base
Middleware:
Définition
SOA et services web: 3éme SIL 13 SOA et services web: 3éme SIL 14
SOA et services web: 3éme SIL 15 SOA et services web: 3éme SIL 16
Classes de middlewares
Evolution des Middlewares
• Objets
– CORBA (ORBIX, VisiBroker, OpenORB, …)
– DCOM
• Composant
– J2EE (Websphere, Weblogic, JBOSS)
– .Net
• Web-Service
SOA et services web: 3éme SIL 17 SOA et services web: 3éme SIL 18
3
08/03/2013
SOA et services web: 3éme SIL 19 SOA et services web: 3éme SIL 20
Traitement
de la requête de la procédure.
SOA et services web: 3éme SIL 21 SOA et services web: 3éme SIL 22
SOA et services web: 3éme SIL 23 SOA et services web: 3éme SIL 24
4
08/03/2013
SOA et services web: 3éme SIL 25 SOA et services web: 3éme SIL 26
SOA et services web: 3éme SIL 27 SOA et services web: 3éme SIL 28
• Principe: mécanisme permettant l’appel de méthodes entre objets Java • invoquer une méthode d’un objet se trouvant sur une autre machine
s’exécutant sur des machines virtuelles différentes (espaces d’adressage exactement de la même manière que s’il se trouvait au sein de la même
distincts), sur le même ordinateur ou sur des ordinateurs distants reliés par un machine objetDistant.methode();
réseau • utiliser un objet distant (OD), sans savoir où il se trouve, en demandant à un
– utilise
tili directement
di t t les
l socket
k t service
i « dédié » ded renvoyer son adresse
d objetDistant
bj tDi t t =
– code ses échanges avec un protocole propriétaire : R.M.P. (Remote ServiceDeNoms.recherche("monObjet");
Method Protocol) • pouvoir passer un OD en paramètre d’appel à une méthode locale ou distante
• Objectifs: rendre transparent l’accès à des objets distribués sur un réseau resultat = objetLocal.methode(objetDistant);
faciliter la mise en œuvre et l’utilisation d’objets distants Java préserver la resultat = objetDistant.methode(autreObjetDistant);
sécurité (inhérent à l’environnement Java) • pouvoir récupérer le résultat d’un appel distant sous forme d’un nouvel objet
– RMISecurityManager qui aurait été créé sur la machine distante
– Distributed Garbage Collector (DGC) NouvelObjetDistant = ObjetDistant.methode() ;
SOA et services web: 3éme SIL 29 SOA et services web: 3éme SIL 30
5
08/03/2013
SOA et services web: 3éme SIL 31 SOA et services web: 3éme SIL 32
Lorsqu'un objet instancié sur une machine cliente désire accéder à des
• Squelette ou Skeleton (sur le serveur) méthodes d'un objet distant, il effectue les opérations suivantes :
– “démarshalise” les paramètres des méthodes
– fait un appel à la méthode de l’objet local au serveur
– “marshalise” la valeur ou l’objet renvoyé par la méthode
SOA et services web: 3éme SIL 33 SOA et services web: 3éme SIL 34
SOA et services web: 3éme SIL 35 SOA et services web: 3éme SIL 36
6
08/03/2013
Structure des couches RMI (i) : architecture Structure des couches RMI
logique
Rmi Registry
Informations
sur le service • Couche des références distantes
– traduit la référence locale au stub en une référence à l’objet
distant
Client RMI Serveur RMI – elle est servie par un processus tier : rmiregistry
(Application / Applet / Servlet)
"DinarsObject" "DinarsObject"
5- le client invoque
... ...
une méthode sur le Stub ... ...
4- rmiregistry retourne le Stub
6- le Stub « marshalle »
8- le Stub « demashalle » les paramètres de la méthode
le résultat de la méthode et les envoie au serveur
hostser hostser
Socket Socket
Serveur DinarsServer Serveur DinarsServer
http ou nfs appel méthode
Impl Skel
Stub Impl Stub Skel
7- le Skel « demarshalle » les
.class : .class : paramètres de la méthode
et invoque la méthode sur l ’objet
Instance : 42 retourne le résultat marshallé
Instance : 41 42
7
08/03/2013
CalculImpl.java
CalculInterface.java
SOA et services web: 3éme SIL 43 SOA et services web: 3éme SIL 44
SOA et services web: 3éme SIL 45 SOA et services web: 3éme SIL 46
Lancement du serveur
Ecriture de la classe client
SOA et services web: 3éme SIL 47 SOA et services web: 3éme SIL 48
:
8
08/03/2013
>java -Djava.rmi.server.codebase=<URL>
-Djava.security.policy=java.policy
<client>
>2
2
>10
50
SOA et services web: 3éme SIL 49 SOA et services web: 3éme SIL 50