1 Apache TomEE // JavaEE Web Profile on Tomcat Jonathan #TomEE.

Slides:



Advertisements
Similar presentations
Java EE - Introduction -
Advertisements

Question examples. Session 1 Objectives Why certify? Positioning of the non-technical version What is Java? Key advantages of Java Java Applications vs.
May 13th, Lucek Consulting Basic Java Servlet/JSP Web Development David Lucek Lucek Consulting
Apache TomEE Tomcat Web Profile certified TomEE gesprochen Tommy.
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Developing in CAS. Why? As distributed you edit CAS 3 with Eclipse and build with Maven 2 – Best Practice for Release Engineering – Difficult edit-debug.
Test Automation Framework Ashesh Jain 2007EE50403 Manager Amit Maheshwari.
Sergio Ferreira MoreData I16 Thursday, October 12, :30 a.m. – 11:30 a.m. Platform: Informix How to call Informix 4gl code from J2EE.
1 Dive into Apache Geronimo 3.0 Xu Haihong Apache Geronimo PMC
© 2006 by IBM and Oracle; made available under the EPL v1.0 | Santa Clara | Mar. 23, 2006 Arthur Ryman, WTP PMC, IBM Rational Software Raghu Srinivasan,
JBoss Seam: Contextual Components Jason Bechtel
Java 2 – Enterprise Edition Kevin J. LaFata April 21, 2003 UM – St. Louis.
1 Build a Web Application on J2EE. 2 J2EE Scenario Client – Web Server – EIS Resources Client – Web Server – EIS Resources Client – Application Server.
Hello Vaadin! CS 3130 Summer 2015.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.Public 1 Testing Java EE Applications using Arquillian Reza Rahman Java EE/GlassFish.
Session-01. What is a Servlet? Servlet can be described in many ways, depending on the context: 1.Servlet is a technology i.e. used to create web application.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
Apache Jakarta Tomcat Suh, Junho. Road Map Tomcat Overview Tomcat Overview History History What is Tomcat? What is Tomcat? Servlet Container.
© Internna Technologies 1 IWebMvc Features, Possibilities & Goals.
Tomcat Celsina Bignoli History of Tomcat Tomcat is the result of the integration of two groups of developers. – JServ, an open source.
INTRODUCING THE JAVA EE PLATFORM Ch-5. Introduction Java is a  platform-independent programming language  secure and robust applications  may run on.
Struts 2.0 an Overview ( )
Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing.
Włodzimierz Funika, Filip Szura Automation of decision making for monitoring systems.
Introduction to the JBoss Presented by: Hao Shi. Agenda Application Servers What is JBoss JBoss features Architecture of JBoss Installation and running.
MAVEN-BLUEMARTINI Yannick Robin. What is maven-bluemartini?  maven-bluemartini is Maven archetypes for Blue Martini projects  Open source project on.
JRun 4 & Macromedia MX Tommy Reilly JRun Engineer.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
JBoss Administration Server Introduction
What’s new in Stack 3.2 Michael Youngstrom. Disclaimer This IS a presentation – So sit back and relax Please ask questions.
® IBM Software Group © 2006 IBM Corporation Kick-start your Java Apps: Free Software, fast development Eclipse IDE, WASCE, DB2 Express-C.
Entity Java Beans Jorg Janke Open Source ERP & CRM.
Tomcat Spencer Uresk. Notes This is a training NOT a presentation Please ask questions This is being recorded
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
第十四章 J2EE 入门 Introduction What is J2EE ?
Enterprise Java v120131Intro to JavaEE1 Java EE 5 TM Introduction.
Struts2 Plugin Development - Extending Struts2 Justin Yip.
Ch 2 – Application Assembly and Deployment COSC 617 Jeff Schmitt September 14, 2006.
Introduction to the Java Stack Michael Youngstrom.
Jonathan Gallimore | Tomitribe Cluster your application with JCache and CDI.
JAVA EE 6 Best Practices for Migrating Spring to WTF ?!?
Session Beans Based on: Patel, Brose, Silverman, Mastering Enterprise JavaBeans 3.0.
IS-907 Java EE Introduction to JPA. Java Persistence API A framework for using relational databases in Java programs mapping between tables and classes,
Selenium server By, Kartikeya Rastogi Mayur Sapre Mosheca. R
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
Test Java EE applications with Arquillian Ivan St. Ivanov.
1.Education Overview JAVA EE 6 Technologies
Status Report Hans Wenzel Geant4 Validation repository weekly meeting 13 th April 2016.
Apache Geronimo Open Source J2EE Application Server Getting up to speed with Apache Geronimo - Copyright 2005 Tom McQueeney 1 Getting up to speed with.
CS520 Web Programming Spring – Web MVC Chengyu Sun California State University, Los Angeles.
Apache TomEE Tomcat with a kick. Apache TomEE: Overview ● Java EE 6 Web Profile certification in progress ● Apache TomEE Includes support for: ● Servlet.
Enterprise Java Beans. Contents  Understanding EJBs  Practice Section.
Presentation Title Up to Three Lines Long Arial 28pt Name, 26pt Speaker Company, 18pt Misc. Info, 16pt Speaker logo centered below photo.
Joe Bohn Apache Aries and IBM Original slides created by Graham Charters for OSGi DevCon US 2010, March 22, 2010 with minor updates by Joe Bohn for BarCampRDU.
WebSphere Diego Leone.
Maven 04 March
Java EE, Microservices, Microprofile and Playing a little mix & match
J2EE Application Development
CS5220 Advanced Topics in Web Programming Spring – Web MVC
Introduction to JBoss application server
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
JavaServer Faces: The Fundamentals
CS5220 Advanced Topics in Web Programming Spring – Web MVC
The Most Popular Android UI Automation Testing Tool Andrii Voitenko
The JSF Tools Project – WTP (internal) release review
CS4961 Software Design Laboratory Understand Aquila Backend
Testing your DAO’s with Java
Presentation transcript:

