Você está na página 1de 16

Fatos e Mitos do Java EE

Fernando Lozano Consultor 4Linux lozano@4linux.com.br

O Que o Java EE ?

um padro de bibliotecas e componentes (APIs) para a criao de aplicaes corporativas Tambm um padro de servios de infra-estrutura fornecidos por servidores de aplicaes Nasceu da necessidade de se padronizar uma plataforma para o desenvolvimento de grandes sistemas corporativos, como ERPs Foca aspectos como segurana, integridade transacional e distribuio Os padres so definidos por vrias empresas, indivduos e organizaes usurias como parte do JCP (Java Community Process)

Java x Java EE

Quando o mercado fala em desenvolvimento Java, na verdade quer dizer Java EE

Aplicaes Web so aplicaes Java EE Mas desenvolvimento Java EE muito mais do que apenas desenvolvimento Web!

Aplicaes Java puras seriam aplicaes grficas, desktop, cuja demanda despencou nos ltimos anos

Ainda assim elas usam componentes, como os de acesso a bancos de dados, definidos como parte do Java EE

O Java EE tambm define padres e responsabilidades para o fornecedor da infra-estrutura e de ferramentas de desenvolvimento

Benefcios do Java EE

Mais fcil de programar (servios de segurana, gerncia de transaes, fluxo da interface com o usurio, web services, messageria, logging, etc j esto prontos) Mais fcil de gerenciar (o servidor de aplicaes j monitora coisas como tempo de execuo de componentes e uso de conexes ao BD) Mais fcil de escalar (alta disponibilidade, clusterizao e chamadas distribudas embutidas no padro e nos produtos)

Volume faz a diferena!

Nenhuma outra plataforma de TI hoje suportada por tantos fornecedores comerciais e projetos open source Em geral as ofertas para Java EE so mais maduras do que para outros ambientes, incluindo .Net e Ruby

IDEs Eclipse, Netbeans Testes JUnit, Selenium, JMeter Qualidade de cdigo: FindBugs, PMD, Jdepends Integrao Contnia: Hudson, Continuum Segurana: JSSO, Acegi, OWASP Monitorao Zabbix, JOPR, OpenNMS Componentes especializados JFreeChart, iReports, JBoleto, Drolls, Bonita, Quartz, eXo JCR, etc

Java EE s para Java ?

As APIs e servidores de aplicaes Java EE no esto restritos Linguagem Java, sendo atrelados apenas Plataforma Java Ento possvel desenvolver para Java EE usando PHP, Python, Ruby, Scala, Groovy e outras linguagens executveis dentro de uma JVM Servidores de Aplicao Java EE podem rodar aplicaes nestas linguagens e elas podem usufruir dos servios da plataforma, como clusterizao e pool de conexes ao BD Frameworks escritos para o Java EE, como Hibernate e Spring tambm podem ser utilizados por linguagens que no o Java

A Popularidade do Java est Caindo ?

Google Trends, ltimos 12 meses


Mundo

Brasil

Ofertas de Empregos indeed.com

Plataforma Java .Net C++ PHP Ruby Android iOS Delphi

Empregos Brasil 7.064 8.109 906 3.005 221 153 123 1.065

Empregos EUA 110.596 109.704 53.991 24.045 13.900 9.808 6.952 1.688

O Java EE Aberto ?

Todos os padres do JCP JSRs e suas RIs (implementaes de referncia) esto disponveis gratuitamente e sem restries de uso A aderncia aos padres validada formalmente, via TCKs (testes de compatibilidade) automatizados O JCP No reinventa a roda, aderindo a padres definidos por outras organizaes como X/Open, OMG, OASIS, W3C e As RIs ou implementaes dos padres do JCP no so necessariamente Software Livre, mas na maioria dos casos no h impedimentos, de modo que temos muitas implementaes abertas e certificadas, ex: OpenJDK, Apache Geronimo, JBoss AS

O Java EE Complicado ?

Cuidado ao comparar uma plataforma abrangente como o Java EE com um ambiente bsico de servidor web + linguagem de script! Grandes sistemas so complicados, e o Java EE ganhou uma fama ruim devido ao seu pblico-alvo original O Java EE 5 (2006) em diante oferece simplicidade de programao sem abrir mo do poder de fogo das verses anteriores possvel aprender rapidamente a programar Java EE usando apenas JSF, JPA e REST, mas no menospreze os recursos mais avanados como EJB e JMS

O Java EE Pesado?

Benchmarks recentes (e nem tanto) comparam o Java EE favoravelmente contra aplicaes C, e servidores de aplicao Java EE at superam servidores web nativos A tecnologia da JVM, especialmente o JIT, tem potencial para maior eficincia no uso de processador Bons algoritmos e tcnicas como cache tem maior influncia do que o compilador, e o Java EE o mais evoludo neste aspecto Servidores de aplicao proprietrios, baseados em componentes legados pr-Java EE (como CORBA) geraram a fama de pesado Hoje temos at aplicaes desktop usando um servidor Java EE livres como o Jetty por baixo dos panos!

O Java EE s para Grandes Empresas ?


Quando a oferta de produtos Java EE dependia de IBM, Oracle, SAP, etc s haviam alternativas caras e pesadas Mas h anos temos opes leves e livres como JBoss AS, Tomcat e Glassfish Estas opes no devem nada aos concorrentes proprietrios e tradicionais, superando-os em muitos aspectos! Um servidor PC comum hoje (Intel ou AMD dual / quadcore com alguns GB de RAM) roda confortavelmente aplicaes Java EE para centenas de usurios

O Java EE est Obsoleto ?

Ambientes como .Net basicamente emulam funcionalidades do Java EE, com atraso considervel O foco em simplicidade de linguagens de script como Ruby pode gerar coisas inflexveis, inexpansveis e inescalveis seus sistemas devem ir alm da verso 1.0!

Se voc gosta muito do Rails, rode ele no Java EE, ou use o Grails, que complementa em vez de substituir opes mais maduras como o JPA

A inovao real veio de frameworks alternativos para a plataforma Java, como Spring e Hibernate, e suas idias foram incorporadas nas verses mais recentes do padro Java EE

O Futuro do Java EE

J temos:

Android Java! O que ainda Falta? E a Oracle ? Analistas de mercado afirmam que a plataforma est bem posicionada para se manter pela prxima dcada e alm como a principal plataforma de desenvolvimento de aplicaes

ORM, DI e IoC Convention over Configuration Componentes Web 2.0 Conversaes REST

E isso sem abrir mo da compatibilidade retroativa

Aplicaes antigas podem ser atualizadas incrementalmente

Obrigado

lozano@4linux.com.br www.4linux.com.br twitter.com/4LinuxBR Tel: 55-11-2125-4747

Você também pode gostar