SlideShare uma empresa Scribd logo
1 de 57
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       Romain Manni-Bucau
   Architecte Java EE        Développeur chez Atos
   Committer/PMC Apache      Committer Apache
   EJB 3.2 spec              OS enthusiast
Apache TomEE c’est quoi?
2011

        JEE 6 Web Profile

small

Tomcat + « EE »
             certified

                         Apache stack
Le Web Profile, kézako ?
Introduit en Java EE 6


   Environ la moitié des specs



       Sans les reliques
                 Mais parfois incomplet
Apache TomEE distribs
  JAX-RS
           C
                        Connectors
  JAX-WS
           X
           F
Happy Birthday, TomEE!
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
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 …
Finement assemblé et intégré


                               Maven
   Boot time!
                               IDE


Outillage Tomcat
                                     Simple
 Emprunte mémoire maitrisée
                                        Léger
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 ?
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
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…
Let's start standard!
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
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 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
FinistJUG - Apache TomEE

Mais conteúdo relacionado

Mais procurados

Ting - Un datamapper PHP sous stéroïdes
Ting - Un datamapper PHP sous stéroïdesTing - Un datamapper PHP sous stéroïdes
Ting - Un datamapper PHP sous stéroïdesXavier Leune
 
wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3Nicolas Lœuillet
 
eZ publish - Publication instantanée et fort trafic web
eZ publish - Publication instantanée et fort trafic webeZ publish - Publication instantanée et fort trafic web
eZ publish - Publication instantanée et fort trafic webGauthier Garnier
 
eZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductioneZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductionRoland Benedetti
 
nouveautés du moteur Bonita 7.9
nouveautés du moteur Bonita 7.9nouveautés du moteur Bonita 7.9
nouveautés du moteur Bonita 7.9Bonitasoft
 
Princesse CI au pays des tests
Princesse CI au pays des testsPrincesse CI au pays des tests
Princesse CI au pays des testsHubert Lenoir
 
Alphorm.com Formation Ansible : Le Guide Complet du Débutant
Alphorm.com Formation Ansible : Le Guide Complet du DébutantAlphorm.com Formation Ansible : Le Guide Complet du Débutant
Alphorm.com Formation Ansible : Le Guide Complet du DébutantAlphorm
 
20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing systemLeClubQualiteLogicielle
 
Backday xebia - Chercher la performance efficacement
Backday xebia - Chercher la performance efficacement Backday xebia - Chercher la performance efficacement
Backday xebia - Chercher la performance efficacement Publicis Sapient Engineering
 
Installation d'openerp 6.1 rc1
Installation d'openerp 6.1 rc1Installation d'openerp 6.1 rc1
Installation d'openerp 6.1 rc1easyopenerp
 
Djangocong 2010 django-et_xmpp
Djangocong 2010 django-et_xmppDjangocong 2010 django-et_xmpp
Djangocong 2010 django-et_xmppJean-Michel ARMAND
 
Moussasambe projet de securite zabbix
Moussasambe projet de securite zabbixMoussasambe projet de securite zabbix
Moussasambe projet de securite zabbixmoussa sambe
 
Migration de Tomcat vers Vert.x
Migration de Tomcat vers Vert.xMigration de Tomcat vers Vert.x
Migration de Tomcat vers Vert.xFlorianBoulay
 
Développer et déployer une application php maintenable
Développer et déployer une application php maintenableDévelopper et déployer une application php maintenable
Développer et déployer une application php maintenableLeTesteur
 
Une application en deux heure - PHP Québec Janvier 2009
Une application en deux heure - PHP Québec Janvier 2009Une application en deux heure - PHP Québec Janvier 2009
Une application en deux heure - PHP Québec Janvier 2009Philippe Gamache
 

Mais procurados (18)

Upload - Download
Upload - DownloadUpload - Download
Upload - Download
 
