Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

FinistJUG - Apache TomEE

Séance du 11/10/2012

  • Loggen Sie sich ein, um Kommentare anzuzeigen.

FinistJUG - Apache TomEE

  1. 1. Objectifs Comprendre ce qu’est TomEE … et ce que ce n’est pas ! Comprendre ce qu’il apporte au développement … et ce qu’il apporte en production
  2. 2. Qui sommes nous ? Jean-Louis Monteiro  Romain Manni-Bucau Architecte Java EE  Développeur chez Atos Committer/PMC Apache  Committer Apache EJB 3.2 spec  OS enthusiast
  3. 3. Apache TomEE c’est quoi?
  4. 4. 2011 JEE 6 Web ProfilesmallTomcat + « EE » certified Apache stack
  5. 5. Le Web Profile, kézako ?
  6. 6. Introduit en Java EE 6 Environ la moitié des specs Sans les reliques Mais parfois incomplet
  7. 7. Apache TomEE distribs JAX-RS C Connectors JAX-WS X F
  8. 8. Happy Birthday, TomEE!
  9. 9. Releases • JavaOne 20111.0.0 beta 1 • Entrée dans la cours des grands • Janvier 20121.0.0 beta 2 • Finalisation • Avril 20121.0.0 Final • Prise en comptes des retours utilisateurs • Septembre 2012 1.5.0 • Toujours plus loin et à l’écoute
  10. 10. Quel est son secret ?
  11. 11. Fichiers ajoutés
  12. 12. Fichiers modifiés• conf/server.xml • Gestion du cycle de vie• conf/tomcat-users.xml • Optionnel – sécurisation de la GUI webapps/tomee/• bin/catalina.sh • Optionnel – OpenJPA ou EclipseLink load-time enhancement• bin/setclasspath.sh • Optionnel (java 7 endorsed dir supprimé)
  13. 13. Fichiers supprimés• lib/annotations-api.jar • Non-compliance, remplacé par endorsed/annotations-api.jar• lib/el-api.jar • Non nécessaire, remplacé par lib/javaee-api.jar• webapps/examples/ • Pas vraiment nécessaire 
  14. 14. Et le résultat est …
  15. 15. Finement assemblé et intégré Maven Boot time! IDEOutillage Tomcat Simple Emprunte mémoire maitrisée Léger
  16. 16. Testé … très largement• Dans nos tests (plus d’une heure) • Arquillian • Chaque test s’exécute 3 ou 5 fois• TCK sur Amazon EC2 (> 100 machines) • t1.micro linux images • 100 spot instances • 613MB memory max • Web Profile TCK avec paramètre JVM par défaut• OSs certifiés • Amazon Linux AMI 2011.09, EBS boot, 32-bit EC2 t1.micro • Amazon Linux AMI 2011.09, EBS boot, 32-bit EC2 m1.small • Amazon Linux AMI 2011.09, EBS boot, 32-bit EC2 c1.medium
  17. 17. Des doutes ?
  18. 18. Encore des doutes ?
  19. 19. Démo(toujours des mots …)Le classique « hello world »
  20. 20. Résultats• TomEE • Facile à utiliser (comme Tomcat) • Rapide (comme Tomcat) • Mais beaucoup plus riche que Tomcat• Et l’application • Très light – le container fournit les services • Pas de configuration inutile
  21. 21. Configuration
  22. 22. Tomcat toujours valide• Pas de changement ni suppression• System • conf/server.xml• Application • META-INF/context.xml• Configuration standard va continuer de fonctionner • Ressources disponibles dans tous les composants (EJB, CDI, JSF)• Mais Pool de connexions non JTA• Securité Tomcat partout • EJB • Web service • Utilisez votre propre implémentation de Realm
  23. 23. TomEE : configuration riche• Système • conf/server.xml • conf/tomee.xml • conf/system.properties• Process • Propriété système « classique » (-Dcle=valeur)• Application • META-INF/context.xml • META-INF/resources.xml • META-INF/application.properties
  24. 24. conf/tomee.xml ou META-INF/resources.xml
  25. 25. Des fichiers vraiment lisibles
  26. 26. Arf, j’aime pas le XML
  27. 27. conf/system.properties
  28. 28. On peut même mixer
  29. 29. Ça donne quoi en vrai…
  30. 30. Lets start standard!
  31. 31. Lets Test ! EJB 3.1 API to start the EJB Embedded container Special tip to get injected beans, resources, etc Close the container at the end
  32. 32. And my web tests? - Simple HTTP connector for WS and EJBd - APP_NAME to simulate a servlet context
  33. 33. Les adapters• TomEE Remote Adapter • Comme en vrai • Process TomEE separé• TomEE Embedded Adapter • TomEE directement dans le test• Tomcat + TomEE.war webapp • A l’ancienne• OpenEJB Embedded Adapater • Tout sauf les servlets, JSP, JSF • Mais super rapide
  34. 34. Outils et monitoring
  35. 35. JPA et les benchs
  36. 36. Maven: TomEE, c’est Tomcat
  37. 37. … mais aussi beaucoup plus  List ejbs  Deploy/Undeploy an application  Manage Apache TomEE  Configtest  Start  Stop  Run
  38. 38. Démo …De Maven à Arquillian
  39. 39. Interagir en productionCommandes Deploy Undeploy List Properties Script (JSR 223) Script file Ls Part Help Cat
  40. 40. Gestion et monitoring• Déploiement de d’application (tomcat)• Server, conteneurs, stats d’invocations• Queues/topics JMS et broker (ActiveMQ)• Redéploiement persistence unit• Pool de connexions• Servers et nœuds dans un cluster• Et d’autres à venir
  41. 41. Et encore tellement dechoses …
  42. 42. Autres fonctionnalités• Créer ses propres ressources • Et les avoir dans tous les composants• Evénements • Possibilités d’étendre le conteneur • 27 événements côté client • 12 côtés serveurs • Et d’autres dans les cartons
  43. 43. Validation
  44. 44. Un bean, combien d’erreurs ?
  45. 45. Et là ?
  46. 46. Resultat
  47. 47. Dans le Cloud ?
  48. 48. Ce qui existe• TCP et UDP server discovery• Fonctionnalités Tomcat de base• EJB client (load-balancing et failover)• Provisionning Maven sur un nœud • … et un cluster• CloudFoundry ready
  49. 49. Ce qu’il manquerait• Console d’agrégation multi instance • De monitoring • De déploiement• Des idées, besoins ? • Envoyez un mail sur la mailling list
  50. 50. Dernière démo La console SSH et le provisionning
  51. 51. La démo dont vous êtes lehéros ?C’est vous qui choisissez !
  52. 52. Merci ! Apache TomEE and Apache OpenEJB http://tomee.apache.org http://openejb.apache.org/ http://openejb.apache.org/apache-tomee.html users@openejb.apache.orghttp://openejb.apache.org/examples-trunk/index.html

×