La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

OSF – Open source Framework 18.04.2012 Démonstration du proof of concept Framework Play 2.0 30.05.2012 Yverdon A. Nicolet et V. Clément OSF – Open source.

Présentations similaires


Présentation au sujet: "OSF – Open source Framework 18.04.2012 Démonstration du proof of concept Framework Play 2.0 30.05.2012 Yverdon A. Nicolet et V. Clément OSF – Open source."— Transcription de la présentation:

1 OSF – Open source Framework 18.04.2012 Démonstration du proof of concept Framework Play 2.0 30.05.2012 Yverdon A. Nicolet et V. Clément OSF – Open source Framework

2 18.04.2012 Cache distribué Session de base avec Play Cache distribué avec EHCache Préparations niveau OS et logiciel Cache distribué comme session Compilation à la volée Accès EJB depuis Play Préparation REST RMI Conclusion Programme

3 OSF – Open source Framework 18.04.2012 Play est stateless... Session stockée dans un cookie o Max 4Ko o String only o Signé avec une clé secrète (lié à la clé de l'application) // set in the session session(key, value); Cache distribué Session de base avec Play // get in the session String value = session(key);

4 OSF – Open source Framework 18.04.2012 La session de Play est bien stateless! Limitations: o limitations des cookies (4Ko, String only,...) o Valeur signées, mais en clair chez le client Pour parer aux limitations: o Le cache distribué Cache distribué Session de base avec Play

5 OSF – Open source Framework 18.04.2012 EHCache est utilisé de base dans Play! // set in the cache Cache.set(key, value); // get in the cache String cachedValue = (String) Cache.get(key); Configuration de base écrasable (conf/ehcache.xml) Cache distribué Cache distribué avec EHCache

6 OSF – Open source Framework 18.04.2012 Cache distribué Architecture de tests http://playtest.lo http://localhost:9999 http://localhost:9998 virtual host avec load balancer

7 OSF – Open source Framework 18.04.2012 Nom de domaine "playtest.lo" dans le fichier hosts Activation du multicast sur l'interface lo0 Virtual host apache avec load balancing Checkout du projet depuis le SVN: poc1 Checkout du projet depuis le SVN: poc2 Deux changement à faire dans poc2: o Numéro de port du cacheManagerPeerListenerFactory o Titre des pages pour différenciation Démarrage des deux noeuds avec play o http://localhost:9999 o http://localhost:9998 Cache distribué Préparation au niveau de l'OS

8 OSF – Open source Framework 18.04.2012 Play reste stateless, même avec un cache distribué Limitation: le cache est commun à tous les utilisateurs Possibilité d'écrire des POJO dans le cache Avec un simple frontend Apache, facile de: o Monter en charge en copiant les applications o Faire de la maintenance sur lapplication en maintenant le noeud 1 et laissant les requêtes durant un moment sur le noeud 2 Problèmes de ports bloqués pour le multicast... Cache Inactif si l'application n'a pas été activée (en dév) Cache warming ne fonctionne pas toujours... Pour parer aux limitations: o Combiner la session de base (cookie) de Play avec le cache distribué o Stockage d'un UUID dans la session et utilisation pour chacque accès au cache o Utiliser la découverte manuelle Cache distribué Cache distribué avec EHCache - Conclusion

9 OSF – Open source Framework 18.04.2012 Play est stateless, même avec une session distribuée Petit "hack" nécessaire pour y parvenir // the uuid use to differenciate elements in the global cache String uuid = form.get().uuid; // set in the cache Cache.set(uuid + key, value); Manipulation du cache limité par les interfaces de Play Cache distribué Cache distribué comme session - Conclusion

10 OSF – Open source Framework 18.04.2012 Une application toute simple, avec 3 états Compilation à la volée Principe IndexStateA StateBStateC next step next step (finish)

11 OSF – Open source Framework 18.04.2012 Compilation à la volée Conclusion Changements rapide avec le mode développement Seul les éléments modifiés sont recompilés Fichiers de configurations interprétés en direct Scénario de mise à jour pour garantir la disponibilité

12 OSF – Open source Framework 18.04.2012 Play est très complet et permet d'utiliser tout les repository Maven, Ivy ou git dans ses dépendances. Le fichier de dépendances Build.scala Accès EJB depuis Play REST vs RMI

13 OSF – Open source Framework 18.04.2012 Utilisation de Jersey pour exposé le Session Bean via une API REST Accès simple via le browser Accès EJB depuis Play REST

14 OSF – Open source Framework 18.04.2012 Utilisation du client Jersey pour un appel depuis Play Accès EJB depuis Play REST

15 OSF – Open source Framework 18.04.2012 Accès EJB depuis Play REST

16 OSF – Open source Framework 18.04.2012 Exportation du Spring Bean en service RMI Accès EJB depuis Play RMI (Spring Remote) - Bean Side

17 OSF – Open source Framework 18.04.2012 Fichier de configuration dans "/conf" Accès EJB depuis Play RMI (Spring Remote) - Play Side Dépendances dans project/Build.scala

18 OSF – Open source Framework 18.04.2012 Ajout de l'interface du Bean dans les sources du projet Play Accès EJB depuis Play RMI (Spring Remote) - Play Side Import des éléments nécessaire depuis le framework Spring Appel sur le Spring Bean via RMI

19 OSF – Open source Framework 18.04.2012 Accès depuis notre application Play Accès EJB depuis Play RMI (Spring Remote) - Play Side

20 OSF – Open source Framework 18.04.2012 Accès EJB depuis Play Résultat JMeter Conclusion: Exposition d'un Session Bean en REST avec accès depuis Play est plus simple à mettre en place et possède des performances similaires à un appel RMI.

21 OSF – Open source Framework 18.04.2012 On peut tout faire avec Play ! Il suffit de mettre la main à la pâte et d'y passer du temps ! Le code est les documentations sont disponibles ici: http://code.google.com/p/stateless-and-live-updates-for-play/ Conclusion


Télécharger ppt "OSF – Open source Framework 18.04.2012 Démonstration du proof of concept Framework Play 2.0 30.05.2012 Yverdon A. Nicolet et V. Clément OSF – Open source."

Présentations similaires


Annonces Google