You are on page 1of 5

24/09/2014

Agenda

ALPOO 01 Arquitetura do software.pptx

Aplicao Linguagem de
Programao Orientada a Objeto
ALPOO 01 - Arquitetura do software

Objetivo compreender arquitetura do software


Arquitetura de camadas de Software
Arquiteturas em Camadas
Padres para Arquiteturas em camadas
MVC model II

Mecanismo Arquitetural
Singleton
VO (Value Object )
Facade (Fachada)
DAO (Data Access Object)

Prof. Msc Wanderley Gonalves Freitas

Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

1 de 36

Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

Objetivo
Compreender arquitetura do software do projeto. Tendo como
desafio tecnolgico a implementao registrar o tipo de aluno
com as seguintes funcionalidades: incluso, excluso, alterao e

28/08/2014 16:37

2 de 36

Objetivo
registrar o tipo de aluno com as seguintes funcionalidades:
incluso, excluso, alterao e consulta

consulta

Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

3 de 36

Prof: Msc Wanderley Gonalves Freitas

Apresentao
Lgica da aplicao
Lgica do negcio
Persistncia de Objetos
Camada de Utilitrios:

28/08/2014 16:37

4 de 36

Arquitetura em camadas

Introduo
Em aplicaes OO de mdio e grande porte, diversos aspectos
devem ser considerados:

ALPOO 01 Arquitetura do Software

Arquitetura em camadas visa a criao de aplicativos


modulares, de forma que a camada mais alta se comunica
com a camada mais baixa e assim por diante, fazendo
com que uma camada seja dependente apenas da camada
imediatamente abaixo.

Controle de Excees, Logging, comunicao, etc.


Camada de
Entidade

Camada de Apresentao

Camada
infraestrutura :

Camada de Negcios

Camada de Persistncia

April 05

Prof: Msc Wanderley Gonalves Freitas

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

ALPOO 01 Arquitetura do Software

Banco de
dados

28/08/2014 16:37

5 de 36

Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

6 de 36

24/09/2014

Arquitetura em camadas
Camada de Apresentao: As classes responsveis pela
exibio dos dados e captura os eventos do usurio; As classes
Servlet (controlador) implementam a aplicao, juntamente
com as pginas JSP (formulrio).
servlet opera como controlador que recebem as solicitaes dos
usurios e providenciam o processamento das mesmas.
o controlador o elemento responsvel pela interpretao dos dados de
entrada e pela manipulao e processamento das mesma

Camada de Negcios: So classes que implementam as


regras de negcio dentro do sistema. Ex: classes BO

business object
Camada de Entidade: Responsvel em transferir dados de
um local a outro na aplicao, sem lgica de negcios. Realiza
o mapeamento entre objeto e tabelas no banco de dados.
Ex : Classes VO (value Object)
ALPOO 01 Arquitetura do Software

Prof: Msc Wanderley Gonalves Freitas

28/08/2014 16:37

7 de 36

Modelo de 3 Camadas MVC


Apresentao (controladores)

Negcio (BO)

Persistncia (DAO)

Arquitetura em camadas
Camada de persistncia: Contm as classes responsveis por
armazenamento e recuperao dos dados dos objetos em banco
de dados ,ou seja, executam instrues SQL. As classes DAO
data access object implementam a persistncia
Camada de Infraestrutura: Contm as classes de infraestrutura
de processamento dentro do sistema, necessria para o
funcionamento do sistema ou complemento da aplicao. As
Classes Criptografia, conexo, filtros, exceo e calendrio implementam a infraestrutura
Banco de dados: O BD existe fora da aplicao Java, a atual
representao persistente do estado do sistema.
ALPOO 01 Arquitetura do Software

Prof: Msc Wanderley Gonalves Freitas

28/08/2014 16:37

8 de 36

Exerccio Viso em Camada


