SlideShare a Scribd company logo
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
Ad

Recommended

Apache TomEE - Tomcat with a kick
Apache TomEE - Tomcat with a kick
Vishwanath Krishnamurthi
 
Tomcat Configuration (1)
Tomcat Configuration (1)
nazeer pasha
 
Tomcat server
Tomcat server
Utkarsh Agarwal
 
Auxiliary : Tomcat
Auxiliary : Tomcat
webhostingguy
 
Apache Tomcat 8 Application Server
Apache Tomcat 8 Application Server
mohamedmoharam
 
Tomcat next
Tomcat next
Jean-Frederic Clere
 
Introduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 Presentation
Tomcat Expert
 
Hacking Tomcat
Hacking Tomcat
guestc27cd9
 
Apache tomcat
Apache tomcat
Shashwat Shriparv
 
Tomcat
Tomcat
Venkat Pinagadi
 
Web container and Apache Tomcat
Web container and Apache Tomcat
Auwal Amshi
 
Tomcat and apache httpd training
Tomcat and apache httpd training
Franck SIMON
 
Tomcat configuration
Tomcat configuration
Dima Gomaa
 
Introduction of Tomcat
Introduction of Tomcat
Debashis Nath
 
Tomcat Optimisation & Performance Tuning
Tomcat Optimisation & Performance Tuning
lovingprince58
 
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
JAX London
 
Tomcat Clustering
Tomcat Clustering
gouthamrv
 
Java EE 7, what's in it for me?
Java EE 7, what's in it for me?
Alex Soto
 
Tomcat Server
Tomcat Server
Anirban Majumdar
 
Apache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip Hanik
Edgar Espina
 
Integrating tomcat with apache
Integrating tomcat with apache
govindraj8787
 
Apache TomEE, Java EE 6 Web Profile {and more} on Tomcat
Apache TomEE, Java EE 6 Web Profile {and more} on Tomcat
Tomitribe
 
Tomcat New Evolution
Tomcat New Evolution
Allan Huang
 
Tomcat tutorail
Tomcat tutorail
Supratim Ray
 
Creating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with Vagrant
Artefactual Systems - AtoM
 
ZK_Arch_notes_20081121
ZK_Arch_notes_20081121
WANGCHOU LU
 
Installing and Upgrading AtoM
Installing and Upgrading AtoM
Artefactual Systems - AtoM
 
AtoM's Command Line Tasks - An Introduction
AtoM's Command Line Tasks - An Introduction
Artefactual Systems - AtoM
 
JavaOne 2013 - Apache TomEE, Java EE Web Profile {and more} on Tomcat
JavaOne 2013 - Apache TomEE, Java EE Web Profile {and more} on Tomcat
David Blevins
 
Sesion05
Sesion05
verito1234567
 

More Related Content

What's hot (20)

Apache tomcat
Apache tomcat
Shashwat Shriparv
 
Tomcat
Tomcat
Venkat Pinagadi
 
Web container and Apache Tomcat
Web container and Apache Tomcat
Auwal Amshi
 
Tomcat and apache httpd training
Tomcat and apache httpd training
Franck SIMON
 
Tomcat configuration
Tomcat configuration
Dima Gomaa
 
Introduction of Tomcat
Introduction of Tomcat
Debashis Nath
 
Tomcat Optimisation & Performance Tuning
Tomcat Optimisation & Performance Tuning
lovingprince58
 
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
JAX London
 
Tomcat Clustering
Tomcat Clustering
gouthamrv
 
Java EE 7, what's in it for me?
Java EE 7, what's in it for me?
Alex Soto
 
Tomcat Server
Tomcat Server
Anirban Majumdar
 
Apache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip Hanik
Edgar Espina
 
Integrating tomcat with apache
Integrating tomcat with apache
govindraj8787
 
Apache TomEE, Java EE 6 Web Profile {and more} on Tomcat
Apache TomEE, Java EE 6 Web Profile {and more} on Tomcat
Tomitribe
 
Tomcat New Evolution
Tomcat New Evolution
Allan Huang
 
Tomcat tutorail
Tomcat tutorail
Supratim Ray
 
