SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
TomEE
appunti dal Devoxx2012 di Nicola Pedot
Cos'è TomEE (pronunciato “Tommy”)
E' un server ad implementazione libera in
Licenza Apache delle specifiche JEE 6
WebProfile
e qualche cosa di più...
3 Gusti
1. Java EE 6 WebProfile
2. WebProfile + rest
3. WebProfile + rest + MQ + webservices
Gusto 1: Java EE 6 WebProfile
1. CDI - Apache OpenWebBeans
2. EJB - Apache OpenEJB
3. JPA - Apache OpenJPA
4. JSF - Apache MyFaces
5. JSP - Apache Tomcat
6. JSTL - Apache Tomcat
7. JTA - Apache Geronimo Transaction
8. Servlet - Apache Tomcat
9. Javamail - Apache Geronimo JavaMail
10. Bean Validation - Apache BVal
Gusti 2: WebProfile + rest
1. WebProfile
2. JAX-RS - Apache CXF
Gusto 3: WebProfile + rest + MQ +
webservices + connettori
1. WebProfile
2. JAX-RS - Apache CXF
3. JAX-WS - Apache CXF
4. JMS - Apache ActiveMQ
5. Connector - Apache Geronimo Connector
Inbound and outbound connections in Geronimo are
managed through the J2CA connector framework. This
covers JDBC, JMS, DataSources, EIS connectivity, and
connection pools.
Cosa non è
Non è un tomcat + librerie varie.
E' stato completato ed ottimizzato.
A tomcat mancano per scelta
NoTransactionsupport
NoConnectionPoolingsupport
Connectionpoolingsupportshouldbetransactionaware
No@Resource
UserTransaction
BeanManager
Validator
ValidatorFactory
No@PersistenceUnit
No@PersistenceContext
No@Inject
No@EJB
A tomcat mancano per scelta
NosupportforGlobalJNDI
java:module
java:app
java:global
Nosupportfor@Resource(lookup=”...”)
Nosupportfor@DataSourceDefinition
Nosupportfornew<env-entry>types:
java.lang.Class
Enums
NoIntegratedSecurity
TomEE è ottimizzato
Oltre a migliorie nella scelta pulita delle
dipendenze.
All'avvio le librerie aggiuntive richiedono a
Tomcat un tempo aggiuntivo per lo scan del
file system alla ricerca delle proprie
componenti, ripetuto per ogni libreria.
Punti forti
1. E' piccolo
2. E' Tomcat
3. E' certificato
4. E' dotato di una comunità attiva
E' Piccolo
● Size: l'intero WebProfile è di 24Mb
● Memory usage: ne richiede molto poca ha
passato il TCK senza cambiare i valori
predefiniti di impostazione per la memoria
della JVM
● Agility: il server in modalità embedded può
eseguire un ciclo start / deploy / test /
undeploy / stop cycle in 2-3 secondi.
E' Tomcat
Non ci sono problemi di compatibilità rispetto
al più piccolo tomcat, è solido perchè da anni
provato in molti contesti di produzione.
E' certificato
Ha superato con successo i tanto temuti e
molto estesi test di compatibilità di specifica
Oracle WebProfile TCK.
Certificato con AmazonEC2
molti t1.microlinuximages,
100 spot instances in parallelo!
ciascuna con 613 MB memoria max
senza modificare i parametri preimpostati di
memoria alla JVM
E' dotato di una comunità attiva
Il supporto è quello delle comunità Apache e
l'interesse sta crescendo.
Grazie
per l'attenzione
Link
Apache TomEE Java EE 6 Web Profile (slide)
goo.gl/gMIbx
Apache TomEE Java EE 6 Web Profile (site)
http://tomee.apache.org/

Weitere ähnliche Inhalte

Was ist angesagt?

PostgreSQL: Point in time recovery
PostgreSQL: Point in time recoveryPostgreSQL: Point in time recovery
PostgreSQL: Point in time recoveryEnrico Pirozzi
 
Richiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriRichiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriFulvio Corno
 
Presentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraPresentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraMassimoPalmisano
 
Con Aruba, a lezione di cloud #lezione 10 - parte 2: 'Configurazione server d...
Con Aruba, a lezione di cloud #lezione 10 - parte 2: 'Configurazione server d...Con Aruba, a lezione di cloud #lezione 10 - parte 2: 'Configurazione server d...
Con Aruba, a lezione di cloud #lezione 10 - parte 2: 'Configurazione server d...Aruba S.p.A.
 
From A to Web (2009)
From A to Web (2009)From A to Web (2009)
From A to Web (2009)Luca Bianchi
 
Deploy PrestaShop con Docker
Deploy PrestaShop con DockerDeploy PrestaShop con Docker
Deploy PrestaShop con DockerBwlab
 
Hosting Linux, hosting Windows e Joomla
Hosting Linux, hosting Windows e JoomlaHosting Linux, hosting Windows e Joomla
Hosting Linux, hosting Windows e Joomlawebhostingguy
 
PostgreSQL: Prima configurazione
PostgreSQL: Prima configurazionePostgreSQL: Prima configurazione
PostgreSQL: Prima configurazioneEnrico Pirozzi
 
PostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei proPostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei proEnrico Pirozzi
 
Linux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaLinux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaAlessandro Selli
 
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazioneBookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazioneInformamuse srl
 
Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Giuseppe Agrillo
 
Dev Ops Italia 2015 - Per capire Desired State Configuration
Dev Ops Italia 2015 - Per capire Desired State ConfigurationDev Ops Italia 2015 - Per capire Desired State Configuration
Dev Ops Italia 2015 - Per capire Desired State ConfigurationGiulio Vian
 

Was ist angesagt? (19)

PostgreSQL: Point in time recovery
PostgreSQL: Point in time recoveryPostgreSQL: Point in time recovery
PostgreSQL: Point in time recovery
 
Richiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriRichiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatori
 
Introduzione ros
Introduzione rosIntroduzione ros
Introduzione ros
 
Presentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraPresentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di Dijkstra
 
Con Aruba, a lezione di cloud #lezione 10 - parte 2: 'Configurazione server d...
Con Aruba, a lezione di cloud #lezione 10 - parte 2: 'Configurazione server d...Con Aruba, a lezione di cloud #lezione 10 - parte 2: 'Configurazione server d...
Con Aruba, a lezione di cloud #lezione 10 - parte 2: 'Configurazione server d...
 
From A to Web (2009)
From A to Web (2009)From A to Web (2009)
From A to Web (2009)
 
Deploy PrestaShop con Docker
Deploy PrestaShop con DockerDeploy PrestaShop con Docker
Deploy PrestaShop con Docker
 
Iperf
IperfIperf
Iperf
 
Hosting Linux, hosting Windows e Joomla
Hosting Linux, hosting Windows e JoomlaHosting Linux, hosting Windows e Joomla
Hosting Linux, hosting Windows e Joomla
 
PostgreSQL: Prima configurazione
PostgreSQL: Prima configurazionePostgreSQL: Prima configurazione
PostgreSQL: Prima configurazione
 
Network
NetworkNetwork
Network
 
Proxmox VE
Proxmox VEProxmox VE
Proxmox VE
 
PostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei proPostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei pro
 
Linux Day 2009 LAMP HowTo
Linux Day 2009 LAMP HowToLinux Day 2009 LAMP HowTo
Linux Day 2009 LAMP HowTo
 
Linux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaLinux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compatta
 
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazioneBookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
 
Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009
 
Apcamp
ApcampApcamp
Apcamp
 
Dev Ops Italia 2015 - Per capire Desired State Configuration
Dev Ops Italia 2015 - Per capire Desired State ConfigurationDev Ops Italia 2015 - Per capire Desired State Configuration
Dev Ops Italia 2015 - Per capire Desired State Configuration
 

Andere mochten auch

私がお世話になった技術書たち
私がお世話になった技術書たち私がお世話になった技術書たち
私がお世話になった技術書たち法林浩之
 
