Вы находитесь на странице: 1из 4

Os Desafios que Envolvem o Desenvolvimento e Implantação de

um Sistemas de Informação Distribuído


Neste capítulo abordaremos os principais desafios existentes para desenvolver e
implantar um sistema de informação distribuído. Citaremos cada um desses desafios
destacando suas características e particularidades e expondo exemplos de sistema
distribuídos conhecidos e citados anteriormente.

1. A heterogeneidade do sistema

Quando falamos em heterogeneidade (variedade, diferença) de um sistema,


pensamos logo na internet, pois ela permite que diferentes tipos de usuários
acessem e executem algum tipo de aplicativo, através de variados tipos de
computadores que estão conectados a ela. Podemos ligar a heterogeneidade de um
sistema de informação distribuído às seguintes características:

1. As redes envolvidas no sistema: Um sistema de informação distribuído


pode ser composto por vários tipos de redes, onde as diferenças existentes
entes elas, são mascaradas pelos protocolos de comunicação.

2. Os diferentes tipos de Sistemas Operacionais (S.O) que compõem o


sistema: Observamos acima que um sistema de informação distribuído pode
ser composto por vários tipos de redes de computadores. Essas redes são
interligadas por variados tipos de sistemas operacionais. O sistema
operacional não precisa necessariamente possuir a mesma interface de
programação, mas sim o conhecimento do protocolo que permite a
comunicação entre os outros sistemas operacionais.

3. A implementação do sistema feita por desenvolvedores diferentes: Um


sistema distribuído que foi construído por diferentes desenvolvedores,
necessita utilizar padrões que são de conhecimento de todos os envolvidos
no desenvolvimento, para permitir a comunicação de ambas as partes que
foram construídas separadamente.

O que é middleware e qual o seu papel na heterogeneidade de um sistema


distribuído?

Podemos dizer que o middleware é uma camada de software que possui como
característica principal, a abstração e o mascaramento de hardware, software, S.O,
rede e a linguagem de programação envolvida.

OBS: Abordaremos um capítulo completo sobre middleware, destacando sua


importância para os sistemas distribuídos.

2. Abertura do sistema para expansões

Quando um sistema distribuído permite a sua reimplementação e expansão de


diversas maneiras diferentes, podemos dizer então que esse sistema é um sistema
aberto. Essa abertura permite, por exemplo, que novos serviços sejam adicionados e
disponibilizados para o uso de diferentes tipos de usuários.
Quando o sistema está sendo desenvolvido, a documentação de todas as suas
características e praticidades também deve ser criada, para permitir aos futuros
desenvolvedores encarar com maior facilidade toda a complexidade dos
componentes envolvidos.

Para que um sistema de informação distribuído,


construído a partir de hardwares e componentes de
softwares diferentes, obtenha sucesso na sua expansão,
é necessário que todos os seus componentes sejam
compatíveis através de padrões.

3. A Segurança do sistema

Quando distribuímos as informações através de sistemas distribuídos, devemos


estar atentos a segurança que deve ser disponibilizada para essas informações. É
necessário que seja observado os três requisitos básicos para manter a segurança
de uma informação. São eles:

• Confidencialidade: Proteção contra o acesso de usuários não autorizados.

• Integridade: proteção das informações contra alterações ou erros.

• Disponibilidade: proteger a informação para que ela esteja sempre


disponível.

A comunicação de um sistema distribuído é feita através da troca de mensagens,


sendo que essas mensagens trafegam através de uma rede. A Atualização ou
implantação de um firewall é necessária, para que seja feito um controle de tudo que
entre e tudo que saia pela rede, restringindo o acesso indevido de informações.

4. A escalabilidade do sistema

Um sistema distribuído é escalável, quando ele mantém a sua eficiência diante de


uma grande quantidade de usuários e de recursos.

O projeto de um sistema distribuído escalável deve envolver as seguintes


características:

• Controle de custo dos recursos físicos: a ampliação do sistema deve ser


feita a um custo razoável, à medida que a necessidade por recursos aumenta.

• Controle da perda de desempenho: deve ser feito um controle sobre a