Creating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with Vagrant
Artefactual Systems - AtoM
 
ZK_Arch_notes_20081121
ZK_Arch_notes_20081121
WANGCHOU LU
 
Installing and Upgrading AtoM
Installing and Upgrading AtoM
Artefactual Systems - AtoM
 
AtoM's Command Line Tasks - An Introduction
AtoM's Command Line Tasks - An Introduction
Artefactual Systems - AtoM
 
Web container and Apache Tomcat
Web container and Apache Tomcat
Auwal Amshi
 
Tomcat and apache httpd training
Tomcat and apache httpd training
Franck SIMON
 
Tomcat configuration
Tomcat configuration
Dima Gomaa
 
Introduction of Tomcat
Introduction of Tomcat
Debashis Nath
 
Tomcat Optimisation & Performance Tuning
Tomcat Optimisation & Performance Tuning
lovingprince58
 
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
JAX London
 
Tomcat Clustering
Tomcat Clustering
gouthamrv
 
Java EE 7, what's in it for me?
Java EE 7, what's in it for me?
Alex Soto
 
Apache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip Hanik
Edgar Espina
 
Integrating tomcat with apache
Integrating tomcat with apache
govindraj8787
 
Apache TomEE, Java EE 6 Web Profile {and more} on Tomcat
Apache TomEE, Java EE 6 Web Profile {and more} on Tomcat
Tomitribe
 
Tomcat New Evolution
Tomcat New Evolution
Allan Huang
 
Creating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with Vagrant
Artefactual Systems - AtoM
 
ZK_Arch_notes_20081121
ZK_Arch_notes_20081121
WANGCHOU LU
 

Viewers also liked (20)

JavaOne 2013 - Apache TomEE, Java EE Web Profile {and more} on Tomcat
JavaOne 2013 - Apache TomEE, Java EE Web Profile {and more} on Tomcat
David Blevins
 
Sesion05
Sesion05
verito1234567
 
Modulo 1 java ee platform
Modulo 1 java ee platform
Roberto Marchena
 
Introducción a java EE 7
Introducción a java EE 7
Carlos Camacho
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
Fernando Montaño
 
Arquitectura software.taxonomias.definiciones.001
Arquitectura software.taxonomias.definiciones.001
Jose Emilio Labra Gayo
 
JAVA 2 EE
JAVA 2 EE
Fundación Proydesa
 
Innovaciones tecnológicas
Innovaciones tecnológicas
alejandrapaez1102
 
1 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_1
josezapana
 
html5 and css3
html5 and css3
Menassel Yahia
 
Sesion 01 - Introduccion a Net Framework
Sesion 01 - Introduccion a Net Framework
eriveraa
 
Servlets exposicion
Servlets exposicion
Flashnet S.A
 
Jsp(java server pages)
Jsp(java server pages)
diegob1098
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado 5 Ejb
Emilio Aviles Avila
 
Lenguaje de Programación Ruby
Lenguaje de Programación Ruby
Alexander Echeverría
 
XML
XML
Yesith Valencia
 
Java lenguaje de desarrollo
Java lenguaje de desarrollo
David
 
Rapport Stage Ouvrier - Application J2EE - Haroun SMIDA
Rapport Stage Ouvrier - Application J2EE - Haroun SMIDA
Haroun SMIDA
 
Base datos
Base datos
Yesith Valencia
 
Arquitectura tres capas
Arquitectura tres capas
Jenny Gonzalez
 
JavaOne 2013 - Apache TomEE, Java EE Web Profile {and more} on Tomcat
JavaOne 2013 - Apache TomEE, Java EE Web Profile {and more} on Tomcat
David Blevins
 
Introducción a java EE 7
Introducción a java EE 7
Carlos Camacho
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
Fernando Montaño
 
Arquitectura software.taxonomias.definiciones.001
Arquitectura software.taxonomias.definiciones.001
Jose Emilio Labra Gayo
 
1 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_1
josezapana
 
Sesion 01 - Introduccion a Net Framework
Sesion 01 - Introduccion a Net Framework
eriveraa
 
