SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Apache TomEE
    Tomcat + Java EE



   Jacek Laskowski
        jacek@japila.pl
       @JacekLaskowski




                          wersja 1.0, 24.10.2012
About me
•   Java EE, OSGi and functional programming with Clojure, F# and Scala
    enthusiast

•   Founder and leader of Warszawa Java User Group

•   Javarsovia, Confitura, warsjawa conference team member

•   Blogger of http://JacekLaskowski.pl

•   Blogger of http://blog.japila.pl

•   @JacekLaskowski

•   Member of Apache Software Foundation

•   Apache OpenEJB and TomEE committer

•   Member of IBM Academy of Technology

•   IBMer in World-wide WebSphere Competitive Migration Team
                                                                     @jaceklaskowski
Thanks David Blevins and the
 Apache OpenEJB/TomEE
    team for the hard work.
        You really rock!


                       @JacekLaskowski
Apache Tomcat is an open source software
implementation of the Java Servlet and JavaServer
              Pages technologies.

                                 http://tomcat.apache.org




                                                            @JacekLaskowski
Java EE Web Profile (“Web Profile”) is a profile
 of the Java Platform, Enterprise Edition specifically
            targeted at web applications.

                       Java™ Platform, Enterprise Edition 6 (Java EE 6) Web Profile Specification, page 1




                                                                                          @JacekLaskowski
Java EE 6 Web Profile specs
•   Servlet 3.0                      •   Java Transaction API (JTA) 1.1

•   JavaServer Pages (JSP) 2.2       •   Java Persistence API (JPA) 2.0

•   Expression Language (EL) 2.2     •   Bean Validation 1.0

•   Debugging Support for Other      •   Managed Beans 1.0
    Languages (JSR-45) 1.0
                                     •   Interceptors 1.1
•   Standard Tag Library for
    JavaServer Pages (JSTL) 1.2      •   Contexts and Dependency
                                         Injection (CDI) for the Java EE
•   JavaServer Faces (JSF) 2.0           Platform 1.0

•   Common Annotations for the       •   Dependency Injection for Java 1.0
    Java Platform (JSR-250) 1.1

•   Enterprise JavaBeans (EJB) 3.1
    Lite

                                                               @JacekLaskowski
What’s TomEE?


   Apache TomEE, pronounced "Tommy", is an all-
  Apache Java EE 6 Web Profile certified stack where
 Tomcat is top dog. Apache TomEE is assembled from a
  vanilla Apache Tomcat zip file.We start with Tomcat,
  add our jars and zip up the rest.The result is Tomcat
            with added EE features - TomEE.
                                   http://tomee.apache.org/index.html




                                                                @JacekLaskowski
Core values of TomEE




                       @JacekLaskowski
Core values of TomEE


           Be small



                       @JacekLaskowski
Core values of TomEE


          Be small
         Be Tomcat


                       @JacekLaskowski
Core values of TomEE


         Be small
        Be Tomcat
        Be certified

                       @JacekLaskowski
How much Tomcat changed?




                           @JacekLaskowski
Files modified - conf/server.xml




                                  @JacekLaskowski
Files modified - conf/tomcat-users.xml




                                @JacekLaskowski
Files modified - conf/tomcat-users.xml




   As a matter of fact, the change is only needed for
        webapps/tomee and hence optional


                                                 @JacekLaskowski
Files modified - conf/tomcat-users.xml




                                @JacekLaskowski
Files modified - conf/tomcat-users.xml




 As a matter of fact, the change is only needed if using
OpenJPA or EclipseLink with no build-time enhancements
                 and hence optional
                                                @JacekLaskowski
Files modified - bin/setclasspath.sh




                                @JacekLaskowski
Files modified - bin/setclasspath.sh




    As a matter of fact, the directory doesn’t exist
          whatsoever and is optional, too
                                                 @JacekLaskowski
Files removed
•   lib/annotations-api.jar

    •   non-compliant, replaced by endorsed/annotations-api.jar

•   lib/el-api.jar

    •   not needed, replaced by lib/javaee-api.jar

•   webapps/examples/

    •   whim, could have easily been left there




                                                                  @JacekLaskowski
TomEE releases
•   1.0.0 Beta 1            •   1.5.0

    •   JavaOne 2011            •   October 2012

    •   Entering the show       •   Lots and lots of conferences:
                                    JavaOne, JDD, JavaDay (UA),
•   1.0.0 Beta 2                    TopConf, JavaDay (LV)
    •   January 2012

    •   Closing gaps

•   1.0.0 Final

    •   April 2012

    •   Nailed it

    •   Flood of feedback

                                                       @jaceklaskowski