「ITコミュニティの運営を考える」開催報告
「ITコミュニティの運営を考える」開催報告「ITコミュニティの運営を考える」開催報告
「ITコミュニティの運営を考える」開催報告法林浩之
 
一般社団法人LOCAL 第6回社員総会 記念講演
一般社団法人LOCAL 第6回社員総会 記念講演一般社団法人LOCAL 第6回社員総会 記念講演
一般社団法人LOCAL 第6回社員総会 記念講演法林浩之
 
Internet Weekへのお誘い
Internet Weekへのお誘いInternet Weekへのお誘い
Internet Weekへのお誘い法林浩之
 
法林浩之のFIGHTING TALKS
法林浩之のFIGHTING TALKS法林浩之のFIGHTING TALKS
法林浩之のFIGHTING TALKS法林浩之
 
ITコミュニティへのお誘いと、運営へのお誘い
ITコミュニティへのお誘いと、運営へのお誘いITコミュニティへのお誘いと、運営へのお誘い
ITコミュニティへのお誘いと、運営へのお誘い法林浩之
 
新春対談「新しい司会者、出てこいや〜!」(対戦者数調査結果付き)
新春対談「新しい司会者、出てこいや〜!」(対戦者数調査結果付き)新春対談「新しい司会者、出てこいや〜!」(対戦者数調査結果付き)
新春対談「新しい司会者、出てこいや〜!」(対戦者数調査結果付き)法林浩之
 
さくらのIoT Platform βの概要と、BluemixやmyThingsとの連携
さくらのIoT Platform βの概要と、BluemixやmyThingsとの連携さくらのIoT Platform βの概要と、BluemixやmyThingsとの連携
さくらのIoT Platform βの概要と、BluemixやmyThingsとの連携法林浩之
 
人生が変わる人続出!あなたも参加できるITコミュニティ活動
人生が変わる人続出!あなたも参加できるITコミュニティ活動人生が変わる人続出!あなたも参加できるITコミュニティ活動
人生が変わる人続出!あなたも参加できるITコミュニティ活動法林浩之
 
IT業界におけるコミュニティの重要性と関わり方
IT業界におけるコミュニティの重要性と関わり方IT業界におけるコミュニティの重要性と関わり方
IT業界におけるコミュニティの重要性と関わり方法林浩之
 
IT業界におけるコミュニティ活動の大切さ
IT業界におけるコミュニティ活動の大切さIT業界におけるコミュニティ活動の大切さ
IT業界におけるコミュニティ活動の大切さ法林浩之
 
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~法林浩之
 

Andere mochten auch (12)

私がお世話になった技術書たち
私がお世話になった技術書たち私がお世話になった技術書たち
私がお世話になった技術書たち
 
「ITコミュニティの運営を考える」開催報告
「ITコミュニティの運営を考える」開催報告「ITコミュニティの運営を考える」開催報告
「ITコミュニティの運営を考える」開催報告
 
一般社団法人LOCAL 第6回社員総会 記念講演
一般社団法人LOCAL 第6回社員総会 記念講演一般社団法人LOCAL 第6回社員総会 記念講演
一般社団法人LOCAL 第6回社員総会 記念講演
 
Internet Weekへのお誘い
Internet Weekへのお誘いInternet Weekへのお誘い
Internet Weekへのお誘い
 
法林浩之のFIGHTING TALKS
法林浩之のFIGHTING TALKS法林浩之のFIGHTING TALKS
法林浩之のFIGHTING TALKS
 
ITコミュニティへのお誘いと、運営へのお誘い
ITコミュニティへのお誘いと、運営へのお誘いITコミュニティへのお誘いと、運営へのお誘い
ITコミュニティへのお誘いと、運営へのお誘い
 
新春対談「新しい司会者、出てこいや〜!」(対戦者数調査結果付き)
新春対談「新しい司会者、出てこいや〜!」(対戦者数調査結果付き)新春対談「新しい司会者、出てこいや〜!」(対戦者数調査結果付き)
新春対談「新しい司会者、出てこいや〜!」(対戦者数調査結果付き)
 
