Professional Documents
Culture Documents
Globalcode open4education
Instrutor
Globalcode open4education
Agenda
3
Motivao e Objetivos Plataforma Java Plataforma Java EE Servidores de Aplicao Arquiteturas Ferramentas de desenvolvimento Frameworks Integrao Concluses
Globalcode open4education
Agenda
4
Motivao e Objetivos Plataforma Java Plataforma Java EE Servidores de Aplicao Arquiteturas Ferramentas de desenvolvimento Frameworks Integrao Concluses
Globalcode open4education
Motivao e Objetivos
Java: plataforma de desenvolvimento de software consolidada no mercado
Inmeras possibilidades de treinamento para programadores
Lderes e gerentes de projeto precisam conhecer as tecnologias e saber utiliz-las para melhorar seu negcio
Muitos frameworks, APIs, arquiteturas, bibliotecas que precisam ser conhecidas (Sopa de letrinhas)
Agenda
6
Motivao e Objetivos Plataforma Java Plataforma Java EE Servidores de Aplicao Arquiteturas Ferramentas de desenvolvimento Frameworks Integrao Concluses
Globalcode open4education
Plataforma Java
Desenvolvimento de software robusto para diferentes tipos de dispositivos
PC, celular, palmtop, robs, etc.
A linguagem Java moderna, segura, orientada a objetos e altamente preparada para computao em rede
Lanada em 1996
Gratuita e de cdigo aberto (Open JDK) Mantida pela comunidade de desenvolvedores por meio do JCP (Java Community Process)
7 Globalcode open4education
JBOSS
Globalcode open4education
Plataforma Java
Software Multiplataforma
Escreva uma vez e execute em qualquer lugar... Cdigo no precisa ser recompilado para executar em outro sistema operacional
Plataforma Java
Independente de sistema operacional, banco de dados, servidor Web, ferramenta de desenvolvimento, etc.
Na prtica, isso significa que se pode desenvolver software com diferentes combinaes
Opes open-source e comerciais (IDEs, banco de dados, servidores)
10
Globalcode open4education
reas de desenvolvimento
A plataforma dividida em trs partes:
Java Standard Edition
Base do Java que contm as principais APIs
11
Globalcode open4education
Plataforma Java
Certificaes
12
Globalcode open4education
Agenda
Motivao e Objetivos Plataforma Java Plataforma Java EE Servidores de Aplicao Ferramentas de desenvolvimento Frameworks Integrao Concluses
13
Globalcode open4education
Plataforma Java EE
Suporte ao desenvolvimento de aplicaes enterprise
Aplicaes distribudas, seguras, escalveis, de alta disponibilidade e com baixo custo de manuteno
Plataforma para desenvolvimento de software de pequeno, mdio e grande porte em mltiplas camadas de componentes
Componentes rodam em um servidor Java EE
14
Globalcode open4education
15
Globalcode open4education
16
Globalcode open4education
Camada Web
Componentes para desenvolvimento de aplicaes Web
Executam dentro de um servidor Web Java (web container)
Principais APIs:
Java Servlet JavaServer Pages JavaServer Faces
17
Globalcode open4education
Java Servlet
Acesso Web a um Java Servlet
1.Vou delegar ao container
18
Globalcode open4education
19
Globalcode open4education
20
Globalcode open4education
Camada de Negcios
Componentes de regras de negcio que podem ser acessados remotamente
Enterprise JavaBeans (EJB)
Podem ser utilizados em aplicaes Web e no Web
22
Globalcode open4education
Camada de Negcios
O uso de EJBs deve ser feito com cuidado
Quando usar EJB?
Alta escalabilidade Integrao e compartilhamento de componente Uso de rich-clients sem Web Container Clientes no-Java e integrao Flexibilidade na arquitetura
23
Globalcode open4education
Camada de Negcios
EJBs so classificados em (Java EE 5):
Session Bean
Processos de negcio: acessam um banco, fazem contas, Podem manter ou no o estado das requisies
Stateless ou Stateful
Message-driven bean
Processos assncronos: respondem a eventos Agem somente quando recebem uma mensagem Usados para garantia de interao entre aplicaes
24
Globalcode open4education
Agenda
25
Motivao e Objetivos Plataforma Java Plataforma Java EE Servidores de Aplicao Arquiteturas Ferramentas de desenvolvimento Frameworks Integrao Concluses
Globalcode open4education
Servidores Java EE
Aplicaes Java EE rodam em servidores de aplicao compatveis com a especificao Java EE
Servidor de aplicaes Java EE
26
Globalcode open4education
Servidores Java EE
Web Container
Trabalha em conjunto com um Servidor HTTP para oferecer suporte aos componentes da camada Web
Tomcat (Apache) Jetty JRun (Adobe)
EJB Container
o servidor de componentes transacionais EJB
OpenEJB (Apache) * Containeres especficos dos fabricantes de servidores de aplicao
27 Globalcode open4education
Servidores Java EE
Servios oferecidos pelos containeres Java EE:
Gesto de memria, ciclo de vida de objetos e estado de objetos Conexes, Transaes, Servio de nomes Segurana Tolerncia a falhas Integrao WebServices Clustering Alta disponibilidade Confiabilidade...
28 Globalcode open4education
Servidores Java EE
Servidores de aplicao Java EE (* gratuitos)
JBoss Application Server (RedHat) * GlassFish (RI) (Sun) * Gernimo (Apache) * Websphere Application Server (IBM) WebLogic Server (BEA) Oracle application Server OC4J (Oracle)
A escolha do servidor deve considerar se a verso escolhida compatvel com o Java EE utilizado (1.4 ou 5)
Servidores certificados so listados em: http://java.sun.com/javaee/overview/compatibility.jsp
29 Globalcode open4education
Agenda
30
Motivao e Objetivos Plataforma Java Plataforma Java EE Servidores de Aplicao Arquiteturas Ferramentas de desenvolvimento Frameworks Integrao Concluses
Globalcode open4education
31
Globalcode open4education
Arquiteturas Mobile
Projetos desenvolvidos para dispositivos mveis. Em geral so casados com outra(s) arquitetura(s)
Agenda
33
Motivao e Objetivos Plataforma Java Plataforma Java EE Servidores de Aplicao Arquiteturas Ferramentas de desenvolvimento Frameworks Integrao Concluses
Globalcode open4education
Ferramentas de desenvolvimento
Algumas IDEs com suporte ao desenvolvimento de aplicaes Java
Netbeans Eclipse WSAD (RAD) JBoss Developer Studio JBuilder IntelliJ Idea JDeveloper
34 Globalcode open4education
Agenda
35
Motivao e Objetivos Plataforma Java Plataforma Java EE Servidores de Aplicao Arquiteturas Ferramentas de desenvolvimento Frameworks Integrao Concluses
Globalcode open4education
Frameworks
Framework:
Arquitetura semi-pronta (ou parte dela) que facilita o desenvolvimento de determinados tipos de aplicativos Vm sendo utilizados desde 1982 Se tornaram bastante populares no desenvolvimento Web e para persistncia em Java
Novos frameworks surgem todos os anos.
Alguns ficam to populares que se tornam padres
36
Globalcode open4education
Tiles
Oferece facilidades para reaproveitamento de telas
Validator
Para efetuar validaes em dados do aplicativo
JavaServer Faces
Modernizao do desenvolvimento Web que virou padro no Java EE 5 Vrias implementaes
JBoss RichFaces, IceFaces, Woodstock...
37 Globalcode open4education
JPA
Padro de persistncia do Java (vrias implementaes)
Spring
Desenvolvimento de aplicaes Web e enterprise
JBoss Seam
Desenvolvimento rpido de aplicativos Web 2.0 utilizando tecnologias inovadoras
38
Globalcode open4education
Combinao de frameworks
As seguintes combinaes so populares :
Struts + Tiles + Validator + Hibernate
Combinao clssica muito usada desde 2005, com muitos profissionais preparados. Relativamente depreciada hoje em dia
JSF + Hibernate
Arquitetura simples, sem over-engineering. Recomendada para projetos novos e simples.
Agenda
40
Motivao e Objetivos Plataforma Java Plataforma Java EE Servidores de Aplicao Arquiteturas Ferramentas de desenvolvimento Frameworks Integrao Concluses
Globalcode open4education
Integrao de aplicaes
Grande nmero de tecnologias integrao mais frequente necessidade de
41
Globalcode open4education
Agenda
42
Motivao e Objetivos Plataforma Java Plataforma Java EE Servidores de Aplicao Arquiteturas Ferramentas de desenvolvimento Frameworks Integrao Concluses
Globalcode open4education
Concluses
Tecnologia Java em franca expanso Controle do JCP padres
Adota boas experincias de mercado e as torna padres Integraes diretas com ferramentas de teste e modelagem de aplicaes
Teste de carga, de unidade, de integrao, etc TDD (Test Driven Development) UML
43
Globalcode open4education