Apache TomEE 1.0 Final Released!




https://blogs.apache.org/openejb/entry/apache_tomee_1_0_final

                                                               @JacekLaskowski
Projects involved




             Apache TomEE




                            @JacekLaskowski
@JacekLaskowski
TomEE works with Tomcat tools
•   Tomcat support and hence TomEE

    •   NetBeans IDE and Eclipse IDE

•   IntelliJ IDEA

    •   http://confluence.jetbrains.net/display/IDEADEV/IDEA+12+EAP - TomEE
        server intergation in Major changes in IntelliJ Idea 12

•   YourKit, JRebel, NewRelic, etc...

•   TomEE Maven Plugin




                                                                 @JacekLaskowski
TomEE’s already available


     Think, how long
     you’d be doing
  the integration work.

                            @JacekLaskowski
Website Traffic




                 @JacekLaskowski
Demos (TomEE+)
•   Servlet 3.0 with @WebServlet (and no web.xml)

•   EJB 3.1 with @Stateless + @LocalBean + @EJB

•   JAX-WS 2.0 with @WebService

•   JAX-RS 1.0 with @Path + @GET

•   CDI 1.0 with POJO + @Inject

•   JSF 2.0 with @ManagedBean

•   @Resource with a resource defined in Tomcat’s server.xml

•   JPA 2.0 with MySQL and the samples in NetBeans IDE

    •   Web JPA (Java EE 6)

•   Monitoring with JConsole

    •   Start TomEE outside NetBeans IDE
                                                              @JacekLaskowski
Questions?




@JacekLaskowski
 http://blog.japila.pl

Contenu connexe

Tendances

Tomcat Clustering
Tomcat ClusteringTomcat Clustering
Tomcat Clustering
gouthamrv
 
Integrating tomcat with apache
Integrating tomcat with apacheIntegrating tomcat with apache
Integrating tomcat with apache
govindraj8787
 
Tomcat New Evolution
Tomcat New EvolutionTomcat New Evolution
Tomcat New Evolution
Allan Huang
 
ZK_Arch_notes_20081121
ZK_Arch_notes_20081121ZK_Arch_notes_20081121
ZK_Arch_notes_20081121
WANGCHOU LU
 

Tendances (20)

Apache tomcat
Apache tomcatApache tomcat
Apache tomcat
 
Tomcat
TomcatTomcat
Tomcat
 
Web container and Apache Tomcat
Web container and Apache TomcatWeb container and Apache Tomcat
Web container and Apache Tomcat
 
Tomcat and apache httpd training
Tomcat and apache httpd trainingTomcat and apache httpd training
Tomcat and apache httpd training
 
Tomcat configuration
Tomcat configurationTomcat configuration
Tomcat configuration
 
Introduction of Tomcat
Introduction of TomcatIntroduction of Tomcat
Introduction of Tomcat
 
Tomcat Optimisation & Performance Tuning
Tomcat Optimisation & Performance TuningTomcat Optimisation & Performance Tuning
Tomcat Optimisation & Performance Tuning
 
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan GallimoreJava EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
 
Tomcat Clustering
Tomcat ClusteringTomcat Clustering
Tomcat Clustering
 
Java EE 7, what's in it for me?
Java EE 7, what's in it for me?Java EE 7, what's in it for me?
Java EE 7, what's in it for me?
 
Tomcat Server
Tomcat ServerTomcat Server
Tomcat Server
 
Apache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip HanikApache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip Hanik
 
Integrating tomcat with apache
Integrating tomcat with apacheIntegrating tomcat with apache
Integrating tomcat with apache
 
Apache TomEE, Java EE 6 Web Profile {and more} on Tomcat
Apache TomEE, Java EE 6 Web Profile {and more} on TomcatApache TomEE, Java EE 6 Web Profile {and more} on Tomcat
Apache TomEE, Java EE 6 Web Profile {and more} on Tomcat
 
Tomcat New Evolution
Tomcat New EvolutionTomcat New Evolution
Tomcat New Evolution
 
Tomcat tutorail
Tomcat tutorailTomcat tutorail
Tomcat tutorail
 
Creating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with VagrantCreating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with Vagrant
 
ZK_Arch_notes_20081121
ZK_Arch_notes_20081121ZK_Arch_notes_20081121
ZK_Arch_notes_20081121
 
Installing and Upgrading AtoM
Installing and Upgrading AtoMInstalling and Upgrading AtoM
Installing and Upgrading AtoM
 
