Java ee com apache tom ee e tomee+ tdc - 2014
-
Upload
daniel-cunha -
Category
Technology
-
view
1.733 -
download
6
description
Transcript of Java ee com apache tom ee e tomee+ tdc - 2014
Java EE com Apache TomEE/TomEE+
Daniel Cunha (soro)[email protected]://www.danielsoro.com.br
Daniel Cunha (soro)soro – irc.freenode.nethttp://danielsoro.com.br
http://github.com/danielsorohttp://twitter.com/[email protected]
Como tudo começou?
Como tudo começou?
● Tomcat– Sem suporte a trasação
– Não dava suporte a pool de conexão● Pools devem ser transacional
– Sem segurança integrada
– Sem suporte a JNDI globais● java:module● java:app● java:global
– Sem suporte a @DataSourceDefinition
Como tudo começou?
– Sem @Resource● UserTransaction● BeanManager● Validator● ValidatorFactory● Topic/Queue● ConnectionFactory
– Sem @PersistenceUnit
– Sem @PersistenceContext
– Sem @Inject
– Sem @EJB
– Sem @WebService
Resolvendo o problema
Resolvendo o problema
● Incluindo API de jars no meu webapp– JPA Api
– JSF Api
– etc
● Incluindo implementações no meu webapp– Mojarra
– etc
● JPA e DataSource nada simples– Muitos anos de: faça você mesmo.
– Faço do meu jeito [Nada de padrão]
As coisas não eram tão simples.
OpenEJB● Java Transaction API (JTA)● Java Persistence API (JPA)● Java Contexts and Dependency Injection (CDI)● Java Authentication and Authorization Service
(JAAS)● Java Authorization Contract for Containers
(JACC)● JavaMail API
OpenEJB● Bean Validation● Enterprise JavaBeans● Java API for RESTful Web Services (JAX-RS)● Java API for XML Web Services (JAX-WS)● Java EE Connector Architecture● Java Messaging Service (JMS)
Mas, cadê a API de Servlet?
Nada de JSP e JSF?
TOMCAT
Tomcat + OpenEJB
Mesmo assim, a integração não era transparente e fácil
Eu ainda precisava adicionar o JSF.
JSR 316: Java Platform, Enterprise Edition 6
(Java EE 6) Specification
Vamos implementar Java EE
Reaproveitando o passado
Apache OpenEJB e Apache TomEE nasceram a partir do mesmo projeto e comunidade. Eles diferem em dois principais modo, apenas um deles é técnico:
TomEE incorpora dois projetos adicionais; Tomcat e MyFaces TomEE, como o nome, facilmente demontra é um conjuto de tecnologias embutidas. Efetivamente, TomEE é um superconjunto do OpenEJB. Eles compartilham o mesmo código. TomEE surgiu do OpenEJB.
Tomcat + Java EE = TomEE● Certificado Java EE 6 Web Profile● Tomcat por completo● Todos os componentes são da Apache
– MyFaces (JSF)
– OpenWebBeans (CDI)
– OpenEJB (EJB)
– OpenJPA (JPA)
– Bval (Bean Validation)
Valores do TomEE● Ser pequeno● Ser Tomcat● Ser certificado
Status básicos● Tamanho: todo o webprofile é apenas 24MB● Uso de memória: requerimento muito pequeno,
passou no TCK sem alterar as configurações de memória padrão da JVM
● Agilidade: o servidor pode passar por um ciclo de start/deploy/test/undeploy/stop em 2-3 segundos, quando executado no modo embedded.
Tomcat / TomEE
DEMO
Como contribuir?
public void contributeToOpenSource() { boolean stillInterestedAndHavingFun = true; int taskSize = 1; // start small! contributing: while (stillInterestedAndHavingFun) { Task task = findSomethingInteresting(taskSize++); if (!task.hasJira()) { createJira(task); } else { requestToBeAssignedToJira(task.jiraId()); } while (task.inProgress()) { chatOnListALittleGetCleverIdeas(task, new Ideas(task)); hackALittle(task); if (task.tooHard() || task.notFun()) { // no big deal, try again with something else taskSize--; continue contributing; } } File patchFile = createSvnOrGitPatch(task); attachToJira(task.jiraId(), patchFile); askForReviewOnList(task.jiraId()); while (!committed(patchFile)) { try { pokeAtSometingElse(); helpOnUserList(); dayDream(); } catch (MoreThanAWeekException e) { // Assume it fell off the radar -- happens. // Evidence we need more committers. bumpThreadOnList(task); } } }}
Apache TomEE● http://tomee.apache.org/
● http://tomee.apache.org/documentation.html
● http://tomee.apache.org/examples-trunk/index.html
● http://tomee.apache.org/support.html
● http://svn.apache.org/viewvc/tomee/tomee/trunk/
● #OpenEJB – irc.freenode.net
Perguntas?
Obrigado
Java EE com Apache TomEE/TomEE+
Daniel Cunha (soro)[email protected]://www.danielsoro.com.br