125
J. Blin Travail coopératif 1 Sommaire 1. Généralités sur le travail en groupe et sur les systèmes coopératifs 2. La communication médiatisée 3. Les interfaces multi-utilisateurs 4. Les workflow 5. Le Wfmc 6. Les liens entre le traitement des données et le processus de travail 7. La conscience de groupe 8. Les produits groupware 9. Un exemple de groupware : BSCW 10. Deux applications particulières de travail en groupe

MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

Embed Size (px)

Citation preview

Page 1: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

1

Sommaire

1. Généralités sur le travail en groupe et sur les systèmes coopératifs

2. La communication médiatisée

3. Les interfaces multi-utilisateurs

4. Les workflow

5. Le Wfmc

6. Les liens entre le traitement des données et le processus de travail

7. La conscience de groupe

8. Les produits groupware

9. Un exemple de groupware : BSCW

10. Deux applications particulières de travail en groupe

Page 2: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

2

Définitions

Travail coopératifIl est constitué de processus de travail liés par la nature de leur contenu, c'est-à-dire qui appartiennent à la production d'un produit particulier.

Groupware ou Computer Supported Cooperative Work (CSCW)

Ensemble d'aides informatiques spécialisées conçues pour être utilisées par des groupes de travail coopératif formés autour d'un projet.

Coopération étroitele groupe est bien établile rôle de chacun et les règles sont bien définischaque nouvelle conversation est liée aux précédenteschaque relation entre deux personnes est significative pour les autres

Coopération largele groupe est large, mal délimité et changeant dans le tempsles rôles sont mal ou pas définisles intéractions entre les individus sont liées par un sujet d'intérêt mais sont occasionnellesles conversations ne sont pas nécessairement liées

Page 3: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

3

Modèle élémentaire de travail coopératifLe travail coopératif et ses technologies, Jaques Lonchamp, Lavoisier

Objets partagés

interactions

communication indirecte

communication directe

contexte de coopération

conscience de groupe

Communication, production/partage, coordination/collaboration/codécision

Page 4: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

4

Différents aspects du travail de groupe

• coordinationsynchronisation des personnes et des actionscohérence des actions individuelles/l'ensemble du processus

• collaborationcontribution des individus pour produire un savoir partagécompréhension commune de l'objectif et du processusimpossibilité d'isoler la contribution de chacun à l’obtention du résultat

• codécisionvoisin de la collaboration

Page 5: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

5

Besoins de support

Pour la communicationutilisateur-ordinateur etutilisateur(s) - utilisateur(s)

pour la coordination• distribuer et sélectionner facilement les messages• lier des messages au sein d'une conversation• enregister et classer des messages-conversations avec leur statut en

cours• modéliser le coordination• classer et sélectionner les processus récurrents (actes de paroles,

requêtes, approbations, ...)

pour la collaboration• structurer l'information pour qu'elle reflète la manière dont elle a été

créée• accéder aux informations selon le rôle• assister les flux de questions-réponses sur la tâche en cours• partager un espace commun avec la vision pour chacun de ce que font

les autres

pour la codécision• partager toute l'information utile pour prendre la décision• partager les critères de décision• partager les décisions déjà prises au cours du processus• gérer les conversations pour possibilités

Page 6: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

6

Système coopératif

Tout système informatisé visant à assister un groupe d’utilisateurs qui travaillent ensemble et interagissent dans le

but de réaliser une tâche commune

Les utilisateurs interagissent via le système informatisé et ils ont une conscience mutuelle de leurs activités

Système informatisé

Quelques exemplesSystème de partage de documents

modifie consulte

Courrier électronique

Envoie message 1 Reçoie message 1Envoie message 2

chat

Comment vas-tu ? Pas mal, et toi ?

Page 7: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

7

Le challenge

Passer de l’ordinateur outil de production individuelle à

l’ordinateur outil de production collective

Les raisons

• Le passage d’une économie d’industries manufacturières dépendantes de la circulation des biens vers l’industrie des services dépendante de la circulation d’informations

• La décentralisation et l’extension géographique des opérations

• Développement des réseaux et d’Internet facilitant le passage d’un réseau utilisé comme média passif de publication d’informations à une plateforme de developpement d’applications intéractives puis à un espace de travail pour des équipes distribuées (voir le site SourceForge de développement de logiciels libres Open source)

• Expansion des connections permanentes facilitant le passage de formes asynchrones de coopération à des formes synchrones

Page 8: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

8

Les différents types de systèmes coopératifs

Deux classifications :

• du point de vue de l´espace et du temps

• du point de vue des fonctionnalités

Page 9: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

9

Classification du point de vue de l´espace et du temps

Même lieu

Lieux différents

Même moment Moments différents

Intéractions face à face Intéractions asynchrones

Intéractions distribuées synchrones

Intéractions distribuées asynchrones

Même lieu

Lieux différents

Même moment Moments différents

Aide aux réunions Base de documents

Télé conférence Messagerie

Tableau blanc partagé Co-conception de document

Page 10: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

10

• routagemessagerie électroniqueworkflow administratif

• modélisation de processus, systèmes de coordinationworkflow coopératif

• décision de groupesuivi : agenda de groupe, suivi de projetconférence : forum, rédaction coopérative, réunions

thématiques (avec classification des propos, organisation de votes, ...), vidéo-conférence

• gestion électronique de documentsmémoire : documentation qualité ISO9000,

bibliothèque de projet kiosque : lettre d'information, revue de presse

Classification du point de vue des fontionnalités

Page 11: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

11

liste de tâches

workflow

historique des actions

agenda

partage de

fichiers

messagerie

forum

chat

postit

réunion

vote

bibliothèque peer to peer

édition partagée

Organisation Communication

Coopération

Page 12: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

12

Des outils à la conjonction de cinq disciplines

• Les systèmes distribuésdécentralisation du contrôle et des donnéesmaintien de la cohérence globalerécupération sur panne

• les communicationsutilisation de protocoles d´échange

• les intéractions homme-machinedéveloppement d´ínterfaces homme-machine de groupe

• l´intelligence artificielleadaptation de l´utilisation de l´outil à différents profils d´utilisateurs

• la sociologieétude de protocoles d´intéractions et de travail

Page 13: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

13

Ce que doit prendre en compte un système coopératif

Les aspects sociologiques :

• La disparité entre le travail supplémentaire demandé et les bénéfices obtenus

• Le pourcentage d’utilisateurs du système

• Les mises en cause de règles sociales qui régissent le fonctionnement de l’organisation

• La prise en compte des exceptions et improvisations qui caractérisent la plupart des tâches collectives

• La cohabitation et la transition entre travail individuel et travail collectif

• L’efficacité à la fois des tâches individuelles et des tâches collectives

• La difficulté d’adoption des systèmes coopératifs

• Le dilemme entre la protection de la vie privée et le besoin de rendre visible l’activité de chacun pour favoriser la coopération

Page 14: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

14

Les aspects techniques

• Système multi-utilisateurs qui, ne doivent pas donner l’illusion à chaque utilisateur d’être seul, mais au contraire assister et encourager la propagation des activités entre utilisateurs

• Assurer la synchronisation entre les contributions des différents utilisateurs

• Gérer les processus

• Gérer la concurrence et le contrôle des accès

• Mettre en place la persistance des informations avec des fonctionnalités appropriées par exemple, comparaison et fusion de versions

• Prendre en charge les aspects distribués : communications à travers les réseaux, ordonnancement des messages échangés, réplication et synchronisation des objets

• Gérer le couplage de vues et la conscience de groupe

• Présenter des propriétés ergonomiques

Page 15: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

15

La communication médiatisée

Les caractéristiques :

• La visibilité : le interlocuteurs se voient mutuellemnt

• L’audibilité : les interlocuteurs s’entendent mutuellement

• La co-temporalité : l’émission et la réception d’un message sont presque simultanée

• La simultanéité : les interlocuteurs peuvent émettre et recevoir simultanément

• La séquence : la communication se fait par une sucession de tours de parole

• La mémorisation : chaque interlocuteur peut consulter les précédents messages reçus

• La révision : chaque interlocuteur peut réviser un message avant de l’envoyer

Faciliter la communication homme-homme et fournir au groupe la possibilité de parvenir à une forme d’intelligence collective

Page 16: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

16

Outils type :

• les conférences asynchrones textuelles ou forums électroniques

• Les messageries instantanées et les outils de discussion en ligne (chats)

• Les conférences synchrones audio/vidéo

• L’assistance de groupe, à la prise de décision

• Le partage d’applications

• Les coordinateurs de conversation

• La circulation de documents

• Les environnements de collaboration virtuelle

• Le CoWeb

Page 17: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

17

Les modèles de communication

L’ordre FIFO :

Chaque message est accompagné du nom de l’émetteur et d’un numéro de séquence

Les messages mal ordonnancés sont retenus jusqu’à réception des messages qui le précèdent

Site 1 Site 3Site 2

Message 1

Message 2

Page 18: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

18

L’ordre causal

La livraison des messages est faite selon l’ordre FIFO

Si un site Si envoie un message m2 après avoir reçu un message m1 alors tous les sites qui reçoivent m1 et m2 les reçoivent dans cet ordre

Site 1 Site 3Site 2

Message 1 + V1

Message 2 + V1

V1 = {0,0,0} V2 = {0,0,0} V3 = {0,0,0}

V1 = {1,0,0} v1 <= v2

v1 <= v3

V2 = {1,0,0}

v1 <= v2