さくらのIoT Platform βの概要と、BluemixやmyThingsとの連携
さくらのIoT Platform βの概要と、BluemixやmyThingsとの連携さくらのIoT Platform βの概要と、BluemixやmyThingsとの連携
さくらのIoT Platform βの概要と、BluemixやmyThingsとの連携
 
人生が変わる人続出!あなたも参加できるITコミュニティ活動
人生が変わる人続出!あなたも参加できるITコミュニティ活動人生が変わる人続出!あなたも参加できるITコミュニティ活動
人生が変わる人続出!あなたも参加できるITコミュニティ活動
 
IT業界におけるコミュニティの重要性と関わり方
IT業界におけるコミュニティの重要性と関わり方IT業界におけるコミュニティの重要性と関わり方
IT業界におけるコミュニティの重要性と関わり方
 
IT業界におけるコミュニティ活動の大切さ
IT業界におけるコミュニティ活動の大切さIT業界におけるコミュニティ活動の大切さ
IT業界におけるコミュニティ活動の大切さ
 
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
 

Ähnlich wie Tom EE appunti devoxx2012

Typo3 tuning - Oltre la "classica" cache
Typo3 tuning - Oltre la "classica" cacheTypo3 tuning - Oltre la "classica" cache
Typo3 tuning - Oltre la "classica" cachegianluca_strafella
 
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...Codemotion
 
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterCodemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterMatteo Baccan
 
Installing Apache tomcat with Netbeans
Installing Apache tomcat with NetbeansInstalling Apache tomcat with Netbeans
Installing Apache tomcat with NetbeansDavide Nardone
 
Jvm performance Tuning
Jvm performance TuningJvm performance Tuning
Jvm performance TuningMarco Sabatini
 
Javaday 2009 php e java
Javaday 2009 php e javaJavaday 2009 php e java
Javaday 2009 php e javaMatteo Baccan
 
Working between the clouds (versione completa)
Working between the clouds (versione completa)Working between the clouds (versione completa)
Working between the clouds (versione completa)Davide Cerbo
 
Cloud Google App Engine Paas
Cloud   Google App Engine PaasCloud   Google App Engine Paas
Cloud Google App Engine Paassteccami
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimizationAndrea Dottor
 
Codemotion fuse presentation
Codemotion fuse presentationCodemotion fuse presentation
Codemotion fuse presentationUgo Landini
 
SQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSSQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSGianluca Hotz
 
Liferay - Quick Start 1° Episodio
Liferay - Quick Start 1° EpisodioLiferay - Quick Start 1° Episodio
Liferay - Quick Start 1° EpisodioAntonio Musarra
 
Io uso Tor e non lascio tracce! Sei proprio sicuro?
Io uso Tor e non lascio tracce! Sei proprio sicuro?Io uso Tor e non lascio tracce! Sei proprio sicuro?
Io uso Tor e non lascio tracce! Sei proprio sicuro?festival ICT 2016
 
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 1
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 1MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 1
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 1Alfonso Martino
 

Ähnlich wie Tom EE appunti devoxx2012 (20)

Java lezione 15
Java lezione 15Java lezione 15
Java lezione 15
 
Typo3 tuning - Oltre la "classica" cache
Typo3 tuning - Oltre la "classica" cacheTypo3 tuning - Oltre la "classica" cache
Typo3 tuning - Oltre la "classica" cache
 
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
 
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterCodemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
 
Installing Apache tomcat with Netbeans
Installing Apache tomcat with NetbeansInstalling Apache tomcat with Netbeans
Installing Apache tomcat with Netbeans
 
Jvm performance Tuning
Jvm performance TuningJvm performance Tuning
Jvm performance Tuning
 
Sametime 8.x configurarlo ed installarlo
Sametime 8.x configurarlo ed installarloSametime 8.x configurarlo ed installarlo
Sametime 8.x configurarlo ed installarlo
 
Javaday 2009 php e java
Javaday 2009 php e javaJavaday 2009 php e java
Javaday 2009 php e java
 
