1. Profª. Ms. Amélia Acácia M. Batista
amelia.batista@docente.suafaculdade.com.br
DESENVOLVIMENTO DE SISTEMAS
DISTRIBUIDOS
Teresina
2021.2
2. - Conceitos e fundamentos
- Vantagens e Desvantagens
- Questões sobre SDs
- Middleware em SD
- Padrões de Arquitetura
- Java RMI, DCOM e CORBA
PARTE I – Introdução aos Sistemas Distribuídos
3. Conceitos e Fundamentos – o que
diferencia um SD dos demais
Uma coleção de computadores independentes que aparece
para o usuário como um único sistema coerente
(Tanenbaum;Van Steen, 2007).
Conjunto de Sistemas autônomos, interconectados por uma
rede de comunicação e que funciona como se fosse um
sistema fortemente acoplado (Machado;Maia, 2007).
São mais complexos que os sistemas centralizados, o que os
torna mais difíceis de projetar, implementar e testar.
02/04/2024
Profª Ms. Amélia Acácia M. Batista
3
4. Vantagens da abordagem Distribuída
Coulouris et. al (2005) identifica as seguintes vantagens:
Compartilhamento de recursos
Abertura
Concorrência
Escalabilidade
Tolerância a defeitos
02/04/2024
Profª Ms. Amélia Acácia M. Batista
4
5. Desvantagens da abordagem Distribuída
Tanenbaum;Van Steen (2007) identifica as seguintes
desvantagens:
Networking – a rede pode causar problemas
Segurança – varias portas de acesso
Disponibilidade de Software!
02/04/2024
Profª Ms. Amélia Acácia M. Batista
5
6. A evolução dos Sistemas Operacionais
02/04/2024
Profª Ms. Amélia Acácia M. Batista
6
1940
•ENIAC
•Von Neumann
1950
•Transistores
•SO Monitor
1960
•Circuitos
Integrados
•OS/360
•CTSS
1970
•Intel 4004
•Apple
•Microsoft
•Redes distribuidas
1980
•IBM PC
•Estações de
trabalho
1990
•Internet
•TCP-IP
•Linux
•Windows NT
Hoje
•Sistemas
integrados
•Nuvem
•Processamento
distribuído
7. Questões sobre um SD
Com relação ao projeto de um SD, deve-se considerar
(Sommerville, 2011):
Transparência
Abertura
Escalabilidade
Proteção
Qualidade de Serviço (QoS)
Gerenciamento de falhas
02/04/2024
Profª Ms. Amélia Acácia M. Batista
7
8. Questões sobre um SD
A escalabilidade reflete a capacidade de um SD oferecer um
serviço de alta qualidade. Neuman (1994), identifica três
dimensões:
02/04/2024
Profª Ms. Amélia Acácia M. Batista
8
Capacidade de
gerenciamento
Distribuição
Tamanho
9. Questões sobre um SD
Os tipos de ataque dos quais um sistema distribuído deve se
defender são:
02/04/2024
Profª Ms. Amélia Acácia M. Batista
9
Intercepção
• Perda de confidencialidde
Interrupção
• Ataques de negação de serviço
Modificação
Fabriação
• Alteração de Dados
• Informações que não devem existir
10. Questões sobre um SD
Razões pelas quais, nem sempre, os requisitos de QoS não são
especificados com antecedência:
Pode não ser efetivo projetar e configurar o sistema para
oferecer uma alta de QoS no momento de carga de pico.
Os padrões de QoS podem ser mutuamente contraditórios.
02/04/2024
Profª Ms. Amélia Acácia M. Batista
10
Explique porque sistemas de software distribuídos são mais
Complexos do que os sistemas de software centralizados,
em que toda funcionalidade de sistema é implementadas em
um único computador.
11. Middleware
02/04/2024
Profª Ms. Amélia Acácia M. Batista
11
Componentes de
aplicação
Middleware Middleware
Sistema
Operacional
Componentes de
aplicação
Sistema
Operacional
Rede Rede
Operação
Coordenada
Troca de
Informações e
Serviços comuns
Interação
lógica
Conectividade
Fisica
Sistema 1 Sistema 2
12. Padrões de Arquitetura para SD
Arquitetura Mestre-Escravo
O processo ‘mestre’ geralmente é responsável pelo processamento,
coordenação e comunicações; controla os processos ‘escravos’;
O processo ‘escravo’ é dedicado à ações especificas;
Usado em situações em que seja possível ou necessário prever o
processamento distribuído;
...ou em casos nos quais o processamento pode ser facilmente localizado
para processadores escravos;
02/04/2024
Profª Ms. Amélia Acácia M. Batista
12
14. Padrões de Arquitetura para SD
Arquitetura cliente-servidor de duas camadas
É a forma mais simples da arquitetura cliente-servidor;
É implementado como um único servidor lógico e, também, um numero
indefinido de clientes que usam esse servidor;
Existe duas formas desse modelo de arquitetura:
Modelo cliente-magro
Simplicidade em gerenciar os clientes
Colocar uma carga pesada de processamento no servidor e na rede
Modelo cliente-gordo
O gerenciamento de dados é simples e não é necessário haver interação entre o cliente
e o sistema de processamento de aplicação;
Requerer gerenciamento de sistema adicional para implantar e manter o software no
computador cliente.
02/04/2024
Profª Ms. Amélia Acácia M. Batista
14
16. Padrões de Arquitetura para SD
Arquitetura cliente-servidor multicamadas
Diferentes camadas do sistema, apresentação, gerenciamento de dados,
processamento de aplicação e banco de dados, são processos separados
que podem ser executados em diferentes processadores;
Sistema Internet Banking
Situação adequada para escolha dessa arquitetura pelo projetista:
Aplicações de grande porte com centenas ou milhares de clientes;
Aplicações nas quais os dados e a aplicação são voláteis e integrados a dados de varias
fontes;
02/04/2024
Profª Ms. Amélia Acácia M. Batista
16
18. Padrões de Arquitetura para SD
Arquitetura de componentes distribuídos
O sistema é organizado como um conjunto de componentes ou objetos
interativos;
Esses componentes fornecem uma interface para um conjunto de
serviços que eles fornecem;
O sistema de componentes distribuídos são dependentes do middleware,
o qual gerencia as interações de componentes;
Benefícios:
Arquitetura de sistemas muito aberta
O sistema é flexível e escalável
É possível reconfigurar o sistema dinamicamente com componentes migrando através
da rede conforme necessário.
02/04/2024
Profª Ms. Amélia Acácia M. Batista
18
20. Arquitetura Peer to Peer (P2P) – Ponto a Ponto
São sistemas descentralizados em que os processamentos podem ser
realizados por qualquer nó na rede;
Além de ser utilizada, principalmente, para sistemas pessoais, estão
sendo usadas, também, pelas empresas para aproveitarem o poder em
suas redes de PC.
Quando usar?
Quando o sistema é computacionalmente intensivo e é possível separar o
processamento necessário para um grande numero de computações independentes;
Sempre que o sistema envolver a troca de informações entre computadores individuais
em uma rede e não for necessário que essas informações sejam armazenadas ou
gerenciadas centralmente.
02/04/2024
Profª Ms. Amélia Acácia M. Batista
20
Padrões de Arquitetura para SD
21. Divisão de equipes
Leitura de textos – Java RMI, DCOM e CORBA
Resolução de Questionário
Discussão das questões
02/04/2024
Profª Ms. Amélia Acácia M. Batista
21
Sala de Aula Invertida
22. PARTE II – SOA e WebService
- Conceitos e fundamentos: SOA x WebService
- Quando usar SOA
- Segurança e SOA
- Case aplicando os conceitos de SOA
- Case aplicando os conceitos de WebService
24. Serviço na automação de negócios
Reusabilidade
Serviços são coleções de capacidade relacionadas
função especifica de serviço por meio da qual o
serviço pode ser invocado
02/04/2024
Profª Ms. Amélia Acácia M. Batista
24
Introdução à SOA
“Eu posso:
- Dirigir
- Preencher uma lista
de mercadorias
- Receber pagamentos”
ENTREGA
• Get
• Add
• Report
• …
25. Princípios (Thomas, 2009):
Baixo acoplamento de serviço
Abstração de serviço
Capacidade de reuso do serviço
Independência do estado do serviço
Visibilidade do serviço
Interoperabilidade
02/04/2024
Profª Ms. Amélia Acácia M. Batista
25
Introdução à SOA
Não é um principio especifico
26. Mas o que é SOA?
Não é uma tecnologia
Não é uma metodologia
Não é um serviço
É um conceito que promove a integração entre o negócio
e a TI por meio de conjunto de interfaces de serviços
acoplados.
Tem como objetivo integrar as aplicações, disponibilizar
maior flexibilidade para mudanças, suportar serviços
independentes de plataforma e protocolos.
02/04/2024
Profª Ms. Amélia Acácia M. Batista
26
Introdução à SOA
ESB
27. Arquitetura de Software
“...consiste em documentar o que um sistema precisa ter em
de componentes computacionais e os relacionamentos entre
padrões que serão usados e suas restrições.”
Facilidade na gerência da complexidade.
Padronização da linguagem e da comunicação entre
desenvolvedores, clientes e gerentes.
Possibilidades de reuso e consequente evolução do sistema.
Fator determinante de uma boa análise.
02/04/2024
Profª Ms. Amélia Acácia M. Batista
27
Introdução à SOA
28. É uma arquitetura que promove a integração do negócio com a
tecnologia da informação com componentes de serviços, esse
componente é o principal item dessa arquitetura. Os resultados que SOA
traz são: agilidade para atender as novas demandas, flexibilidade nas
mudanças, redução de custo e reuso de serviços. (SILVA, 2012)
O foco em SOA é a construção e disponibilização de serviços de negócio,
evitar replicação de dados, reuso e facilidade de manutenção de
sistemas, integração entre os sistemas, visão e controle do processo de
negócio, agilidade nas mudanças.
02/04/2024
Profª Ms. Amélia Acácia M. Batista
28
Introdução à SOA
30. É uma solução utilizada na integração de sistemas e na
comunicação entre aplicações diferentes.
São componentes que permitem às aplicações enviar e receber
dados em formato XML.
Permite que os recursos da aplicação do software estejam
disponíveis sobre a rede de uma forma normalizada.
Para as empresas, os WebServices podem trazer agilidade para os
processos e eficiência na comunicação entre cadeias de produção
ou de logística.
02/04/2024
Profª Ms. Amélia Acácia M. Batista
30
Web Service
31. Os WebServices são identificados por um URI (Uniform
Resource Identifier), descritos e definidos usando XML
(Extensible Markup Language).
O objetivo dos WebServices é a comunicação de aplicações
através da Internet.
Esta comunicação é realizada com intuito de facilitar a EAI
(Enterprise Application Integration)
Permite definir um workflow entre as aplicações e pode
constituir uma alternativa aos ERP (Enterprise Resource
Planning).
02/04/2024
Profª Ms. Amélia Acácia M. Batista
31
Web Service – Como funciona
32. 02/04/2024
Profª Ms. Amélia Acácia M. Batista
32
Web Service – Benefícios
Integração de informação e sistemas
Reutilização de código
Redução do tempo de
desenvolvimento
Maior Segurança
Redução dos custos
33. Divisão de equipes
Pesquisa – Java RMI, DCOM, CORBA e Web Service
Apresentação de estudo de caso
Valor: 3,0 pontos para NP2
Data de apresentação: 19.10.21 e 26.10.21
NP2: 09.11.21
02/04/2024
Profª Ms. Amélia Acácia M. Batista
33
Atividade complementar
34. Divisão de equipes:
Grupo 1 – DCOM – 19.10
Eduardo, Janssen Thiago, Hitalo
Grupo 2 – CORBA – 19.10
Samuel, Caio, Sillas
Grupo 3 – Java RMI – 26.10
Francisco, Reinaldo, Matheus, Diermison
Grupo 4 – Web Service – 26.10
Marconi, Levi, Rawlinson, Luigi
02/04/2024
Profª Ms. Amélia Acácia M. Batista
34
Atividade complementar