perda de desempenho do sistema, à medida que a quantidade de usuários
aumenta.

• Controle do esgotamento de recursos: o controle de recursos é algo


complicado de ser feito, principalmente quando envolve projeções futuras. Os
vezes subestimar crescimentos futuros causa mais problemas do que efetuar
mudanças quando houver necessidade.

• Controle de gargalos no sistema: o controle do congestionamento deve ser


feito para evitar a queda de desempenho do sistema.

A escalabilidade é um termo de muita importância para os sistemas distribuídos. Ela


ocupa uma posição de destaque tanto no projeto como na implementação do
sistema.

5. Tratamento de erros

Qualquer tipo de sistema está sujeito a erros, só que as falhas que ocorram nos
sistemas distribuídos são diferenciadas dos outros sistemas, pois elas são falhas
parciais. Isto é,quando algum componente de um sistema distribuído falha, os outros
componentes continuam em operação e o sistema não deixa de funcionar. A
desvantagem dessa característica, é que tratar essa falha é bem mais complexo do
que quando o sistema para por completo.

Existem algumas técnicas que são utilizadas para tratarem falhas em sistemas
distribuídos, são elas:

Detectar a falha: Algumas falhas podem ser detectadas e outras não. Existe um
desafio enorme em detectar as falhas que ocorram no sistema.

Mascarar as falhas que ocorram: algumas falhas que ocorram no sistema podem
ser ocultadas.

Ex: a retransmissão de uma mensagem quando ela não chega ao seu destino.

Tolerância a falhas: se observarmos a internet, a maioria dos seus serviços


apresenta falha. Quando uma falha acontece em um navegador, ele informa ao
usuário sobre a falha para que este decida se quer tentar novamente a conexão.

Recuperação de falhas: Quando uma falha acontece, é interessante que a


operação que ocasionou a falha possa ser retrocedida, evitando a inconsistência de
alguns dados que necessitam da operação citada.

Redundância: A redundância é um bom caminho para resolver problemas de falhas


nos sistemas distribuídos.

EX:
• Banco de dados replicado em vários servidores;

• Arquivos salvos em discos espelhados;

• Rotas diferentes para o tráfego de uma mesma mensagem.


Os sistemas distribuídos possuem um alto grau de disponibilidade,
permitindo que quando uma falha acontece, apenas a operação
que estava sendo executada pelo componente defeituoso seja
afetada.

6. Transparência do sistema

Termo importante no “mundo” dos sistemas distribuídos, a transparência tem como


característica a ocultação de componentes e recursos, fazendo com que o sistema
distribuído seja visto tanto para os usuários como para os programadores como um
único sistema.

Citaremos abaixo os tipos de transparência existentes:

1. Transparência de acesso: permite aos usuários acessarem recursos que


estão alocados localmente ou remotamente da mesma maneira.

2. Transparência de localização: permite que os usuários acessem os


recursos disponíveis, independente da sua localização, e sem o
conhecimento desta.

3. Transparência de concorrência: permite que os processos acessem os


recursos disponíveis, concorrentemente, sem que exista interferência entre
ambos.

4. Transparência de replicação: várias instâncias de um recurso podem ser


utilizadas sem o conhecimento dos usuários que estão utilizando, permitindo
o aumento no desempenho e confiabilidade do sistema.

5. Transparência de falhas: ocultam algumas falhas que acontecem no


sistema, permitindo que os usuários executem suas tarefas, sem serem
afetados.

6. Transparência de mobilidade: recursos e usuários podem se movimentar


dentro do sistema, sem que afetem as suas operações.

7. Transparência de desempenho: permite que o sistema seja alterado e


recodificado com o intuito de melhorar o desempenho, sem que o usuário
perceba as modificações.

8. Transparência de escalabilidade: permite a expansão do sistema e seus


aplicativos, sem alterar a sua estrutura.
Nos sistemas de informação distribuídos, as duas transparências de maior destaque
são a de acesso e localização, pois elas afetam fortemente a utilização dos recursos
distribuídos.

Вам также может понравиться