Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Tópicos gerais • Componentes funcionais duma aplicação • Aplicações Monolíticas • Modelo Cliente/Servidor – Fat Client vs. Thin Client – Modelo 2- Tier – Modelo 3- Tier – Modelo N- Tier • Integração do Acesso a Dados 14 outubro, 1998 Nuno Valero Ribeiro Gab. F210 [email protected] 1 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Componentes funcionais duma aplicação • Todas as aplicações de computadores, independentemente do que fazem ou da tecnologia que as implementa, possuem três áreas gerais de funcionalidade: – Interface com o utilizador ou outro sistema: permite à aplicação comunicar com outra entidade – Lógica de negócio ou regras de negócio: parte do processo de computação que as aplicações automatizam – Acesso a dados: código que automatiza o armazenamento, procura e recolha de dados pelas aplicações 14 outubro, 1998 Nuno Valero Ribeiro Gab. F210 [email protected] 2 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Aplicações Monolíticas • Código que implementa a lógica do negócio, o interface e os dados num único bloco (3 em 1…) • Inicialmente, as aplicações eram monolíticas e grandes (pesadas…) • Desenvolvidas usando linguagens e ferramentas diferentes, com objectivos operacionais específicas, para servirem entidades específicas, durante muitos anos (supostamente...) • Não existia a necessidade de interacção entre diferentes aplicações (antes pelo contrário…) 14 outubro, 1998 Nuno Valero Ribeiro Gab. F210 [email protected] 3 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Aplicações Monolíticas • Desvantagens: – Alterações difíceis, demoradas e caras. – Partilha de dados e serviços difícil – Nenhuma reutilização de código redundante –Difícil comunicar com outras aplicações – Necessariamente desenvolvidas numa só (e mesma) máquina – Acessíveis através dum único interface com o utilizador 14 outubro, 1998 Nuno Valero Ribeiro Gab. F210 [email protected] 4 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Modelo Cliente/Servidor • O processo Cliente requisita serviços ao Servidor Pedido Resposta • Principal vantagem: Escalabilidade. Capacidade de responder ao aumento da procura de serviços sem degradar a performance 14 outubro, 1998 Nuno Valero Ribeiro Gab. F210 [email protected] 5 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Arquitectura do Modelo Cliente/Servidor (I) • Arquitectura em que as aplicações para cumprirem os seus objectivos funcionais devem pedir assistência (serviços) a uma outra componente de software • Também conhecida pela arquitectura “2-Tier”: número de componentes executáveis em que a aplicação é dividida (não o número de sistemas ou máquinas envolvidos!) • Fat Client: Parte de GUI e lógica de negócio juntas no cliente que requer serviços de acesso a dados ao servidor. • Thin Client: Só a parte do GUI reside no cliente e a lógica de negócio reside com o acesso a dados no servidor. 14 outubro, 1998 Nuno Valero Ribeiro Gab. F210 [email protected] 6 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Fat Client vs. Thin Client 14 outubro, 1998 Nuno Valero Ribeiro Gab. F210 [email protected] 7 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Arquitectura do modelo Cliente/Servidor (II) • Desvantagens do modelo 2- Tier: – São difíceis e caras de modificar quando as regras de negócio mudam (ou uma das partes dependentes) – É difícil reutilizar código de regras de negócio que seja redundante • Dá origem à separação das três componentes em três partes de código executável distinto, isto é, à arquitectura “3-Tier Cliente/Server” 14 outubro, 1998 Nuno Valero Ribeiro Gab. F210 [email protected] 8 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores 3-Tier Client/Server Architecture 14 outubro, 1998 Nuno Valero Ribeiro Gab. F210 [email protected] 9 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Arquitectura do modelo Cliente/Servidor (III) • Desvantagens do modelo 3- Tier: – São difíceis e caras de modificar quando as regras de negócio mudam – A parte que implementa as regras de negócio tem de ser executada no mesmo computador limitando assim a sua flexibilidade – A reutilização do código de lógica de negócio ainda não é conseguida • Dá origem à separação em N partes funcionais discretas chamadas serviços: “N-Tier Client/Server” 14 outubro, 1998 Nuno Valero Ribeiro Gab. F210 [email protected] 10 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores N-Tier Client/Server Architecture 14 outubro, 1998 Nuno Valero Ribeiro Gab. F210 [email protected] 11 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Arquitectura do modelo Cliente/Servidor (IV) • Cada “serviço” implementa um pequeno conjunto de regras de negócio • As regras de negócio definem como, e o que é que deve ser feito • São processadas quando ocorrem eventos que despoletam um negócio • Quando uma regra de negócio deve ser modificada para suportar alterações de requisitos na aplicação, somente o serviço que implementa essa regra de negócio tem de ser alterado; o restante código da aplicação permanece intacto • Os vários serviços podem ser executados em plataformas distintas. No entanto, não é obrigatório que assim seja • Qualquer cliente pode requisitar o serviço 14 outubro, 1998 Nuno Valero Ribeiro Gab. F210 [email protected] 12 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Arquitectura do modelo Cliente/Servidor (V) • Vantagens da arquitectura N-Tier – Fácil manutenção e alteração de código – Escalabilidade elevada – Melhor desempenho – Potencial em partilha e reutilização de código 14 outubro, 1998 Nuno Valero Ribeiro Gab. F210 [email protected] 13 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Integração do Acesso a Dados • Extracção de dados • Sincronização e Replicação de dados • Partilha de dados 14 outubro, 1998 Nuno Valero Ribeiro Gab. F210 [email protected] 14 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Integração do Acesso a Dados 14 outubro, 1998 Nuno Valero Ribeiro Gab. F210 [email protected] 15