Ting - Un datamapper PHP sous stéroïdes
Ting - Un datamapper PHP sous stéroïdesTing - Un datamapper PHP sous stéroïdes
Ting - Un datamapper PHP sous stéroïdes
 
wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3
 
eZ publish - Publication instantanée et fort trafic web
eZ publish - Publication instantanée et fort trafic webeZ publish - Publication instantanée et fort trafic web
eZ publish - Publication instantanée et fort trafic web
 
eZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductioneZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introduction
 
nouveautés du moteur Bonita 7.9
nouveautés du moteur Bonita 7.9nouveautés du moteur Bonita 7.9
nouveautés du moteur Bonita 7.9
 
Princesse CI au pays des tests
Princesse CI au pays des testsPrincesse CI au pays des tests
Princesse CI au pays des tests
 
Zabbix
ZabbixZabbix
Zabbix
 
Alphorm.com Formation Ansible : Le Guide Complet du Débutant
Alphorm.com Formation Ansible : Le Guide Complet du DébutantAlphorm.com Formation Ansible : Le Guide Complet du Débutant
Alphorm.com Formation Ansible : Le Guide Complet du Débutant
 
20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system
 
Backday xebia - Chercher la performance efficacement
Backday xebia - Chercher la performance efficacement Backday xebia - Chercher la performance efficacement
Backday xebia - Chercher la performance efficacement
 
APACHE HTTP
APACHE HTTPAPACHE HTTP
APACHE HTTP
 
Installation d'openerp 6.1 rc1
Installation d'openerp 6.1 rc1Installation d'openerp 6.1 rc1
Installation d'openerp 6.1 rc1
 
Djangocong 2010 django-et_xmpp
Djangocong 2010 django-et_xmppDjangocong 2010 django-et_xmpp
Djangocong 2010 django-et_xmpp
 
Moussasambe projet de securite zabbix
Moussasambe projet de securite zabbixMoussasambe projet de securite zabbix
Moussasambe projet de securite zabbix
 
Migration de Tomcat vers Vert.x
Migration de Tomcat vers Vert.xMigration de Tomcat vers Vert.x
Migration de Tomcat vers Vert.x
 
Développer et déployer une application php maintenable
Développer et déployer une application php maintenableDévelopper et déployer une application php maintenable
Développer et déployer une application php maintenable
 
Une application en deux heure - PHP Québec Janvier 2009
Une application en deux heure - PHP Québec Janvier 2009Une application en deux heure - PHP Québec Janvier 2009
Une application en deux heure - PHP Québec Janvier 2009
 

Destaque

Web 2.0 Conoce Y Aprende
Web 2.0 Conoce Y AprendeWeb 2.0 Conoce Y Aprende
Web 2.0 Conoce Y AprendeÁngel Millán
 
Periodismo y tecnología
Periodismo y tecnologíaPeriodismo y tecnología
Periodismo y tecnologíaItalo Daffra
 
Mission Ile Maurice Madag
Mission Ile Maurice MadagMission Ile Maurice Madag
Mission Ile Maurice MadagROBERT FRENKEL
 
Abri garage stockage en acier galva brut ou peint kit demontable france abris...
Abri garage stockage en acier galva brut ou peint kit demontable france abris...Abri garage stockage en acier galva brut ou peint kit demontable france abris...
Abri garage stockage en acier galva brut ou peint kit demontable france abris...FranceAbris
 
What's up Digital #14 - by ELAN
What's up Digital #14 - by ELANWhat's up Digital #14 - by ELAN
What's up Digital #14 - by ELANAgence Elan
 
Testimonio Del Sur Región de Aysén - Chile
Testimonio Del Sur Región de Aysén - ChileTestimonio Del Sur Región de Aysén - Chile
Testimonio Del Sur Región de Aysén - ChileEnrique Camus
 
Présentation de Vinternet et des services Wine Media Library et Vincod
Présentation de Vinternet et des services Wine Media Library et VincodPrésentation de Vinternet et des services Wine Media Library et Vincod
Présentation de Vinternet et des services Wine Media Library et VincodVinternet
 