V3 = {1,0,0}

v1 > v3

v1 <= v3

Page 19: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

19

L’ordre total

Tous les sites reçoivent les messages dans le même ordre déterminé par un arbitre

Site 1 Site 3Site 2

Message 1

Message 2

Message 3

Page 20: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

20

Les interfaces multi-utilisateurs

Représentation de l’espace

• Les métaphores

• Le couplage de vues

Représentation du temps

Les sessions coopératives explicites ou implicites

Page 21: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

21

Les métaphores :

• La procédure : chaque utilisateur peut exécuter un ensemble fini d’actions dont le résultat et l’impact sur les vues des autres utilisateurs sont déterminés à l’avance

• La réunion : la coopération entre les utilisateurs nécessite qu’ils soient présents au même instant dans l’espace défini par l’activité auquel ils contribuent. L’activité se termine avec le départ du dernier utilisateur. Les objets produits ne persistent pas sauf action spécifique de sauvegarde.

• La pièce : L’espace partagé est composé d’un ensemble de pièces. Une pièce correspond à une activité. Elle contient les documents et les outils nécessaires pour mener l’activité. Lorsque deux utilisateurs se trouvent dans la même pièce, ils peuvent travailler ensemble sur les documents contenus dans la pièce. Pour définir une activité, on crée une pièce et on y met des documents. Un mécanisme de déplacement entre les pièces est fourni par le système.

• Le terrain : L’espace partagé est représenté par une structure abstraite contenant des données et dotée d’une système d’aide à la navigation entre les données. Les activités ne sont pas planifiées à l’avance. C’est l’accès simultané à un même document qui engendre une activité.

Page 22: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

22

Le couplage de vues :

• Mode WYSIWIS (What you see is What I see) : toutes les vues des différents participants à une même activité sont similaires (y compris la position du curseur et de la barre de défilement)

• Mode WYSIAWIS (What you see is almost what I see) : les répercussions sur les autres vues des modifications sont différées

• Mode WYSIWIMS (What you see is what I may see) : les modifications des données ne sont pas répercutées systématiquement sur les autres vues mais les utilisateurs peuvent les demander quand ils veulent.

La représentation des données

Même si différents participants travaillent sur les mêmes données, chacun peut choisir son mode de représentation indépendamment du choix des autres utilisateurs

Page 23: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

23

Les sessions coopératives

• explicite sur invitation de l’initiateur

• explicite sur initiative des participants

• implicite sur partage du même objet

• implicite sur partage de la même pièce

Les problèmes à résoudre :

• gestion des retardataires

• persistance des sessions

la session persiste lorsqu’aucun participant n’est actif; les utilisateurs peuvent rejoindre et quitter la session à leur guise

la session commence lorsque le premier participant la lance et se termine lorsque le dernier participant la quitte

Page 24: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

24

Des systèmes coopératifs typiques

Les systèmes de gestion de processus (workflows)

Les systèmes de gestion d’espace de travail partagé (produits groupware)

Page 25: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

25

Les workflows

Qu´est-ce qu´un système de gestion de workflow (workflow management system, WFMS)

Un système de gestion de workflow est un système informatique qui permet de définir, créer et contrôler l´exécution de workflow. Il est capable d´interpréter la définition du processus, interagir avec les participants et si besoin est invoquer des applications spécifiques.

Qu´est-ce qu´un workflow ?

Un worflow est l´automatisation de tout ou partie d´un processus durant lequel des documents, des informations ou des tâches sont transférés d´un participant à un autre en vue d´actions réalisées conformément à des règles pré-établies.

Page 26: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

26

Exemple de processus

Un client envoie une commande par

la poste

Le courrier est trié à la poste

Le courrier arrive à l´entreprise. Il

est enregistré

Vérification de la commande

Vérification du compte client

Vérification du stock

Bon de livraison

Un bon de livraison est émis au service des livraisons

Mise à jour du stock

Mise à jour des informations

client

Um courrier d´avertissement de livraison est envoyée au client

Des informations supplémentaires sont demandées au client

Une lettre de refus est envoyé

au client

client

Prépartion de la livraison

Page 27: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

27

Workflow

Le client remplit um formulaire sur le Web

Le formulaire est dupliqué

automatiquement

Vérification de la

commande

Vérification du compte client

Vérification du stock

diagnostic

décisionBon de livraison

livraison

Mise à jour du stock

Mise à jour compte client

Couurier de demande d

´informations complémentairesCourrier

avertissant de la livraison

Courrier de refus de la commande

Page 28: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

28

• workflow administratif

peu de processus mais utilisé souvent

• workflow coopératif

implique la participation de plusieurs équipes délocalisées qui doivent communiquer

• workflow ad-hoc

definitions nombreuses de processus et facilement modifiables

Différents types de workflow

Page 29: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

29

Principes généraux des systèmes de workflow

processus

définition

activité

Tâche Activité composite

Tâche manuelle

1..*

Tâche automatique

1..*

défini

Wfms

exécuté

Instance de processus

utilise

Instance d´activité

Work list application

0..*

invoquecrée

Utilisé pour créer et gérer

Durant l´exécution

est représenté

par

Non gérée par Wfms

1..*

Page 30: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

30

Workflow administratif

Informatisation de la succession de traitements liés à des formulaires administratifs,Par exemple, les traitements liés à l´arrivée d´une demande de réclamation

Avantages :

• accélération des traitements

• meilleure gestion des forumlaires (plus de papier)

• plus grande facilité de remplissage des formulaires

• plus grande facilité de validation

• retour rapide d´informations à l´émetteur

• possibilité d´alimenter automatiquement les différents systèmes d´information de l´entreprise

• plus de risque de perte de données

Page 31: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

31

Workflow administratif

Modélisation des procédures par un réseau de Pétri simple

vendeur collecter données et remplir formulaire

lancerRéclamation

requête

distribuer la requête selon les causes et la valeur possibles

chef deproduit

requête faible valeur

demande d'investigation

qualité logistique R&D investiguer

rapport

chef deproduit

stopReclamationréclamation acceptée

directeurdes ventes

autorise

décide sur l'acceptation de la réclamation

discussion autorisation

finances règle

stopReclamation

Page 32: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

32

Modélisation des procédures par un réseau de Pétri enrichi

collecter données et remplir formulaire

lancerRéclamation

requête

distribuer la requête selon les causes et la valeur possibles

requête faible valeur

étudier la qualité étudier la logistique étude technique

rapport

stopReclamation

réclamation acceptée

décision du directeur des ventes

décide de l'acceptation de la réclamation

or-split

or-split

or-split

and-split

discussionautorisation

règle la réclamation

demande d'investigation

Page 33: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

33

CoPlan (Co-ordinated Procedure Language) [T. Kreifelts, U. Licht, G. Woetzel, DOMINO: A System for the Specification and Automation of Cooperative Office Processes. In proceedings EUROMICRO'84, North Holland, Amsterdam:33-41]

PROCEDURE: ReclamationClientREQUIRES: lancerReclamationPRODUCES: stopReclamation

ACTOR-A action 1: vendeurCollecteDonneesEtRemplitFormulaireREQUIRES: lancerReclamationPRODUCES: requête

FORM1: requêteATTRIBUTE1: nomClientATTRIBUTE2: designationProduitATTRIBUTE3: valeur.................................ENDFORM1

ACTOR-B action2:chefDeProduitDistribuerRequeteSelonCauseEtValeurPossiblesREQUIRES: requêteIF valeur FROM requête CONDITION inférieurà 100%PRODUCES: requeteFaibleValeurELSEPRODUCES: demandeInvestigation

.....................

Modélisation par un langage spécifique

Page 34: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

34

Fontionnalités orientées objet dans les logiciels de workflow

Le worklow est une classe :

Chaque exécution du workflow est une instance de la classe possédant ses propres valeurs d’attributs (par exemple son état, l’historique d’exécution)

L’héritage et la spécialisation de workflow

La composition de workflow

Les objets gérés par le workflow sont aussi des instances de classes :

L’héritage

La composition

Page 35: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

35

Modélisation des processus métierModèle langage-action

fondé sur la théorie de l'acte de parole [J.L. Austin, How to do things with words, Harvard University Press, Cambridge, Massachusetts], [J.R. Searle, A Taxonomy of Illocutionary Acts, in K. Gunderson (ed.) Language, Mind and Knowledge, University of Minnesota, Minneaopolis: 344-369]

Cinq catégories d'énonciations illocutoires :• assertive : lelocuteur s'engage dans ce qu'il affirme• directive : le locuteur fait une demane à son intrelocuteur• commissive : le locuteur promet• déclaration : le locuteur prononce un fait ou une réalité• expressive : le locuteur exprime un état psychologique

Une conversation = des actes de paroles échangés entre deux partenaires

Quatre types de conversations :• la conversation pour action : les deux partenaires négocient une action que l'un des deux fera

• la conversation pour possibilités : les deux partenaires négocient une modification du contexte dans lequel ils agissent, le but étant de générer une conversation pour action

• la conversation pour clarification : les partenaires gèrent ou anticipent des blocages concernant une conversation pour action

• la conversation pour orientation : les partenaires essaient de créer un contexte pouvant servir de base à des conversations futures

Page 36: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

36

Conversation pour action

Diagramme d'états-transitions (d'après T. Schael, Théorie et pratique du workflow, Springer)

demandé

A fait une demande à B

proposé

B fait une proposition à A

B fait une contre-proposition

A fait une contre-proposition à la contre-proposition qu'il a reçue