Quickr In Real Life - casi di successo di QuickR
 Quickr In Real Life - casi di successo di QuickR Quickr In Real Life - casi di successo di QuickR
Quickr In Real Life - casi di successo di QuickR
 
Working between the clouds (versione completa)
Working between the clouds (versione completa)Working between the clouds (versione completa)
Working between the clouds (versione completa)
 
Idp, passo dopo passo!
Idp, passo dopo passo!Idp, passo dopo passo!
Idp, passo dopo passo!
 
Cloud Google App Engine Paas
Cloud   Google App Engine PaasCloud   Google App Engine Paas
Cloud Google App Engine Paas
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
 
Codemotion fuse presentation
Codemotion fuse presentationCodemotion fuse presentation
Codemotion fuse presentation
 
SQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSSQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWS
 
Lezione Servlet Parte Seconda
Lezione Servlet Parte SecondaLezione Servlet Parte Seconda
Lezione Servlet Parte Seconda
 
Liferay - Quick Start 1° Episodio
Liferay - Quick Start 1° EpisodioLiferay - Quick Start 1° Episodio
Liferay - Quick Start 1° Episodio
 
DDive - Le novità della release 8.5.2 di Lotus Domino e Notes
DDive - Le novità della release 8.5.2 di Lotus Domino e NotesDDive - Le novità della release 8.5.2 di Lotus Domino e Notes
DDive - Le novità della release 8.5.2 di Lotus Domino e Notes
 
Io uso Tor e non lascio tracce! Sei proprio sicuro?
Io uso Tor e non lascio tracce! Sei proprio sicuro?Io uso Tor e non lascio tracce! Sei proprio sicuro?
Io uso Tor e non lascio tracce! Sei proprio sicuro?
 
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 1
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 1MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 1
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 1
 

Mehr von Nicola Pedot

AI, ML e l'anello mancante
AI, ML e l'anello mancanteAI, ML e l'anello mancante
AI, ML e l'anello mancanteNicola Pedot
 
Say No To Dependency Hell
Say No To Dependency Hell Say No To Dependency Hell
Say No To Dependency Hell Nicola Pedot
 
Java al servizio della data science - Java developers' meeting
Java al servizio della data science - Java developers' meetingJava al servizio della data science - Java developers' meeting
Java al servizio della data science - Java developers' meetingNicola Pedot
 
Java 9-10 What's New
Java 9-10 What's NewJava 9-10 What's New
Java 9-10 What's NewNicola Pedot
 
BDD & design paradoxes appunti devoxx2012
BDD & design paradoxes   appunti devoxx2012BDD & design paradoxes   appunti devoxx2012
BDD & design paradoxes appunti devoxx2012Nicola Pedot
 
Presentazione+Android
Presentazione+AndroidPresentazione+Android
Presentazione+AndroidNicola Pedot
 

Mehr von Nicola Pedot (13)

AI, ML e l'anello mancante
AI, ML e l'anello mancanteAI, ML e l'anello mancante
AI, ML e l'anello mancante
 
Ethic clean
Ethic cleanEthic clean
Ethic clean
 
Say No To Dependency Hell
Say No To Dependency Hell Say No To Dependency Hell
Say No To Dependency Hell
 
Java al servizio della data science - Java developers' meeting
Java al servizio della data science - Java developers' meetingJava al servizio della data science - Java developers' meeting
Java al servizio della data science - Java developers' meeting
 
Jakarta EE 2018
Jakarta EE 2018Jakarta EE 2018
Jakarta EE 2018
 
Lazy Java
Lazy JavaLazy Java
Lazy Java
 
Java 9-10 What's New
Java 9-10 What's NewJava 9-10 What's New
Java 9-10 What's New
 
JavaEE6 my way
JavaEE6 my wayJavaEE6 my way
JavaEE6 my way
 
Java 8 Overview
Java 8 OverviewJava 8 Overview
Java 8 Overview
 