Camada Apresentao (formulrio JSP e Servlet)
formTipoAlunoEditaLista.jsp
ServletTipoAluno

Pode Criar a conexo

JSP

VOAbstract
Servlet
Controlador

F
a
c BOAbstract
a
d
e

Camada negcio (Classes BO)

DAOAbstract

BOAbstract
BOTipoAluno

Camada persistncia (Classes DAO)

VOAbstract
DAOEspecifico

BOEspecifico

Banco de dados

Requisio

. Tem a declarao dos SQLs


. Atribui dados do VO para montar SQL

DAOAbstract
DAOTipoAluno

Camada Entidade (Classes VO)


VOAbstract
VOTipoAluno

Camada Infraestrutura
Entidade (VO)

Prof: Msc Wanderley Gonalves Freitas

VOEspecifico

FactoryConexaoJDBC (conexo com banco de dados JDBC)


VOAbstract

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

9 de 36

Prof: Msc Wanderley Gonalves Freitas

Arquitetura em camadas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

10 de 36

Arquitetura em camadas

Apresentao
Entidade
Infraestrutura

Negcio

Prof: Msc Wanderley Gonalves Freitas

Persistncia

ALPOO 01 Arquitetura do Software

Apresentao
28/08/2014 16:37

11 de 36

Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

12 de 36

24/09/2014

Padro de Projeto - (MVC) Model-View-Controller

Implementao do MVC II para Web


JSP Model II - Centrado em servlet

O que o MVC
Model-view-controller (MVC) um padro de arquitetura que divide a
aplicao em Controladores que tratam as entradas dos usurios, no
Modelo que prove as funcionalidades principais, e nas Vises que
mostram as informaes para os usurios.
um design pattern utilizado para padronizar o desenvolvimento
de sistemas em camadas

Estrutura do padro MVC - Web


1 http Request

Objetivo do MVC

Controller

Separar dados ou lgica de negcios (Model) da interface do


usurio (View) e do fluxo da aplicao (Controller)
permitir que uma mesma lgica de negcios possa ser acessada e
visualizada atravs de vrias interfaces.

6
tp
ht

Re
sp
on
se

Por meio do MVC, possvel o desenvolvimento de aplicaes em 3


camadas para a Web.
Facilita o desenvolvimento por times multi-disciplinares:
Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

13 de 36

Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

14 de 36

Model-View-Controller (MVC)
Os componentes com e respectivas funes

Model:

Model:

Responsvel por define as regras de acesso ao banco de dados,


mapeamento entre objeto e tabelas , manipulao dos dados, sendo
responsvel pela persistncia
Classes entidade VO (camada entidade)
Classes de acesso a dados DAO (camada persistncia)
Classes de validao das regras negociais BO (camada negcio)

View:

Responsvel por define as regras de acesso ao banco de dados,


mapeamento entre objeto e tabelas , manipulao dos dados, sendo
responsvel pela persistncia
Classes entidade VO (camada entidade)
Classes de acesso a dados DAO (camada persistncia)
Classes de validao das regras negociais BO (camada negcio)

View:

Responsvel por apresentar os dados forma pgina web, formulrio,


relatrio, etc. responsvel por exibir os dados ao usurio.
Classes visualizao - JSP , HTML (camada apresentacao)

Controller:

Responsvel por apresentar os dados forma pgina web, formulrio,


relatrio, etc. responsvel por exibir os dados ao usurio.
Classes visualizao - JSP , HTML (camada apresentacao)

Controller:

Responsvel em transforma eventos gerados pela interface(JSP) em


aes de negcio e seu invocando os mtodos que modificam o modelo.
Classes de capturar os eventos Servlet (camada apresentacao)

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

15 de 36

Responsvel em traduz as interaes das VIEW(paginas JSP) em aes


a serem executadas pelo MODEL. Com base na interao do usurio e no
resultado das aes do MODEL, o CONTROLLER responde
selecionando uma VIEW (pgina) adequada.
Classes de capturar os eventos Servlet (camada apresentacao)
Prof: Msc Wanderley Gonalves Freitas