TAREAS DE ESTUDIANTES4
TAREAS DE ESTUDIANTES4TAREAS DE ESTUDIANTES4
TAREAS DE ESTUDIANTES4Telmo Viteri
 
The clohe project presentation Español
The clohe project presentation EspañolThe clohe project presentation Español
The clohe project presentation EspañolJoel Josephson
 
Vivre Dans Sa Voiture
Vivre Dans Sa VoitureVivre Dans Sa Voiture
Vivre Dans Sa Voitureguest26a437
 
Presentation Ai3 Journée Web Agency
Presentation Ai3   Journée Web AgencyPresentation Ai3   Journée Web Agency
Presentation Ai3 Journée Web Agencyxavier.raymond
 
Esta tarde de Gregorio Luri por el grupo B de ESO
Esta tarde de Gregorio Luri por el grupo B de ESOEsta tarde de Gregorio Luri por el grupo B de ESO
Esta tarde de Gregorio Luri por el grupo B de ESOGabriela Zayas De Lille
 

Destaque (20)

Cat Land1b
Cat Land1bCat Land1b
Cat Land1b
 
Ref Works Ebsco
Ref Works EbscoRef Works Ebsco
Ref Works Ebsco
 
Investigación
InvestigaciónInvestigación
Investigación
 
Antesydespués
Antesydespués Antesydespués
Antesydespués
 
Web 2.0 Conoce Y Aprende
Web 2.0 Conoce Y AprendeWeb 2.0 Conoce Y Aprende
Web 2.0 Conoce Y Aprende
 
Red bull
Red bullRed bull
Red bull
 
Periodismo y tecnología
Periodismo y tecnologíaPeriodismo y tecnología
Periodismo y tecnología
 
Parcours PHOTO - Créer mes photos
Parcours PHOTO - Créer mes photosParcours PHOTO - Créer mes photos
Parcours PHOTO - Créer mes photos
 
Mission Ile Maurice Madag
Mission Ile Maurice MadagMission Ile Maurice Madag
Mission Ile Maurice Madag
 
Abri garage stockage en acier galva brut ou peint kit demontable france abris...
Abri garage stockage en acier galva brut ou peint kit demontable france abris...Abri garage stockage en acier galva brut ou peint kit demontable france abris...
Abri garage stockage en acier galva brut ou peint kit demontable france abris...
 
What's up Digital #14 - by ELAN
What's up Digital #14 - by ELANWhat's up Digital #14 - by ELAN
What's up Digital #14 - by ELAN
 
Testimonio Del Sur Región de Aysén - Chile
Testimonio Del Sur Región de Aysén - ChileTestimonio Del Sur Región de Aysén - Chile
Testimonio Del Sur Región de Aysén - Chile
 
Présentation de Vinternet et des services Wine Media Library et Vincod
Présentation de Vinternet et des services Wine Media Library et VincodPrésentation de Vinternet et des services Wine Media Library et Vincod
Présentation de Vinternet et des services Wine Media Library et Vincod
 
TAREAS DE ESTUDIANTES4
TAREAS DE ESTUDIANTES4TAREAS DE ESTUDIANTES4
TAREAS DE ESTUDIANTES4
 
Emma Hack
Emma HackEmma Hack
Emma Hack
 
The clohe project presentation Español
The clohe project presentation EspañolThe clohe project presentation Español
The clohe project presentation Español
 
Vivre Dans Sa Voiture
Vivre Dans Sa VoitureVivre Dans Sa Voiture
Vivre Dans Sa Voiture
 
Presentation Ai3 Journée Web Agency
Presentation Ai3   Journée Web AgencyPresentation Ai3   Journée Web Agency
Presentation Ai3 Journée Web Agency
 
Esta tarde de Gregorio Luri por el grupo B de ESO
Esta tarde de Gregorio Luri por el grupo B de ESOEsta tarde de Gregorio Luri por el grupo B de ESO
Esta tarde de Gregorio Luri por el grupo B de ESO
 