BDD & design paradoxes appunti devoxx2012
BDD & design paradoxes   appunti devoxx2012BDD & design paradoxes   appunti devoxx2012
BDD & design paradoxes appunti devoxx2012
 
Eclipse Svn
Eclipse SvnEclipse Svn
Eclipse Svn
 
Eclipse
EclipseEclipse
Eclipse
 
Presentazione+Android
Presentazione+AndroidPresentazione+Android
Presentazione+Android
 

Tom EE appunti devoxx2012

  • 2. Cos'è TomEE (pronunciato “Tommy”) E' un server ad implementazione libera in Licenza Apache delle specifiche JEE 6 WebProfile e qualche cosa di più...
  • 3. 3 Gusti 1. Java EE 6 WebProfile 2. WebProfile + rest 3. WebProfile + rest + MQ + webservices
  • 4. Gusto 1: Java EE 6 WebProfile 1. CDI - Apache OpenWebBeans 2. EJB - Apache OpenEJB 3. JPA - Apache OpenJPA 4. JSF - Apache MyFaces 5. JSP - Apache Tomcat 6. JSTL - Apache Tomcat 7. JTA - Apache Geronimo Transaction 8. Servlet - Apache Tomcat 9. Javamail - Apache Geronimo JavaMail 10. Bean Validation - Apache BVal
  • 5. Gusti 2: WebProfile + rest 1. WebProfile 2. JAX-RS - Apache CXF
  • 6. Gusto 3: WebProfile + rest + MQ + webservices + connettori 1. WebProfile 2. JAX-RS - Apache CXF 3. JAX-WS - Apache CXF 4. JMS - Apache ActiveMQ 5. Connector - Apache Geronimo Connector Inbound and outbound connections in Geronimo are managed through the J2CA connector framework. This covers JDBC, JMS, DataSources, EIS connectivity, and connection pools.
  • 7. Cosa non è Non è un tomcat + librerie varie. E' stato completato ed ottimizzato.
  • 8. A tomcat mancano per scelta NoTransactionsupport NoConnectionPoolingsupport Connectionpoolingsupportshouldbetransactionaware No@Resource UserTransaction BeanManager Validator ValidatorFactory No@PersistenceUnit No@PersistenceContext No@Inject No@EJB
  • 9. A tomcat mancano per scelta NosupportforGlobalJNDI java:module java:app java:global Nosupportfor@Resource(lookup=”...”) Nosupportfor@DataSourceDefinition Nosupportfornew<env-entry>types: java.lang.Class Enums NoIntegratedSecurity
  • 10. TomEE è ottimizzato Oltre a migliorie nella scelta pulita delle dipendenze. All'avvio le librerie aggiuntive richiedono a Tomcat un tempo aggiuntivo per lo scan del file system alla ricerca delle proprie componenti, ripetuto per ogni libreria.
  • 11. Punti forti 1. E' piccolo 2. E' Tomcat 3. E' certificato 4. E' dotato di una comunità attiva
  • 12. E' Piccolo ● Size: l'intero WebProfile è di 24Mb ● Memory usage: ne richiede molto poca ha passato il TCK senza cambiare i valori predefiniti di impostazione per la memoria della JVM ● Agility: il server in modalità embedded può eseguire un ciclo start / deploy / test / undeploy / stop cycle in 2-3 secondi.
  • 13. E' Tomcat Non ci sono problemi di compatibilità rispetto al più piccolo tomcat, è solido perchè da anni provato in molti contesti di produzione.
  • 14. E' certificato Ha superato con successo i tanto temuti e molto estesi test di compatibilità di specifica Oracle WebProfile TCK. Certificato con AmazonEC2 molti t1.microlinuximages, 100 spot instances in parallelo! ciascuna con 613 MB memoria max senza modificare i parametri preimpostati di memoria alla JVM
  • 15. E' dotato di una comunità attiva Il supporto è quello delle comunità Apache e l'interesse sta crescendo.
  • 17. Link Apache TomEE Java EE 6 Web Profile (slide) goo.gl/gMIbx Apache TomEE Java EE 6 Web Profile (site) http://tomee.apache.org/