SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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)
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

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