Estilo MVC

Aplicao

Visualizao

JSP, EL e JSTL

Controlador

Servlet, Action

captcha

Apresentao

BO, SessionFactory

Negcio

Modelo

I
n Autenticao
f
r Autorizao
e
s utiitarios
t
r
filtro
u
t
Excees
u
r Padres de
a Projetos

ALPOO 01 Arquitetura do Software

16 de 36

Command Pattern

Comando
1
JSP

Front
Controller

BO

DAO

Comando
2
BO
Comando
3

DAOs, Hibernante

Persistncia

BO

Entidade

28/08/2014 16:37

Modelo de Camadas MVC Model 2

MVC e Camada
Estilo Camada

Banco

View

Model-View-Controller (MVC)
Os componentes com e respectivas funes

Prof: Msc Wanderley Gonalves Freitas

3
Model

Vantagens

JDBC

Hibernate

DAO

VO
Banco de dados

Apresentao
Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

17 de 36

Prof: Msc Wanderley Gonalves Freitas

Controle

Negcio

ALPOO 01 Arquitetura do Software

Persistncia
+ Dados
28/08/2014 16:37

18 de 36

24/09/2014

Mecanismo arquitetural

Implementao do MVC II para Web


JSP Model II - Centrado em servlet

Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

19 de 36

Padro Front Controller MVC model II


Padro que consolida todas as requisies web em um nico
objeto manipulador, despachando o tratamento adequado dessas
requisies conforme o comportamento esperado.

Prof: Msc Wanderley Gonalves Freitas

Mecanismo arquitetural

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

20 de 36

Mecanismo arquitetural
Singleton - Implementao

Singleton
garante que uma classe s tem uma instncia

Singleton utilizando

Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

21 de 36

Prof: Msc Wanderley Gonalves Freitas

Mecanismo arquitetural
VO Value Object
O VO usado quando dados apenas tm que ser transferidos para o
cliente. VOs trabalham coletando conjuntos de informaes
relacionadas em um nico objeto

Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

23 de 36

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

22 de 36

Mecanismo arquitetural
DAO Data Access Object
O padro Data Access Object, tambm conhecido como o
padro DAO, abstrai a recuperao dos dados tal como uma
base de dados

Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

24 de 36

24/09/2014

Mecanismo arquitetural

Referncias Bibliogrficas
BRUCE, Eckel. Thinking in Java. 4 ed. Massachusetts: Editora Prentice hall: 2006.

DAO

FOWLER, Martin. UMl essencial : um breve guia para a linguagem padro de modelagem de
objetos. Traduo Vera Pezerico e Christian Thomas Prices. 3. ed. Porto Alegre : Bookman, 2005.
FURLAN, Jose Davi Modelagem de Objetos Atravs da UML So Paulo: Editora Makron
Books, 2000, ISBN 8534609241,
GRADY, Booch; RUMBAUGH, James; JACOBSON, Ivar. UML, guia do usurio . traduo de
Fbio Freitas da Silva. Rio de Janeiro: Editora Campus. 2000.
SIERRA, kathy: BATES, Bert. Certificao Sun para programadores e desenvolvedor Java 2.
Rio de Janeiro: Editora Altas Books. 2003.
SIERRA, kathy: BATES, Bert. Head first java 5. 2 ed. Sebastopolo: Editora O Reilly Media.
Books. 2005.
TOM, Pender. UML, a bblia. Rio de Janeiro: Elsevier, 2004.

Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

25 de 36

Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

Perguntas

26 de 36

Obrigado

Wanderley
Wanderley.unip@gmail.com

www.wg.pro.br
Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

27 de 36

Prof: Msc Wanderley Gonalves Freitas

ALPOO 01 Arquitetura do Software

28/08/2014 16:37

28 de 36