SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
1
INTRODUÇÃO
2
Arquitetura de 3 camadas independentes
permite a divisão da troca de arquivos por um
SGBD(Sistema de Gerenciamento de banco de
dados), sem afetar as regras de negocio da aplicação
isso facilita a reusabilidade das classes de negocio em
outras aplicações , permite maior flexibilidade na
escolha de tecnologias para implementar a aplicação.
As três camadas da arquitetura podem ser
vistas e tem os seguintes papéis:
Camada de Apresentação: Esta camada tem a função de
implementar uma interface de entrada e saída , para a interação
da aplicação com usuário.
Camada de Negócio: Esta camada representa o núcleo da
aplicação e é responsável por implementar a lógica de negocio da
aplicação.
Camada de Persistência: Esta camada é responsável pela
persistência e acesso aos dados da aplicação, ela isola o resto da
aplicação do meio do armazenamento usado (Memórias arquivos
e aplicações).
3
ASP.NET
O trabalho foi desenvolvido em ASP.NET utilizando o
framework 4.0, tomaremos como exemplo uma aplicação
web, desenvolvida em sala de aula na disciplina de
Programação Web II com MS Ednilson Rodella.
ASP.NET: Tem como objetivo de criação de sites
comerciais e com pequenas aplicações para intranet , A
principal ferramenta para o desenvolvimento é o Microsoft
Visual Studio , que apresenta excelente produtividade ao
permitir uma interface Windows Forms.
4
CAMADA DE APRESENTAÇÃO
É a camada onde iremos exibir informações e
coletar dados do usuário.Esta camada é geralmente camada
de GUI (Graphical User Interface ) e, no caso de aplicações
.NET, oferece conteúdo estático e conteúdo dinâmico
personalizado, que pode ser apresentado nos mais variados
formatos disponíveis, como HTML, Windows Forms ou
XML, para atender aos diferentes tipos de dispositivos
cliente, como Desktop PC, celulares e PDAs.
A camada de apresentação é implementada com uso
dos componentes visuais da plataformas .NET, como C# e
VB.NET.
5
CAMADA DE APRESENTAÇÃO
6
CAMADA DE NEGÓCIO
Por princípio, regras de negócio são as definições de
uma organização, com base em condições específicas.
Todas as organizações possuem regras de negócio, não
importando o tipo de atividade que exerçam e elas
podem ser encontradas em diversos pontos.
7
CAMADA DE NEGÓCIO
No Módulo de Clientes tem a tela de pesquisa que
quando colocado um código ou o nome do cliente e
clicar em pesquisar ele apresentará todos os clientes
com aquele nome ou código em uma Grid, podendo
alterar o cadastro do cliente.
Na tela de pesquisa como por exemplo foi colocado o
“e” no campo Nome e clicado em pesquisar, ao clicar
em alterar ele levará todas as informações para a tela
de cadastro
8
CAMADA DE NEGÓCIO
9
CAMADA DE NEGÓCIO
10
CAMADA DE NEGÓCIO
Salvar: Ao salvar é feito todas as validações de
campos, verificando se algum está vazio ou com
formato errado.
Alterar: Na alteração ele leva todas as informações
para a tela de cadastro, sendo necessário salvar
novamente ou excluir, se salvar ele será tratado para
apenas salvar por cima.
11
CAMADA DE NEGÓCIO
12
CAMADA DE NEGÓCIO
Excluir: Ao clicar em excluir ele chamará uma função
EXCLUIR que comunicará com o banco de dados que é a
terceira camada..
13
CAMADA DE PERSISTÊNCIA
Ela é responsável por se conectar ao banco de dados
e extrair , inserir e atualizar as informações .É responsável
por transformar modelos de Objetos em modelos
Relacionais , pois possui casos com banco relacionado.
Em ASP.NET existem 2 formar de acesso usando um
framework (DAO e AR) , ou escrevendo SQL próprio.
14
CAMADA DE PERSISTÊNCIA
Incluir:
15
CAMADA DE PERSISTÊNCIA
Alterar:
16
CAMADA DE PERSISTÊNCIA
Excluir:
17
CONCLUSÃO
18
CONCLUSÃO
Calçado (2005, p.35)
Vantagens:
• Reduzem complexidade: agrupam componentes e simplificam a comunicação
entre eles;
• Reduzem dependência/acoplamento: a regra de comunicação evita dependências
diretas entre componentes de Camadas diferentes;
• Favorecem a coesão: componentes de responsabilidades relacionadas são
agrupados;
• Promovem reusabilidade: camadas podem ser reutilizadas em outros sistemas
ou podem ser substituídas;
• É um padrão arquitetural conhecido: facilita a comunicação e entendimento
entre desenvolvedores.
Desvantagens:
• Limitadas pela tecnologia: algumas regras precisam ser quebradas por limitações
tecnológicas.
]• Apenas complicam um sistema muito simples: não é qualquer sistema que exige
o uso de Camadas;
• Possibilidade de overdose: muitos arquitetos acabam criando Camadas demais e
tornando a aplicação extremamente complexa.
19
FIM
Grupo:
Gabriel Mantellatto
Guilherme Zamboli
Fernando Sampaio
20

