• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Adobe LiveCycle Data Services
 

Adobe LiveCycle Data Services

on

  • 4,895 views

Mes slides sur livecycle data services

Mes slides sur livecycle data services

Statistics

Views

Total Views
4,895
Views on SlideShare
4,598
Embed Views
297

Actions

Likes
0
Downloads
218
Comments
0

9 Embeds 297

http://codemoiunmouton.wordpress.com 227
http://eventifier.com 25
http://eventifier.co 22
http://www.slideshare.net 16
http://static.slideshare.net 2
http://www.eventifier.com 2
http://www.netvibes.com 1
https://s3.amazonaws.com:443 1
url_unknown 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Adobe LiveCycle Data Services Adobe LiveCycle Data Services Presentation Transcript

    • Après-midi technique Adobe Comment améliorer la communication entre une application RIA et votre SI 1 2006 Adobe Systems Incorporated. All Rights Reserved.
    • Agenda  Rappels sur l’offre Adobe Flex  Flex et les appels standards du web  Flex et le HTTPRequest  Flex et l’appel de WebService  Communication entre Flex et les serveurs d’applications Java  Différences entre Blaze DS et LiveCycle DS  Flex et le Remoting, et architecture  Flex et les techniques de messaging  Le Data Management  Services additionnels  Architecture: Sécurité, Cluster  Génération d’un PDF avec LCDS  Appel d’un service documentaire LiveCycle.  AIR 2 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Rappels sur l’offre Adobe Flex 33  2006 Adobe Systems Incorporated. All Rights Reserved.
    • Quatre générations d’applications d’Entreprise  Global 2004  WEB APPLICATIONS RICH INTERNET APPLICATIONS REACH 1998  1992  Local  MAINFRAME  DESKTOP Server Interaction Client Interaction  RICH ® 4 Copyright 2008 Adobe Systems Incorporated. All rights reserved.
    • Challenges techniques de la RIA Web 1.0 application Rich Internet Application • Améliorer les temps de réponses • Alléger la bande passante • Décharger le serveur • Diminuer les tests <page> <page> <page> <page> <data> <page> <page> <page> <application> ® Copyright 2008 Adobe Systems Incorporated. All rights reserved. Adobe confidential. 5 5 
    • Trois technologies Open Source d’Adobe pour les RIA FLASH PLAYER FLEX 3 SDK LIVECYCLE DATA SERVICES Flash Player 9 Gratuit, framework open source LiveCycle Data Services 12 ans d’existence Flex Builder basé sur Eclipse Data intensive applications 98% des PC équipés Framework MVC Meilleures perfs du marché Langage objet AS3 Accessibilité, Test unitaire, Debug Remoting architecture AVM2 JIT Compiler Component based programming Messaging and Data Push Open Source: Tamarin Dévelopment rapide Data Management Services Offline synchronization ® Copyright 2008 Adobe Systems Incorporated. All rights reserved. Adobe confidential. 6 6 
    • Adobe Flex Lineup Adobe® Adobe® Flex™ SDK 3 Flex™ Builder™ 3 MXML and ActionScript 3.0 Standard Edition Framework and Class Library Visual Layout Command-line Compiler Code Hinting Debugging Adobe® LiveCycle® Skinning & Styling Data Services ES Data Management Messaging Professional Edition Web-Tier Compiler RPC Services Charting Components RIA-PDF Creation Service Adapters Advanced DataGrid / OLAP Portal Deployment Proxy Service Performance Profiling 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Fonctionnement et déploiement Flex Builder IDE Browser Flex SDK Flash Player MXML ActionScript Flex Class Library SOAP HTTP/S AMF/S RTMP/S Web Server Compile XML/HTTP LC Data Services REST SOAP Web Services J2EE Application Server Existing Applications & Infrastructure
    • Ressources pour apprendre Flex  Site web de référence: http://www.flex.org  Tutoriaux et vidéos techniques: http://developer.adobe.com  Ateliers gratuits de formation sur 1 jour: http://www.baao.com  Blog pour se tenir informé de l’actualité Adobe France, tutoriaux, slides: http://codemoiunmouton.wordpress.com 9 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Flex et les appels standards du web HTTPRequest, WebService 1 10 0 2006 Adobe Systems Incorporated. All Rights Reserved.
    • HTTPRequest: le standard du web  Appel d’un script sur une URL qui retourne du texte (print)  Si la réponse est en XML, les composants Flex l’interprête nativement  Déclaration par un tag <mx:HTTPService>. La méthode send() lance une requête HTTP sur l’url spécifiée.  Si la requête ne passe pas par un proxy:  useProxy = false  HTTP GET, POST  Si la requête passe par un proxy:  useProxy = true  HTTP GET, POST, HEAD, OPTIONS, TRACE & DELETE 11 2008 Adobe Systems Incorporated. All Rights Reserved.
    • HTTPRequest par l’exemple 12 2008 Adobe Systems Incorporated. All Rights Reserved.
    • WebService: le standard du web  Une application Flex peut interagir avec des Webservices qui définissent leurs interfaces en document:  Web Services Description Language 1.1 (WSDL 1.1)  Du coup, une application Flex accède à un webService par une URL.  Une application Flex supporte les requêtes et les réponses SOAP  Flex Builder dispose d’un outil d’introspection de WSDL qui génère automatiquement un proxy AS3. 13 2008 Adobe Systems Incorporated. All Rights Reserved.
    • WebService: le standard du web 14 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Crossdomain.xml Le Flash Player applique des règles de sécurité pour accéder à des données. Une application Flex peut accéder aux sources de données qui sont sur le même domaine que le fichier SWF. Cependant une application Flex ne peut accéder à des sources de données situées dans un domaine différent, sauf si le domaine lui en donne la permission. Pour cela, il faut déployer un fichier crossdomain.xml à la racine du domaine. <?xml version=quot;1.0quot;?> <!DOCTYPE cross-domain-policy SYSTEM quot;http://www.adobe.com/xml/dtds/cross-domain-policy.dtdquot;> <cross-domain-policy> <allow-access-from domain=quot;*.monserveur.comquot;/> </cross-domain-policy> Exemple: http://www.yahoo.com/crossdomain.xml 15 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Les projets autres que J2EE Flex et PHP : Flex et .Net: Flex et Coldfusion: Flex et Ruby: 16 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Deux approches dans le développement Client/Server  Couplage faible: Protocoles basés sur le Document(XML, SOAP, …)  Langage neutre, facile à débugger et documenter  Le parsing et le formatage du code est plus difficile à maintenir (de + en + complexe)  Le temps de traitement augmente avec l’augmentation de la complexité  Il est plus simple de développement indépendamment le client du serveur  Couplage fort: Protocoles basés sur un modèle Objet (RMI, AMF, …)  Difficile de changer de langage  Plus rapide pour le client et le serveur, diminution de la bande passante  Plus simple de partager du code ou d’utiliser de la génération automatique de code basée sur le modèle  Meilleure gestion de la complexité du modèle (scalabilité)  Moins de design de code, moins de dépendance sur le format qui transite  Manipulation du client et du serveur en parallèle pour rafraichir en même temps les deux parties 1 7 2005 Adobe Systems Incorporated. All Rights Reserved.
    • Flex et les serveurs d’application Java Remoting, Messaging et Data Management 1 18 8 2006 Adobe Systems Incorporated. All Rights Reserved.
    • LiveCycle Data Services ES LiveCycle Data Services ES LiveCycle Data Services est un ensemble de Service Data Management composants J2Ee et d’API utilisés pour: Data Synchronization Adapters LiveCycle Off-line Applications  Créer des RIA qui manipulent énormément de Data Paging ColdFusion données avec un minimum de code, et accélérer la mise en production en programmant sur un RPC Services Hibernate modèle client-serveur. Web Service HTTP Service SQL  Intégrer une RIA avec des applications existantes Remote Object Service de l’infrastructure J2EE. JMS Messaging  Intégrer facilement des RIA avec des processus Java documentaires LiveCycle. Publish & Subscribe Collaboration  Développer des application collaboratives, gérer Real Time Data Push Custom… la synchronisation offline, gérer le temps réel. Proxy Service  Générer des PDF à la demande qui intègrent des Web-tier Compiler éléments graphiques. Portal Deployment RIA-PDF Generation 19 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Qu’est ce que BlazeDS? BlazeDS est un sous-ensemble Open Source BlazeDS Service (LGPL) de LCDS. C’est une solution de Remoting Data Management Adapters et de HTTP messaging. Data Synchronization LiveCycle Off-line Applications  Gratuit et Open Source Data Paging ColdFusion  Ouverture du format d’échange de données AMF3 RPC Services Hibernate (Action Message Format) Web Service  Technologie de messaging sur le standard HTTP HTTP Service SQL (équivalent de Comet) Remote Object Service JMS  Builds certifiées, support entreprise disponible (LC Messaging Community Edition) Publish & Subscribe Java Collaboration Custom… Real Time Data Push Proxy Service Web-tier Compiler Portal Deployment RIA-PDF Generation 20 2008 Adobe Systems Incorporated. All Rights Reserved.
    • LCDS.war Un fichier LCDS.war est fourni pour démarrer vos projets Flex / Java.  Structure du WAR:  +WEB-INF/classes Pour placer ses classes Java  +WEB-INF/lib Contient les librairies Java de LCDS  +WEB-INF/flex Contient les fichiers XML de configuration  Remoting-config.xml Destinations vers les classes Java  Messaging-config.xml Destinations pour le messaging  Data-Management-config.xml Destinations vers les assemblers  Proxy-config.xml Destinations vers les services HTTP  Services-config.xml Configuration des canaux 21 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Plateformes supportées  Windows 2000 and Vista, x86, x64  Windows 2003 x86, x64, IPF  Solaris 9 and 10 SPARC  RedHat Linux AS 4 and 5, x86, x64  Suse Enterprise Linux 9 and 10, x86, x64  Suse Enterprise Linux 9 and 10, zSeries (with IBM WebSphere only)  IBM AIX 5.3, PPC (with IBM WebSphere only)  HP-UX 11i v3 IPF, PA/RISC (with BEA Weblogic only) 22 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Serveurs d’applications supportés  Apache Tomcat 6.0.x  JBoss Application Server 4.2.2 4.0.3 SP1+, 4.2.x  BEA Weblogic 9 and 10  IBM WebSphere Application Server 6.1.x  Fujitsu Interstage 9  Hitachi Cosminexus 7  NEC WebOTX JDK supportés  Oracle 10G AS (10.1.3)  Sun JDK 5  SAP NetWeaver CE 7.1 SP3  BEA JRockit 5  Adobe JRun 4 Updater 7  IBM JDK 5 23 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Remoting Demonstration 2 24 4 2006 Adobe Systems Incorporated. All Rights Reserved.
    • Créez une classe Java 25 2008 Adobe Systems Incorporated. All Rights Reserved.
    • remoting-config.xml  Les destinations pour le remoting pointent directement sur les classes Java en utilisant un « adapter » préconfiguré sur le serveur (java-object) et un canal de communication (my-amf)  Chaque destination pointe sur une seule classe Java <destination id=“SimpleJavaService”> <properties> <source>NoidaTraining.SimpleJavaService</source> <scope>application</scope> </properties> </destination> NB: Vous n’avez pas besoin de redémarrer le serveur après avoir modifié les fichiers de configuration de LCDS 26 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Précisions sur le <scope> <destination id=“SimpleJavaService”> <properties> <source>NoidaTraining.SimpleJavaService</source> <scope>application</scope> </properties> </destination> request - un nouvel objet pour chaque appel de méthode (par défaut) session - les objets restent disponibles le temps de la session cliente application – les objets restent disponibles pendant toute la durée de vie de l’application web 27 2008 Adobe Systems Incorporated. All Rights Reserved.
    • <mx:RemoteObject> 28 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Multiple Event Handlers  Pour un même service Java, je peux gérer plusieurs méthodes. 29 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Appel asynchrone et utilisation du token  Lorsqu’on appelle une méthode, je rajoute un attribut à l’opération var remoteFn:AbstractOperation = remoteObject.getOperation(quot;loginquot;); var call : AsyncToken = remoteFn.send(); call.someAttr = “Aquot;;  Lorsque je gère le retour, je teste l’attribut: if (event.token.someAttr == “A”) { … } else { … } 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Echange de données entre Java and ActionScript 31 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Java Value Object 32 2008 Adobe Systems Incorporated. All Rights Reserved.
    • ActionScript Value Object 33 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Architecture n-tiers avec Remoting 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Advanced Concepts - Remote Object  Scope et attribute-id pour gérer des composants  Scope: request, session, application – contrôle de cycle de vie de votre remote object  Attribute-id: stock le composant sous ce nom dans le ServletContext ou la HTTPSession pour le partager avec une JSP ou d’autres destinations  FlexFactory: interface pour Spring  Exemple de configuration: <destination name=“SpringComponent”> <properties> <factory>spring</factory> <source>MySpringComponentId</source> </properties> </destination>  FlexSession  Obtenue à partir de FlexContext  Utilise HTTPSession if vous êtes sur HTTP, émule les fonctionnalités d’une session HTTP pour le RTMP  [Transient] metadata  Propriété pour l’ActionScript (annotation) qui ne sera pas sérialiser pour le serveur 35 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Mapping personnalisé entre ActionScript et Java  Si les mécanismes standards de sérialisation et de désérialisation de données entre ActionScript (client) et Java (server) ne sont pas satisfaisants:  Vous pouvez implémenter l’interface ActionScript sur le client grâce à flash.utils.Iexternalizable  Vous pouvez créer la correspondance Java et écrire votre propre schéma de sérialisation avec java.io.Externalizable 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Messaging 3 37 7 2006 Adobe Systems Incorporated. All Rights Reserved.
    • Publish/Subscribe Messaging Livecycle Data Services Client A Message Endpoint Service Client B RTMP Client C AMF Publisher HTTP Subscriber 38 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Demo: Chat 39 2008 Adobe Systems Incorporated. All Rights Reserved.
    • messaging-config.xml Ajout de la destination “chat <destination id=“chat”> <adapter ref=“actionscript”> </destination> L’adapter ActionScript n’est utilisé que pour les applications qui n’utilisent que des clients Flex. C’est l’adapter par défaut. L’adapter JMS permet à des clients Flex et Java de communiquer. 40 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Publier un Message  Déclaration d’un tag Producer <mx:Producer id=quot;producerquot; destination=quot;chatquot;/>  Envoyer le message public function send():void { var message:AsyncMessage = new AsyncMessage(); message.header.userId = userId.text; message.body = msg.text; producer.send(message); } 41 2008 Adobe Systems Incorporated. All Rights Reserved.
    • S’abonner à une Destination  Déclarer un Consumer <mx:Consumer id=quot;consumerquot; destination=quot;chat“ message=quot;messageHandler(event)quot;/>  Gérer la réception de messages public function messageHandler(event:MessageEvent):void { log.text += event.message.header.userId + quot;: quot; + event.message.body.msg + quot;nquot;; }  S’abonner aux messages consumer.subscribe(); Exemple: www.toutracker.org 42 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Messaging - Data Push LiveCycle Data Services Messaging Adapter X System X Message JMS Endpoint JMS Adapter Services Provider Messaging Adapter Y System Y RTMP AMF Publisher HTTP Subscriber 43 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Déclaration de la destination « feed » <destination id=quot;feedquot;> <properties> <network> <session-timeout>0</session-timeout> </network> <server> <max-cache-size>1000</max-cache-size> <message-time-to-live>0</message-time-to-live> <durable>false</durable> </server> </properties> </destination> 44 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Classe Java qui génère et envoie un message sur « feed » 1/2 45 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Classe Java qui génère et envoie un message sur « feed » 2/2 46 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Les Channels dans LiveCycle Data Services ES 47 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Quels canaux utiliser pour le temps réel ? (BlazeDS) Channel Description Les Plus Les Moins Poll ~ 1 min Poll roundtrip overhead AMF Server parks poll Works with firewalls Long Polling Servlet API blocking IO until data available HTTP proxies can Server pushes No polling overhead swallow messages Streaming AMF infinite messages Servlet API blocking (HTTP Chunk) Works with firewalls IO AMF Messages/ Works with firewalls Simple polling request/response Piggyback Enabled piggybacking 48 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Quels canaux utiliser pour le temps réel ? (LCDS) Channel Description Les Plus Les Moins RTMP (in a ChannelSet with fallback to Single duplex Immediate notification Non standard port NIO AMFChannel configured to connection when a client is closed blocked by firewalls Long Poll) Better scalability and no NIO AMF Uses an NIO server and configured upper bound Requires more network Long Polling minimal HTTP stack on no. of parked poll configuration (no fallback) 1000s of clients requests NIO Streaming AMF Better scalability and no Uses an NIO server and (in a ChannelSet followed by configured upper bound minimal HTTP stack Same as above the polling AMFChannel below on the number of 1000s of clients for fallback) streaming connections NIO AMF Uses an NIO server and Simple polling minimal HTTP stack Same as above Same as above Piggyback Enabled 1000s of clients 49 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Data Management Demonstration 5 50 0 2006 Adobe Systems Incorporated. All Rights Reserved.
    • Travailler avec des données: Le mode traditionnel du HTML (page) Persistence Solutions: Hibernate JDOs EJB 3 Others… data data  Le client est souvent utiliser pour capturer de la données et l’affichage  Le client ne conserve pas une version de la donnée  Pas de réelle manipulation de données côté client  Les données doivent être snchronisées entre le middle-tier et la base 51 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Le modèle de la RIA data data data  Le client possède une version de la donnée  Manipulation riche des données côté client  La donnée doit être synchronisée entre le tiers client, le middle-tier ET entre le middle-tier et la base 52 2008 Adobe Systems Incorporated. All Rights Reserved.
    • L’approche RPC RPC Services data data Responsabilité du développeur:  Notifier les changements - flags (create, update, delete)  Maintenir une version originelle de la donne pour appliquer une stratégie de locking  Créer des Remote Procedure Calls pour créer, mettre à jour et effacer des enregistrements  Identifier et gérer les conflits / les appels concurrents 53 2008 Adobe Systems Incorporated. All Rights Reserved.
    • L’approche de LiveCycle Data Services Data Service data data Client-Side API:  Flags changes (create, update, delete)  Maintient une version d’origine de la donnée pour appliquer la stratégie de locking  Envoie une liste de changement à LCDS dans un groupe de messages  Gère les conflits, les accès concurrents 54 2008 Adobe Systems Incorporated. All Rights Reserved.
    • L’approche de LiveCycle Data Services Object Data Hibernate Service JDBC ColdFusion data data Custom Data Service:  Désérialise la liste des changements qui proviennent du client  Sérialise les données avant de les données au client  Passe la liste des changement au bon adapter  Notifie les clients qui sont abonnés à la destination Adapter:  Effectue les changements  Identifie les conflits  Passe les résultats à Data Services 55 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Data Services LiveCycle Data Services JDBC RDBMS Client A Adapter Data Object Endpoint DAO Service Adapter Client B Hibernate Hibernate Adapter CFC Client C Adapter ColdFusion 56 2008 Adobe Systems Incorporated. All Rights Reserved.
    • La résolution de conflits  Les conflits interviennent quand différents clients essayent de mettre à jour la même donnée en même temps.  Le nombre de conflits dans une application dépend de la stratégie de locking (concurrency level) implémentée dans l’application.  LCDS n’impose pas de stratégie de locking, vous pouvez même choisir de ne pas gérer les conflits.  Vous êtes libre d’estimer ce que représente un conflit par rapport au contexte de votre application.  LCDS prévient les clients quand un conflit a lieu en envoyant une DataSyncException.  Côté client, LCDS fournit une API sophistiquée pour résoudre les conflits. Un événement est dispatché en cas de conflit. 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Concepts avancés - Data Management Services  Paging  Managed associations  Supports replicating general object graphs from server to client (with cycles)  Tracks changes to relationships and pushes them to the server  Ensures a single instance of the client object for each id  Optionally associations can be “lazy” – referenced item is fetched as needed  Writing custom assemblers  Implement these methods: getItem, createItem, updateItem, deleteItem, fill, count  Source to HibernateAssembler is included 58 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Le code côté client Flex <?xml version=quot;1.0quot; encoding=quot;utf-8quot;?> <mx:Application xmlns:mx=quot;http://www.macromedia.com/2005/mxmlquot; creationComplete=quot;initApp()quot;> <mx:Script> public var ds:DataService; [Bindable] public var contacts:ArrayCollection; public function initApp() { contacts = new ArrayCollection(); ds = new DataService(quot;contactquot;); ds.fill(contacts); } </mx:Script> <mx:DataGrid dataProvider=quot;{contacts}quot; editable=quot;true“/> </mx:Application> 59 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Data management-confis.xml <destination id=quot;contactquot;> <adapter ref=quot;java-daoquot; /> <properties> <metadata> <identity property=quot;contactIdquot;/> </metadata> <server> <assembler> <class>samples.contact.ContactAssembler</class> </assembler> <fill-method> <name>loadContacts</name> </fill-method> <sync-method> <name>syncContacts</name> </sync-method> </server> </properties> </destination> 60 2008 Adobe Systems Incorporated. All Rights Reserved.
    • ContactAssembler.java public class ContactAssembler { public List loadContacts() { ContactDAO dao = new ContactDAO(); return dao.getContacts(); } public List syncContacts(List changes) { Iterator iterator = changes.iterator(); ChangeObject co; while (iterator.hasNext()) { co = (ChangeObject) iterator.next(); if (co.isCreate()) { // invoke logic to create item } else if (co.isUpdate()) { // invoke logic to update item } else if (co.isDelete()) { // invoke logic to delete item } } return changes; } } 61 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Clustering 6 62 2 2006 Adobe Systems Incorporated. All Rights Reserved.
    • Implémentation du clustering  In-built software clustering  Basé sur Jgroups  Support du Load Balancing Hardware (out-of-the-box)  Support de clusters horizontaux et verticaux  Les destinations diffusent leurs disponibilités et les endpoints accessibles dans le cluster  Les destinations de messaging et de data services diffusent les messages ou les changements aux destinations correspondantes sur les autres serveurs du cluster. 63 2008 Adobe Systems Incorporated. All Rights Reserved.
    • En résumé … Failover Messaging State Replication Proxy Service OUI NON Remoting Service OUI NON Message Service OUI OUI Data Management Service OUI OUI 64 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Sécurité 6 65 5 2006 Adobe Systems Incorporated. All Rights Reserved.
    • Glossaire Destination MSG Channel Endpoint Destination Destination MSG Channel Endpoint Destination Destination https://monserveur:443/messagebroker/amfsecure 66 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Securiser le canal RTMP <channel-definition id=quot;my-rtmps“ class=quot;mx.messaging.channels.SecureRTMPChannelquot;> <endpoint uri=quot;rtmps://{server.name}:2099“ class=quot;flex.messaging.endpoints.SecureRTMPEndpointquot;/> <properties> <idle-timeout-minutes>30</idle-timeout-minutes> <keystore- file>C:/somedir/flex/dataservices/apps/j2ee/dev/WEBINF/flex/keys/server.key store</keystore-file> <keystore-password>password</keystore-password> </properties> </channel-definition> 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Securiser le canal RTMP  Vous pouvez aussi spécifier un autre algorithme que celui proposé par défaut par la JVM quand on active le SSL. <algorithm>Default</algorithm> pour explicitement utiliser celui proposé par défaut par la JVM. <algorithm>SunX509</algorithm> pour utiliser celui de SUN. <algorithm>IbmX509</algorithm> pour utiliser celui d’IBM. De même, il exite les canaux secureAMF et le secureHTTP tous deux basés sur HTTPS 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Sécuriser les endpoints HTTP et RTMP  Vous pouvez aussi protéger l’accès aux endpoints des canaux HTTP- et RTMP- : <whitelist> <ip-address-pattern>237.*</ip-address-pattern> <ip-address>10.132.64.63</ip-address> </whitelist> <blacklist> <ip-address>10.60.147.*</ip-address> <ip-address-pattern>10.132.17.5[0-9]{1,2}</ip-address-pattern> </blacklist> 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Sécuriser des endpoints via JAAS  Par les contraintes de sécurité web basée sur JAAS <destination id=“sampleJaasServicequot;> …………………….. <security> <security-constraint> <auth-method>Custom</auth-method> <roles> <role>roDestUser</role> </roles> </security-constraint> </security> </destination> 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Invocation de services sécurisés  Sécurisation de la communication Flex <-> LCDS : var employeeHTTP:HTTPService = new HTTPService(); employeeHTTP.destination = quot;SecureDestquot;; employeeHTTP.setCredentials(quot;myUserNamequot;, quot;myPasswordquot;); empoyeeHTTP.send({param1: 'foo'});  Sécurisation d’un proxy: <destination id=quot;samplesProxyquot;> <channels> <channel ref=quot;samples-amfquot;/> </channels> <properties> <url>http://someserver/SecureService.jsp</url> <remote-username>johndoe</remote-username> <remote-password>opensaysme</remote-password> </properties> </destination> 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Les bonus Génération de PDF, invocation de LiveCycle ES, AIR… 7 72 2 2006 Adobe Systems Incorporated. All Rights Reserved.
    • Conclusion 7 73 3 2006 Adobe Systems Incorporated. All Rights Reserved.
    • Pour aller plus loin…  Récupérer sur le site d’Adobe LiveCycle Data Services:  Installation automatique de lcds-samples  Installation du 30mins Test Drive avec toutes les sources  Retrouvez les slides sur le blog « Code moi un mouton »  Nos emails :  Bertrand Collard: bcollard@adobe.com  Michael Chaize: mchaize@adobe.com 74 2006 Adobe Systems Incorporated. All Rights Reserved.
    • Le QUIZZ !!!  Que doit-on modifier si l’on souhaite utiliser un autre canal de communication pour le RemoteObject entre l’application Flex et LCDS ? 75 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Le QUIZZ !!!  Que doit-on mettre en place pour accéder à un webService externe à l’entreprise? 76 2008 Adobe Systems Incorporated. All Rights Reserved.
    • Le QUIZZ !!!  Comment Adobe a implémenté le support du clustering dans LCDS ? 77 2008 Adobe Systems Incorporated. All Rights Reserved.
    • 2008 Adobe Systems Incorporated. All Rights Reserved.