AtoM's Command Line Tasks - An Introduction
AtoM's Command Line Tasks - An IntroductionAtoM's Command Line Tasks - An Introduction
AtoM's Command Line Tasks - An Introduction
 

En vedette

1 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_11 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_1
josezapana
 
Servlets exposicion
Servlets exposicionServlets exposicion
Servlets exposicion
Flashnet S.A
 
Arquitectura tres capas
Arquitectura tres capasArquitectura tres capas
Arquitectura tres capas
Jenny Gonzalez
 

En vedette (20)

JavaOne 2013 - Apache TomEE, Java EE Web Profile {and more} on Tomcat
JavaOne 2013 - Apache TomEE, Java EE Web Profile {and more} on TomcatJavaOne 2013 - Apache TomEE, Java EE Web Profile {and more} on Tomcat
JavaOne 2013 - Apache TomEE, Java EE Web Profile {and more} on Tomcat
 
Sesion05
Sesion05Sesion05
Sesion05
 
Modulo 1 java ee platform
Modulo 1   java ee platformModulo 1   java ee platform
Modulo 1 java ee platform
 
Introducción a java EE 7
Introducción a java EE 7Introducción a java EE 7
Introducción a java EE 7
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
 
Arquitectura software.taxonomias.definiciones.001
Arquitectura software.taxonomias.definiciones.001Arquitectura software.taxonomias.definiciones.001
Arquitectura software.taxonomias.definiciones.001
 
JAVA 2 EE
JAVA 2 EEJAVA 2 EE
JAVA 2 EE
 
Innovaciones tecnológicas
Innovaciones tecnológicasInnovaciones tecnológicas
Innovaciones tecnológicas
 
1 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_11 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_1
 
html5 and css3
html5 and css3html5 and css3
html5 and css3
 
Sesion 01 - Introduccion a Net Framework
Sesion 01 - Introduccion a Net FrameworkSesion 01 - Introduccion a Net Framework
Sesion 01 - Introduccion a Net Framework
 
Servlets exposicion
Servlets exposicionServlets exposicion
Servlets exposicion
 
Jsp(java server pages)
Jsp(java server pages)Jsp(java server pages)
Jsp(java server pages)
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
 
Lenguaje de Programación Ruby
Lenguaje de Programación RubyLenguaje de Programación Ruby
Lenguaje de Programación Ruby
 
XML
XMLXML
XML
 
Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrollo
 
Rapport Stage Ouvrier - Application J2EE - Haroun SMIDA
Rapport Stage Ouvrier - Application J2EE - Haroun SMIDARapport Stage Ouvrier - Application J2EE - Haroun SMIDA
Rapport Stage Ouvrier - Application J2EE - Haroun SMIDA
 
Base datos
Base datosBase datos
Base datos
 
Arquitectura tres capas
Arquitectura tres capasArquitectura tres capas
Arquitectura tres capas
 

Similaire à Apache Tomcat + Java EE = Apache TomEE

Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.pptLecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
KalsoomTahir2
 
Lecture 19 dynamic web - java - part 1
Lecture 19   dynamic web - java - part 1Lecture 19   dynamic web - java - part 1
Lecture 19 dynamic web - java - part 1
Д. Ганаа
 
Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011
Agora Group
 

Similaire à Apache Tomcat + Java EE = Apache TomEE (20)

Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.pptLecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
 
Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014
 
EE4J: Java EE & Jakarta EE JFR & JMC
EE4J: Java EE & Jakarta EE  JFR & JMCEE4J: Java EE & Jakarta EE  JFR & JMC
EE4J: Java EE & Jakarta EE JFR & JMC
 
The Evolution of Java
The Evolution of JavaThe Evolution of Java
The Evolution of Java
 
Java EE 6 & GlassFish v3: Paving the path for the future - Spark IT 2010
Java EE 6 & GlassFish v3: Paving the path for the future - Spark IT 2010Java EE 6 & GlassFish v3: Paving the path for the future - Spark IT 2010
Java EE 6 & GlassFish v3: Paving the path for the future - Spark IT 2010
 
JavaEE 6 tools coverage
JavaEE 6 tools coverageJavaEE 6 tools coverage
JavaEE 6 tools coverage
 
Basic method for Java EE Web Profile
Basic method for Java EE Web ProfileBasic method for Java EE Web Profile
Basic method for Java EE Web Profile
 
Setting up a free open source java e-commerce website
Setting up a free open source java e-commerce websiteSetting up a free open source java e-commerce website
Setting up a free open source java e-commerce website
 
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
 
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUGJava EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
 
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionJava EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
 