supprimé

A retire sa demande

B retire sa contre-proposition

A retire sa demande

accepté

B promet

A demande à B de retravailler

A accepte la contre-proposition

de B

refusé

B refuse la demande

B refuse la demande

A refuse la contre-proposition de B

achevé

B informe de la fin de l'action

satisfait

A retire la demandeA se déclare content

insatisfait

Page 37: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

37

Conversation pour possibilités

Diagramme d'états-transitions (d'après T. Schael, Théorie et pratique du workflow, Springer)

proposé suggéré

accepté supprimé

A fait une proposition

B donne son opinion

A est d'accord avec B

A continue la discussion

A retire la discusssion

A retire la discusssion

refusé

refus du point de vue du partenaire

refus du point de vue du partenaire

B fait une suggestion de discussion

Page 38: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

38

Application à la modélisation des workflows coopératifs

Modèles de base

Le workflow d'action

demande d'action promesse

information de la fin de l'actionréception

Le workflow de déclaration

client

fournisseur

l'initiateur le partenaire

contient implicitement tous les états d'une conversation pour action

contient implicitement tous les états d'une conversation pour possibilités

Page 39: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

39

Variantes

workflow d'action sans phase d'engagement

demande d'action promesse

information de la fin de l'actionréception

client

worflow d'action avec phase de requête automatisée

demande d'action promesse

information de la fin de l'actionréception

client

workflow de déclaration sans phase de continuation

l'initiateur le partenaire

Page 40: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

40

Modèle de workflow articulé

workflow de base

clarificationacceptation

négociation

confirmationdélégationremontée des problèmes

Page 41: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

41

Exemple

Gestion des réclamations des clients

client

1plainte du

client

demande d'investigation

produit

2

discussionsur laplainte

vendeur

vendeur

vendeur

chef de produit

directeurrégional

chef de produit

chef de produit

chef de produit

chef de produit

retirer leproduit

prendreéchantillon

discuterimportance

rapportersur laplainte

logistique

qualité

directeurlogistique,R&D

directeur fonction.

évaluer ledommage

proposerréglement

chef de produit

chef de produit

directeurventes

directeurventes

3

6

5

4

7

8

9

Page 42: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

42

La modélisation orientée règles

exemple [Coordination in workflow management systems – a rule-based approach, G. Kappel, S. Rausch-Schott, W. Retschitzegger, Coordination technology for Collaborative applications –Organizations, Processes, and Agents, LNCS 1364, Springer Verlag, 1997, p : 99-120] :

define rule ReConception on post (activity, perform :actFolder) [trgObj==analyseRapports]

