arquitetura de camadas 2
Engenharia de Software
Prof. Jailton Carlos
Jailton.paiva@ifrn.edu.br
14/11/2011
1
Objetivos
• Compreender por que o projeto de arquitetura de software é importante.
• Entender e projetar sistemas desenvolvendo arquitetura em camada.
Introdução
• Arquitetura de software é uma subárea da disciplina de Engenharia de Software, cujo objetivo é estudar os componentes do sistema, suas propriedades externas, e seus relacionamentos com outros softwares.
Introdução
• Uma boa arquitetura pode possibilitar que um sistema satisfaça às exigências principais de um projeto, tais como: desempenho, confiabilidade, portabilidade, manutenibilidade, interoperabilidade e etc., já uma arquitetura má elaborada pode ser desastrosa. Código Monolítico
• Todas as funcionalidades em uma única grande camada.
• Manutenção e atualização extremamente penosas e complexas. Arquitetura em Camada
• O desenvolvimento de aplicações para web obrigou os desenvolvedores a utilizar uma nova arquitetura de sistemas, abandonando a arquitetura monolítica para se empregar uma arquitetura em camadas
Arquitetura em Camada
• Sistemas web, vários aplicativos acessando uma única base de dados.
• Evolução da arquitetura monolítica para arquitetura em duas camadas.
– Separa a lógica de acesso a dados ao restante da aplicação.
• Os sistemas ainda eram potencialmente monolíticos.
– Lógica de apresentação e a lógica de negócio estavam reunidas em uma única camada. Arquitetura em Camada
• Advento da Internet
– Necessidade de uma arquitetura robusta que diminuísse o tempo para carregar todos os componentes da regra de negócio no cliente em um aplicativo Web.
• Arquitetura em 3 camadas
– envolve a separação das funcionalidades usando camadas, com o objetivo de separar a lógica de apresentação, a lógica de negocio e a conexão com o banco de dados (lógica de acesso a dados).
Características do Modelo
• Cada camada é um subsistema
– Oferece serviços à camada imediatamente superior
–