WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Architecture soa (architecture orientée services)

( Télécharger le fichier original )
par Virginie ELIAS
CNAM Nantes - Pays de la Loire - Ingénieur en Informatique 2009
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

S3

M2

File F2

File F1

Agent 1

Lieu L1

Lieu L2

Illustration 86 : Exemple de représentation d'un état

S3 = {disponible(L1), disponible(L2), abrite (L1, F1), abrite (L2, F2), est_préparé(M2),

est_contenu(M2,F1), vide(F2), actif(1), est_scruté(1,L1)}

Les actions

Les actions sont l'oeuvre d'opérateurs et sont pré-conditionnées positivement ou négativement par un état. Par exemple : « non (disponible (lieu A))» signifie que si l `état du lieu A n'est pas disponible alors la pré-condition est remplie et l'action peut se déclencher. L'action est génératrice de changement d'état. Par exemple, l'action « transmettre» peut provoquer le changement d'état de la file d'attente de destination qui passe de « vide » à l'état  « non vide ».

Les opérateurs

Un opérateur se défini par le quadruplet (nom, pré-condition, faits à créer, faits à supprimer). Par Exemple : « L'agent 2 sur le lieu X transmet le Message M1 de la File F1 vers la file F2 du lieu Y» se traduit en :

q Transmettre (2,X,M1,M2,F1,F2,Y)

q Precondition (precond) : actif(1), disponible(X), disponible(Y), est_abrité(F1, X), Est_contenu(M1, F1)

q états généré : est_contenu(M1, F2), non(est_contenu(M1, F1)) 

q états si retour arrière : est_contenu(M1, F1), non(est_contenu(M1, F2))

Cette description permet d'entrevoir comment il va être possible de gérer les retours arrières mais aussi de proposer des solutions alternatives dans le cas où des pannes seraient détectées (comme une indisponibilité d'un serveur hébergeant un lieu par lequel les messages transitent). Un opérateur est ensuite « encapsulé » de façon ordrée avec d'autres opérateurs, dans ce qui est appelé une méthode. Un nom et des pré-conditions viennent compléter la description de cette dernière. Ainsi, pour illustrer ce concept, la méthode « Transmettre un message M1 de F1 à F2 », ou autrement dit « Transmettre (M1,F1,F2) », peut être exprimée de la manière suivante :

-- transmet un message M1 de F1 à F2 (avec l'agent 1)

transmettre (M1,F1,F2)

precond: disponible(F1), est_contenu(M1,F1), est_accessible(M1,F1), actif(1),

reduction: lit(1,M1,F1), transmet(1,M1,F2), supprime(1,M1,F1)

La réduction définit la séquence d'opérateurs à réaliser et permet d'imaginer les plans de retour arrière en cas de panne. Cela nous renvoie aussi au concept de processus composite d'OWL-S et à la nécessité d'une coordination complète gérant les échecs.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"L'imagination est plus importante que le savoir"   Albert Einstein