Sistemas op
Camadas
Universidade Católica de Pernambuco
Ciência da Computação
Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira
Definição
Estimula a organização da arquitetura do sistema em um conjunto de camadas coesas com fraco acoplamento entre elas.
Cada camada possui um propósito bem definido. A camada superior conhece apenas a camada imediatamente inferior (que fornece seus serviços através de uma interface). Programação Orientada a Objeto - Márcio Bueno
2
Definição
Cada camada é formada por um conjunto de classes com um determinado propósito.
UI
UI
Negócio
Dados
Comunicação
Negócio
Dados
Programação Orientada a Objeto - Márcio Bueno
3
Propósito de Cada Camada
UI: agrega as classes do sistema com as quais os usuários interagem.
Negócio: mantém as classes do sistema responsáveis pelos serviços e regras do negócio.
Dados: camada responsável pelo armazenamento e recuperação dos dados persistentes do sistema. Comunicação: responsável pela distribuição do sistema em várias máquinas.
Programação Orientada a Objeto - Márcio Bueno
4
Vantagens e Desvantagem
Vantagens:
Separação de código relativo a interface com o usuário (UI), comunicação, negócio e dados.
Permite a mudança de implementação de uma camada sem afetar a outra, desde que a interface entre as mesmas seja mantida.
Possibilita que uma camada trabalhe com diferentes versões de outra camada.
Desvantagem:
Aumento no número de classes existentes no sistema.
Programação Orientada a Objeto - Márcio Bueno
5
Padrão Arquitetura em Camadas
Exemplos de diferentes configurações do padrão arquitetura em camadas usando tecnologias Java.
UI (GUI Java Swing)
Negócio
Dados (Java JDBC)
UI (HTML, GUI Java
Applets e Servlets)
UI (GUI Java Swing)
Comunicação
(Java RMI)
Negócio
Negócio
Dados (Java