AFCS – Tutorial Introduction à AFCS avec Flex (6 – Architecture Globale d'AFCS)
- AFCS – Tutorial Introduction à AFCS avec Flex (1)
- AFCS – Tutorial Introduction à AFCS avec Flex (2 – Préparer la room et Flex Builder)
- AFCS – Tutorial Introduction à AFCS avec Flex (3 – Les composants de base Pods)
- AFCS – Tutorial Introduction à AFCS avec Flex (4 – Authentification et Session)
- AFCS – Tutorial Introduction à AFCS avec Flex (5 – Types de Droits Utilisateur)
Traduction de Introduction to Adobe Flash Collaborative Services par Romin Irani.
Maintenant que vous avez crée une application AFCS simple, il est temps de rentrer dans le détail, et de découvrir les fonctionnalités d'AFCS qui vous permettront de développer des applications collaboratives.
Voici tout d'abord un schéma qui vient de la documentation AFCS. On ne va pas couvrir chaque aspect en détail mais je vais donner une vue d'ensemble pour que vous ayez toutes les pièces en main.

Session and Authentication
Cette couche est responsable de l'authentification utilisateur et de l'établissement des sessions. C'est ici le premier pas dans l'utilisation des services AFCS. Notez que l'on a déjà utilisé la classe Authentication via la classe com.adobe.rtc.authentication.AdobeHSAuthenticator. Ce qui concerne les sessions est présent dans le package com.adobe.rtc.session.
Il y a aussi deux classes primordiales: ConnectSessionContainer que l'on a déjà vu et la classe ConnectSession. Vous pourriez utiliser la classe ConnectSession au lieu de ConnectSessionContainer, la principale différence étant que ConnectSession n'est pas basée sur UIComponent (impossible de l'ajouter à la liste d'affichage donc).
Shared Managers
Les Shared Managers dans AFCS sont des éléments-clé de l'architecture AFCS. Ce sont des classes de type Singleton qui vous donnent la possibilité de gérer les Rooms, User (utilisateurs), Stream (data) et fichiers de votre application grâce à du code. Cela veut dire que vous pouvez faire tout ce qui est possible par l'interface d'administration, avec du code.
Les classes de la catégorie Shared Manager sont présentes dans le package com.adobe.rtc.sharedManagers. Toutes les instances des managers sont disponibles à travers l'instance de session de votre application.
Pour récapituler, l'objet session de notre application est pour l'instant basé sur la classe ConnnectSessionContainer. Tous les Shared Manager sont présents comme propriété de cet objet session.
Par exemple, notre objet session avait l'id "afcsSession". On peut donc accéder aux managers comme ceci:
- Room Manager: afcsSession.roomManager
- User Manager: afcsSession.userManager
- File Manager: afcsSession.fileManager
- Stream Manager: afcsSession.StreamManager
Shared Model Components
Construire une application dite collaborative n'est pas simple. Le facteur le plus important dans ce type d'application est de maintenir un état cohérent pour tous les utilisateurs. Cela comprend plusieurs choses, comme par exemple s'assurer que la donnée est synchronisée pour tous les participants, contrôler l'accès à certains types de donnée, s'assurer que seulement un participant à la fois modifie une information partagée , etc.
La création de ces "data model" n'est pas simple pour un développeur. AFCS vous facilite le travail grâce à plusieurs classes présentes dans le package com.adobe.rtc.sharedmodel.
Ce package contient plusieurs classes dont:
- CollectionNode
- SharedCollection
- SharedProperty
- Baton
- BatonProperty
Pour partager de la donnée entre plusieurs utilisateurs, cela se passe principalement via les méthode "publish" et "subscribe". Pour être notifié d'un changement sur la donnée, vous devez vous y inscrire (subscribe). Pour mettre de la donnée dans un Shared Model, vous devez publier (publish) cette donnée. La plus petite unité de donneé est l'objet MessageItem que l'on verra dans un prochain tutorial Flex.
Collaboration UI Components and Pods
Comme vous le savez maintenant, les Pods sont des mini-applications, prêtes à être utilisées dans votre application. Les Pods impléméntent des interfaces utilisateur qui sont présentes dans la plupart des applications collaboratives. Le diagramme que vous avez vu plus haut présente certains de ces Pods qui sont aujourd'hui disponibles dans AFCS. De nombreux autres sont en développement. Les Pods sont présents dans le package com.adobe.rtc.pods. Les noms des Pods ont été donnés pour pouvoir comprendre ce qu'ils font de manière intuitive.
Les Pods sont crées en utilisant des classes UI (User Interface) existantes. Ces classes de fondation sont connues en tant que "Collaboration UI Components". Ces composants vont vous permettre de passer moins de temps à développer votre application. Toutes ces classes sont disponibles dans le package com.adobe.rtc.collaboration. Par exemple, le Pod Webcam dans com.adobe.rtc.pods utilise les classes com.adobe.rtc.collaboration.WebcamPublisher et com.adobe.rtc.collaboration.WebcamSubscriber.
Les développeurs sont grandement encouragés à regarder le code source de ces composants et à construire leurs propres composants grâce à ces classes ou bien à étendre (par héritage) ces classes.
Articles similaires
- AFCS – Tutorial Introduction à AFCS avec Flex (7 – Utilisation du Shared Manager UserManager)
- AFCS – Tutorial Introduction à AFCS avec Flex (10 – Exemple Simple de SharedProperty)
- AFCS alias Adobe Cocomo
- AFCS – Tutorial Introduction à AFCS avec Flex (5 – Types de Droits Utilisateur)
- AFCS – Tutorial Introduction à AFCS avec Flex (8 – Données partagées et CollectionNodes)