Java EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerJava EE 6 = Less Code + More Power
Java EE 6 = Less Code + More Power
 
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
 
Lecture 19 dynamic web - java - part 1
Lecture 19   dynamic web - java - part 1Lecture 19   dynamic web - java - part 1
Lecture 19 dynamic web - java - part 1
 
Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011
 
GlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and FutureGlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and Future
 
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
 
Bootstrapping a simple enterprise application with Java EE successor, Jakarta...
Bootstrapping a simple enterprise application with Java EE successor, Jakarta...Bootstrapping a simple enterprise application with Java EE successor, Jakarta...
Bootstrapping a simple enterprise application with Java EE successor, Jakarta...
 
Java part 3
Java part  3Java part  3
Java part 3
 

Plus de Jacek Laskowski

Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...
Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...
Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...
Jacek Laskowski
 

Plus de Jacek Laskowski (11)

 Kafka Streams VS Spark Structured Streaming - Modern Stream Processing Engin...
 Kafka Streams VS Spark Structured Streaming - Modern Stream Processing Engin... Kafka Streams VS Spark Structured Streaming - Modern Stream Processing Engin...
 Kafka Streams VS Spark Structured Streaming - Modern Stream Processing Engin...
 
Opening slides to Warsaw Scala FortyFives on Testing tools
Opening slides to Warsaw Scala FortyFives on Testing toolsOpening slides to Warsaw Scala FortyFives on Testing tools
Opening slides to Warsaw Scala FortyFives on Testing tools
 
#Be #social #FTW aka Your #Professional #Development with #StackOverflow #Git...
#Be #social #FTW aka Your #Professional #Development with #StackOverflow #Git...#Be #social #FTW aka Your #Professional #Development with #StackOverflow #Git...
#Be #social #FTW aka Your #Professional #Development with #StackOverflow #Git...
 
StackOverflow, GitHub, twitter, reddit i Twój profesjonalny rozwój
StackOverflow, GitHub, twitter, reddit i Twój profesjonalny rozwójStackOverflow, GitHub, twitter, reddit i Twój profesjonalny rozwój
StackOverflow, GitHub, twitter, reddit i Twój profesjonalny rozwój
 
Introduction to Web Application Development in Clojure
Introduction to Web Application Development in ClojureIntroduction to Web Application Development in Clojure
Introduction to Web Application Development in Clojure
 
Introduction to Functional Programming in Scala
Introduction to Functional Programming in ScalaIntroduction to Functional Programming in Scala
Introduction to Functional Programming in Scala
 
Moje pierwsze kroki w programowaniu funkcyjnym w Scali
Moje pierwsze kroki w programowaniu funkcyjnym w ScaliMoje pierwsze kroki w programowaniu funkcyjnym w Scali
Moje pierwsze kroki w programowaniu funkcyjnym w Scali
 
Functional web development with Git(Hub), Heroku and Clojure
Functional web development with Git(Hub), Heroku and ClojureFunctional web development with Git(Hub), Heroku and Clojure
Functional web development with Git(Hub), Heroku and Clojure
 
Praktyczne wprowadzenie do OSGi i Enterprise OSGi
Praktyczne wprowadzenie do OSGi i Enterprise OSGiPraktyczne wprowadzenie do OSGi i Enterprise OSGi
Praktyczne wprowadzenie do OSGi i Enterprise OSGi
 
Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...
Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...
Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...
 
(map Clojure everyday-tasks)
(map Clojure everyday-tasks)(map Clojure everyday-tasks)
(map Clojure everyday-tasks)
 