El halcon
El halconEl halcon
El halcon
 

Semelhante a FinistJUG - Apache TomEE

technologie web - part3
technologie web - part3technologie web - part3
technologie web - part3Benoît Simard
 
20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven developmentLeClubQualiteLogicielle
 
Play Framework
Play FrameworkPlay Framework
Play FrameworkArmaklan
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesChristophe Furmaniak
 
Run java vs ruby
Run java vs rubyRun java vs ruby
Run java vs rubypinguin666
 
Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Louis Jacomet
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur webNoël
 
A la queue leu leu
A la queue leu leuA la queue leu leu
A la queue leu leunautilebleu
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxAnisSalhi3
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfqsdqsd4
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent Biret
 
Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent Biret
 
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)Publicis Sapient Engineering
 
Techdays 2014 - Le fermier azure (2ème partie)
Techdays 2014 - Le fermier azure (2ème partie)Techdays 2014 - Le fermier azure (2ème partie)
Techdays 2014 - Le fermier azure (2ème partie)Jonathan Le Guellec
 
Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux Alphorm
 
Android distribution cyanogen mod _ guillaume lesniak, student at miage nancy
Android distribution   cyanogen mod _ guillaume lesniak, student at miage nancyAndroid distribution   cyanogen mod _ guillaume lesniak, student at miage nancy
Android distribution cyanogen mod _ guillaume lesniak, student at miage nancyParis Open Source Summit
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Microsoft
 

Semelhante a FinistJUG - Apache TomEE (20)

technologie web - part3
technologie web - part3technologie web - part3
technologie web - part3
 
Formation Google App Engine
Formation Google App EngineFormation Google App Engine
Formation Google App Engine
 
Octo Maven.pdf
Octo Maven.pdfOcto Maven.pdf
Octo Maven.pdf
 
20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development
 
Play Framework
Play FrameworkPlay Framework
Play Framework
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
Run java vs ruby
Run java vs rubyRun java vs ruby
Run java vs ruby
 
Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web
 
A la queue leu leu
A la queue leu leuA la queue leu leu
A la queue leu leu
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)
 
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
 
Techdays 2014 - Le fermier azure (2ème partie)
Techdays 2014 - Le fermier azure (2ème partie)Techdays 2014 - Le fermier azure (2ème partie)
Techdays 2014 - Le fermier azure (2ème partie)
 
Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux
 
Android distribution cyanogen mod _ guillaume lesniak, student at miage nancy
Android distribution   cyanogen mod _ guillaume lesniak, student at miage nancyAndroid distribution   cyanogen mod _ guillaume lesniak, student at miage nancy
Android distribution cyanogen mod _ guillaume lesniak, student at miage nancy
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1
 

Mais de Horacio Gonzalez

Il n'y a pas que Polymer dans la vie… - RennesJS - 2017-06-27
Il n'y a pas que Polymer dans la vie… - RennesJS - 2017-06-27Il n'y a pas que Polymer dans la vie… - RennesJS - 2017-06-27
Il n'y a pas que Polymer dans la vie… - RennesJS - 2017-06-27Horacio Gonzalez
 
But there is no web component for that - Web Components Remote Conference - 2...
But there is no web component for that - Web Components Remote Conference - 2...But there is no web component for that - Web Components Remote Conference - 2...
But there is no web component for that - Web Components Remote Conference - 2...Horacio Gonzalez
 
Mixité dans le monde des WebComponents - DevFest Toulouse - 2017-09-27
 Mixité dans le monde des WebComponents - DevFest Toulouse - 2017-09-27 Mixité dans le monde des WebComponents - DevFest Toulouse - 2017-09-27
Mixité dans le monde des WebComponents - DevFest Toulouse - 2017-09-27Horacio Gonzalez
 
