Fatos e Mitos do Java EE. Fernando Lozano Consultor 4Linux lozano@4linux.com.br



Documentos relacionados
Grails: o que isso quer dizer? Gilliard Cordeiro

Java Programação para Fábrica de Software. Fernando Lozano Consultor 4Linux

Experiência em missão crítica de missão crítica

UFG - Instituto de Informática

EJB ainda tem vez no Java EE 6? Fernando Lozano Consultor 4Linux

Tuning de Servidores de Aplicação Java EE

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

Formando Desenvolvedores Efetivos. Fernando Lozano Arquiteto de Soluções 4Linux

Programação e Configuração de Aplicações JEE. Edilmar Alves

Manual de Procedimentos para Desenvolvimento de Softwares

Como sobreviver com Java 2? Saulo Arruda

Spring: Um suite de novas opções para Java EE

Aplicações Desktop: Swing/SubMacroForms. Carlos Renato Alves Gouveia Novembro/2008

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Varejo Digital Automação Comercial para Cupom Fiscal Eletrônico

Desenvolvendo aplicações desktop em Java: presente e futuro

Fábrica de Software 29/04/2015

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

WebApps em Java com uso de Frameworks

Java Web/UI. Maven3 Redmine CVS. Áreas de conhecimento: Web o Aplicativos Web o Portal de conteúdo o REST Services Web Site Performance

ANEXO 06 AMBIENTE PROCERGS. Desenvolvimento / Testes / Homologação / Produção

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática

Alexandre Malveira, Wolflan Camilo

Anexo I Formulário para Proposta

A Tecnologia Java e o Maior Provedor do Brasil. Daniel Rodrigues Ambrósio

TDC2012. EJB simples e descomplicado, na prática. Slide 1

MÓDULO Programação para Web 2

Oportunidades em SP. Experiência no mercado financeiro / instituições bancárias / produtos de tesouraria.

Visão Geral da Plataforma Java. Robinson Castilho - JUGMS castilho@bacarin.com.br

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Plataforma Open Source de Desenvolvimento e Sustentação de Sistemas. Daniel Darlen Lucius Curado Ridai Pombo

PROJELER. Componentes da Solução Intalio BPMS 5.2. Maurício Bitencourt / mauricio.bitencourt@projeler.com.

Desenvolvimento de um Sistema de Informação para Monitoramento de Dados Hidrometeorológico voltado para Web

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

Escrevendo meu primeiro porlet. Gustavo Lira Consultor 4Linux

AGORA ORACLE AO SEU ALCANCE

Analista de Negócio Pleno

Integração de sistemas utilizando Web Services do tipo REST

Apresentação. Fernando Lozano

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

ISHIFT: Informação em Movimento

Parceiro Oficial de Soluções Zabbix no Brasil

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux

Programação para Internet II

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Guilherme Augusto de Assis

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

Desenvolvimento de um aplicativo básico usando o Google Android

Artur Petean Bove Júnior Tecnologia SJC

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Figura 1 - Arquitetura multi-camadas do SIE

INTERNET HOST CONNECTOR

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE

Sistemas de Informação I

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério.

Melhoria no Desenvolvimento Ágil com Implantação de Processo de Integração Contínua Multiplataforma para Java e.net. Hudson

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1.

TESTES AUTOMATIZADOS COM JUNITE MOCKITO

Desktop em minutos com genesis, Matisse, Java WebStart e JSR-296

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: ou

Projetos Corporativos Baseados na Tecnologia Java Que Falham: O Que Podemos Aprender Deles?

Web Services. Autor: Rômulo Rosa Furtado

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

SOLUÇÃO EM DISPOSITIVO MÓVEL PARA ATENDIMENTO DE RESTAURANTES E LANCHONETES EM VIÇOSA-MG 1

Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva

Padrões Abertos, Componentização e SOA A chave para a evolução e criação de uma nova geração de sistemas de gestão comercial

Suporte de alto nível, equipe atualizada e a qualidade dos equipamentos HP.

Servlets e Applets, funcionamento e comparativo.

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

CENTRAL DE SERVIÇOS APOIADA EM SOFTWARE LIVRE

AGENDA. O Portal Corporativo. Arquitetura da Informação. Metodologia de Levantamento. Instrumentos Utilizados. Ferramentas

No mercado atual, podemos encontrar vários tipos de sistemas operacionais que fazem parte das seguintes classes:

Conversa Inicial. Olá! Seja bem-vindo à quarta aula de Fundamentos de Sistemas de Informação.

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Linha Silk: a maneira leve para testar, desenvolver e gerenciar

ORDEM DE SERVIÇO OS 003/DINFO/ /09/2013

Software Livre e GIS: Quais são as alternativas?

Programação para Internet II

GTI2-Tecnologia. <Analisador de logs> Documento Visão. Versão <1.0>

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Integração Orientada a Serviços

INTERESSADOS DEVERÃO CADASTRAR CURRICULO NO SITE TÉCNICO EM INFORMÁTICA

Tudo o que Você Sempre Quis Saber Sobre Linguagens de Programação* (*Mas Tinha Medo de Perguntar) Diego Padilha Rubert FACOM

Engenharia de Software

Web Services. (Introdução)

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Junte-se a uma empresa sólida no nosso mercado, assumindo a função de Programador Web.

Linguagem de Programação Para Internet II

Transcrição:

Fatos e Mitos do Java EE Fernando Lozano Consultor 4Linux lozano@4linux.com.br

