Como sobreviver com Java 2? Saulo Arruda



Documentos relacionados
UFG - Instituto de Informática

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

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

MÓDULO Programação para Web 2

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

SIQ GQF Plugin s WEB (Aplicações WEB) Gestão da Qualidade de Fornecedores

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container TomCat Aula 05

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

Java e Banco de Dados: JDBC, Hibernate e JPA

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

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education

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

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

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

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

PROJETO PEDAGÓGICO DE CURSOS

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

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

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

JBoss Seam. Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode. Globalcode Open4Education

3 Serviços na Web (Web services)

OPORTUNIDADES CWI: Principais atividades: - Análise e desenvolvimento de sites Cross-plataform (IE/Firefox/Chrome/Safari).

Ensino Superior: IESB Instituto de Educação Superior de Brasília Ciências da Computação - Cursando

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

OPORTUNIDADES: Analista de Sistemas

Mini-curso Gratuito Globalcode Slide 1

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

Guilherme Augusto de Assis

Grails: o que isso quer dizer? Gilliard Cordeiro

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

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

Analista de Negócio Pleno

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS

Artigo JavaMagazine (edição 58)

CURSO DESENVOLVEDOR JAVA Edição 2010

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

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Manual de Procedimentos para Desenvolvimento de Softwares

J2EE TM Java 2 Plataform, Enterprise Edition

Agenda. Desenvolvimento um aplicativo completo usando JSF, EJB e padrões Rodrigo Cândido e Vinny Nunes Instrutores Globalcode / VOffice.

ARQUITETURA DO SISTEMA ERP PEGASUS

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

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

UFG - Instituto de Informática

Prova Específica Cargo Desenvolvimento

MAC-0462 Padrões arquiteturais para sistemas baseados em componentes reconfiguráveis

EJB 3.1: A Community Update

CURSO DESENVOLVEDOR JAVA Edição 2009

Framework. Marcos Paulo de Souza Brito João Paulo Raittes

Curso de Extensão Programação Orientada a Objetos com Java. Última atualização: 25/05/2010

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

JPA: Persistência padronizada em Java

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

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

Sistemas Distribuídos e Tolerância a Falhas Mestrado em Engenharia Informática 1ª ano / 2ª semestre

TECNOLOGIA JAVA TENDÊNCIAS, MERCADO E FUTURO

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

VRAPTOR: O FRAMEWORK DE APRENDIZADO JAVA WEB AUGUSTO BEVILAQUA RAFAEL CIRINO LACERDA SAULO ALMEIDA LIMA

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

Relatório do GPES. Descrição dos Programas e Plugins Utilizados. Programas Utilizados:

WebApps em Java com uso de Frameworks

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

Programação para Internet

SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS

Omar Alejandro Balcon Benvenuto

Linguagem de Programação Para Internet II

Criação de um novo projeto no Eclipse utilizando Maven

OPORTUNIDADES CWI: Principais atividades: - Análise e desenvolvimento de sites Cross-plataform (IE/Firefox/Chrome/Safari).


FICHA DE CATALOGAÇÃO DE REVISTAS DE NOTÍCIAS. Coleção

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS

OPORTUNIDADES CWI: Analista de Sistemas Sênior

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

Desenvolvimento Web com Framework Demoiselle versão 1.0

Java II. Sérgio Luiz Ruivace Cerqueira

OPORTUNIDADES CWI: Principais atividades: - Análise e desenvolvimento de sites Cross-plataform (IE/Firefox/Chrome/Safari).

RestFull WebServices. Rafael Nunes Arquiteto de Software / Instrutor Globalcode. Globalcode Open4Education

Modularidade com Java Module System & OSGi

OPORTUNIDADES CWI: Principais atividades: - Análise e desenvolvimento de sites Cross-plataform (IE/Firefox/Chrome/Safari).

Omar Alejandro Balcon Benvenuto

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

SCC Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

PLANO DE ENSINO INSTITUTO FEDERAL SUL-RIO-GRANDENSE CAMPUS SAPUCAIA DO SUL PRÓ-REITORIA DE ENSINO

Integração Orientada a Serviços

UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS

PROGRAMAÇÃO PARA SERVIDOR INTRODUÇÃO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Mapeamento Lógico/Relacional com JPA

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Transcrição:

Como sobreviver com Java 2? Saulo Arruda

Agenda Apresentação Contexto do mercado Soluções para Java 5+ Soluções para Java 2 Conclusões

