BlazeDS consiste principalement en trois services:
- Le Remoting Service, qui permet aux applications Adobe Flex / Air d'invoquer directement des méthodes d"objets Java déployés sur votre serveur applicatif.
- Le Messaging Service, qui permet à votre application Adobe Flex de publier des messages et de s'inscrire à des "destinations", permettant le développement d'application temps réel et/ou collaboratives.
- Le Proxy Service, qui permet aux applications Flex de faire des requêtes vers des services situés sur des domaines différents (cross-domain communication). En d'autres mots, cela permet à votre application Flex d'accéder à des services situés sur des domaines différents de celui sur lequel est hébergé l'application et cela, sans avoir à déployer un fichier cross-domain.xml sur chaque domaine ciblé.
Remoting Service RPC (Remote Procedure Call)
Les services Remote Procedure Call (RPC) ont été crées pour des applications dans lesquelles on cherche à accéder à la donnée grâce à des appels / réponse. Les services RPC laissent le client faire une requête asynchrone au service distant pour va traiter cette requête et renvoyer directement la data au client. Vous pouvez accéder à la donnée grâce ) des composants RPC client comme les services HTTP (GET ou POST), le SOAP (WebService), ou des objets Java (Remote Object Service).
BlazeDS vous permet d'utiliser les composants RemoteObject pour accéder à vos objets Java distants sans les avoir configuré comme des web services.
Un composant client RPC appelle ce web service. Le composant conserve ensuite la réponse (data) du web service dans un objet ActionScript, à partir duquel vous pouvez facilement obtenir la donnée qui vous intéresse. Les composants client RPC sont HTTPService, WebService et RemoteObject.
Vous pouvez utiliser le service de proxy de BlazeDS pour des appels HTTP ou WebService directs mais vous ne pouvez pas utiliser les composants RemoteObject sans BlazeDS ou ColdFusion.
Messaging Service
Le service de messaging permet aux application client de communiquer de manières asynchrone par échange de messages avec le serveur. Un message définit des propriétés telles qu'un identifiant unique, les headers (en-têtes) BlazeDS, des headers personnalisés et le corps du message.
Les applications client qui envoient des messages sont appelées "producers". Vous pouvez définir un "producer" dans une application Flex en utilisant le composant Producer. Les applications qui reçoivent des messages sont appelées "consumers" et peuvent être définit grâce au composant Adobe Flex Consumer. Le composant Consumer s'inscrit à une destination située côté serveur et va recevoir les messages que le Producer envoie vers cette destination.