O Que É o Java EE? É um padrão de bibliotecas e componentes (APIs) para a criação de aplicações corporativas Também é um padrão de serviços de infra-estrutura fornecidos por servidores de aplicações Nasceu da necessidade de se padronizar uma plataforma para o desenvolvimento de grandes sistemas corporativos, como ERPs Foca aspectos como segurança, integridade transacional e distribuição Os padrões são definidos por várias empresas, indivíduos e organizações usuárias como parte do JCP (Java Community Process)

Java x Java EE Quando o mercado fala em desenvolvimento Java, na verdade quer dizer Java EE Aplicações Web são aplicações Java EE Mas desenvolvimento Java EE é muito mais do que apenas desenvolvimento Web! Aplicações Java puras seriam aplicações gráficas, 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 também define padrões e responsabilidades para o fornecedor da infra-estrutura e de ferramentas de desenvolvimento

Benefícios do Java EE Mais fácil de programar (serviços de segurança, gerência de transações, fluxo da interface com o usuário, web services, messageria, logging, etc já estão prontos) Mais fácil de gerenciar (o servidor de aplicações já monitora coisas como tempo de execução de componentes e uso de conexões ao BD) Mais fácil de escalar (alta disponibilidade, clusterização e chamadas distribuídas embutidas no padrão e nos produtos)

Volume faz a diferença! Nenhuma outra plataforma de TI hoje é suportada por tantos fornecedores comerciais e projetos open source Em geral as ofertas para Java EE são mais maduras do que para outros ambientes, incluindo.net e Ruby IDEs Eclipse, Netbeans Testes JUnit, Selenium, JMeter Qualidade de código: FindBugs, PMD, Jdepends Integração Contínia: Hudson, Continuum Segurança: JSSO, Acegi, OWASP Monitoração Zabbix, JOPR, OpenNMS Componentes especializados JFreeChart, ireports, JBoleto, Drolls, Bonita, Quartz, exo JCR, etc

Java EE é só para Java? As APIs e servidores de aplicações Java EE não estão restritos à Linguagem Java, sendo atrelados apenas à Plataforma Java Então é possível desenvolver para Java EE usando PHP, Python, Ruby, Scala, Groovy e outras linguagens executáveis dentro de uma JVM Servidores de Aplicação Java EE podem rodar aplicações nestas linguagens e elas podem usufruir dos serviços da plataforma, como clusterização e pool de conexões ao BD Frameworks escritos para o Java EE, como Hibernate e Spring também podem ser utilizados por linguagens que não o Java

A Popularidade do Java está Caindo?

Google Trends, últimos 12 meses Mundo Brasil

Ofertas de Empregos indeed.com Plataforma Empregos Brasil Empregos EUA Java 7.064 110.596.Net 8.109 109.704 C++ 906 53.991 PHP 3.005 24.045 Ruby 221 13.900 Android 153 9.808 ios 123 6.952 Delphi 1.065 1.688

O Java EE é Aberto? Todos os padrões do JCP JSRs e suas RIs (implementações de referência) estão disponíveis gratuitamente e sem restrições de uso A aderência aos padrões é validada formalmente, via TCKs (testes de compatibilidade) automatizados O JCP Não reinventa a roda, aderindo a padrões definidos por outras organizações como X/Open, OMG, OASIS, W3C e As RIs ou implementações dos padrões do JCP não são necessariamente Software Livre, mas na maioria dos casos não há impedimentos, de modo que temos muitas implementações 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 básico de servidor web + linguagem de script! Grandes sistemas são complicados, e o Java EE ganhou uma fama ruim devido ao seu público-alvo original O Java EE 5 (2006) em diante oferece simplicidade de programação sem abrir mão do poder de fogo das versões anteriores É possível aprender rapidamente a programar Java EE usando apenas JSF, JPA e REST, mas não menospreze os recursos mais avançados como EJB e JMS

O Java EE é Pesado? Benchmarks recentes (e nem tanto) comparam o Java EE favoravelmente contra aplicações C, e servidores de aplicação Java EE até superam servidores web nativos A tecnologia da JVM, especialmente o JIT, tem potencial para maior eficiência no uso de processador Bons algoritmos e técnicas como cache tem maior influência do que o compilador, e o Java EE é o mais evoluído neste aspecto Servidores de aplicação proprietários, baseados em componentes legados pré-java EE (como CORBA) geraram a fama de pesado Hoje temos até aplicações 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 opões leves e livres como JBoss AS, Tomcat e Glassfish Estas opções não devem nada aos concorrentes proprietários e tradicionais, superando-os em muitos aspectos! Um servidor PC comum hoje (Intel ou AMD dual / quadcore com alguns GB de RAM) roda confortavelmente aplicações Java EE para centenas de usuários

O Java EE está Obsoleto? Ambientes como.net basicamente emulam funcionalidades do Java EE, com atraso considerável O foco em simplicidade de linguagens de script como Ruby pode gerar coisas inflexíveis, inexpansíveis e inescaláveis seus sistemas devem ir além da versão 1.0! Se você gosta muito do Rails, rode ele no Java EE, ou use o Grails, que complementa em vez de substituir opções mais maduras como o JPA A inovação real veio de frameworks alternativos para a plataforma Java, como Spring e Hibernate, e suas idéias foram incorporadas nas versões mais recentes do padrão Java EE

O Futuro do Java EE Já temos: ORM, DI e IoC Convention over Configuration Componentes Web 2.0 Conversações REST E isso sem abrir mão da compatibilidade retroativa Aplicações antigas podem ser atualizadas incrementalmente Android é Java! O que ainda Falta? E a Oracle? Analistas de mercado afirmam que a plataforma está bem posicionada para se manter pela próxima década e além como a principal plataforma de desenvolvimento de aplicações

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