ENIB 2016 2017 - CAI Web S02E01- Côté navigateur 2/3 - HTML5, CSS3, Twitter B...
ENIB 2016 2017 - CAI Web S02E01- Côté navigateur 2/3 - HTML5, CSS3, Twitter B...ENIB 2016 2017 - CAI Web S02E01- Côté navigateur 2/3 - HTML5, CSS3, Twitter B...
ENIB 2016 2017 - CAI Web S02E01- Côté navigateur 2/3 - HTML5, CSS3, Twitter B...Horacio Gonzalez
 
ENIB 2016 2017 - CAI Web S02E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JS
ENIB 2016 2017 - CAI Web S02E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JSENIB 2016 2017 - CAI Web S02E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JS
ENIB 2016 2017 - CAI Web S02E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JSHoracio Gonzalez
 
Battle of Frameworks: Polymer - Meetup Paris Web Components - 2016-09
Battle of Frameworks: Polymer - Meetup Paris Web Components - 2016-09Battle of Frameworks: Polymer - Meetup Paris Web Components - 2016-09
Battle of Frameworks: Polymer - Meetup Paris Web Components - 2016-09Horacio Gonzalez
 
Mixing Web Components - Best of Web Paris - 2016 06-09
Mixing Web Components - Best of Web Paris - 2016 06-09Mixing Web Components - Best of Web Paris - 2016 06-09
Mixing Web Components - Best of Web Paris - 2016 06-09Horacio Gonzalez
 
Polymer in the real life - Devoxx France - 2016 04-20
Polymer in the real life - Devoxx France - 2016 04-20Polymer in the real life - Devoxx France - 2016 04-20
Polymer in the real life - Devoxx France - 2016 04-20Horacio Gonzalez
 
Warp10: collect, store and manipulate sensor data - BreizhCamp - 2016 03-24
Warp10: collect, store and manipulate sensor data - BreizhCamp - 2016 03-24 Warp10: collect, store and manipulate sensor data - BreizhCamp - 2016 03-24
Warp10: collect, store and manipulate sensor data - BreizhCamp - 2016 03-24 Horacio Gonzalez
 
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScriptENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScriptHoracio Gonzalez
 
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...Horacio Gonzalez
 
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 2/3 - HTML5 / CSS3 / Twitter...
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 2/3 - HTML5 / CSS3 / Twitter...ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 2/3 - HTML5 / CSS3 / Twitter...
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 2/3 - HTML5 / CSS3 / Twitter...Horacio Gonzalez
 
ENIB 2015 2016 - CAI Web S02E03 - Forge JS 2/4 - MongoDB and NoSQL
ENIB 2015 2016 - CAI Web S02E03 - Forge JS 2/4 - MongoDB and NoSQLENIB 2015 2016 - CAI Web S02E03 - Forge JS 2/4 - MongoDB and NoSQL
ENIB 2015 2016 - CAI Web S02E03 - Forge JS 2/4 - MongoDB and NoSQLHoracio Gonzalez
 
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 1/3 - HTTP, HTML, CSS JS
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 1/3 - HTTP, HTML, CSS JSENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 1/3 - HTTP, HTML, CSS JS
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 1/3 - HTTP, HTML, CSS JSHoracio Gonzalez
 
ENIB 2015-2016 - CAI Web - S01E01- MongoDB and NoSQL
ENIB 2015-2016 - CAI Web - S01E01- MongoDB and NoSQLENIB 2015-2016 - CAI Web - S01E01- MongoDB and NoSQL
ENIB 2015-2016 - CAI Web - S01E01- MongoDB and NoSQLHoracio Gonzalez
 
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScript
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScriptENIB 2015-2016 - CAI Web - S01E01- La forge JavaScript
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScriptHoracio Gonzalez
 
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 2/3 - HTML5, CSS3, Twitte...
ENIB 2015-2016 - CAI Web -  S01E01- Côté navigateur 2/3 - HTML5, CSS3, Twitte...ENIB 2015-2016 - CAI Web -  S01E01- Côté navigateur 2/3 - HTML5, CSS3, Twitte...
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 2/3 - HTML5, CSS3, Twitte...Horacio Gonzalez
 
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JS
ENIB 2015-2016 - CAI Web -  S01E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JSENIB 2015-2016 - CAI Web -  S01E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JS
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JSHoracio Gonzalez
 
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...Horacio Gonzalez
 
