Anda di halaman 1dari 29

Arquitectura de

Sistemas de Informao N-Tier


Elsio Chiburre 2012

Geraes
Paradigma Perodo Modelo Programao Motivao

Mainframe

60s80s Procedural (COBOL) 80s-90s Database (SQL) fat-client (VB) 90s-00s Object-Oriented (Java, COM, ASP) 2000s

Automated business

Cliente/Servidor

Desktop power

n-Tier

Internet/Browser

SOA

Service-oriented Business agility (SOAP, WSDL, UDDI)

Porqu arquitectura em camadas?

Aberto

Arquitectura umacamada
Cdigo que implementa a lgica do negcio, o interface e os dados num nico bloco. Desenvolvido usando linguagens e ferramentas diferentes; No existia a necessidade de interaco entre diferentes aplicaes;

Vantagens

Aberto

Desvantagens
Partilha de dados e servios dficil; Alteraoes dficies, demoradas e caras; Necessariamente desenvolvidas numa nica mquina; Acessveis atravs dum nico interface utilizador;

Aplicaes ClienteServidor
As aplicaes do tipo cliente-servidor so logicamente divididas em trs camadas: lgica de apresentao lgica de negcio lgica de acesso aos dados
Lgica de Apresent ao Lgic a de Negc io Lgica de Acesso aos Dados

CLIENTE

SERVIDOR

Aplicaes ClienteServidor
Lgica de Apresentao: Define como o usurio interage com a aplicao Usualmente implementada atravs de uma interface grfica com o usurio (GUI). Exemplos: Windows ou Web. Lgica de Negcio Define a mecnica (ou regras de negcio) da aplicao. Exemplo: a transferncia do dinheiro de uma conta para outra implica retirar duma conta e depsito em outra. A lgica do negcio pode ser executada no cliente ou no servidor. Lgica de Acesso aos Dados Define como os dados so armazenados e recuperados, garantindo que a integridade dos dados seja mantida. Essa funo executada pelo SGDB.

Arquitectura duas-camadas

Conexo, autenticao, execuo, resposta e desconexo com SGDB

Arquitectura duas-camadas
A configurao usual Cliente/Servidor encontrada na maioria das empresas, aquela em que existem vrios Clientes requisitando servios a um nico Servidor. Esta arquitetura se caracteriza como sendo centrada no Servidor. Porm na viso do usurio, ele imagina que existem vrios Servidores conectados a somente um Cliente, ou seja, centrado no Cliente. Entretanto, com as vrias ligaes de comunicao possveis, existe na realidade uma mistura de Clientes e Servidores.

Arquitetura duas-camadas: Cliente-gordo/Servidor magro

Arquitectura duas camadas: Cliente magro / Servidor gordo

Desvantagens da arquitectura duas-camadas


So difceis e caras de modificar quando as regras de negcio mudam (ou uma das partes dependentes); difcil reutilizar cdigo de regras de negcio que seja redundante; D origem separao das trs componentes em trs partes de cdigo executvel distinto, isto , arquitectura 3-Tier Cliente/Server

Exemplo: Aplicao 3 camadas


boa arquitectura DNA

Aplicao Central Compras

Data Layer

Business Layer

Presentation Layer
Interface da aplicao d acesso aos dados aplicacionais

Arquitectura trs-camadas

Aplicao Contabilidade

O utilizador o elo de ligao dos processos, o que lento, caro e propcio a erros

Processo de negcio atravessa vrias aplicaes

Aplicao Central Compras

Aplicao RH

Vantagens
Encapsulamento da logica de negcios eem um nvel intermdio compartilhado; Alpicaes clientes menores; Processamento distribuido dos dados; Capacidade de segurana aumentada; Possui menos custos operacionais;

Arquitectura trs-camadas
APRESENTAO NEGCIO OU LGICA PERSISTNCIA (INTEGRAO)

Helper classes

C M
SGDB

NAVEGADOR WEB

V
CLIENTE - SERVIDOR

CLIENTE

SERVIDOR

SERVIDOR WEB

MVC - FLUXOS

Aplicaes Cliente-Servidor

Arquitetura trs-camadas: cliente magro / servidor magro

Desvantagens do modelo 3Tier:


So difceis e caras de modificar quando as regras de negcio mudam; A parte que implementa as regras de negcio tem de ser executada no mesmo computador limitando assim a sua flexibilidade; A reutilizao completa do cdigo de lgica de negcio ainda no conseguida; D origem separao em N partes funcionais discretas chamadas servios: N-Tier Client/Server

N-Tier Client/Server Architecture


Cada servio implementa um pequeno conjunto de regras de negcio; As regras de negcio definem como, e o que que deve ser feito; So processadas quando ocorrem eventos que despoletam um negcio; Quando uma regra de negcio deve ser modificada para suportar alteraes de requisitos na aplicao, somente o servio que implementa essa regra de negcio tem de ser alterado; o restante cdigo da aplicao permanece intacto; Os vrios servios podem ser executados em plataformas distintas. No entanto, no obrigatrio que assim seja;

Vantagens da arquitectura N-Tier

Fcil manuteno e alterao de cdigo; Escalabilidade elevada; Melhor desempenho; Potencial em partilha e reutilizao de cdigo;

Desvantagens
Maior complexidade Dependcia de comunicao Custos mais elevados que em solues centralizadas

Tipos de Servidores
Servidores Servidores Servidores Servidores Interativos Concorrentes Sem-ligao Com-ligao

Perguntas?

Contacto:
elisio.chiburre@govnet.gov.mz efchiburre@gmail.com efchiburre@yahoo.com.br efchiburre@hotmail.com echiburre@isutc.transcom.co.mz