Successfully reported this slideshow.
Your SlideShare is downloading. ×

FinistJUG - Apache TomEE

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
WebSocket avec Java EE 7
WebSocket avec Java EE 7
Loading in …3
×

Check these out next

1 of 57 Ad
Advertisement

More Related Content

Slideshows for you (20)

Viewers also liked (20)

Advertisement

Similar to FinistJUG - Apache TomEE (20)

More from Horacio Gonzalez (20)

Advertisement

Recently uploaded (20)

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 Profile small Tomcat + « 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 2011 1.0.0 beta 1 • Entrée dans la cours des grands • Janvier 2012 1.0.0 beta 2 • Finalisation • Avril 2012 1.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! IDE Outillage 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. Let's start standard!
  31. 31. Let's 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 production Commandes  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 de choses …
  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 le hé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.org http://openejb.apache.org/examples-trunk/index.html

×