• Like
  • Save
Présentation Granite ds lyon 2011 par William Draï
Upcoming SlideShare
Loading in...5
×
 

Présentation Granite ds lyon 2011 par William Draï

on

  • 1,649 views

Octobre 2011

Octobre 2011

Statistics

Views

Total Views
1,649
Views on SlideShare
1,391
Embed Views
258

Actions

Likes
0
Downloads
11
Comments
0

3 Embeds 258

http://jujo00obo2o234ungd3t8qjfcjrs3o6k-a-sites-opensocial.googleusercontent.com 249
https://jujo00obo2o234ungd3t8qjfcjrs3o6k-a-sites-opensocial.googleusercontent.com 7
http://a0.twimg.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

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

    Présentation Granite ds lyon 2011 par William Draï Présentation Granite ds lyon 2011 par William Draï Presentation Transcript

    • GraniteDS et le frameworkSpring
    • GraniteDS et Spring
      GraniteDSestuneplateforme open source pour les applications RIA baséessur les technologies Adobe Flex et Java
      GraniteDSoffre en particulieruneintégrationtrèspoussée avec le framework Spring et les technologies connexescommeJPA
      « The easiest way to RIA »
      1
    • 2
      Le projet GraniteDS
      • Créé fin 2006, licence LGPL v2
      • Version actuelle 2.2.1, 2.3 imminente
      • Plusieursmilliersd’utilisateurs
      • Utilisé par de grandesentreprises et administrations, en Europe et aux USA
      • Reconnucommel’alternativeprincipale aux solutions serveursd’Adobe
      • Support du framework Spring dès les premières versions
      Objectif: Simplifier au maximum l’intégrationd’une interface Flex avec une application serveurbaséesur Spring
      Open Source
      Projet mature
      (Créé en 2006)
      1500téléchargements/mois
    • 3
      La plateforme GraniteDS
      GraniteDSestuneplateformed’intégrationcomplète qui couvrel’ensemble du cycle de développementjusqu’à la production
    • 4
      GraniteDS dans une architecture Spring
      Transparent côtéserveur :
      • Initialisation et configuration très simples directementdepuis le contexte Spring avec le namespace graniteds
      • Intégration avec Spring MVC pour le remoting
      • Quasimentaucunedépendance de compilation aux librairiesGraniteDS, hormisquelques annotations optionnelles
      • Support complet de l’environnement Spring et Java EE (JPA, Bean Validation, Spring Security, JMS, …)
      Framework d’intégrationcompletcôté Flex :
      • Remoting
      • Persistance et gestion de données
      • Validation, sécurité
      • Messaging temps réel
    • 5
      Remoting
      Support de RemoteObjectou de l’APIspécifique Tide
      • Il est possible d’exposer un service Spring avec une simple annotation ouunedéclarationdans la configuration XML
      Appels de services fortementtypés :
      • Les outils de génération de code reconnaissent les services Spring et générent des classes AS3 typées
      • L’intégrationcôtéserveurest capable de déterminerunecible de remoting par son type plutôtque par un nom
      • Facilité de développement : auto-complétionsur le code Flex, possibilités de refactoring améliorées, détectionprécoce des erreurs
    • 6
      Persistance et gestion de données (1/2)
      Intégrationcomplète de JPA :
      • Les entités JPA détachéespeuventêtresérialisées et échangées entre client et serveur sans risque de perte de données
      • Les associations “lazy” sontsérialiséesdans les deuxsens pour gagner en performances, et peuventêtrechargées de manièretransparente par GraniteDS
      • GraniteDSs’intègrecomplètement avec la configuration transactionnelle et de persistance de Spring (EntityManagerFactory, TransactionManager, …)
      • Support de toutes les implémentationsusuelles de JPA : Hibernate, EclipseLink, OpenJPA, DataNucleus
      • Les outils de génération de code reconnaissent les entités JPA et générent des classes AS3 optimisées
    • 7
      Persistance et gestion de données (2/2)
      Fonctionnalitésavancées :
      • Entity manager côté Flex avec un cache de donnéespermettantd’assurerl’unicité des instances dansl’application
      • Pagination : support de trèsgrandeslistes de données avec une occupation mémoireminimale et un chargement au fur et àmesure
      • “Dirty checking” : possibilité de détectersi un graphed’objet a étémodifié pour par exemplegriser un bouton et/ouémettreunealerte pour proposer àl’utilisateurd’enregistrer son formulaire
      • Gestion des conflits de modifications concurrentes grâce àl’intégration avec l’”optimistic locking” de JPA
      • Version entreprise : amélioration des performances grâce à la synchronisationdifférentielle, seules les propriétésréellementmodifiéessonttransmises
    • 8
      Validation
      Intégrationcomplète avec l’API Bean Validation :
      • Implémentation Flex de l’API Bean Validation permettantd’effectuer le maximum de contrôle des donnéescôté Flex avec un renduvisuel en temps-réel
      • Intégration avec la validation serveur pour reporter automatiquement les erreurs de validation surl’interfacegraphique
      • Cohérencesystématique des métadonnées de validation grâce au report par le générateur de code des annotations Bean Validation depuis les entités Java vers les entités AS3
      • Composants Flex permettantd’effectuerà la volée des validations distantes des données par le serveur
    • 9
      Sécurité
      Intégrationcomplète avec Spring Security :
      • Composant Flex d’authentification
      • Possibilité de récupérer un contexte de sécurité déjà authentifié, dans le cas d’un SSO oulors d’un rafraîchissement de page Web par ex.
      • Intégration avec les autorisations par rôles de Spring Security avec mise en cache des droitsd’accès
      • Intégration avec les autorisations par “access lists” (Spring Security ACL) pour gérer des droitsd’accèssur les donnéeselles-mêmes
      • Il est par exempletrès simple par exempled’afficheroumasquer un boutonsuivant les droits de l’utilisateursurune instance d’objetparticulière
    • 10
      Messaging temps-réel
      Implémentation “scalable” de la technologie long-polling:
      • Mode “long-polling” compatible avec les proxies Web
      • Utilisation des capacitésasynchrones / NIO des serveursd’applicationsrécents (Tomcat 6+, Jetty 6+, JBoss 4+, GlassFish 3+, WebLogic 10+, Servlet 3)
      • Intégration avec JMS pour accéderà des donnéesexternes
      • Clustering grâce àl’utilisation d’un serveur JMS local du type ActiveMQouHornetQ
      • Possibilité de transmettre de manièretransparente, transactionnelle et en temps-réel les modifications détectéessur des entités JPA àtous les clients souscrits
    • 11
      Roadmap 2011 / 2012
      Des nouvelles fonctionnalités centrées sur le temps-réel et la mobilité:
      • Protocoles temps-réel RTMP et WebSocket (Q3/Q4)
      • Librairies clientes mobiles natives iOS et Android (Q3/Q4)
      • Mode déconnecté (Q1 2012)
    • 12
      Contactez-nous
      www.graniteds.org
      www.granitedataservices.com
      France
      William Draï
      24 rue de l’Est
      75020 PARIS
      France
      +33 1 40 33 76 77
      USA
      Franck Wolff
      1501 Broadway
      New York City, NY 10036
      USA
      +1 646 287 4747