Apache TomEE Tomcat with a kick. Apache TomEE: Overview ● Java EE 6 Web Profile certification in progress ● Apache TomEE Includes support for: ● Servlet.

Slides:



Advertisements
Similar presentations
Java EE - Introduction -
Advertisements

Apache TomEE Tomcat Web Profile certified TomEE gesprochen Tommy.
© 2009 IBM Corporation ® RAD 754 J2C Tools -- J D Edwards EnterpriseOne Ivy Ho, Ernest Mah Last Update: Nov 25, 2009.
Persistence Jim Briggs 1. 2 Database connectivity: JDBC Java Database Connectivity An API for connecting Java programs (applications, applets and servlets)
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.
Apache Struts Technology
Web Services Web Services are the basic fundamental building blocks of invoking features that can be accessed by an application program. The accessibility.
Spring, Hibernate and Web Services 13 th September 2014.
1 Dive into Apache Geronimo 3.0 Xu Haihong Apache Geronimo PMC
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
JBoss Seam: Contextual Components Jason Bechtel
EJB Design. Server-side components Perform –complex algorithms –high volume transactions Run in –highly available environment (365 days/year) –fault tolerant.
EASY LOGISTICS CENTER - the TURNTABLE for information, documents and processes EASY LOGISTICS CENTER DOCUMENTS SHOP CONTENT COMMUNITY MODULES EASY ENTERPRISE.
Java 2 – Enterprise Edition Kevin J. LaFata April 21, 2003 UM – St. Louis.
Web programming for project students Dr Jim Briggs.
Session-02.
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.
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.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
2007 JavaOne SM Conference | Session BOF-4181 | BOF-4181 Migrating a Spring/Hibernate Application to Java Platform, Enterprise Edition (Java EE) 5 Adrian.
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.
JBoss Administration Server Introduction
Modern Software Technologies Java™, J2EE™, JSP™, JDBC™ by Radoslav Tr. Ivanov
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
AN OVERVIEW OF SERVLET TECHNOLOGY SERVER SETUP AND CONFIGURATION WEB APPLICATION STRUCTURE BASIC SERVLET EXAMPLE Java Servlets - Compiled By Nitin Pai.
TDDD05 EJB Lab (Part of slides reused from Mikhail’s) Lu Li
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
| nectar.org.au NECTAR TRAINING Module 5 The Research Cloud Lifecycle.
Running Kuali: A Technical Perspective Ailish Byrne - Indiana University Jay Sissom - Indiana University Foundation.
Installation and Development Tools National Center for Supercomputing Applications University of Illinois at Urbana-Champaign The SEASR project and its.
JBoss Overview J2EE Sig Presenter: Steve Davidson Stephen Davidson & Associates, INC.
Introduction to Web Dimitar Nenchev Ivan Nakov
1 Apache TomEE // JavaEE Web Profile on Tomcat Jonathan #TomEE.
Running Kuali: A Technical Perspective Ailish Byrne (Indiana University) Jonathan Keller (University of California, Davis)
Enterprise Java Overview Panos Konstantinidis Java Developer JUG Leader & Java Champion
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.
NJIT 1 Apache Tomcat (Version 6.0) THETOPPERSWAY.COM.
Outline Server side Dependencies Installing it Configuring it Client side coding Browser setup.
IS-907 Java EE Introduction to JPA. Java Persistence API A framework for using relational databases in Java programs mapping between tables and classes,
Test Java EE applications with Arquillian Ivan St. Ivanov.
Maven. Introduction Using Maven (I) – Installing the Maven plugin for Eclipse – Creating a Maven Project – Building the Project Understanding the POM.
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.
Enterprise Java Beans. Contents  Understanding EJBs  Practice Section.
Open Software Integrators, LLC 1 Spring Roo - IDE Research ● Basics of Spring Roo (Installation and Roo shell) ● Spring Roo, Maven, Tomcat works! ● Front.
CONNECT, Non EJB Programming Model.. CONNECT Architecture with EJB Current code base is using EJB services implemented by using the JAX-WS. Only session.
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.
Graham Charters Apache Aries and IBM Apache Aries An Open Source project for Enterprise OSGi Applications.
The Holmes Platform and Applications
Progress Apama Fundamentals
WebSphere Diego Leone.
Overall Architecture and Component Model
Securing the Network Perimeter with ISA 2004
Test Driven Development
J2EE Application Development
Web-Services-based Systems Architecture, Design and Implementation
ISE 390 Dynamic Web Development
Distributed System Using Java 2 Enterprise Edition (J2EE)
CS5220 Advanced Topics in Web Programming Spring – Web MVC
Introduction to JBoss application server
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
CS5220 Advanced Topics in Web Programming Spring – Web MVC
Enterprise Java Beans.
Testing your DAO’s with Java
Presentation transcript:

Apache TomEE Tomcat with a kick

Apache TomEE: Overview ● Java EE 6 Web Profile certification in progress ● Apache TomEE Includes support for: ● Servlet 3.0 (Apache Tomcat) ● JPA 2.0 (Apache OpenJPA) ● JSF 2.0 (Apache MyFaces) ● CDI 1.0 (Apache OpenWebBeans) ● EJB 3.1 (Apache OpenEJB) ● JMS (Apache ActiveMQ) ● Webservices (Apache CXF)

Apache TomEE: Philosophy ● Preserve Tomcat ● Leverage Tomcat JNDI, Security, everything ● Get more, don't give up anything ● Add the extras without removing anything ● Lightweight ● Just 38MB zip ● Runs with no extra memory requirements ● No need to learn new server environment ● Existing IDE tools for Tomcat should also work with TomEE

Apache TomEE: History ● Predates Java EE 6 Web Profile ● Integration approach inspired by OpenEJB's embeddable nature ● Previously known as OpenEJB-Tomcat integration ● Also available as a drop-in-war for Tomcat ● Origin of EE 6 "EJBs in.wars" feature

Web Profile Certification Status ● We can't say (thats the law) ● Work being done on Amazon EC2, using ● T1.Micro Linux images, lots of them ● 100 going at once! ● Each has 613MB memory max ● Though we still run with default memory options (64MB) ● It's quick! ● Will be Cloud certified! ● Wish we could show you the setup (sorry, also the rules)

Apache TomEE: Getting started ● Very simple installation: ● Obtain bundle and unzip OR ● Deploy openejb.war into an existing Tomcat installation and run through a simple wizard ● Sample application included in bundle ● Additional lib folder in $CATALINA_BASE/webapps/openejb/lib ● Dashboard available at

Apache TomEE: Moviefun example ● Movie fun sample – available from OpenEJB SVN repository: ● Simple example demonstrating: ● injection ● Bean lookup from a JSP ● Dependency injection with JSF ManagedBean ● Persistence with JPA 2 ● Notifications via JMS ● Webservice support ● Stateless EJB with no-interface view

Apache TomEE: Configuration ● Resources configured in $CATALINA_BASE/conf/openejb.xml ● Simple XML + properties format ● Tags match Annotation names ● «Resource id="moviesDatabase" type="DataSource"» DataSource moviesDatabase ● Drop drivers in tomcat.home/lib

ApacheTomEE: Security ● Uses Tomcat's Security Realm ● Extra TomEE layer adds support for ● JAAS ● JACC ● WS Security ● Supports any org.apache.catalina.Realm implementation ● E.g. add users to $CATALINA_BASE/conf/tomcat-users.xml ● Alternatively use login.config to provide your own security module

Apache TomEE: JPA ● All persistence.xml files found and deployed ● Connection persistence.xml values filled in automatically ● jta-data-source ● non-jta-data-source ● Servlets, ManagedBeans, Session Beans, etc now use EntityManagerFactory emf; EntityManager em; ● OpenJPA included, easy to remove ● Hibernate used in many Apache TomEE installs ● EclipseLink also works

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

Apache TomEE: JMS ● Resources configured in $CATALINA_BASE/conf/openejb.xml (Connection Factory, Topics, Queues) ● By default ActiveMQ listens for connections on port ● Resources can be injected into Servlets etc via ConnectionFactory connectionFactory; Queue queue; Topic topic; ● Example functionality in the Moviefun / monitor example

Apache TomEE: Web Services ● on either ● POJO ● Session Bean ● CXF & Web Service plumbing happens automatically ● Accessible via: ● Web Service Security supported ● Web Service Clients also work CalculatorWs service; ● Sample webservice client: get-movies.pl and delete-movie.pl

Apache TomEE: EJB Client ● HTTP can be used for EJB remote communication ( ● Great for firewalled systems ● User/Pass supplied with InitialContext params ● HTTP or HTTPS

Apache TomEE: Functional Testing ● T7MP Maven plugin can use TomEE as a server ● Run your application embedded in your Maven build ● Provides an isolated environment ● Very useful for functional tests, combined with HtmlUnit or Selenium ● Example integration test in the moviefun project

Thanks!