Mais conteúdo relacionado

Mais procurados

Desenvolvimento em camadas
Desenvolvimento em camadasDesenvolvimento em camadas
Desenvolvimento em camadasprofclaudio44
 
Manual Sistema - TCC André L. J. Abekawa (Parte 03)
Manual Sistema - TCC André L. J. Abekawa (Parte 03)Manual Sistema - TCC André L. J. Abekawa (Parte 03)
Manual Sistema - TCC André L. J. Abekawa (Parte 03)André Luiz Jamarino Abekawa
 
Aula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoAula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoMaria Alice Jovinski
 
Desenvolvendo Produtos Com Java EE
Desenvolvendo Produtos Com Java EEDesenvolvendo Produtos Com Java EE
Desenvolvendo Produtos Com Java EEelliando dias
 
Atividade integradora mod iii tec informatica 2016(1)
Atividade integradora mod iii tec informatica 2016(1)Atividade integradora mod iii tec informatica 2016(1)
Atividade integradora mod iii tec informatica 2016(1)marcondes da luz barros
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOLeonardo Sousa
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelRyan Padilha
 
Desenvolvimento de software orientado a aspectos
Desenvolvimento de software orientado a aspectosDesenvolvimento de software orientado a aspectos
Desenvolvimento de software orientado a aspectosAlessandro
 
Apresentação Flisol 2016
Apresentação Flisol 2016Apresentação Flisol 2016
Apresentação Flisol 2016Laryssa Muniz
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoLuiz Costa
 
Modelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLModelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLClaudio Martins
 

Mais procurados (19)

Modelagem 21102006_2
Modelagem 21102006_2Modelagem 21102006_2
Modelagem 21102006_2
 
Modelagem 21102006_1
Modelagem 21102006_1Modelagem 21102006_1
Modelagem 21102006_1
 
Desenvolvimento em camadas
Desenvolvimento em camadasDesenvolvimento em camadas
Desenvolvimento em camadas
 
Manual Sistema - TCC André L. J. Abekawa (Parte 03)
Manual Sistema - TCC André L. J. Abekawa (Parte 03)Manual Sistema - TCC André L. J. Abekawa (Parte 03)
Manual Sistema - TCC André L. J. Abekawa (Parte 03)
 
Aula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoAula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniao
 
Desenvolvendo Produtos Com Java EE
Desenvolvendo Produtos Com Java EEDesenvolvendo Produtos Com Java EE
Desenvolvendo Produtos Com Java EE
 
JAVA REFLETCION
JAVA REFLETCIONJAVA REFLETCION
JAVA REFLETCION
 
Oficina cake php
Oficina cake phpOficina cake php
Oficina cake php
 
