TTFX Bordeaux #3 : Messaging et Remoting le Jeudi 03 février à 18h30 à l’ENSEIRB
Petit relai d'informations sur cette rencontre des TTFX bordelais.
Le programme a l'air sympathique:
- Le FUG, et news du monde Flash
- Flex, BlazeDS, LCDS et LCCS
- Flex et le Remoting AMF
- Flex et le messaging (chat, data push)
- Flex et le Data Management
- Flex et LiveCycle Collaboration Service
Cette fois ci Michaël CHAIZE, Platform Evangelist pour Adobe et auteur du blog RIAGORA, vient nous parler échange client-serveur.
Pensez donc à cliquez sur le lien ci dessous pour vous inscrire et réserver vos places :
Sortie de BlazeDS 4 et LiveCycle Data Services 3.1
Sans trop de bruit est sortie le semaine dernière, les dernière release de BlazeDS et LiveCycle Data Services. Pour télécharger les dernières versions, il vous suffit de vous rendre sur les pages respectives des produits:
A part des corrections de bugs, on ne parle pas trop de ce qui change dans BlazeDS 4 par rapport à BlazeDS 3. Si par contre vous êtes client LiveCycle, voici les nouveautés:
Adobe LiveCycle Data Services 3.1 and BlazeDS 4.0 have been made available for download and the updated docs have been posted.
Find the LiveCycle Data Services 3.1 documentation here:
- Using LiveCycle Data Services ES2 version 3.1 HTML | PDF
- Application Modeling Technology Reference HTML | PDF
- ActionScript 3.0 Reference for the Adobe Flash Platform HTML
- Installing Adobe LiveCycle Data Services ES2 version 3.1 HTML
- LiveCycle Data Services ES2 version 3.1 Javadoc HTML
- LiveCycle Data Services ES2 Release Notes version 3.1 HTML
- LiveCycle Data Services ES2 Quick Starts HTML
New since LiveCycle Data Services 3.0 are:
Alignment with Flex 4 and Flash Builder 4
The LiveCycle Data Services 3.1 supports the released versions of Flex 4 and Flash Builder 4.
Extensibility and increased flexibility for model-driven development
The ability to generate and customize model-driven application code is much improved in LiveCycle Data Services 3.1. In addition to generating and customizing client-side ActionScript code and model-driven forms, you can generate and customize server-side Java code. You can also extract and customize the code generation templates for the generated client-side and server-side code.
The Modeler provides new user interface features for code generation. You can choose the types of code to generate, which code generation templates to extract, and where to save the generated code and templates.
For more information, see "Model-driven applications" in the "Using LiveCycle Data Services" guide.
Flex BlazeDS – Spécifier la configuration BlazeDS à l'exécution (services-config.xml et context-root)
Dans le tutorial précédent, on a vu comment spécifier la configuration de BlazeDS à l'application Adobe Flex au moment de la compilation. On va voir dans cet article, comment la spécifier à l'exécution, et les avantages que cela apporte. Cette démarche est aussi valable pour la définition de la configuration LiveCycle pour vos applications Flex / Air.
Cet article est une traduction de l'article de Christophe Coenraets: Externalizing Service Configuration using BlazeDS and LCDS
Vue d'ensemble de la configuration de BlazeDS / LCDS
Lorsque les développeurs commencent à utiliser les RemoteObject, ils vont se demander quand et à partir de quel emplacement est lue la configuration serveur.
Cette question remonte assez vite quand une application cesse de fonctionner et que vous venez de la déplacer de serveur ou tout simplement de la mettre en ligne.
Quand vous créez un nouveau projet BlazeDS ou LCDS dans Flex Builder, vous sélectionnez J2EE comme "Application Server Type". Cela ajoute un argument de compilation pointant vers votre fichier services-config.xml. Si vous jetez un oeil du côté des propriétés de votre projet Flex Builder, vous verrez quelque chose comme:
-services "c:\blazeds\tomcat\webapps\samples\WEB-INF\flex\services-config.xml"
Quand vous compilez votre application, les valeurs requises du services-config.xml sont intégrées au SWF. Pour faire simple, le fichier services-config.xml est lui à la compilation et pas à l'exécution comme on pourrait le penser. Pour rendre les choses plus abstraites, vous pouvez utiliser des tokens comme {server.name}, {server.port} et {context.root} dans le fichier services-config.xml. Cependant, {content.root} sera substitué à la compilation alors que {server.name} et {server.port} sont remplacés à l'exécution en utilisant le nom du serveur et le numéro de port du serveur par lequel le SWF a été chargé (c'est la raison pour laquelle vous ne pouvez pas utiliser ces tokens pour des applications Air).
Heureusement, le framework Flex propose une API ActionScript permettant de configurer vos canaux à l'exécution et d'externaliser complètement votre configuration de service de votre code. En effet, vous ne voulez pas recompilez votre application quand vous la déplacez de serveur. Cela marche de cette manière:
var channelSet:ChannelSet = new ChannelSet();
var channel:AMFChannel = new AMFChannel("my-amf", "http://localhost:8400/lcds-samples/messagebroker/amf");
channelSet.addChannel(channel);
remoteObject.channelSet = channelSet;
Ce n'est cependant toujours pas ce que l'on souhaite car l'URL du endpoint est toujours en dur dans le code de l'application Flex. L'étape suivante est donc de passer cette valeur d'URL à l'exécution. Il y a de très nombreuses manières de passer ces valeurs au SWF à l'exécution comme les flashvars par exemple. Ici, on va lire un fichier de configuration en utilisant un HTTPService au démarrage de l'application. Ce fichier de configuration inclus (entre autres) les informations nécessaires à la création du ChannelSet en ActionScript.
Tour de LiveCycle – Découvrir les fonctionnalités de LiveCycle Data Services
Certains d'entre vous ont peut-être découvert Flex et ses composants grâce à l'application Tour De Flex, qui est un très bon moyen pour connaître les capacités de ce framework, avec des centaines d'exemples (avec la source pour la plupart). Si vous ne l'avez encore jamais testé je vous la conseille fortement, vous découvrirez surement une mine d'information. Vous le savez, Flex est un framework open source client permettant de créer des "RIA", mais Adobe n'est pas en reste en ce qui concerne la partie serveur.
Entre autres, on peut souligner 2 produits serveur crées par Adobe:
- BlazeDS (Open Source): Permet de faire communiquer du Java et une application Flex facilement, permet de gérer le messaging (pour un chat par exemple), push de data…
- LiveCycle Data Services (Commercial): Solution payante permettant d'avoir accès à plus de fonctionnalités que BlazeDS (pagination, data management, offline sync …)
Les fonctionnalités offertes par BlazeDS sont déjà puissantes, je vous conseille d'y jeter un oeil. LiveCycle permet d'aller plus loin avec une solution tournée vers l'entreprise. LiveCycle comporte aussi des logiciels additionnels, des IDE…
Pour résumer, voici le tableau récapitulatif que j'ai trouvé dans Tour De LiveCycle:







