Conceitos de Sistemas Distribuídos
Sobre este tema e de forma sucinta, vale destacar a redução de tamanho e o aumento do desempenho do computador a partir das mudanças na arquitetura de hardware, na maneira como as tarefas foram automatizadas visando o aumento de produtividade do computador e o surgimento dos sistemas operacionais. Todos estes avanços foram importantes, mas ainda as empresas e centros de pesquisa executavam suas tarefas em computadores centralizados e sem comunicação alguma. Diante disso, dois acontecimentos tecnológicos marcaram a era moderna da computação em geral, são eles:
- O desenvolvimento dos microprocessadores: a produção em grande capacidade de processadores de 8, 16, 32 e 64bits.
- O desenvolvimento das redes de computadores: das redes locais (LANs) que transmitem mensagens entre computadores dentro de uma empresa a taxas de 10 bilhões de bits por segundo, para as redes de longa distância (WANs) que conectam computadores no mundo inteiro utilizando velocidades que podem variar entre 64 Kbits a Gigabits por segundo.
Estes dois principais acontecimentos contribuíram para a descentralização dos sistemas até o surgimento dos atuais sistemas distribuídos.
Conceitos de Sistemas Distribuídos
Um sistema distribuído é composto por computadores que possuem autonomia e se mostram aos seus usuários (pessoas ou outros softwares) como um sistema único e coerente. Assim, quando se decide em distribuir os componentes e aplicações, pretende-se atingir um contingente maior de usuários, melhorar a produtividade destes usuários e a disponibilidade do acesso à informação.
Exemplos de sistemas distribuídos
- Intranet: É um sistema de informação distribuído acessível pela plataforma web, mas com disponibilidade de acesso somente aos usuários de uma empresa, departamentos ou grupos de trabalho, ou seja, o acesso é feito a partir do interior da empresa (veja a figura 1). O objetivo é o compartilhamento de informações internas da empresa e de recursos como bancos de dados, impressoras e arquivos.
- Extranet: Assim como a Intranet, trata-se um sistema de informação distribuído acessível pela plataforma web. Mas o acesso pode ser realizado fora da empresa a partir de uma página de login protegida por protocolos de criptografia que solicita um usuário e senha, e uma rede privada (veja a figura 1). O objetivo é o compartilhamento de informações internas da empresa e de recursos como bancos de dados, impressoras e arquivos, além de facilitar o acesso a estes recursos em casa ou de qualquer lugar (home office). Além disso, a Extranet pode ser composta por um grupo de Intranets interconectadas formadas por empresas fazem parcerias de negócios entre si.
- Internet: Trata-se de um sistema distribuído com acesso a partir de qualquer computador independentemente da localização geográfica e de qualquer dispositivo que tenha acesso à rede móvel ou cabeada.
- Computação Móvel: Trata-se de pequenos dispositivos móveis com menor capacidade de memória, armazenamento e desempenho, mas que oferecem aos seus usuários uma experiência com alta mobilidade e disponibilidade de acesso.
- Computação Ubíqua: É um modelo de computação distribuída comumente presente em locais fechados ou com acesso limitado a um grupo de usuários. São formados por dispositivos móveis, computadores, televisores, PDAs (Personal Digital Assistants - Assistentes Pessoais Digitais) e POSs (Point of Sales ou Ponto de Vendas) e estão presentes em grandes lojas, supermercados, residências e escritórios.
Objetivos de Sistemas Distribuídos
Os sistemas distribuídos possuem objetivos muito claros que dependem do tipo de implementação que podem atingir uma ou mais metas que serão discutidas a seguir:
- Compartilhamento de Recursos: O compartilhamento de recursos é um fator importante para o trabalho colaborativo entre os usuários e na disponibilidade do acesso. Assim, os sistemas distribuídos compartilham recursos como arquivos, diretórios, impressoras e bancos de dados a partir de qualquer computador ou dispositivo móvel.
- Confiabilidade: A confiabilidade é um fator importante para as premissas de disponibilidade e segurança da informação em sistemas distribuídos. Para tanto, espera-se que sejam mais confiáveis que os sistemas centralizados ou de tempo compartilhado, tendo em vista que podem conter diversas réplicas e ser mais tolerantes à falha.
- Desempenho: Devido ao modelo de arquitetura distribuída voltada para a replicação de elementos dedicados ao processamento (hardware e software), espera-se que, assim como na confiabilidade, os sistemas distribuídos tenham um desempenho superior aos sistemas centralizados.
Metas dos Sistemas Distribuídos
A ideia de um projeto de sistema distribuído depende, obviamente, dos objetivos de cada organização ou instituição, pois nem sempre implementar um projeto de sistema distribuído é a melhor estratégia. Como exemplo, imagine uma empresa de pequeno porte que tenha até 300 funcionários. Para esta empresa é mais importante manter os dados centralizados em um servidor por questões de segurança, pois, pelo porte dela, o desempenho e o acesso externo ao banco de dados não é um fator importante naquele momento.
Assim, o sistema distribuído deve ser projetado para atender os objetivos que vimos anteriormente (compartilhamento de recursos, disponibilidade e desempenho). Para ter êxito na implantação dos sistemas distribuídos, você deve observar as seguintes metas:
- Acesso a recursos
- Heterogeneidade
- Abertura
- Segurança
- Transparência
- Escalabilidade
- Tolerância a Falha
- Concorrência