You are on page 1of 43

Java para Lderes e Gerentes

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)

Objetivo desta palestra:


Auxiliar os profissionais no envolvidos diretamente com a codificao a entender os conceitos fundamentais da plataforma Java para melhor aplic-la em seus projetos.
5 Globalcode open4education

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

Java Community Process


Empresas Universidades Experts

Java Specification Request (JSR) Especificaes pblicas

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

Mquina Virtual (Java Virtual Machine - JVM)


Responsvel por oferecer a flexibilidade de sistema operacional para um software Java A JVM depende do sistema operacional onde ela executada
9 Globalcode open4education

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)

Diversos frameworks de desenvolvimento para aumento de produtividade

10

Globalcode open4education

reas de desenvolvimento
A plataforma dividida em trs partes:
Java Standard Edition
Base do Java que contm as principais APIs

Java Enterprise Editon


Verso de Java para desenvolvimento de aplicaes Web e enterprise que rodam em servidores padronizados

Java Micro Edition


Reduo da plataforma Standard para dispositivos mveis como PDA e celulares

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

Arquitetura em camadas JavaEE

15

Globalcode open4education

Arquitetura em camadas JavaEE

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

Humm... um programa Java

Servidor de aplicaes Java

18

Globalcode open4education

JavaServer Page (JSP)


Documentos HTML ou XML com cdigo Java embutido
Facilita o uso de ferramenta de edio de documentos HTML de forma visual Documento convertido em Java Servlet na primeira requisio, portanto sua execuo acontece no servidor

19

Globalcode open4education

JavaServer Faces (JSF)


Framework para a implementao de interfaces grficas das aplicaes Web baseadas no modelo Swing Incorpora caractersticas de um framework MVC para WEB e de um modelo de interfaces grficas baseado em eventos
Separao entre visualizao e regras de negcio Visualizao pode ser feita por diferentes renderizadores

20

Globalcode open4education

JavaServer Faces (JSF)


Padro de Componentes de User Interface
Especificao Java EE, portante exige uma implementao

Amplo suporte de IDEs (Eclipse, Netbeans, DreamWeaver)


Toolability = Ferramentabilidade

Diversas bibliotecas de componentes de UI de terceiros


21 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

EJB tem contexto transacional


Servidor pode cuidar processo de commit / rollback automaticamente

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

Arquiteturas Java / Java EE


Arquiteturas de aplicaes Java podem ser classificadas em:
Arquiteturas Desktop
Projetos no Web instalados na mquina do usurio que podem se comunicar com servidores

Arquiteturas Web Simples


Projetos de menor porte que utilizam servidor Web e conexo a banco de dados

31

Globalcode open4education

Arquiteturas Java / Java EE


Arquiteturas Enterprise Web
Projetos Web de grande porte que utilizam vrios servidores integrados ou em clustering, e/ou mainframes

Arquiteturas Mobile
Projetos desenvolvidos para dispositivos mveis. Em geral so casados com outra(s) arquitetura(s)

Arquiteturas SOA (Service Oriented Arhictecture)


Tcnica de encapsulamento e disponibilizao das funcionalidades do aplicativo como servios

Arquiteturas de servios agendados


Aplicativos sem interfaces que so agendados para execuo automtica
32 Globalcode open4education

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

Principais Frameworks e APIs


Struts
Desenvolvimento Web com arquitetura MVC

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

Principais Frameworks e APIs


Hibernate (e outros frameworks de persistncia)
Persistncia de objetos java em bancos de dados relacional

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.

JSF ou Struts + Spring + Hibernate


Arquitetura extremamente inovadora com conceitos de ltima gerao. No tem muitos profissionais preparados.

JSF + JBoss Seam + EJB


Arquitetura extremamente inovadora com conceitos de ltima gerao. Cuidados devem ser tomados pois bastante recente.
39 Globalcode open4education

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

Integrao com Java EE pode ser feita de diferentes formas:


Arquivos XML Troca de mensagens via JMS Servios Web (Web Services) JCA (Java Conector Architecture) Corba ...

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

You might also like