• Nenhum resultado encontrado

Comparativo de frameworks: O mapa da mina

N/A
N/A
Protected

Academic year: 2021

Share "Comparativo de frameworks: O mapa da mina"

Copied!
30
0
0

Texto

(1)

Comparativo de frameworks:

O mapa da mina

Vinicius Senger

[email protected] vsenger.blogspot.com

Alberto J Lemos (Dr. Spock)

Instrutor Globalcode

(2)

Globalcode – Open4Education

2

Arquiteturas Corporativas

> Após 10 anos de desenvolvimento Web com

Java, podemos resumir as arquiteturas:

1. JSP-Centric;

2. MVC proprietário com JSP;

3. Struts 1.x isolado;

4. JSF 1.x isolado;

5. Shale;

6. Spring com Struts;

7. Spring com JSF;

8. JBoss Seam;

(3)

Arquiteturas Corporativas

> Diversos conflitos foram superados e novas idéias aceitas:

> Listeners Web;

> Anotações e Aspectos;

> Persistência;

> Linguagem para camada view;

> Produtividade;

> Injeção de dependência;

> EJB ou não?

(4)

Globalcode – Open4Education

4

Arquiteturas Corporativas

> Arquiteturas atuais mais adotadas são:

> JSF puro com alguns patterns;

> Seam / JSF / EJB;

> Spring / JSF / Hibernate;

> Arquiteturas legadas mais populares são:

> Struts 1.x;

> Shale;

> Frameworks proprietários baseados em MVC com

(5)

Arquiteturas Corporativas

> Independente do que vai decidir, sugerimos esta lista de adoções obrigatórias:

> JSF;

> Richfaces;

> JPA com Hibernate;

> Facelets e XHTML;

> Message-driven bean;

> Eclipse ou Netbeans;

> JUnit, Seleniun e Fitnesse para testes;

(6)

Globalcode – Open4Education

6

Arquiteturas Corporativas

> Bons programadores e arquitetos ajudam um

(7)

Arquiteturas Corporativas

> Vamos propor uma matriz de arquiteturas contemplando as seguintes opções:

> Framework caseiro; > Struts; > Shale; > JSF puro; > Spring com JSF; > JBoss Seam;

(8)

Globalcode – Open4Education

8

Framework caseiro

> Grande benefício para o profissional que desenvolve;

> Quase nenhum benefício para project owner;

> Isolava a solução das guerras de frameworks de 2000-2006;

> Não tem nenhum sentido para uma nova

(9)

Struts

> Nasceu em 2002 com o Java EE 1.2;

> Não contava com listener;

> Não contava com intercepting filter; > Popularizou muito o padrão MVC; > Orientado por Action;

> Foi muito melhorado nas versões 1.2 e 1.3; > Projeto desacelerado em função de JSF; > Struts não é dificil, mas... Struts + Tiles +

(10)

Globalcode – Open4Education

10

Struts

> Não justifica mais para projetos novos; > Deve ser respeitado como um legado; > Contribuiu para o que temos hoje;

> Atualmente um grande número de profissionais conhecem Struts;

(11)

Shale

> É um framework web, baseado em JavaServer

Faces

> Sua arquitetura é composta por diversos serviços independentes

(12)

Globalcode – Open4Education

12

Shale

> Estes serviços podem ser unificados de acordo com as necessidades particulares da sua

aplicação

> Event callbacks

> Conversation scope

> Clay (view technology)

> Configurações baseadas em anotações

(13)

Shale

> Integração para outros frameworks para facilitar o desenvolvimento quando é necessário utilizar outras tecnologias

> OSGI? Não

> IDEs? Plugins pro eclipse > JCP? Não

> MVC? Sim

> Múltiplos frameworks? JNDI, Tiles, Spring

(14)

Globalcode – Open4Education

14

Shale

> Profissionais de mercado? Pouco > Web 2.0? Sim

> Aspectos? Não

> Testes? Sim, compatibilidade com Selenium

> Remoting? Sim

> Web Services? Não > Rest? Não

> Suporte no Brasil? Nenhum

(15)

Spring

> Moderno e em constante ascensão nos últimos

dois anos;

> Nasceu como uma alternativa para EJBs;

> Grande ênfase em injeção de dependência e aspectos;

(16)

Globalcode – Open4Education

16

Spring

> Profissionais de mercado? iguala ao número para EJB