Dernier

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Dernier (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Apache Tomcat + Java EE = Apache TomEE

  • 1. Apache TomEE Tomcat + Java EE Jacek Laskowski jacek@japila.pl @JacekLaskowski wersja 1.0, 24.10.2012
  • 2. About me • Java EE, OSGi and functional programming with Clojure, F# and Scala enthusiast • Founder and leader of Warszawa Java User Group • Javarsovia, Confitura, warsjawa conference team member • Blogger of http://JacekLaskowski.pl • Blogger of http://blog.japila.pl • @JacekLaskowski • Member of Apache Software Foundation • Apache OpenEJB and TomEE committer • Member of IBM Academy of Technology • IBMer in World-wide WebSphere Competitive Migration Team @jaceklaskowski
  • 3. Thanks David Blevins and the Apache OpenEJB/TomEE team for the hard work. You really rock! @JacekLaskowski
  • 4. Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies. http://tomcat.apache.org @JacekLaskowski
  • 5. Java EE Web Profile (“Web Profile”) is a profile of the Java Platform, Enterprise Edition specifically targeted at web applications. Java™ Platform, Enterprise Edition 6 (Java EE 6) Web Profile Specification, page 1 @JacekLaskowski
  • 6. Java EE 6 Web Profile specs • Servlet 3.0 • Java Transaction API (JTA) 1.1 • JavaServer Pages (JSP) 2.2 • Java Persistence API (JPA) 2.0 • Expression Language (EL) 2.2 • Bean Validation 1.0 • Debugging Support for Other • Managed Beans 1.0 Languages (JSR-45) 1.0 • Interceptors 1.1 • Standard Tag Library for JavaServer Pages (JSTL) 1.2 • Contexts and Dependency Injection (CDI) for the Java EE • JavaServer Faces (JSF) 2.0 Platform 1.0 • Common Annotations for the • Dependency Injection for Java 1.0 Java Platform (JSR-250) 1.1 • Enterprise JavaBeans (EJB) 3.1 Lite @JacekLaskowski
  • 7. What’s TomEE? Apache TomEE, pronounced "Tommy", is an all- Apache Java EE 6 Web Profile certified stack where Tomcat is top dog. Apache TomEE is assembled from a vanilla Apache Tomcat zip file.We start with Tomcat, add our jars and zip up the rest.The result is Tomcat with added EE features - TomEE. http://tomee.apache.org/index.html @JacekLaskowski
  • 8. Core values of TomEE @JacekLaskowski
  • 9. Core values of TomEE Be small @JacekLaskowski
  • 10. Core values of TomEE Be small Be Tomcat @JacekLaskowski
  • 11. Core values of TomEE Be small Be Tomcat Be certified @JacekLaskowski
  • 12. How much Tomcat changed? @JacekLaskowski
  • 13. Files modified - conf/server.xml @JacekLaskowski
  • 14. Files modified - conf/tomcat-users.xml @JacekLaskowski
  • 15. Files modified - conf/tomcat-users.xml As a matter of fact, the change is only needed for webapps/tomee and hence optional @JacekLaskowski
  • 16. Files modified - conf/tomcat-users.xml @JacekLaskowski
  • 17. Files modified - conf/tomcat-users.xml As a matter of fact, the change is only needed if using OpenJPA or EclipseLink with no build-time enhancements and hence optional @JacekLaskowski
  • 18. Files modified - bin/setclasspath.sh @JacekLaskowski
  • 19. Files modified - bin/setclasspath.sh As a matter of fact, the directory doesn’t exist whatsoever and is optional, too @JacekLaskowski
  • 20. Files removed • lib/annotations-api.jar • non-compliant, replaced by endorsed/annotations-api.jar • lib/el-api.jar • not needed, replaced by lib/javaee-api.jar • webapps/examples/ • whim, could have easily been left there @JacekLaskowski
  • 21. TomEE releases • 1.0.0 Beta 1 • 1.5.0 • JavaOne 2011 • October 2012 • Entering the show • Lots and lots of conferences: JavaOne, JDD, JavaDay (UA), • 1.0.0 Beta 2 TopConf, JavaDay (LV) • January 2012 • Closing gaps • 1.0.0 Final • April 2012 • Nailed it • Flood of feedback @jaceklaskowski
  • 22. Apache TomEE 1.0 Final Released! https://blogs.apache.org/openejb/entry/apache_tomee_1_0_final @JacekLaskowski
  • 23. Projects involved Apache TomEE @JacekLaskowski
  • 25. TomEE works with Tomcat tools • Tomcat support and hence TomEE • NetBeans IDE and Eclipse IDE • IntelliJ IDEA • http://confluence.jetbrains.net/display/IDEADEV/IDEA+12+EAP - TomEE server intergation in Major changes in IntelliJ Idea 12 • YourKit, JRebel, NewRelic, etc... • TomEE Maven Plugin @JacekLaskowski
  • 26. TomEE’s already available Think, how long you’d be doing the integration work. @JacekLaskowski
  • 27. Website Traffic @JacekLaskowski
  • 28. Demos (TomEE+) • Servlet 3.0 with @WebServlet (and no web.xml) • EJB 3.1 with @Stateless + @LocalBean + @EJB • JAX-WS 2.0 with @WebService • JAX-RS 1.0 with @Path + @GET • CDI 1.0 with POJO + @Inject • JSF 2.0 with @ManagedBean • @Resource with a resource defined in Tomcat’s server.xml • JPA 2.0 with MySQL and the samples in NetBeans IDE • Web JPA (Java EE 6) • Monitoring with JConsole • Start TomEE outside NetBeans IDE @JacekLaskowski