Servlets exposicion
Servlets exposicion
Flashnet S.A
 
Jsp(java server pages)
Jsp(java server pages)
diegob1098
 
Java lenguaje de desarrollo
Java lenguaje de desarrollo
David
 
Rapport Stage Ouvrier - Application J2EE - Haroun SMIDA
Rapport Stage Ouvrier - Application J2EE - Haroun SMIDA
Haroun SMIDA
 
Arquitectura tres capas
Arquitectura tres capas
Jenny Gonzalez
 
Ad

Similar to Apache Tomcat + Java EE = Apache TomEE (20)

Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
KalsoomTahir2
 
Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014
Arun Gupta
 
EE4J: Java EE & Jakarta EE JFR & JMC
EE4J: Java EE & Jakarta EE JFR & JMC
M. Fevzi Korkutata
 
The Evolution of Java
The Evolution of Java
Fu Cheng
 
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 2010
Arun Gupta
 
JavaEE 6 tools coverage
JavaEE 6 tools coverage
Ludovic Champenois
 
Basic method for Java EE Web Profile
Basic method for Java EE Web Profile
Kenji HASUNUMA
 
Setting up a free open source java e-commerce website
Setting up a free open source java e-commerce website
Csaba Toth
 
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
Arun Gupta
 
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Arun Gupta
 
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Arun Gupta
 
Java EE 6 = Less Code + More Power
Java EE 6 = Less Code + More Power
Arun Gupta
 
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Skills Matter
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Arun Gupta
 
Lecture 19 dynamic web - java - part 1
Lecture 19 dynamic web - java - part 1
Д. Ганаа
 
Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011
Agora Group
 
GlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and Future
Alexis Moussine-Pouchkine
 
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
WO Community
 
Bootstrapping a simple enterprise application with Java EE successor, Jakarta...
Bootstrapping a simple enterprise application with Java EE successor, Jakarta...
Buhake Sindi
 
Java part 3
Java part 3
ACCESS Health Digital
 
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
KalsoomTahir2
 
Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014
Arun Gupta
 
EE4J: Java EE & Jakarta EE JFR & JMC
EE4J: Java EE & Jakarta EE JFR & JMC
M. Fevzi Korkutata
 
The Evolution of Java
The Evolution of Java
Fu Cheng
 
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 2010
Arun Gupta
 
Basic method for Java EE Web Profile
Basic method for Java EE Web Profile
Kenji HASUNUMA
 
Setting up a free open source java e-commerce website
Setting up a free open source java e-commerce website
Csaba Toth
 
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
Arun Gupta
 
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Arun Gupta
 
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Arun Gupta
 
Java EE 6 = Less Code + More Power
Java EE 6 = Less Code + More Power
Arun Gupta
 
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Skills Matter
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Arun Gupta
 
Lecture 19 dynamic web - java - part 1
Lecture 19 dynamic web - java - part 1
Д. Ганаа
 
Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011
Agora Group
 
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
WO Community
 
Bootstrapping a simple enterprise application with Java EE successor, Jakarta...
Bootstrapping a simple enterprise application with Java EE successor, Jakarta...
Buhake Sindi
 
Ad

More from Jacek Laskowski (11)

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

Recently uploaded (20)

Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Agentic AI for Developers and Data Scientists Build an AI Agent in 10 Lines o...
Agentic AI for Developers and Data Scientists Build an AI Agent in 10 Lines o...
All Things Open
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
Mastering AI Workflows with FME by Mark Döring
Mastering AI Workflows with FME by Mark Döring
Safe Software
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
Daily Lesson Log MATATAG ICT TEchnology 8
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Agentic AI for Developers and Data Scientists Build an AI Agent in 10 Lines o...
Agentic AI for Developers and Data Scientists Build an AI Agent in 10 Lines o...
All Things Open
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
Mastering AI Workflows with FME by Mark Döring
Mastering AI Workflows with FME by Mark Döring
Safe Software
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
Daily Lesson Log MATATAG ICT TEchnology 8
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 

Apache Tomcat + Java EE = Apache TomEE

  • 1. Apache TomEE Tomcat + Java EE Jacek Laskowski [email protected] @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