doif (((actFolder docNamed:’Rapport’) errortype=‘conceptual’

and: (actFolder docNamed:’Rapport’) percentage > 10 thenexecute ReConception notifyAgent:actFolder

end rule ReConception

define rule Nouvellesinstructions on post (activity, perform :actFolder) [trgObj==analyseRapports]

doif (((actFolder docNamed:’Rapport’) errortype=‘conceptual’

and: (actFolder docNamed:’Rapport’) percentage <= 10 thenexecute NouvellesInstructions notifyAgent:actFolder

end rule NouvellesInstructions

define rule CreationRapport on post (activity, perform :actFolder) [trgObj==analyseRapports] do if (((actFolder docNamed:’Rapport’) errortype=‘other’ then

execute CreationRapport notifyAgent:actFolderend rule CreationRapport

Page 43: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

43

WMFC : Workflow Management Coalition

Fondé en 1993

organisation internationale non lucrative de vendeurs, utilisateurs, concepteurs et chercheurs de systèmes de workflow

sa mission : établir des standards pour la terminologie et l'interopérabilité de produits de workflow

Page 44: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

44

manipulate

Architecture standard d'un WFMS (workflow management system)(extrait de "Workflow Reference Model" de Wfmc)

Definition tool

Process definition

WFM engine

Work list

Worklist handler

User interface

Organisation/role model data

Application

Application

Workflow relevant

data

Workflow application data

Generates

May referenceInterpreted by

May refer to

Interact via

References

Workflow control

datamaintain

use

Invokes

update

invokes

Workflow Enactment Service : Organisation/role model data + WFM engine + Work List + Workflow Control data + Workflow relevant data

Administration & control

supervisor

Page 45: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

45

Basic Process Definition Meta-model

Workflow Type definition

ActivityRole Workflow relevant data

Transition condition

application

1..*

0..*

0..*refers

1..*

0..*uses

1..* 0..*

invokes

0..*

0..*

1..*

uses

0..*

0..*

0..*

0..*

refers

Transition condition : entry | iteration | exception

Page 46: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

46

Le langage standard de définition de workflow basé sur XML (XPDL)

http://www.wfmc.org/standards/docs/TC-1025_10_xpdl_102502.pdf

Une définition de workflow est principalement composée de la définition :

• ProcessHeader• formalPrtametres• Datafields• Participants• Applications• ActivitySets• Activities• Transitions• AccessLevel

Les définitions de workflows peuvent être structurées en packages.

Page 47: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

47

Package (ensemble de définition d’éléments)

<Package Id="find-reviewer-for-paper"><PackageHeader><XPDLVersion>0.03</XPDLVersion><Vendor>Lamsade</Vendor><Created>21 juillet 2003</Created></PackageHeader>

.

.

.</Package>

Workflow (process)

<WorkflowProcesses><WorkflowProcess Id=“1” name="find-reviewer-for-paper“AccessLevel=“PUBLIC”>

<ProcessHeader> <description> processus de recherche d’un

reviewer pour un article </description> <created> 22 juillet 2003 </created>

</ProcessHeader>

définition des paramètres formels du workflow

.définition des données (relevant data)

définition des participants au workflow

définition des applications invoquées par le workflow

définition des groupes d'activités</WorkflowProcess>

<WorkflowProcess> . . .

</WorkflowProcess> </WorkflowProcesses>

Page 48: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

48

RedefinableHeader

<WorkflowProcess Id=“1” name="find-reviewer-for-paper“ AccessLevel=“PUBLIC”>

<ProcessHeader> <description> processus de recherche d’un reviewer

pour un article </description> <created> 22 juillet 2003 </created> </ProcessHeader>

<RedefinableHeader> <Author>MJ. Blin</Author>

<Verson>1.0</Version> </RedefinableHeader>

Données utilisées par le workflow pour les conditions et le passage de paramètres (relevant data)

<DataFields><Datafield Id="1" name="nombreMinDeReviewers" IsArray="False">

<DataType><BasicDataType> Type="Integer"/></DataType><InitialValue>2</InitialValue><Length>1</Length>

</DataField>

Participants <Participants>

<Participant Id="ResponsableSession"><ParticipantType Type="Personne" /><Description>Personne du comité de programme président

d'une session</Description></Participant>

<Participant ID="Membre"><ParticipantType Type="Personne" /><Description>membre du comité de programme

</Description></Participant>

Page 49: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

49

Application (applications ou outils invoqués par le workflow)

<Application Id="pop.task">

définition des paramètres formels de l’application

<ExternalReference>/home/workflow/pop.task</ExternalReference>

</Application>

Paramètres formels (pour un workflow ou une application)

<FormalParameters>

<FormalParameter Id="accept" Index=“1" Mode="OUT"> <DataType>

<BasicDataType type=“BOOLEAN”/> </DataType> </FormalParameter>

<FormalParameter Id="paper" Index=“2" Mode="IN"> <DataType>

<BasicDataType type=“STRING”/> </DataType> </FormalParameter>

<FormalParameter Id="list-of-reviewers" Index=“3“ Mode="INOUT"> <DataType>

<ListType> <complexType> <group ref=“STRING” /> </complexType><ListType>

</DataType> </FormalParameter>

</FormalParameters>

Page 50: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

50

Groupes d'activités

<ActivitySet Id="1"><Activities>...</Activities><Transitions>...</Transitions>

<ActivitySet>

Page 51: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

51

<Activities> <!–- cette activité appelle une application définie dans le worflow --> <Activity Id="activite1" name="reviewerSuivant"> <Implementation> <Tool Id="pop.task" type ="APPLICATION"></Tool>

<ActualParameters>empty-list, reviewer, list-of-reviewers</ActualParameters> </Implementation> </Activity <!-- Cette activite appelle un autre workflow défini dans le meme package <Activity Id="activite2" name="recherche2Reviewers"> <Implementation> <SubFlow Id="find-reviewer-for-paper" Execution="ASYNCHR"> <ActualParameters>ok2, nok2, paper, rev2, list-of- reviewers </ActualParameters>

</SubFlow> </Implementation> </Activity><!–- Ces deux activites sont définies simplement pour le routage <Activity Id="activite3" name="routage"> <Implementation> <Route></Route> </Implementation> <TransitionRestriction>

<Join Type="XOR"></Join>

</TransitionRestriction </Activity>

<Activity Id="activite4" name="routage"> <Implementation> <Route></Route> </Implementation> <TransitionRestriction>

<Split Type="AND"><TransitionRefs>

<TransitionRef>activite3</TransitionRef> <TransitionRef>activite5</TransitionRef>

</TransitionRefs> </Split> </TransitionRestrictions> </Activity>

Page 52: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

52

Les transitions entre activités

<Transitions>

<Transition Id="T1-2-1" From="activite1" To="activite2"><Condition type="Condition">empty-list=false</Condition><Description>On execute l'activite 2 apres l'activite 1 si le

parametre de retour de l'application pop.task appelee par l'activite 1 empty-list est faux</Description>

</Transition>

<Transition Id="T1-3" From= "activite1" To="activite3"><Condition Type="Otherwise" /><Description> Sinon, on passe a l'activite 3</Description>

</Transition>

<Transition Id="T2-3" From="activite2" To="activite3"> <Description>On execute l'activite 3 apres l'activite 2 sans condition </Description> </Transition>

<Transition Id=T4-1 From= "activite4" To="activite1 > <Condition Type="Condition">nombreDeBoucles<4>/Condition> <Description> On boucle de l'activite 4 a l'activite 1, 3 fois, la variable NombreDeBoucles est declaree en datafield</Description> </Transition>

</Transitions>

1 2

3/OR

4/AND

empty-list=false

5

nombreDeBoucles<4

Page 53: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

53

Récapitulation

<Package Id="find-reviewer-for-paper"> <PackageHeader> <XPDLVersion>0.03</XPDLVersion> <Vendor>Lamsade</Vendor> <Created>21 juillet 2003</Created> </PackageHeader>

<WorkflowProcesses> <WorkflowProcess Id=“1” name="find-reviewer-for-paper“ AccessLevel=“PUBLIC”> <ProcessHeader>

<description> processus de recherche d’un reviewer pour un article</description>

<created> 22 juillet 2003 </created>

</ProcessHeader>

<RedefinableHeader> <Author>MJ. Blin</Author>

<Verson>1.0</Version> </RedefinableHeader>

<DataFields> <Datafield Id="1" name=nombreMinDeReviewers IsArray="False">

<DataType> <BasicDataType> Type="Integer"/>

</DataType> <InitialValue>2</InitialValue> <Length>1</Length>

</DataField> <Datafields>

<Participants> <Participant Id="ResponsableSession">

<ParticipantType Type="Personne" /> <Description>Personne du comité de programme

président d'une session</Description> </Participant> <Participant ID="Membre"> <ParticipantType Type="Personne" /> <Description>membre du comité de programme </Description> </Participant>

</Participants>

Page 54: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

54

<Application Id="pop.task">

définition des paramètres formels de l’application

<ExternalReference>/home/workflow/pop.task </ExternalReference> </Application>

<FormalParameters> <FormalParameter Id="accept" Index=“1" Mode="OUT"> <DataType>

<BasicDataType type=“BOOLEAN”/> </DataType> </FormalParameter>

<FormalParameter Id="paper" Index=“2" Mode="IN"> <DataType>

<BasicDataType type=“STRING”/>

</DataType> </FormalParameter>

<FormalParameter Id="list-of-reviewers" Index=“3“ Mode="INOUT"> <DataType>

<ListType> <complexType> <group

ref=“STRING” /> </complexType> <ListType>

</DataType> </FormalParameter> </FormalParameters>

<ActivitySet Id="1"> <Activities> <!–- cette activité appelle une application définie dans le worflow --> <Activity Id="activite1" name="reviewerSuivant"> <Implementation> <Tool Id="pop.task" type ="APPLICATION"></Tool>

<ActualParameters>empty-list, reviewer, list-of-reviewers</ActualParameters> </Implementation> </Activity>

Page 55: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

55

<!-- Cette activite appelle un autre workflow défini dans le meme package <Activity Id="activite2" name="recherche2Reviewers"> <Implementation> <SubFlow Id="find-reviewer-for-paper" Execution="ASYNCHR"> <ActualParameters>ok2, nok2, paper, rev2, list- of-reviewers </ActualParameters>

</SubFlow> </Implementation> </Activity>

<!–- Ces deux activites sont définies simplement pour le routage <Activity Id="activite3" name="routage"> <Implementation> <Route></Route> </Implementation> <TransitionRestriction>

<Join Type="XOR"> </Join>

</TransitionRestrictions>

</Activity>

<Activity Id="activite4" name="routage"> <Implementation> <Route></Route> </Implementation> <TransitionRestrictions>

<Split Type="AND"> <TransitionRefs>

<TransitionRef>activite3</TransitionRef> <TransitionRef>activite5</TransitionRef> <TransitionRefs> </Split> </TransitionRestrictions>

</Activity> </Activities>

Page 56: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

56

<Transitions>

<Transition Id="T1-2-1" From="activite1" To="activite2">

<Condition type="Condition">empty- list=false</Condition>

<Description>On execute l'activite 2 apres l'activite 1 si le parametre de retour de l'application pop.task appelee par l'activite 1 empty-list est faux</Description>

</Transition>

<Transition Id="T1-3" From= "activite1" To="activite3">

<Condition Type="Otherwise" /><Description> Sinon, on passe a l'activite

3</Description> </Transition>

<Transition Id="T2-3" From="activite2" To="activite3"> <Description>On execute l'activite 3 apres l'activite 2 sans condition </Description>

</Transition>

<Transition Id=T4-1 From= "activite4" To="activite1 > <Condition Type="Condition">nombreDeBoucles<4</Condition> <Description> On boucle de l'activite 4 a l'activite 1, 3 fois, la variable NombreDeBoucles est declaree en datafield</Description> </Transition>

</Transitions>

</ActivitySet>

</WorkflowProcess>

</WorkflowProcesses>

</Package>

1 2

3/OR

4/AND

empty-list=false

5

nombreDeBoucles<4

Page 57: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

57

Les qualités d’un système de gestion de workflows

La flexibilité

• la gestion des exceptions

• l’adaptation

L’interopérabilité

Page 58: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

58

La gestion des exceptions

• liées aux systèmes sous-jacents• liées aux applications associées• celles prévues dans la définition du processus• celles qui sont imprévues

Leur gestion • la détection : manuelle, gestionnaire d’exceptions, règles• la prise en charge :

la ré-exécution l’annulation le retour en arrière la compensation la délégation la relaxation des contraintes l’ignorance

L’adaptation

plus ou moins complexe selon qu’elle concerne : une instance particulière du processus toutes les instances en cours le modèle

Les techniques :la sélection dynamique manuelle d’un comportementl’attribution automatique de comportementl’affinage dynamique et la modélisation tardive (permet demodéliser en cours d’exécution des parties manquantes)

Page 59: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

59

L’interopérabilité entre workflows Modèles et standards du WFMC

Workflows chaînés

Activité A3

Activité A1

Activité A2

Activité A4 Activité B1 Activité B2

Workflow A Workflow B

Une fois le workflow B lancé, les deux workflows s´exécutent en paralléle

Exemple

Calcule la quantité à commander et

choisit le fournisseur

Remplit et envoie le bon de commande

Enregistre le bom de commande

Moteur A

Accepte la commande

Remplit et envoie le bon

de livraison

Enregistre le bon de livraison

Moteur B

Planifie la livraison

Effectue la livraison

Remplit le bon d

´acceptation

Moteur C

Page 60: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

60

Workflows imbriqués

Activité A3

Activité A1

Activité A2

Activité A4 Activité B1 Activité B2

Workflow A Workflow B

L´activité A2 transfert le contrôle au workflow B. Quand l´exécution de ce dernier est terminé, l´activité A2 est finie aussi.

Exemple

Établit la facture

Envoie la facture au

client

Enregistre le paiement et met à jour les

infromations de client

Moteur A

Reçoit la

facture

Contrôle la facture

Emet le paiement

Moteur B

Page 61: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

61

Workflows connectés

Activité B1

Activité A1

Activité A2

Activité A5

Activité B2

Workflow engine A Workflow engine B

Page 62: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

62

Workflows synchronisés

Activité A3

Activité A1

Activité A2

Activité A4 Activité B1 Activité B3

Activité B2

Synchronisation point

Exemple

Définir les sous-systèmesvérifier

Moteur A

Préciser les fonctionnalités du sous-système

IDéfinir le modèle

de classes du sous-système I

Planifier la modélisation du sous-système I

Discuter de la

modélisation

Proposer un

modèle et une planni-fication

Moteur B

Préciser les fonctionnalités du sous-système

IIDéfinir le modèle

de classes du sous-système II

Planifier la modélisation du sous-système II

Discuter de la

modélisation

Proposer un

modèle et une planni-fication

Moteur C

synchronisation

Page 63: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

63

Les Web services

utiliser le web comme infrastructure pour les systèmes de gestion de workflows distribués et hétérogènes

exemple :

service de traitement des appels

assurance réservation d’hotel

dépannage location de voiture

loueur A

loueur B

Web Service

Web Service

Web Service

Web Service

Web Service

Web Service

Web Service

Un Web service = une application modulaire basée sur les protocoles Internet, qui fournit un service spécifique, qui respecte le format d’échange de données XML

Page 64: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

64

Outils permettant de construire des services Web et des compositions de services

flots de service

publication, découverte

description de services

messages XML

réseau

WSFL, XLANG (langage de (définition de processus)

UDDI (Universal Description, Discovery and Integration)

WSDL (Web service description language)

SOAP(échange de messages XML au-dessus de HTTP)

HTTP, FTP, IIOP

Page 65: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

65

SOAP (Simple Object Access Protocol)

Standard W3C de définition d'un protocole assurant des appels de procédures à distance (RPC) s'appuyant principalement sur XML et HTTP

client SOAP serveur SOAPHTTP

2

Message de requête

5

1

Message de réponse

6

client distant

3 4

Page 66: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

66

Les messages SOAPSOAP enveloppe

SOAP Header

Header Entry

Header Entry

SOAP Body

Body Entry

Body Entry

Body fault

Body fault

<SOAP-ENV: Envelope xmlns: SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV: encodingStyle==http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Header>

<t:Transaction >SOAP-ENV:mustUnderstand="1"

</t:Transaction> </SOAP-ENV:Header><SOAP-ENV:Body>

<m:ValiderCodePostal><Code>75775</Code>

</m:ValiderCodePostal></SOAP-ENV:Body>

<SOAP-ENV: Envelope>

Page 67: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

67

Réponses

<SOAP-ENV: Envelope xmlns: SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV: encodingStyle==http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body>

<m:ValiderCodePostalReponse > <Valide>Oui</Valide></m:ValiderCodePostalReponse>

</SOAP-ENV:Body><SOAP-ENV: Envelope>

ou

<SOAP-ENV: Envelope xmlns: SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV: encodingStyle==http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Header>

<f:NonCompris qname = "t:Transaction"/></SOAP-ENV:Header><SOAP-ENV:Body>

<SOAP-ENV:Fault><fauteCode> Doit etre compris </fauteCode>

<fauteTexte> Un header obligatoire n'est pas compris </fauteTexte> </SOAP-ENV:Fault>

</SOAP-ENV:Body><SOAP-ENV: Envelope>

Page 68: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

68

Exemple d'une requête SOAP sur HTTP

POST /Application HTTP/1.1Host : http://www.HoteURI.comContent-Type: text/xml; charset="utf-8"Content-Lenght: nnnnSOAPAction : "CodePostal-service"

<SOAP-ENV: Envelope xmlns: SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV: encodingStyle==http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Header>

<t:Transaction>SOAP-ENV:mustUnderstand="1"

</t:Transaction> </SOAP-ENV:Header><SOAP-ENV:Body>

<m:ValiderCodePostal ><Code>75775<Code>

</m:ValiderCodePostal></SOAP-ENV:Body>

<SOAP-ENV: Envelope>

HTTP/1.1 200 OKContent-Type: text/xml; charset="utf-8"Content-Lenght: nnnn

<SOAP-ENV: Envelope xmlns: SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV: encodingStyle==http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body>

<m:ValiderCodePostalReponse> <Valide>Oui</Valide></m:ValiderCodePostalReponse>

</SOAP-ENV:Body><SOAP-ENV: Envelope>

Réponse sur HTTP

Page 69: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

69

Requête SOAP contenant des données non xml

<SOAP-ENV: Envelope xmlns: SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/

<SOAP:Header><n:Manifest xmls:n=http://example.org.manifest>

<n:Reference n:id="image1" xlink:href="fichierImage1"><n:Description>Photo numero 1</n:Description>

</n:Reference> </n:Manifest>

</SOAP:Header>

<SOAP:Body>......... </SOAP:Body>

</SOAP-ENV>

Page 70: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

70

WSDL (Web Services Description Language)

Definitions

Types

Messages

Port Types

Binding

Service

Page 71: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

71

Definitions

<definitions name = "CodePostal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd=http://www.w3.org/2000/10/XMLSchema/>

Types

<types><schema xmlns="http://www.w3.org/2000/10/XMLSchema">

<xsd:element name="Code" type="xsd:decimal"><xsd:element name="Valide" type="xsd:string">

</schema></types>

Messages

<message name ="ValiderCodePostal"><part name="body" type="xsd:decimal"/>

</message>

<message name ="ValiderCodePostalReponse"><part name="body" type="xsd:string"/>

</message>

Port types

<portType name ="CodePostal_ServiceType"><operation name "CodePostal">

<input message="ValiderCodePostal"/><output message="ValiderCodePostalReponse"/>

</operation></portType>

Page 72: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

72

Binding

<binding name="ValiderCodePostal_ServiceBinding" type="CodePostal_ServiceType">

<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/><operation name="CodePostal">

<soap:operation soapAction="CodePostal-Service"/><input>

<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="literal"/>

</input> <output>

<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="literal"/>

</output> </operation></binding>

Service

<service name="CodePostalService"><documentation>définition du Web Service validant un code postal</documentation><port name="CodePostalPort" binding="ValiderCodePostal_ServiceBinding">

<soap:address location="http://webServices.dauphine.fr/CodePostal"/>

</port></service>

Page 73: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

73

<definitions name = "CodePostal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns=http://schemas.xmlsoap.org/wsdl/ xmlns:xsd=http://www.w3.org/2000/10/XMLSchema>

<types><schema xmlns="http://www.w3.org/2000/10/XMLSchema">

<xsd:element name="Code" type="xsd:decimal"><xsd:element name="Valide" type="xsd:string">

</schema></types>

<message name ="ValiderCodePostal"> <part name="body" type="xsd:decimal"/>

</message><message name ="ValiderCodePostalReponse">

<part name="body" type="xsd:string"/></message>

<portType name ="CodePostal_ServiceType"> <operation name "CodePostal">

<input message="ValiderCodePostal"/><output message="ValiderCodePostalReponse"/>

</operation></portType>

<binding name="ValiderCodePostal_ServiceBinding" type="CodePostal_ServiceType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="CodePostal">

<soap:operation soapAction="CodePostal-Service"/> <input>

<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"/>

</input> <output>

<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"/>

</output> </operation>

</binding>

<service name="CodePostalService"><documentation>définition du Web Service validant un code postal</documentation><port name="CodePostalPort" binding="ValiderCodePostal_ServiceBinding">

<soap:address location="http://webServices.dauphine.fr/CodePostal"/></port>

</service></definitions>

Page 74: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

74

Utilisation de l'API JAVA de génération d'une description WSDL

/* l'API est WSDL4J à télécharger à partir du site d'IBM "WSDL4J-Bin-1.4" */

import java.util.*;import java.io.*;import javax.xml.namespace.QName;import javax.xml.parsers.*;import javax.wsdl.WSDLException;import javax.wsdl.extensions.UnknownExtensibilityElement;import org.w3c.dom.*;import com.ibm.wsdl.*;import com.ibm.wsdl.factory.WSDLFactoryImpl;import com.ibm.wsdl.extensions.soap.*;

public class GenerationWSDL {public static void main (String [] args) throws javax.wsdl.WSDLException

{javax.wsdl.factory.WSDLFactory factory=

javax.wsdl.factory.WSDLFactory.newInstance();javax.wsdl.Definition def=factory.newDefinition ();String xsd="http://www.w3c.org/2001/XMLSchema";javax.wsdl.Part part1=def.createPart();javax.wsdl.Part part2=def.createPart();javax.wsdl.Message msg1=def.createMessage();javax.wsdl.Message msg2=def.createMessage();javax.wsdl.Input input=def.createInput();javax.wsdl.Output output=def.createOutput();javax.wsdl.Operation operation=def.createOperation();javax.wsdl.PortType portType=def.createPortType();

def.setQName(new QName("CodePostal"));def.addNamespace("xsd", xsd);

part1.setName("body");part1.setTypeName(new javax.xml.namespace.QName(xsd, "decimal"));msg1.setQName (new javax.xml.namespace.QName("ValiderCodePostal"));msg1.addPart(part1);msg1.setUndefined(false);def.addMessage(msg1);

Page 75: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

75

part2.setName("body");part2.setTypeName(new javax.xml.namespace.QName(xsd, "string"));msg2.setQName (new

javax.xml.namespace.QName("ValiderCodePostalReponse"));msg2.addPart(part2);msg2.setUndefined(false);def.addMessage(msg2);

input.setMessage(msg1);output.setMessage(msg2);operation.setName("CodePostal");operation.setInput(input);operation.setOutput(output);operation.setUndefined(false);portType.setQName(new

javax.xml.namespace.QName("CodePostal_ServiceType"));portType.addOperation(operation);portType.setUndefined(false);def.addPortType(portType);

javax.wsdl.xml.WSDLWriter writer=factory.newWSDLWriter();writer.writeWSDL(def, System.out);} // fin du main

} // fin de la classe

Résultats<?xml version="1.0" encoding="UTF-8"?><definitions name="CodePostal" xmlns:xsd="http://www.w3c.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/"> <message name="ValiderCodePostalReponse"> <part name="body" type="xsd:string"/> </message> <message name="ValiderCodePostal"> <part name="body" type="xsd:decimal"/> </message> <portType name="CodePostal_ServiceType"> <operation name="CodePostal"> <input message="ValiderCodePostal"/> <output message="ValiderCodePostalReponse"/> </operation> </portType></definitions>

Page 76: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

76

Configuration de Sun java application serveur faire des services web  1. Dans le Path <répertoire d'installation du serveur d'application/bin; <répertoire d'installation du serveur

d'application>/lib/ant/bin; <répertoire d'installation du serveur d'application>/lib;  2. Pour créer un service Web Copier tout le répertoire WSMJBlin dans un autre répertoire X puis faire les modifications suivantes

dans le répertoire X: dans le fichier build.properties , modifier les occurrences de WSMJBlin dans X/etc/sun-jaxws.xml, modifier les occurrences de WSMJBlindans X/etc/sun-web.xml, modifier les occurrences de WSMJBlindans X/etc/web.xml, modifier les occurrences de WSMJBlincopier le répertoire WSMJBlin dans un autre répertoire XWSdans XWS/src, supprimer le programme java WSMJBlin.java et mettre le java de votre

service web dans D:/marie-jo/AppliWeb/MesAppliWeb/Common/build.properties, modifier les variables javaee.home, javaee.tutorial.home, éventuellement admin.userdans D:/marie-jo/AppliWeb/MesAppliWeb/Common/admin-password, mettre le mot de passe de l'utilisateur déclaré dans la variable admin.user 3. Lancer le serveur d'application 4. Ouvrir une fenêtre DOS ou un fenêtre terminal Se mettre dans le répertoire XWS, puis : asant build : crée le répertoire build asant create-war : crée le répertoire assemble asant deploy  5. Lancer admin-console 6. Tester le service web Dans Web-services, cliquer sur le service Consulter le fichier WSDLCliquer sur test, entrer le paramètre d'une méthode, lancer la méthode. 

Page 77: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

77

7. Pour créer une application utilisant un service web

 

Si on se réfère au répertoire X, dans ../Common/targets.xml, modifier dans :

 

<target name="package-client" depends="prepare-dist"

description="Builds the JAR file that contains the client">

<echo message="Building the client JAR file...."/>

<delete file="${dist}/${client.jar}" />

<jar jarfile="${client.jar}" >

<manifest>

<attribute name="Main-Class" value="${client.class}"/>

</manifest>

<fileset dir="${build}" />

</jar >

</target>

 

 

la ligne <fileset dir="${build}" />

 

copier le répertoire clientMJBlin dans un autre répertoire clientX

dans le fichier build.properties , modifier les occurrences de clientMJBlin

dans clientX/src, supprimer le programme java WSMJBlin.java et mettre le java de votre service web

Dans la fenêtre DOS ou la fenêtre terminal,

 

Se mettre dans le répertoire clientX, puis :

asant build : crée le répertoire build

asant run si il n'y a pas d'arguments d'appel sinon

asant -Dclient.arg=<valeur de l'argument> run

Page 78: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

78

Utilisation de Axis 

Télécharger Axis à http://ws.apache.org/axis/releases.html (version 1_3), l'installer, télécharger Tomcat à http://tomact.apache.org (version 4.1), l'installer, copier le contenu du répertoire <répertoire d'installation de Axis>/webapps dans <répertoire d'installation de Tomcat>/webapps 

 1. Faire le .java du service (voir D:\WSDP\axis-1_3\axis-1_3\samples\mesExemples\WSMJBli.java) 

2. Compiler ce .java en mettant le .class dans <répertoire d'installation de Tomcat>/webapps/WEB-INF/classes :

D:\WSDP\axis-1_3\axis-1_3\samples\mesExemples>javac -d D:\WSDP\Tomcat41\webapps\axis\WEB-INF\classes WSMJBlin.java

 

3. Faire un .wsdd (voir D:\WSDP\axis-1_3\axis-1_3\samples\mesExemples\deployWSMJBlin.wsdd) pour le déploiement du service et un .wsdd pour l'annulation du déploiement (voir D:\WSDP\axis-1_3\axis-1_3\samples\mesExemples\undeployWSMJBlin.wsdd) 

4. Démarrer le serveur Tomcat si ce n'est pas déjà fait. 

5. Déployer le service :axis.client.AdminClient deployWSMJBlin.wsdd

 

3 juin 2006 18:27:41 org.apache.axis.utils.JavaUtils isAttachmentSupportedATTENTION: Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.Processing file deployWSMJBlin.wsdd<Admin>Done processing</Admin> 

6. Générer des classes d'encapsulation de l'appel au service :axis.wsdl.WSDL2Java http://localhost:8080/axis/services/WSMJBlin?wsdl

 3 juin 2006 19:39:29 org.apache.axis.utils.JavaUtils isAttachmentSupportedATTENTION: Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.

Un répertoire localhost est créé dans <répertoire d'installation de Tomcat>/webapps/WEB-INF/classes (voir son contenu)

Page 79: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

79

7. Faire un .java pour un client utilisant le service déployé (voir D:\WSDP\axis-1_3\axis-1_3\samples\mesExemples\ClientMJBlin2.java)

 

8. Compiler le client en mettant le .class dans <répertoire d'installation de Tomcat>/webapps/WEB-INF/classes

 

9. Exécuter le client :

ClientMJBlin2 marie-jo

 

 

3 juin 2006 21:18:55 org.apache.axis.utils.JavaUtils isAttachmentSupported

ATTENTION: Unable to find required classes (javax.activation.DataHandler and jav

ax.mail.internet.MimeMultipart). Attachment support is disabled.

 

Comment allez-vous marie-jo.

Page 80: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

80

UDDI (Universal Description Discovery and Integration)

Moyen de publier et de rechercher des informations sur des entreprises et des services

entreprises services

publie

UDDI Business Registry (UBR)

interrogent le UBR pour découvrir des entreprises ou/et des services

Page 81: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

81

demandeur de service WEB fourniseur de

service WEB

document WSDL

requête Soap d'invocation du service WEB

Requête Soap de recherche de la définition WSDL

UDDI registry

requête SOAP de recherche de service WEB

requête SOAP d' enregistrement de

service WEB

Annuaire UDDI :

• pages blanches : informations sur les entreprises

• pages jaunes : description WSDL des services WEB

• pages vertes : fournit de informations techniques détaillés sur les services

Page 82: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

82

Modèle de données UDDI

Modèle XML comportant 5 structures de données

businessEntity

businessService

0..n

bindingTemplate

0..n

tModel

informations sur l'entreprise

informations sur le service

informations techniques

description WSDL

API d'interrogation du UDDI registry

messages XML encapsulés dans des enveloppes SOAPpermettant d'interroger les données de l'annuiare

API de publication dans l'annuaire

pour supprimer ou ajouter des données

Page 83: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

83

Utilisation d'un service Web

Page 84: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

84

WSFL (Web Services Flow Language)

description d'un processus comme une succession d'appels à des opérations de services WEB décrits en WSDL

spécification de la circulation des données d'un appel à l'autre

existence de primitives de contrôle (boucles, tests,...)

deux styles de composition de services :

modélisation de processus métier

modélisation d'interaction de services pris deux à deux (contrat)

Modélisation d'un processus métier en WSFL

Acheteur Vendeur Transporteur

soumission d'unbon de commande

traitement d'unbon de commande

traitement du paiement

soumission d'un bon de livraison

préparation de la livraison

livraison réception

Page 85: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

85

<flowModel name="CommandeFlow" serviceProviderType="Commande">

<--! Déclaration des fournisseurs de services utilisés et leurs adresses -->

<serviceProvider name="monVendeur" type="vendeur"><locator type="static" service="Fournir.com"/>

</serviceProvider><serviceProvider name="monTransporteur" type="transporteur">

<locator type="static" service="Transport.com"/> </serviceProvider>

<--! définitions des activités-->

<--! 1ere activité exécutée par l'opération "envoiOrdreTraitement" du service "TraiterCommandePT" du fournisseur de services "monVendeur"--> <activity name "accepterCommande"> <performedBy serviceProvider="monVendeur"/> <implement> <export> <target portType="TraiterCommandePT" operation = "envoiOrdreTraitement"/> </export> </implement> </activity>

<--! 2eme activité exécutée par l'opération "envoiOrdreTransport" du service "TraiterCommandePT" du fournisseur de services "monTransporteur"--> <activity name "traiterBonLivraison"> <performedBy serviceProvider="monTransporteur"/> <implement> <export> <target portType="TraiterCommandePT" operation = "envoiOrdreTransport"/> </export> </implement> </activity>

Page 86: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

86

<--! 3eme activité exécutée par l'opération "envoiPaiement" du service "TraiterCommandePT" du fournisseur de services "monVendeur" --> <activity name "traiterPaiement"> <performedBy serviceProvider="monVendeur"/> <implement> <export> <target portType="TraiterCommandePT" operation = "envoiPaiement"/> </export> </implement> </activity>

<--!définitions des contraintes de séquence dans l'exécution de activités -->

<--!la 2ème activité ne peut s'exécuter qu'après la 1ère activité -->

<controlLink source="accepterCommande" target="traiterBonLivraison"/>

<--!définitions du flow de données entre les activités -->

<dataLink source="accepterCommande" target="traiterBonLivraison"> <map sourceMessage="bonLivraison" targetMessage="BL"/> </dataLink>

</flowModel>

Page 87: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

87

<globalModel name "maChaineCommande" serviceProviderType="ChaineCommandes"><serviceProvider name ="monVendeur" type=""Vendeur"/>

<serviceProvider name ="monTransporteur" type=""Transporteur"/> <serviceProvider name="maCommande" type="Commande">

<export> <source portType="CycleCommandes" operation="recevoir"/>

<target portType="GestionChaine" operation="Commande"/></export>

</serviceProvider>

<plugLink><source serviceProvider="maCommande" portType="TraiterCommandePT"

operation="envoiOrdreTraitement"/> <target serviceProvider="monVendeur" portType="TraitCde" operation="ProcCde"/> </plugLink>

<plugLink> <source serviceProvider="maCommande" portType="TraiterCommandePT" operation="envoiPaiement"/> <target serviceProvider="monVendeur" portType="TraitCde" operation="RecPaiement"/> </plugLink>

<plugLink> <source serviceProvider="maCommande" portType="TraiterCommandePT" operation="envoiOrdreTransport"/> <target serviceProvider="monTransporteur" portType="TraitTransport" operation="RecOrdreTransport"/> </plugLink>

</globalModel>

Page 88: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

88

Vendeur

TraitCde

ProcCDE

RecPaiement

Transporteur

TraitTransport

RecOrdreTransport

Commande

TraiterCommandePT

EnvoiOrdreTraitement

EnvoiPaiement

EnvoiOrdreTransport

CycleCommandes

recevoir

GestionChaine

Commande

ChaineCommandes

Page 89: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

89

Perspectives pour les workflow : besoins fonctionnels

• développement d'applications personnalisables dans un environnement graphique utilisateur

• générateur de diagrammes de flux pour définir les étapes, le routage et les conditions

• outil de simulation

• réutilisation de workflows

• zoom de processus

• définition partielle de workflow

• modification dynamique de workflow

• affectation souple des actions et des rôles

• négociation et gestion d'échéanciers

• audit de processus

Page 90: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

90

Liens entre le traitement des données et les étapes du processus de travail

client fournisseurdemande de service

demander accepter la demande

fournir le servicerecetter

données sur le service demandé

données pour l'évaluation de la

demandedonnées sur le service fourni

Traitement des données

Workflow

Page 91: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

91

Réalisation des liens : les transactions imbriquées

Principes :

• rendre les donnés de la base de données accessibles pendant um transaction longue (transaction qui peut durer plusieurs jours voire plus)

• laisser la base dans un état cohérent à la fin de la transaction qu´elle se termine normalement ou non

Page 92: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

92

Moyen : les transactions imbriquées

Une transaction est formée de sous-transactions, chaque sous-transaction pouvant elle-même être composée de sous-sous-transactions (formant ainsi un arbre de transactions)

le résultat d´une sous-transaction est visible aux autres sous-transactions de l´arbre de transaction ou parfois même des transactions extérieures

des dépendences entre transactions (ou sous-transactions) peuvent être spécifiées

les états acceptables de fin normale d´une transaction quand des sous-transactions ont abortées, peuvent être spécifiées

des transactions de compensation sont associées aux sous-transactions pour laisser la base dans un état cohérent quand un conflit ou une panne intervient

Page 93: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

93

Exemples :

Sagas [H. Garcia-Molina, D. Gawlick, J. Klein, K. Kleissner, K. Salem, 1991, Modeling Long-Running Activities as Nested Sagas, In Proceedings IEEE Spring Compcon]

Transactions Flexibles [A. Zhang, M. Nodine, B. Bhargava, O. Bukhres, 1994, Ensuring Relaxed Atomicity for Flexible Transactions in Multidatabase Systems, in

Proc. SIGMOD International Conference on Management of Data]

Split-Join Transactions [C. Pu, 1988, Superdatabases for Composition of Heterogeneous Databases, IEEE Proceedings of The Fourth Conference on Very Large Data Bases ]

Acta [P. Chrysanthis, K. Ramamritham, 1991, A Formalism for Extended Transaction Model, Proceedings of the Seventeenth International Conference on Very Large Data Bases]

Contract [H. Waechter, A. Reuter, 1992, The ConTract Model, in Database Transaction Models for Advanced Applications, A. K. Elmagarmid, editor, Morgan Kaufmann Publishers]

Page 94: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

94

Utilisation de Sagas dans la définition d'un workflow

Activity 1

Activity 2

Activity 3

commit

commit

processus

sous-transaction

sous-transaction

sous-transaction

commit

La transaction entière est validéele processus est terminé OK

abort

La transaction entière est abortée

Le processus est terminé non OK

abort

Activité compensatoire de l’activité 1

sous-transaction de compensation

1

Activité compensatoire de l’activité 2

sous-transaction de compensation

2

transaction

Les sous-transactions de compensation sont toujours validées

abort

Page 95: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

95

Transactions flexibles

Contexte : base de données multiples et hétérogènes chaque base de données travaille indépendamment des autres une base de données peut décider unilatéralement de ne pas valider une sous-transaction

Propriétés d'une transaction flexible :• fournit des chemins alternatifs de sous-transactions• est validée si un chemin est validé• une sous-transaction peut-être compensable, réessayable ou pivot

Exemple :

T1

T2

T3

T4

T5

T6

T7

T8

chemin 1 : {T1, T2, T4, T5, T6, T8}chemin 2 : {T1, T2, T4, T7}chemin 3 : {T1, T2, T3}ordre de préférence : chemin 1, chemin2, chemin 3

trans. pivot trans. compensable trans. réessayable

Page 96: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

96

Utilisation des transactions flexibles dans la définition d'un workflow

Activité 1

Activité 2

La transaction entière est abortée

Le processus est terminé non OK

abort

commit

Activité compensatoire 1de l’activité 1

abort

Activité 4

commit

Activité 3abort

abort

commit

Activité 5

commit

Activité 6

commit

abort

abort Activité compensatoire

de l’activité 5

Activité 8

commit

abort Activité compensatoire

de l’activité 6

Activité 7

abort

commit

La transaction entière est validéele processus est terminé OK

commit

Page 97: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

97

Les produits groupware

des boîtes à outils comprenant tout ou partie des outils suivants :

base de donnée partagée avec réplication ou non sur les postes clients

messagerie sophistiquée (échange de messages avec priorités et notifications, archivage de messages, échange de messages multimédia, traitement de formulaires et validation par signature)

agenda de groupe

bibliothèque électronique avec classeurs

gestionnaire de tâches

forums

éditeur de formulaires

modélisation de processus

langage pour créer ses applications personnalisées

Page 98: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

98

Gestion de l’espace partagé

La gestion de la concurrence

Le contrôle d’accès

Page 99: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

99

La gestion de la concurrence

Différents modèles :

• L’ignorance de l’incohérence

• L’évitement de l’incohérence :

Les transactions longues

Le tour de parole

Le verrouillage d’objet

L’exécution réversible

les algorithmes de transformation d’opérations

• La gestion de l’incohérence

versions

configurations

Page 100: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

100

Utilisateur A Utilisateur B

+

+

Ignorance de l’incohérence

Page 101: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

101

Le tour de parole

• Un seul utilisateur n’est autorisé à interagir avec le système à un instant t (jeton circulant, demande explicite,…)

Le verrouillage d’objet

------------------------------------------------

Texte partagé

------------------------------------------------

------------------------------------------------

verrouille

verrouille

Utilisateur A Utilisateur B

Page 102: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

102

L’exécution réversible

Chaque site maintient deux listes d’opérations :Une liste d’historique d’exécution HUne liste d’opération en attente d’exécution Q

Toute opération o effectuée par un utilisateur A est exécutée localement et envoyée aux autres sites (B par exemple) accompagnée d’une horloge. Le traitement sur le site B est :

1. o s’applique à un objet non encore créé sur le site B, o est mis dans Q (B)

2. o s’applique à un objet n’existant plus sur B, o est ajoutée à H (B)

3. o s’applique à un objet existant sur B et horloge (o) >= horloge (B), o est immédiatement exécutée et ajoutée à H (B)

4. o s’applique à un objet existant sur B et horloge (o) < horloge(B), toutes les opérations dans H (B) plus récentes que o sont défaites, o est exécutée, puis toutes les opérations défaites sont refaites.

Page 103: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

103

Les algorithmes de transformation d’opérations

Application dans les éditeurs partagés [Copies convergence in a distributed real-time collaborative environment, M. Vidot, M. Cart, J. Ferrié, M. Suleiman, ACM Computer-Supported Cooperative Work (CSCW 2000), Philadelphie, ACM Press, 2000, p : 171-190

Exemple :

pas pas

pars

pais

paris

paris

op1=insérer (3,’i’)

op2’=insérer (3,’r’)

op2=insérer (3,’r’)

op1’=insérer (4,’i’)

A B

temps

Page 104: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

104

La gestion de l’incohérenceLe modèle checkin/checkout (CVS, [RCS-a system for version control, W.F. Tichy, Software Practice and experience, 15, 7, 1989, p : 637-654])

Verrouillage des versions en modification Gestion de versions des objetsDéveloppement parallèle

Objets multiversions partagés

checkout

modifications

checkin

Espace privé

checkout

Espace privé

1.1 1.2 1.3 2.32.22.1

1.3.1.1

1.3.2.1

1.3.1.2

Version obtenue par checkout puis modifiée par checkin

Développement parallèle

modifications

checkin

Page 105: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

105

La gestion de configurations (Clearcase)

Application du modèle checkin/checkout à des configurations (ensembles nommés, cohérents et monoversionnés d’objets)

Objets multiversions partagés

checkout

modifs.

checkin

Espace privé

C1

C3

C2

C1 C2

Développements parallèles : Soit les opérations suivantes :1. L’utilisateur A exécute un checkout de la configuration C12. L’utilisateur B exécute un checkout de la configuration C13. L’utilisateur A crée une nouvelle configuration C2 puis exécute

un checkin4. L’utilisateur B crée une nouvelle configuration C’2 puis désire

exécuter un checkin, il devra exécuter un checkout de la configuration C2, effectuer une fusion de C2 avec C’2 et exécuter un checkin

Page 106: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

106

Le contrôle d’accès

Les droits d’accès :

• exprimés en termes d’opérations sur des objets et en fonction des individus

• liés aux rôles que jouent les individus

• droits de manipulation des objets, de visibilité, de couplage de vues,...

• évolutifs en fonction de la composition du groupe et de l’avancement de l’activité

exemple :

association de deux listes d’accès à chaque objet

u1 u2

o1 lire/ecrire lire

• une liste dédiée aux actions• une liste dédiée au partage (propagation des résultats aux

autres utilisateurs)

Page 107: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

107

La conscience de groupe

Une compréhension de l’activité des autres, qui procure un cadre pour sa propre activité et qui permet de s’assurer que sa contribution s’insèrent dans l’activité globale du groupe

• Conscience de l’activité des autres

• Conscience de la disponibilité des autres

• Conscience du processus commun

• Conscience des perspectives

• Conscience de l’environnement

Avec qui travaillons-nous ?

Que font les autres ?

Où travaillent-ils ?

Quand se produisent les différents évènements ?

Comment se produisent les différents évènements ?

Page 108: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

108

Les paradigmes

• le paradigme publier/souscrire : les composants rendent public leurs changements via des évènements à destination des composants qui ont manifesté un intérêt pour cette classe d’évènements

souscription basée sur le sujet du message

souscription basée sur le contenu du message

• le paradigme spatial qui exploite les positions et les distances des participants par rapport aux objets touchés

La mise en oeuvre

Les principes

• la non distraction

• la non interférence fonctionnelle

• la différenciation entre les rôles joués par les participants et leur degré d’expertise

• l’adaptabilité

• la liaison de l’information avec des actions possibles

Page 109: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

109

Les moyens de mise en oeuvre• notification asynchrone (par exemple par la messagerie)

• notification synchrone (par exemple par la messagerie instantanée)

• indication de la présence et de l’état des participants dans un environnement partagé (par exemple, une page web)

• utilisation de la métaphore de la pièce

• télé-pointeurs et barres défilement multiples

Ceci est un texte dont l’écriture et la modification peuvent être partagées entre plusieurs personnes

Les télé-pointeurs et les barres de défilement indiquent la position du curseur de chaque utilisateur travaillant sur le texte à cet instant

• fenêtre supplémentaire ou vue radar

Ceci est un texte dont l’écriture et la modification peuvent être partagées entre plusieurs personnes

Les télé-pointeurs et les barres de défilement indiquent la position du curseur de chaque utilisateur travaillant sur le texte à cet instant

____________________________________

__________________________________________________

Page 110: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

110

Les moyens de mise en oeuvre (fin)

• intégrer le mécanisme dans le texte principal par exemple par un halo coloré, une transformation de texte ou un loupe

Ceci est un texte dont l’écriture et la modification l’écriture et la modification peuvent être partagées entrepeuvent être partagées entre plusieurs personnes

Les télé-pointeurs et les barres de défilement indiquent lade défilement indiquent la position du curseur de chaque utilisateur travaillant sur le texte à cet instant

Ceci est un texte dont l’écriture et la

modification peuvent être partagées entre plusieurs personnes

Les télé-pointeurs et les barresde défilement indiquent lade défilement indiquent la position du curseur de chaque utilisateur travaillant sur le texte à cet instant

l’écriture et la modification peuvent être partagées entre

restitution visuelle viable pour un petit groupe de participants

Page 111: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

111

Exemple d'outil de groupware : BSCW

• concept de base

• actions sur les workspaces

• partage d'un workspace, d'un objet

• évènements associés à un objet

• documents versionnés

• gestion des réunions et des agendas

• application

Page 112: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

112

l'espace de travail partageable (workspace)

un workspace = un dossier (folder) qui peut contenir :

• des documents non versionnés• des documents versionnés• des URL• des notes• des résultats de recherche• des utilisateurs• des dossiers des réunions• des discussions • des groupes • un calendrier de réunions• un carnet d'adresse• un presse-papier• une poubelle• un espace public

Concept de base

Page 113: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

113

Actions sur un workspace

• création d'un dossier dans le dossier courant

• création d'un dossier "réunion"

• création d'un dossier "discussion"

• création d'une note dans le dossier "discussion" courant

• création d'un résultat de recherche, avec la spécification d'une zone de recherche, d'un moteur de recherche et d'une requête

• création d'un URL dans le dossier ou dans le dossier "réunion" courant

chaque objet a des actions associées

Page 114: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

114

Partage d'un workspace, d'un objet

• ajout de membres ayant accès au workspace ou à l'objet

• définition des droits d'accès

par défaut tous les membres d'un workspace ont tous les droits sur les objets du workspace sauf les trois droits suivants réservés au propriétaire des objets :

changer les droitssupprimer l'objetmodifier une note

les membres anonymes ont seulement les droits en lecture

les droits par défaut peuvent être modifiés

• espace public

Page 115: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

115

Evènements associés à un objet (notifications configurables par utilisateur)

• nouveautés

• changements

• déplacements

• accès

+

• historique de tous les événements associés à un dossier

• modifications dans un dossier

Page 116: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

116

Documents versionnés

Principes du versionnement

Document original

Première version1.0

révision1.1

révision1.2

Première branche1.1.0.1

révision1.1.0.2

Deuxième branche1.1.1.1

révision1.1.1.2

Seuls les derniers documents de chaque branche sont modifiables

Page 117: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

117

Gestion des réunions et des agendas

• création d'une réunion

• association de participants à une réunion

• notification par envoi d'un email

• consultation de son agenda

• réponse aux invitations de réunions

Page 118: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

118

Application

1. Utilisation de l'espace de travail SITN

2. Création de votre espace avec un forum de discussion

3. Partageabilité de votre espace, ajout de membres, modification de leurs droits

4. Ajout de notes de discussion, lecture des réponses, réponse à une réponse

7. Traitement des évènements

8. Configuration des notifications d'évènements

9. Gestion du carnet d'adresses

10. Utilisation de documents versionnés, création de révisions et de variantes (les branches)

11. Gestion des réunions

Page 119: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

119

Le groupware temps réel

Concepts :

• existence d´un groupe d´utilisateurs concerné par un projet commun

• interactions synchrones ou asynchrones distribuées

• un contexte partagé tel que, une action faite sur un objet par un utilisateur est visible simultanément par tous les autres utilisateurs

• groupe de fenêtres : les fenêtres de tous les utilisateurs sont liées tel que si, par exemple, un utilisateur dessine un cercle dans sa fenêtre, le cercle apparaît dans les fenêtres de tous les autres utilisateurs

• télécurseur : um curseur apparaît dans toutes les fenêtres, si un utilisateur le déplace dans sa fenêtre, il est déplacé dans toutes les autres fenêtres

• vue : visualisation d´une partie du contexte, représentations multiples

• rôles avec autorisations associées

Page 120: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

120

Questions encore à l’ordre du jour

Fenêtres groupées :

• relaxation du mode What You See Is What I See application souple de ce concept sur l´emplacement des objets dans les fenêtres, le moment de mise à jour des fenêtres, les utilisateurs concernés par les mises à jour.

Exemple : 2 personnes A et B travaillent sur le même texte. Quand A modifie le texte, um nuage apparaît sur l´écran de B à l´emplacement de la modification. La modification n´apparaîtra à B que lorsqu´il deviendra inactif.

• Prolifération des fenêtres faut-il créer des sous-groupes de fenêtres ?

• Télécurseursum télécurseur par sous-groupe de fenêtres ?

Intégration de protocoles de travail dans l´outil

si oui, plus grande efficacité de travail mais plus de rigidité et difficulté pour les nouveaux utilisateurs

si non plus de souplesse pour traiter les exceptions, mais obligation d´instituer un protocole social

Page 121: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

121

Performances

réplication des objets sur tous les sites, problème de concurrence

si simple système de verrouillage : quelle granularité de verrou ? quand poser les verroux ? quand les libérer ?

si système transactionnel : risque de verrouillage de trop longue durée

Page 122: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

122

Deux applications particulières : la conception et le développement collaboratif

de logiciels

La conception collaborative

produit produitproduit produit

conception distribuée co-conception

choix des critères de décision, évaluation de leur importance

décision collective

production collective de la solution

intégration et confrontation des points de vue

capitalisation et réutilisation des connaissances de conception

Page 123: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

123

Les mémoires de projet

• problèmes rencontrés : nature, éléments, ...

• résolutions : participants, méthodes de résolution, choix potentiels, ...

• évaluations des solutions rejetées : arguments, avantages, inconvénients,...

• décisions : solution choisie, arguments, avantages, inconvénients, ...

Recueil des connaissances directement et dynamiquement au fil des activités :

• traçage de l’utilisation des fonctions,

• traçage des informations produites et échangées

• déduction d’informations de plus haut niveau par exemple sur la stratégie de conception suivie

Page 124: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

124

Le développement coopératif de logiciels open source

Le processus

site Web de la communauté

dernières versions + tâches

à faire

sources de l’application(gérés par CVS)

installation de l’application en local

explications + documentations

utilisation de l’application en tant qu’utilisateur final

bugs trouvés, idées d’amélioration

analyse des composants concernés par une l’amélioration et définition du plan de

conception

codage, déboguage, tests unitaires, tests de non régression

checkout

checkinannonce de la

nouvelle version

voir www. sourceforge.org

test de la nouvelle version par un autre participant au moins

Page 125: MJ. BlinTravail coopératif 1 Sommaire 1.Généralités sur le travail en groupe et sur les systèmes coopératifs 2.La communication médiatisée 3.Les interfaces

MJ. Blin Travail coopératif

125

Caractéristiques de la coopération

• engagements des participants non explicites

• les participants sont enregistrés et constituent des listes de diffusion

• travail spontané et rapide

• toute information est diffusée à tous les participants enregistrés

• chaque soumission est revue par au moins un pair

• chaque tâche n’est conduite que par un seul participant

• les communications se font exclusivement en mode asynchrone et par écrit

• peu de positions abstraite ou non réfléchies

• de contributions techniques précises, peu de bruit

• peu de structuration des échanges

• partage d’une forme de culture commune