Atividade integradora mod iii tec informatica 2016(1)
Atividade integradora mod iii tec informatica 2016(1)Atividade integradora mod iii tec informatica 2016(1)
Atividade integradora mod iii tec informatica 2016(1)
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAO
 
Dao
DaoDao
Dao
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
 
Tp 4 xml
Tp 4   xmlTp 4   xml
Tp 4 xml
 
Desenvolvimento de software orientado a aspectos
Desenvolvimento de software orientado a aspectosDesenvolvimento de software orientado a aspectos
Desenvolvimento de software orientado a aspectos
 
Modelo de Camadas
Modelo de CamadasModelo de Camadas
Modelo de Camadas
 
Mvc - Semifinal
Mvc - SemifinalMvc - Semifinal
Mvc - Semifinal
 
Apresentação Flisol 2016
Apresentação Flisol 2016Apresentação Flisol 2016
Apresentação Flisol 2016
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
 
Modelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLModelagem Aplicações Web com UML
Modelagem Aplicações Web com UML
 

Semelhante a Arquitetura de 3 camadas e suas vantagens

Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCMichael Costa
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com PythonLuiz Aldabalde
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com PythonPythOnRio
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_jsgustavobeavis
 
Aula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dadosAula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dadosAntony Barbosa
 
Hexagonal Rails
Hexagonal RailsHexagonal Rails
Hexagonal RailsLuiz Costa
 
Spring & Struts
Spring & StrutsSpring & Struts
Spring & Strutseduan
 
Utilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações FlexUtilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações FlexEric Cavalcanti
 
Lista de exercícios tipos de arquitetura infraestrutura de software
Lista de exercícios tipos de arquitetura   infraestrutura de softwareLista de exercícios tipos de arquitetura   infraestrutura de software
Lista de exercícios tipos de arquitetura infraestrutura de softwareIsabel Araujo
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvcleopp
 
Zachman framework
Zachman frameworkZachman framework
Zachman frameworkJoao Santos
 

Semelhante a Arquitetura de 3 camadas e suas vantagens (20)

Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVC
 
Aula1
Aula1Aula1
Aula1
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
Corbawebserves
CorbawebservesCorbawebserves
Corbawebserves
 
DotNet vs. Java
DotNet vs. JavaDotNet vs. Java
DotNet vs. Java
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com Python
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com Python
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_js
 
Apostila oracle
Apostila oracleApostila oracle
Apostila oracle
 
Framework struts2v2.5
Framework struts2v2.5Framework struts2v2.5
Framework struts2v2.5
 
Apostila ADO.NET
Apostila ADO.NETApostila ADO.NET
Apostila ADO.NET
 
Aula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dadosAula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dados
 
Hexagonal Rails
Hexagonal RailsHexagonal Rails
Hexagonal Rails
 
Spring & Struts
Spring & StrutsSpring & Struts
Spring & Struts
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Utilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações FlexUtilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações Flex
 
Lista de exercícios tipos de arquitetura infraestrutura de software
Lista de exercícios tipos de arquitetura   infraestrutura de softwareLista de exercícios tipos de arquitetura   infraestrutura de software
Lista de exercícios tipos de arquitetura infraestrutura de software
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvc
 
Zachman framework
Zachman frameworkZachman framework
Zachman framework
 