Le Messaging Service supporte aussi la liaison avec JMS (Java Message Service) et utilisant un JMSAdapter ce qui permet aux applications Flex d'échanger avec les applications Java client (en savoir plus sur JMS avec Flex).
Lire la suite: 'Flex BlazeDS – Les fonctionnalités de BlazeDS'
Suite du tutorial
- 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)
- AFCS – Tutorial Introduction à AFCS avec Flex (6 – Architecture Globale d'AFCS)
- AFCS – Tutorial Introduction à AFCS avec Flex (7 – Utilisation du Shared Manager UserManager)
- AFCS – Tutorial Introduction à AFCS avec Flex (8 – Données partagées et CollectionNodes)
- AFCS – Tutorial Introduction à AFCS avec Flex (9 – Exemple Simple de CollectionNode)
- AFCS – Tutorial Introduction à AFCS avec Flex (10 – Exemple Simple de SharedProperty)
Traduction de Introduction to Adobe Flash Collaborative Services par Romin Irani.
Dans ce tutorial Adobe Flex avec AFCS, on va voir comment créer une application multi-utilisateur dans laquelle les participants peuvent chercher ensemble une liste de restaurant dans une certaine ville filtré par type de cuisine. N'importe quel utilisateur peut donc mettre à jour la ville et le type de cuisine. La donnée sera partagée entre tous les participants et les résultats de recherches seront les mêmes pour tous les participants pour une synchronisation totale.
Voyons tout d'abord comment se présente l'application pour un utilisateur seul. Une fois enregistré, l'interface se présente comme suit. On a deux Pods, un Pod Roster et un Pod Chat qui sont des Pods standard d'AFCS. L'utilisateur peut entrer une ville et un type de cuisine et ensuite cliquer sur Search. Cela va récupérer tous les restaurants servant ce type de cuisine dans la ville sélectionnée. Les résultats de recherches sont obtenus grâce au service web de Yahoo! et l'intégration se fait via Yahoo Query Language.

Voici un screenshot de l'application sur lequel on peut voir une liste de restaurants servant de la cuisine Chinoise, récupérée depuis Yahoo!. L'utilisateur peut cliquer sur n'importe quel de ces enregistrement pour afficher plus de détail dans le panneau de droite. Il y a aussi 2 liens par lesquels vous pouvez voir la carte Google Maps et un lien vers le site internet le cas échéant.

Si un autre utilisateur s'enregistre sur l'application, il va récupérer la dernière ville entrée, le dernier type de cuisine entré ainsi que les derniers résultats de recherche.
Lire la suite: 'AFCS – Tutorial Introduction à AFCS avec Flex (11 – Exemple Avancé avec Baton et Yahoo!)'
Adobe et Facebook ont annoncé aujourd'hui leur coopération pour permettre aux développeurs Web de créer plus facilement des application en utilisant Flash / Flex (la "Adobe Flash Platform") avec la Facebook Platform.
Cette association se traduit par la création d'un librairie officielle ActionScript 3 pour la Facebook Platform. Cette librairie est gratuite et Open Source et supporte toutes les API (Application Programming Interfaces) de Facebook comme Facebook Connect.
Documentations et exemples d'application sur la AS3 Facebook Library
Jusqu'à maintenant, quelques API non-officielles existaient et elles avaient bien du mal à garder le rythme pour rester à jour car la Facebook Platform évolue rapidement. Grâce à cette annonce, ActionScript est l'un des 3 langages officiellement supportés (avec PHP et JavaScript) par la Facebook Platform.
Pour télécharger cette librairie, vous pouvez aller directement sur le projet Google Code:
Télécharger la librairie Facebook AS3 sur Google Code
Lire la suite: 'Adobe et Facebook s'associent pour créer une librairie AS3 pour Facebook Platform'
Parser un xml avec e4x est vraiment simple. Il y a quelques jours, j'avais publié un article sur comment lire des attributs XML ayant un Namespace différent avec e4x. Mais dans certains cas, vous ne saurez pas forcement quels namespace vont être présents. Prenons comme exemple ce XML :
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description>
<rdf:value>xxx</rdf:value>
</rdf:Description>
</rdf:RDF>
Ici on peut voir que le namespace rdf (préfixe rdf) est défini par http://www.w3.org/1999/02/22-rdf-syntax-ns#. Pour accéder au nœud rdf:value, vous pouvez donc faire:
var rdf:Namespace = new Namespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#");
var attributes:XMLList = XML(event.result).rdf::Description.rdf::value;
Cette technique fonctionne car vous connaissez à l'avance le namespace qui sera utilisé. Mais vous pouvez utiliser un joker (*) pour que cela fonctionne dans n'importe quel cas:
var attributes:XMLList = XML(event.result).*::Description.*::value;
Pour pouvoir localiser un visiteur, vous pouvez passer par son adresse IP. Il existe ensuite des bases de données répertoriant l'emplacement de votre IP. Elles permettent aussi de récupérer le pays, la région, la ville ainsi que la latitude et la longitude. Et puisqu'on a un couple latitude / longitude, pourquoi pas l'afficher sur une carte ! Pour ce tutorial, je vais utiliser les Yahoo! Maps API couplées avec le service de localisation offert par MaxMind. En plus de cela, on va s'amuser un peu avec le reverse geocoding de Yahoo! Maps pour afficher une adresse aproximative.
Je vais bien décrire pas-à-pas toutes les étapes de cette géo-localisation IP, de l'installation de la base de données à la récupération du résultat en Flex HTTPService et l'affichage de ces données. Ainsi, vous pourrez l'utiliser sur votre site internet par exemple.
L'application Flex Finale
Voici l'application que vous allez créer avec ce tutorial. La carte est centrée sur une région autour de Lyon au départ. Appuyez sur OK pour géolocaliser votre IP.
Flex Source Code Download: Télécharger le code source complet de l'application
This movie requires Flash Player 9
Lire la suite: 'Flex / Yahoo Maps API – Géo-localisation par IP d'un visiteur (Exemple)'
Commentaires récents