Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

16nov/099

Flex BlazeDS – Tutorial Application Java Messaging avec BlazeDS Turnkey

Ce tutorial Adobe Flex avec BlazeDS va vous expliquer comment monter une application Java en liaison avec une application Flex. On va ici utiliser le service Messaging de BlazeDS pour la communication. Afin de faciliter l'explication, on va utiliser la version "Turnkey" de BlazeDS qui est directement livrée avec un serveur d'application Tomcat. Si vous n'avez pas encore installé BlazeDS Turnkey, suivez ces instructions:

Flex BlazeDS – Configurer son environnement BlazeDS avec Turnkey

BlazeDS offre un service de messaging qui permet aux applications Flex de publier des messages et de s'inscrire à un ensemble de destinations, permettant le développement d'application temps réel et / ou collaboratives comme des chats par exemple.

Création du projet Java

Vous allez avoir besoin d'un projet Java pour la partie serveur de l'application. Tout d'abord, ouvrez Eclipse et créez un nouveau projet Java:

  • Dans le menu d'Eclipse, choisissez File > New > Project
  • Dans l'arbre, choisissez Java Project comme type de projet puis Next
  • Sur la page "Create a Java Project":
    • Entrez "blazeds-server" comme nom de projet
    • Sélectionnez "Create project from existing source", et entrez le chemin vers la webapp "sample" comme par exemple "C:\blazeds\tomcat\webapps\samples\WEB-INF"
    • Next
  • Sur la  page "Java Settings", assurez-vous que le Default output folder soit à "blazeds-server/WEB-INF/classes" puis Finish

Cette configuration de projet vous permet de conserver le code source de vos classes Java dans le dossier WEB-INF/src. Ces classes seront automatiquement compilées dans le dossier WEB-INF/classes.

Création du channel de destination (messaging-config.xml)

Ce que l'on appelle une "Messaging Destination" dans le jargon BlazeDS représente un sujet de conversation en temps réel dont les clients peuvent s'inscrire (écoute) ou contribuer en envoyant leur propres messages.

Pour définir une simple destination de chat pour cette application:

  • Dans votre projet "blazeds-server", ouvrez le fichier "messaging-config.xml" situé dans /WEB-INF/flex/.
  • Ajoutez une destination appelée "tutorial-chat" définie comme ceci:
<destination id="tutorial-chat"/>
  • Redémarrez le serveur application Tomcat (voir manipulation dans le tutorial plus haut)

Le canal de destination est un élément-clé qui va permettre d'échanger de la donnée entre le client et le serveur. En utilisant BlazeDS, une destination utilise typiquement soit un canal de type "streaming", soit un canal de type "polling".

  • Quand on utilise un canal de type "streaming", le serveur reste ouvert jusqu'à ce que le canal de connexion soit fermé, permettant au serveur d'envoyer des bouts de données au client. Puisque les connexions HTTP ne sont pas "duplex", un seul canal AMF ou HTTP requiert en fait deux connexions HTTP pour envoyer de la donnée dans les deux directions. Une est nécessaire pour la réponse streaming du serveur. L'autre est une connexion transitoire, seulement nécessaire quand de la donnée est envoyée vers le serveur.
  • Un canal de type "polling" peut être configuré avec un intervalle de "polling", ou il peut être configuré pour attendre qu'une donnée serveur soit disponible (ce qu'on appelle le "long-polling").
Remplis sous: BlazeDS, Exemple Lire la suite
13nov/092

Flex BlazeDS – Les fonctionnalités de BlazeDS

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.

messageflow

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).

12nov/090

Flex BlazeDS – Introduction à BlazeDS

BlazeDS fournit un ensemble de services vous permettant de faire le lien entre votre application côté client et votre donnée (server side) ainsi que le passage de données à de multiples clients tous connectés au même serveur BlazeDS pour une messagerie temps réel entre les clients.

Une application BlazeDS se compose de deux parties: une application cliente et une application Web J2EE côté serveur. Voici un schéma rapide:

blazeds_client_server

L'application client

Une application client BlazeDS est typiquement une application Adobe Flex ou Adobe AIR. Les applications Adobe Flex et AIR utilisent toutes deux les composants Flex pour communiquer avec le serveur BlazeDS, dont les composants RemoteObject, HTTPService, WebService, Producer et Consumer. Ces composants font partie du Flex Software Development Kit (Flex SDK).

Bien que l'on utilise typiquement des applications Flex ou AIR, vous pouvez aussi utiliser une combinaison de Flex, HTML et JavaScript. Ou vous pouvez la développer en HTML et JavaScript en utilisant l'Ajax Client Library.