Arquitetura de 3 camadas e suas vantagens

  • 1. 1
  • 2. INTRODUÇÃO 2 Arquitetura de 3 camadas independentes permite a divisão da troca de arquivos por um SGBD(Sistema de Gerenciamento de banco de dados), sem afetar as regras de negocio da aplicação isso facilita a reusabilidade das classes de negocio em outras aplicações , permite maior flexibilidade na escolha de tecnologias para implementar a aplicação.
  • 3. As três camadas da arquitetura podem ser vistas e tem os seguintes papéis: Camada de Apresentação: Esta camada tem a função de implementar uma interface de entrada e saída , para a interação da aplicação com usuário. Camada de Negócio: Esta camada representa o núcleo da aplicação e é responsável por implementar a lógica de negocio da aplicação. Camada de Persistência: Esta camada é responsável pela persistência e acesso aos dados da aplicação, ela isola o resto da aplicação do meio do armazenamento usado (Memórias arquivos e aplicações). 3
  • 4. ASP.NET O trabalho foi desenvolvido em ASP.NET utilizando o framework 4.0, tomaremos como exemplo uma aplicação web, desenvolvida em sala de aula na disciplina de Programação Web II com MS Ednilson Rodella. ASP.NET: Tem como objetivo de criação de sites comerciais e com pequenas aplicações para intranet , A principal ferramenta para o desenvolvimento é o Microsoft Visual Studio , que apresenta excelente produtividade ao permitir uma interface Windows Forms. 4
  • 5. CAMADA DE APRESENTAÇÃO É a camada onde iremos exibir informações e coletar dados do usuário.Esta camada é geralmente camada de GUI (Graphical User Interface ) e, no caso de aplicações .NET, oferece conteúdo estático e conteúdo dinâmico personalizado, que pode ser apresentado nos mais variados formatos disponíveis, como HTML, Windows Forms ou XML, para atender aos diferentes tipos de dispositivos cliente, como Desktop PC, celulares e PDAs. A camada de apresentação é implementada com uso dos componentes visuais da plataformas .NET, como C# e VB.NET. 5
  • 7. CAMADA DE NEGÓCIO Por princípio, regras de negócio são as definições de uma organização, com base em condições específicas. Todas as organizações possuem regras de negócio, não importando o tipo de atividade que exerçam e elas podem ser encontradas em diversos pontos. 7
  • 8. CAMADA DE NEGÓCIO No Módulo de Clientes tem a tela de pesquisa que quando colocado um código ou o nome do cliente e clicar em pesquisar ele apresentará todos os clientes com aquele nome ou código em uma Grid, podendo alterar o cadastro do cliente. Na tela de pesquisa como por exemplo foi colocado o “e” no campo Nome e clicado em pesquisar, ao clicar em alterar ele levará todas as informações para a tela de cadastro 8
  • 11. CAMADA DE NEGÓCIO Salvar: Ao salvar é feito todas as validações de campos, verificando se algum está vazio ou com formato errado. Alterar: Na alteração ele leva todas as informações para a tela de cadastro, sendo necessário salvar novamente ou excluir, se salvar ele será tratado para apenas salvar por cima. 11
  • 13. CAMADA DE NEGÓCIO Excluir: Ao clicar em excluir ele chamará uma função EXCLUIR que comunicará com o banco de dados que é a terceira camada.. 13
  • 14. CAMADA DE PERSISTÊNCIA Ela é responsável por se conectar ao banco de dados e extrair , inserir e atualizar as informações .É responsável por transformar modelos de Objetos em modelos Relacionais , pois possui casos com banco relacionado. Em ASP.NET existem 2 formar de acesso usando um framework (DAO e AR) , ou escrevendo SQL próprio. 14
  • 19. CONCLUSÃO Calçado (2005, p.35) Vantagens: • Reduzem complexidade: agrupam componentes e simplificam a comunicação entre eles; • Reduzem dependência/acoplamento: a regra de comunicação evita dependências diretas entre componentes de Camadas diferentes; • Favorecem a coesão: componentes de responsabilidades relacionadas são agrupados; • Promovem reusabilidade: camadas podem ser reutilizadas em outros sistemas ou podem ser substituídas; • É um padrão arquitetural conhecido: facilita a comunicação e entendimento entre desenvolvedores. Desvantagens: • Limitadas pela tecnologia: algumas regras precisam ser quebradas por limitações tecnológicas. ]• Apenas complicam um sistema muito simples: não é qualquer sistema que exige o uso de Camadas; • Possibilidade de overdose: muitos arquitetos acabam criando Camadas demais e tornando a aplicação extremamente complexa. 19