apache tomcat + java ee = apache tomee

29
Apache TomEE Tomcat + Java EE Jacek Laskowski wersja 1.0, 24.10.2012 [email protected] @JacekLaskowski

Upload: jacek-laskowski

Post on 14-May-2015

9.558 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Apache Tomcat + Java EE = Apache TomEE

Apache TomEETomcat + Java EE

Jacek Laskowski

wersja 1.0, 24.10.2012

[email protected]

@JacekLaskowski

Page 2: Apache Tomcat + Java EE = Apache TomEE

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

Page 3: Apache Tomcat + Java EE = Apache TomEE

@JacekLaskowski

Thanks David Blevins and the Apache OpenEJB/TomEE

team for the hard work. You really rock!

Page 4: Apache Tomcat + Java EE = Apache TomEE

@JacekLaskowski

Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer

Pages technologies.

http://tomcat.apache.org

Page 5: Apache Tomcat + Java EE = Apache TomEE

@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

Page 6: Apache Tomcat + Java EE = Apache TomEE

Java EE 6 Web Profile specs• Servlet 3.0

• JavaServer Pages (JSP) 2.2

• Expression Language (EL) 2.2

• Debugging Support for Other Languages (JSR-45) 1.0

• Standard Tag Library for JavaServer Pages (JSTL) 1.2

• JavaServer Faces (JSF) 2.0

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

• Enterprise JavaBeans (EJB) 3.1 Lite

• Java Transaction API (JTA) 1.1

• Java Persistence API (JPA) 2.0

• Bean Validation 1.0

• Managed Beans 1.0

• Interceptors 1.1

• Contexts and Dependency Injection (CDI) for the Java EE Platform 1.0

• Dependency Injection for Java 1.0

@JacekLaskowski

Page 7: Apache Tomcat + Java EE = Apache TomEE

What’s TomEE?

@JacekLaskowski

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

Page 8: Apache Tomcat + Java EE = Apache TomEE

Core values of TomEE

@JacekLaskowski

Page 9: Apache Tomcat + Java EE = Apache TomEE

Core values of TomEE

@JacekLaskowski

Be small

Page 10: Apache Tomcat + Java EE = Apache TomEE

Core values of TomEE

@JacekLaskowski

Be smallBe Tomcat

Page 11: Apache Tomcat + Java EE = Apache TomEE

Core values of TomEE

@JacekLaskowski

Be smallBe TomcatBe certified

Page 12: Apache Tomcat + Java EE = Apache TomEE

How much Tomcat changed?

@JacekLaskowski

Page 13: Apache Tomcat + Java EE = Apache TomEE

Files modified - conf/server.xml

@JacekLaskowski

Page 14: Apache Tomcat + Java EE = Apache TomEE

Files modified - conf/tomcat-users.xml

@JacekLaskowski

Page 15: Apache Tomcat + Java EE = Apache TomEE

Files modified - conf/tomcat-users.xml

@JacekLaskowski

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

Page 16: Apache Tomcat + Java EE = Apache TomEE

Files modified - conf/tomcat-users.xml

@JacekLaskowski

Page 17: Apache Tomcat + Java EE = Apache TomEE

Files modified - conf/tomcat-users.xml

@JacekLaskowski

As a matter of fact, the change is only needed if using OpenJPA or EclipseLink with no build-time enhancements

and hence optional

Page 18: Apache Tomcat + Java EE = Apache TomEE

Files modified - bin/setclasspath.sh

@JacekLaskowski

Page 19: Apache Tomcat + Java EE = Apache TomEE

Files modified - bin/setclasspath.sh

@JacekLaskowski

As a matter of fact, the directory doesn’t exist whatsoever and is optional, too

Page 20: Apache Tomcat + Java EE = Apache TomEE

Files removed

@JacekLaskowski

• 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

Page 21: Apache Tomcat + Java EE = Apache TomEE

TomEE releases• 1.0.0 Beta 1

• JavaOne 2011

• Entering the show

• 1.0.0 Beta 2

• January 2012

• Closing gaps

• 1.0.0 Final

• April 2012

• Nailed it

• Flood of feedback

• 1.5.0

• October 2012

• Lots and lots of conferences: JavaOne, JDD, JavaDay (UA), TopConf, JavaDay (LV)

@jaceklaskowski

Page 22: Apache Tomcat + Java EE = Apache TomEE

Apache TomEE 1.0 Final Released!

@JacekLaskowski

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

Page 23: Apache Tomcat + Java EE = Apache TomEE

Projects involved

@JacekLaskowski

Apache TomEE

Page 24: Apache Tomcat + Java EE = Apache TomEE

@JacekLaskowski

Page 25: Apache Tomcat + Java EE = Apache TomEE

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

Page 26: Apache Tomcat + Java EE = Apache TomEE

TomEE’s already available

@JacekLaskowski

Think, how longyou’d be doing

the integration work.

Page 27: Apache Tomcat + Java EE = Apache TomEE

Website Traffic

@JacekLaskowski

Page 28: Apache Tomcat + Java EE = Apache TomEE

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

Page 29: Apache Tomcat + Java EE = Apache TomEE

Questions?

@JacekLaskowskihttp://blog.japila.pl