Apresentação Saulo Arruda (http://sauloarruda.eti.br) Trabalha com Java desde 2002 Coordenador do JUG-MS Gerente de Produção da Agence Instrutor do SENAC/MS Trabalha em projetos em Java para Honda, Toyota, Bradesco, Brasil Telecom

Apresentação Quem usa Java? Quem usa JEE? Frameworks: Spring, Hibernate, Struts, JSF, JPA, Submacro, outros? Java 2 ou Java 5+

Agenda Apresentação Contexto do mercado Soluções para Java 5+ Soluções para Java 2 Conclusões

Servidores de Aplicação Grandes empresas que usam Java, dependem de um Servidor de Aplicação (Application Server, ou simplesmente AS) para execução de Aplicações JEE. Componentes de um AS: Container Web (Servlet/JSP) e EJB Webservices, SOA, Rules Engines Cluster, monitoramento

AS Disponíveis Os principais servidores de aplicação do mercado dão suporte à JEE 5 [1]

AS Usados Porém, as empresas não usam a última versão por uma questão de CUSTO OK, mas falando de JDK, os principais Servidores de Aplicação USADOS pelo mercado ainda não usam JEE 5: IBM Websphere 6.0 (IBM JDK 1.4 / J2EE 1.4) Oracle AS 9i (SUN JDK 1.3 / J2EE 1.3) BEA Weblogic 8.1 (BEA JRockit 1.4 / J2EE 1.3)

Custo de Migração No quesito CUSTO, devemos considerar: Licença do servidor de aplicação Horas para instalação do novo ambiente Horas para migração das aplicações Horas para teste integrado Prazo para implantação Prejuízos decorrentes de problemas após a migração

Resumindo Até que o fornecedor do AS continue dando suporte à plataforma antiga, a migração provavelmente não será feita. Logo... Sua aplicação deverá ser compatível com a plataforma (JRE 1.4/ J2EE 1.4) até que a migração aconteça. Previsão: 2010 (daminha bola de cristal)

Agenda Apresentação Contexto do mercado Soluções para Java 5+ Soluções para Java 2 Conclusões

Especificação JEE 5 [2] Foco na facilidade reduzindo necessidade configuração com o uso de Annotations EJB (Enterprise Java Beans) 3.0 JPA (Java Persistence API) 1.0 JSF (JavaServer Faces) 1.2 JAX-WS (Java API for XML-Based Web Services) 2.0

J2EE 1.4 vs JEE 5 [2] Aplicação Item Medido J2EE 1.4 Adventure Builder JEE 5 Melhoria No. de Classes 67 43 36% menos classes Linhas de Cód. 3.284 2.777 15% menos código RosterApp No. de Classes 17 7 27% menos classes Linhas de Cód. 987 716 27% menos código Arquivos XML 9 2 78% menos arq. XML Linhas de XML 782 26 97% menos cód. XML

Benefícios [2] Injeção de Dependências @Resource private DataSource iscds; Controle Transacional @TransactionAttribute(MANDATORY) Mapeamento Objeto Relacional @Entity public class Pessoa { @Id private Integer id; } @PersistenceContext EntityManager em;

Benefícios [2] POJOs de Negócio e Webservices @WebService(name= pessoaservice ) @Stateless public class PessoaServiceBean implements PessoaService JavaServer Faces Managed Beans public class PessoaMB { private Pessoa pessoa; public void salvar() { } }

Benefícios [3] IDEs mais completas Vários fornecedores para as especificações (JPA, JSF) Componentes JSF de prateleira Testabilidade sem servidor JEE Menos extensões proprietárias do AS

Agenda Apresentação Contexto do mercado Soluções para Java 5+ Soluções para Java 2 Conclusões

Limitadores O uso de Annotations é o maior limitador para a adoção de novas tecnologias A maioria dos bons frameworks na sua última versão são compatíveis com J2EE 1.4, mas não com 1.3 Limitações da especificações J2EE 1.3 (especialmente Servlet e JSP)

Frameworks Persistência: Hibernate 3.2, Spring JDBC IoC e DI: Spring Framework 2.5 Template (Web): SiteMesh 2.3 Teste de Unidade: JUnit 3.8 Web: Spring MVC 2.5, WebWork 2.2 Webservices: XFire 1.2

Servidores de Aplicação O único requisito para o uso dos frameworks propostos é J2EE 1.4: JBoss 4.0, IBM Websphere 6.0, BEA Weblogic 9.2, Oracle OC4J 10.1.3, Geronimo 1.0-M5, JOnAS 4.4, Sun AS 8, Tomcat 5.5 e Jetty 5 (isso mesmo!) Isto é, boa parte dos AS usados atualmente pelo mercado!

Dependências Na prática, usando os frameworks citados, seu ambiente deve ser compatível com: Servlet 2.4 JSP 2.0 JRE/JDK 1.4 Não usa EJB, mas garante escalabilidade para grandes sistemas

Agenda Apresentação Contexto do mercado Soluções para Java 5+ Soluções para Java 2 Conclusões

Arquitetura Boa notícia: É possível desenvolver aplicações sem EJB! JPA é a consagração do sucesso do Hibernate JSF pega as melhores idéias de todos os frameworks Web XFire é webservice mamão com açúcar

Vantagens de Java 2 Arquitetura simples, com pouca de pendência do Servidor de Aplicação Frameworks mais maduros, com menos ocorrência de bugs ou evoluções Java garante compatibilidade retroativa

Desvantagens de Java 2 A aplicação não usa os padrões de mercado (especificações) e por isso os componentes devem parar de evoluir Uso de JRE menos performática JEE 5 é mais produtivo para o desenvolvedor

Perguntas? Devo usar Spring Framework? E JBoss Seam? Qual melhor servidor de aplicação? Hibernate ou JPA? Spring MVC, Struts ou JSF? Como ficar rico?

Obrigado! Saulo Arruda http://sauloarruda.eti.br sauloarruda@gmail.com

Licença

Referências [1] SUN MICROSYSTEMS; Java EE Compatibility. Disponível em http://java.sun.com/javaee/overview/compatibility.jsp. [2] STEANS, John; CHINNICI, Roberto; et al.; An Introduction to the Java EE 5 Plataform. Sun Microsystems: 2006, Disponível em http://java.sun.com/developer/technicalarticles/j2ee/intro_ee5/. [3] BRIENS, Adams; Java EE 5 vs J2EE 1.4 and some arguments for switching. Disponível em http://adam-bien.com/roller/abien/entry/java_ee_5_vs_j2ee.