Beyond Polymer - JUG Summer Camp - 2015-09-18
Beyond Polymer - JUG Summer Camp - 2015-09-18Beyond Polymer - JUG Summer Camp - 2015-09-18
Beyond Polymer - JUG Summer Camp - 2015-09-18Horacio Gonzalez
 

Mais de Horacio Gonzalez (20)

Il n'y a pas que Polymer dans la vie… - RennesJS - 2017-06-27
Il n'y a pas que Polymer dans la vie… - RennesJS - 2017-06-27Il n'y a pas que Polymer dans la vie… - RennesJS - 2017-06-27
Il n'y a pas que Polymer dans la vie… - RennesJS - 2017-06-27
 
But there is no web component for that - Web Components Remote Conference - 2...
But there is no web component for that - Web Components Remote Conference - 2...But there is no web component for that - Web Components Remote Conference - 2...
But there is no web component for that - Web Components Remote Conference - 2...
 
Mixité dans le monde des WebComponents - DevFest Toulouse - 2017-09-27
 Mixité dans le monde des WebComponents - DevFest Toulouse - 2017-09-27 Mixité dans le monde des WebComponents - DevFest Toulouse - 2017-09-27
Mixité dans le monde des WebComponents - DevFest Toulouse - 2017-09-27
 
ENIB 2016 2017 - CAI Web S02E01- Côté navigateur 2/3 - HTML5, CSS3, Twitter B...
ENIB 2016 2017 - CAI Web S02E01- Côté navigateur 2/3 - HTML5, CSS3, Twitter B...ENIB 2016 2017 - CAI Web S02E01- Côté navigateur 2/3 - HTML5, CSS3, Twitter B...
ENIB 2016 2017 - CAI Web S02E01- Côté navigateur 2/3 - HTML5, CSS3, Twitter B...
 
ENIB 2016 2017 - CAI Web S02E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JS
ENIB 2016 2017 - CAI Web S02E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JSENIB 2016 2017 - CAI Web S02E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JS
ENIB 2016 2017 - CAI Web S02E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JS
 
Battle of Frameworks: Polymer - Meetup Paris Web Components - 2016-09
Battle of Frameworks: Polymer - Meetup Paris Web Components - 2016-09Battle of Frameworks: Polymer - Meetup Paris Web Components - 2016-09
Battle of Frameworks: Polymer - Meetup Paris Web Components - 2016-09
 
Mixing Web Components - Best of Web Paris - 2016 06-09
Mixing Web Components - Best of Web Paris - 2016 06-09Mixing Web Components - Best of Web Paris - 2016 06-09
Mixing Web Components - Best of Web Paris - 2016 06-09
 
Polymer in the real life - Devoxx France - 2016 04-20
Polymer in the real life - Devoxx France - 2016 04-20Polymer in the real life - Devoxx France - 2016 04-20
Polymer in the real life - Devoxx France - 2016 04-20
 
Warp10: collect, store and manipulate sensor data - BreizhCamp - 2016 03-24
Warp10: collect, store and manipulate sensor data - BreizhCamp - 2016 03-24 Warp10: collect, store and manipulate sensor data - BreizhCamp - 2016 03-24
Warp10: collect, store and manipulate sensor data - BreizhCamp - 2016 03-24
 
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScriptENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
 
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...
 
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 2/3 - HTML5 / CSS3 / Twitter...
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 2/3 - HTML5 / CSS3 / Twitter...ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 2/3 - HTML5 / CSS3 / Twitter...
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 2/3 - HTML5 / CSS3 / Twitter...
 