> Web 2.0? Sim > Aspectos? Sim

> Testes? Sim, compatibilidade com Selenium

> Remoting? Sim

> Web Services? Sim > Rest? Sim

> Suporte no Brasil? Nenhum

(17)

Spring

> OSGI? Sim

> IDEs? Eclipse / NetBeans > JCP? Não

> MVC? Sim, implementação própria ou permite

usar Struts / JSF;

> Múltiplos frameworks? Ampla gama de opções

além do portfolio proprietário;

> Curva aprendizado? Container = fácil, AOP = médio / avançado;

(18)

Globalcode – Open4Education

18

Seam

> OSGI? Ainda não nativo;

> IDEs? Eclipse Europa + JBoss tools

> JCP? Sim, WebBeans, Java EE 7

> MVC? Sim, uso aprimorado do JSF;

> Múltiplos frameworks? Integra-se com Spring;

> Curva aprendizado? Fácil de aprender, mas

(19)

Seam

> Profissionais de mercado? Poucos, mas JSF + EJB é 80% do caminho;

> Web 2.0? Sim > Aspectos? Sim > Testes? Sim

> Remoting? Sim

> Web Services? Sim > Rest? Sim

(20)

Globalcode – Open4Education

20

Qual é o seu framework?

> Usamos Struts e não poderemos migrar as aplicações em curto prazo. Gostaria de um

framework que mantivesse compatibilidade com Struts e ofereça recursos modernos.

(21)

Qual é o seu framework?

(22)

Globalcode – Open4Education

22

Qual é o seu framework?

> Nossa empresa precisa de uma plataforma

robusta, escalável e um framework para Web 2.0 que permita construção “instantânea” de aplicativos como Rails, mas também permita construção de aplicativo com EJBs quando necessário.

(23)

Qual é o seu framework?

(24)

Globalcode – Open4Education

24

Qual é o seu framework?

> Acabamos de aprender Java e Java para Web.

Vamos fazer nossa primeira solução na

empresa. Queremos uma arquitetura mais simples, mas que permita o reuso dos seus componentes fundamentais no futuro, em arquiteturas mais robustas..

(25)

Qual é o seu framework?

> JSF + JPA com DAO e isolamento Web dos

(26)

Globalcode – Open4Education

26

Qual é o seu framework?

> Precisamos de uma arquitetura com AJAX que

permita o disparo de multiplas buscas dentro da mesma janela do navegador. A medida que as respostas chegarem um painel da página HTML deve ser re-renderizado com os novos dados

que chegaram por AJAX. Quero alta

confiabilidade na recepção das requesições de pesquisa do usuário.

(27)

Qual é o seu framework?

> Back-end de pesquisas: JMS, MDB, JPA, JTA

> Front-end: Spring ou Seam, com Richfaces / JSF

(28)

Globalcode – Open4Education

28

Qual é o seu framework?

> Obrigatoriamente queremos suporte no framework escolhido.

(29)

Qual é o seu framework?

> Quero escolher o framework que tenha pelo menos 2 IDEs com suporte concreto para o framework:

(30)

Globalcode – Open4Education

30

Qual é o seu framework?

Referências

Documentos relacionados

-  Ver os mercados emergentes na base da pirâmide (Sul) como mercados “avançados” (clientes exigentes e utilizadores-líder) na respectiva categoria de oferta (ou seja,

1 - Cada um dos Estados parte na presente Convenção deverá submeter, em toda a medida do possível, ao Comité do Património Mundial um inventário dos bens do

Em outras palavras, o desenvolvimento das tecnologias de informação e comunicação deve ser pensado dentro do contexto do sistema econômico capitalista que lhe

Pesquisa cujo objetivo foi investigar a existência de políticas públicas para museus no Brasil, no Estado Novo (1937-1945), quando foram criados importantes órgãos nacionais

[r]

Cabe ressaltar que a maior parte da demanda por informações se refere à serviços públicos, especialmente nas demandas do Grupo 2, mais do que informações referentes aos

Fragmentos músicas que se misturam em vários tons de forma confusa, é impossivel de escutar o

António Edgar Martins Freitas (Clube Desp. Santanense) Pedro Eduardo Camilo Rebelo (Grupo Desportivo da Lagoa) Seniores Masculinos: Diogo Trindade Marreiros (Roller Lagos