FinistJUG - Apache TomEE
-
Upload
horacio-gonzalez -
Category
Technology
-
view
2.349 -
download
0
description
Transcript of FinistJUG - Apache TomEE
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
Qui sommes nous ? Jean-Louis Monteiro Architecte Java EE Committer/PMC
Apache EJB 3.2 spec
Romain Manni-Bucau
Développeur chez Atos
Committer Apache OS enthusiast
Apache TomEE c’est quoi?
2011
JEE 6 Web Profile
Tomcat + « EE »certified
small
Apache stack
Le Web Profile, kézako ?
Introduit en Java EE 6
Sans les reliquesMais parfois incomplet
Environ la moitié des specs
Apache TomEE distribs
JAX-RS
JAX-WS
CXFConnectors
Happy Birthday, TomEE!
Releases1.0.0 beta 1 •JavaOne 2011
•Entrée dans la cours des grands
1.0.0 beta 2 •Janvier 2012•Finalisation
1.0.0 Final •Avril 2012•Prise en comptes des retours utilisateurs
1.5.0 •Septembre 2012•Toujours plus loin et à l’écoute
Quel est son secret ?
Fichiers ajoutés
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é)
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
Et le résultat est …
Boot time!Maven
IDE
Léger
SimpleEmprunte mémoire
maitrisée
Finement assemblé et intégré
Outillage TomcatC’est ça TomEE !
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
Des doutes ?
Try it yourself
And let us know!
Encore des doutes ?
Démo(toujours des mots …)Le classique « hello world »
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
Ready to run!
Configuration
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
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
conf/tomee.xml ou META-INF/resources.xml
Des fichiers vraiment lisibles
Arf, j’aime pas le XML
conf/system.properties
On peut même mixer
Ça donne quoi en vrai…
Pooling
sample
Let's start standard!
Let's Test !
EJB 3.1 API to start the EJB Embedded container
Close the container at the end
Special tip to get injected beans, resources, etc
And my web tests?
- Simple HTTP connector for WS and EJBd- APP_NAME to simulate a servlet context
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
Outils et monitoring
JPA et les benchs
Maven: TomEE, c’est Tomcat
… mais aussi beaucoup plus List ejbs Deploy/Undeploy an application Manage Apache TomEE
Configtest Start Stop Run
Démo …De Maven à Arquillian
Interagir en production
Commandes Deploy Undeploy List Properties Script (JSR 223) Script file Ls Part Help Cat
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
Et encore tellement de choses …
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
Validation
Un bean, combien d’erreurs ?
Et là ?
Resultat
Dans le Cloud ?
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
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
Dernière démo La console SSH et le provisionning
La démo dont vous êtes le héros ?C’est vous qui choisissez !
Merci !
Apache TomEE and Apache OpenEJBhttp://tomee.apache.org
http://openejb.apache.org/http://openejb.apache.org/apache-tomee.html
[email protected]://openejb.apache.org/examples-trunk/index.html