1 Apache TomEE // JavaEE Web Profile on Tomcat Jonathan #TomEE

2 What is Apache TomEE Tomcat + Java EE = TomEE Complete Tomcat with nothing taken away Java EE 6 Web profile certified stack All Apache components MyFaces OpenEJB OpenWebBeans OpenJPA

3 Philosophy Be small, be certified, be Tomcat Integrate OpenEJB into Tomcat, not the other way around Get more, don’t give up anything Leverage existing Tomcat features (JNDI, Security) Lightweight just 24MB no extra memory requirement No need to learn new server environment Use existing IDE tools

4 Flavours of TomEE Apache TomEE Web Profile (Java EE 6 certified) OpenEJB OpenWebBeans OpenJPA Bean validation MyFaces Apache TomEE Plus (not Java EE 6 certified) CXF ActiveMQ Geronimo connector Embedded Apache TomEE

5 Stats Size: the entire Web Profile is only 24Mb Memory usage: very little required, passed the TCK without changing any default JVM memory settings Agility: the server can go through a start/deploy/test/undeploy/stop cycle in 2-3 seconds, when run in embedded mode

6 Certification Certified on Amazon EC2 t1.micro linux images, lot’s of them 100 spot instances going at once (sometimes more)! Each has 613MB memory max Use default JVM memory settings Current certified OSs Amazon Linux AMI , EBS boot, 32-bit EC2 t1.micro Amazon Linux AMI , EBS boot, 32-bit EC2 m1.small Amazon Linux AMI , EBS boot, 32-bit EC2 c1.medium

7 Getting started Unzip Start with usual Catalina scripts or services Deploy application.war or.ear in webapps Console application at Or deploy openejb.war in any standard Tomcat 7 installation

8 Demo Moviefun sample - demonstrates: Servlets CDI JSF EJBs JPA Available in OpenEJB source code repository Over 50 different examples available for various Java EE features

9 Why not just use Tomcat? Plain Tomcat doesn’t have support for: Transactions Transaction aware Global JNDI (java:module, java:app, java:global) Are you adding libraries to provide EE features (e.g. persistence or CDI)?

10 Configuration Resources configured in conf/openejb.xml Simple XML + properties format Tags match Annotation names Can be injected using this DataSource moviesDatabase

11 Transactions Connection pooling is Transaction aware Everyone in same transaction, shares same connection Servlets, ManagedBeans, etc. can start UserTransaction transaction; No need for EJBs to use transactions

12 Persistence All persistence.xml files found and deployed Connection persistence.xml values filled in automatically Servlets, ManagedBeans, Session Beans, etc now EntityManagerFactory EntityManager em; OpenJPA included, easy to remove Hibernate used in many Apache TomEE installs

13 EJBs EJBs can be added directly to webapp Servlets, Managed beans can EJB 3.1 provides no-interface view HTTP can be used for EJB remote communication ( User/Pass supplied with InitialContext params HTTP or HTTPS

14 What next? How small can we get? Below 20MB download? 6000 classes loaded, can we get to 2000? Optimisations Certify more parts Connector JAX-WS JAX-RS

15 Testing - Embedded TomEE Very straightforward to use, very little config needed Maven users can add tomee-embedded dependency, or add all-in-one jar to classpath Could be used with frameworks like HtmlUnit or Selenium to test your application Properties p = new Properties(); p.setProperty(EJBContainer.APP_NAME, "moviefun"); p.setProperty(EJBContainer.PROVIDER, "tomee-embedded"); // need web feature p.setProperty(EJBContainer.MODULES, webApp.getAbsolutePath()); p.setProperty(EmbeddedTomEEContainer.TOMEE_EJBCONTAINER_HTTP_PORT, "9999"); container = EJBContainer.createEJBContainer(p);

16 Arquillian tests Test harness from JBoss ( Allows you to run your test in any supported container Adapters available for a number of servers Skip the build Run tests straight from the IDE

17 TomEE Arquillian Adapters Embedded Boots TomEE embedded directly in the test Remote Can connect to a running instance of TomEE OR download and start TomEE bundle OR any version of Tomcat/OpenEJB Configured in arquillian.xml

18 Anatomy of an Arquillian Test Deployment Build an archive using the ShrinkWrap API Choose parts of your application to test Build archive with test settings Test logic Exercise your application HtmlUnit Selenium

Questions?

Thanks! @ApacheTomEE #TomEE