ENIB 2015 2016 - CAI Web S02E03 - Forge JS 2/4 - MongoDB and NoSQL
ENIB 2015 2016 - CAI Web S02E03 - Forge JS 2/4 - MongoDB and NoSQLENIB 2015 2016 - CAI Web S02E03 - Forge JS 2/4 - MongoDB and NoSQL
ENIB 2015 2016 - CAI Web S02E03 - Forge JS 2/4 - MongoDB and NoSQL
 
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 1/3 - HTTP, HTML, CSS JS
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 1/3 - HTTP, HTML, CSS JSENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 1/3 - HTTP, HTML, CSS JS
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 1/3 - HTTP, HTML, CSS JS
 
ENIB 2015-2016 - CAI Web - S01E01- MongoDB and NoSQL
ENIB 2015-2016 - CAI Web - S01E01- MongoDB and NoSQLENIB 2015-2016 - CAI Web - S01E01- MongoDB and NoSQL
ENIB 2015-2016 - CAI Web - S01E01- MongoDB and NoSQL
 
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScript
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScriptENIB 2015-2016 - CAI Web - S01E01- La forge JavaScript
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScript
 
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 2/3 - HTML5, CSS3, Twitte...
ENIB 2015-2016 - CAI Web -  S01E01- Côté navigateur 2/3 - HTML5, CSS3, Twitte...ENIB 2015-2016 - CAI Web -  S01E01- Côté navigateur 2/3 - HTML5, CSS3, Twitte...
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 2/3 - HTML5, CSS3, Twitte...
 
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JS
ENIB 2015-2016 - CAI Web -  S01E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JSENIB 2015-2016 - CAI Web -  S01E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JS
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JS
 
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...
 
Beyond Polymer - JUG Summer Camp - 2015-09-18
Beyond Polymer - JUG Summer Camp - 2015-09-18Beyond Polymer - JUG Summer Camp - 2015-09-18
Beyond Polymer - JUG Summer Camp - 2015-09-18
 

FinistJUG - Apache TomEE

  • 1.
  • 2. 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
  • 3. 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
  • 5. 2011 JEE 6 Web Profile small Tomcat + « EE » certified Apache stack
  • 6. Le Web Profile, kézako ?
  • 7. Introduit en Java EE 6 Environ la moitié des specs Sans les reliques Mais parfois incomplet
  • 8. Apache TomEE distribs JAX-RS C Connectors JAX-WS X F
  • 9.
  • 11. 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
  • 12. Quel est son secret ?
  • 14. 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é)
  • 15. 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 
  • 16. Et le résultat est …
  • 17. Finement assemblé et intégré Maven Boot time! IDE Outillage Tomcat Simple Emprunte mémoire maitrisée Léger
  • 18. 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
  • 20.
  • 22. Démo (toujours des mots …) Le classique « hello world »
  • 23. 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
  • 25. 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
  • 26. 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
  • 31. On peut même mixer
  • 32. Ça donne quoi en vrai…
  • 34. 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
  • 35. And my web tests? - Simple HTTP connector for WS and EJBd - APP_NAME to simulate a servlet context
  • 36.
  • 37. 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
  • 39. JPA et les benchs
  • 41. … mais aussi beaucoup plus  List ejbs  Deploy/Undeploy an application  Manage Apache TomEE  Configtest  Start  Stop  Run
  • 42. Démo … De Maven à Arquillian
  • 43. Interagir en production Commandes  Deploy  Undeploy  List  Properties  Script (JSR 223)  Script file  Ls  Part  Help  Cat
  • 44. 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
  • 45. Et encore tellement de choses …
  • 46. 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
  • 48. Un bean, combien d’erreurs ?
  • 52. 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
  • 53. 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
  • 54. Dernière démo  La console SSH et le provisionning
  • 55. La démo dont vous êtes le héros ? C’est vous qui choisissez !
  • 56. 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