SETIS- III Seminário de Tecnologia Inovação e Sustentabilidade
4 e 5 de novembro de 2014.
____________________________________________________________________________
Sistemas distribuídos: reflexões teóricas
Rodrigo Venturi
[email protected]
Resumo: O objetivo deste artigo é mostrar algumas características de um sistema
distribuído. Para isso foi realizada uma pesquisa bibliográfica considerando os
seguintes temas: objeto distribuído, CORBA, ORB. Com base nessa reflexão é viável
também destacar a “transparência” do sistema distribuído como uma das características
mais importantes.
Palavras chave: Sistemas distribuídos. CORBA. Características.
1 Reflexões acerca da temática
Quando o sistema é de grande escala, ou seja, que demanda uma grande
quantidade de processamento para lidar com um grande volume de dados, um
computador sozinho não tem a capacidade de executá-lo a contento. A resolução desse
problema, tanto do ponto de vista de hardware como de software, passa pela
distribuição desse sistema. Ou seja, um sistema distribuído.
Segundo Souza (2010), pode-se identificar um sistema distribuído pelas suas
principais características em hardware e software, conforme a seguir.
1 - O compartilhamento de recursos: elementos que podem ser
compartilhados tanto na parte do hardware (como impressoras, discos rígidos) e
também na parte de software (como banco de dados, arquivos e compiladores). O
compartilhando tem uma grande redução de custos para a empresa que está utilizando o
sistema.
2 - Transparência: é outra característica relevante quando se pensa em sistemas
distribuídos. Isto porque quando o usuário está navegando pelo sistema, ele não sabe se
está ou não em um sistema distribuído. Os tipos de transparência mais comuns
encontrados são:
2.1 - Acesso: quando é possível acessar ou interagir com um recurso dentro do
sistema. Precisa-se de um meio para que faça essa comunicação, a transparência de
acesso, neste caso, vai caracterizar a forma de acesso ao recurso.
2.2 - Localização: dados como o local de origem do recurso, não têm uma
importância para o usuário final. O usuário apenas quer que o recurso esteja
182
SETIS- III Seminário de Tecnologia Inovação e Sustentabilidade
4 e 5 de novembro de 2014.
____________________________________________________________________________
funcionando de uma maneira correta, não importando se este está localizado no Brasil
ou na China, por exemplo.
3 - Migração: com o uso constante da internet é bem provável que se tenha
instabilidades quando um recurso precisa ser migrado de um servidor.
Então, é
necessário que haja transparência quando ocorrer essa migração, sendo que o usuário
não pode perceber nenhum tipo de instabilidade no sistema e no uso deste recurso
durante a migração.
4 - Segurança: um sistema distribuído precisa ser confiável. Não pode ocorrer,
por exemplo, uma falha no sistema enquanto o usuário está utilizando ou
compartilhando-o.
Com estas características pode-se identificar um sistema distribuído. Com
destaque para a característica de segurança quando as falhas não podem ocorrer. Se o
sistema é distribuído, quando há uma falha em um determinado servidor, ela se espalha
e será muito mais complexo resolver este problema.
Outra característica muito
importante é a transparência, em que o usuário está em um sistema distribuído, mas ele
não pode percebê-lo como tal, como, por exemplo, quando certa funcionalidade do
sistema está mais demorada que a outra pelo fato dela estar localizada em regiões
geográficas distantes.
No conceito de sistemas distribuídos uma dos paradigmas mais importantes
envolvidos do ponto de vista de software, é a Orientação a Objetos (OO). A junção de
Orientação a Objetos e Sistemas distribuídos origina os Objetos Distribuídos. A
indústria de objetos distribuídos vem crescendo rapidamente e tem o potencial de
ultrapassar a indústria de banco de dados se tornando então o maior e principal
comércio na computação. (MAINETTI Jr., 1997)
Objetos Distribuídos é basicamente usar a tecnologia de orientação a
objetos em um ambiente distribuído. Como estas duas tecnologias já
estão se transformando em realidade atual na grande maioria das
empresas, será uma evolução natural. OD começou a sua trajetória
através do middleware (a parte de software responsável pela
intercomunicação entre os vários componentes distribuídos em uma
rede), mas hoje está invadindo todas as áreas, inclusive a Internet
(MAINETTI. 1997. p.6).
Destaca-se que os objetos distribuídos se comunicam através de um sistema em
rede ao invés de interagir apenas em certa máquina. Neste sentido, existem várias
arquiteturas de ambientes que suportam sistemas distribuídos como DCOM, RMI e
183
SETIS- III Seminário de Tecnologia Inovação e Sustentabilidade
4 e 5 de novembro de 2014.
____________________________________________________________________________
CORBA. Estas tecnologias são as mais utilizadas e conhecidas, contudo no restante do
artigo será dado maior ênfase ao CORBA que é o principal ambiente para a utilização do
sistema distribuído (LUNG, 2001).
O CORBA foi desenvolvido pela OMG é um grupo de gerenciamento de
projetos sem nenhum fim lucrativo e tem como principal objetivo estabelecer guias para
o gerenciamento de objetos. A OMG foi fundada em 1989 e hoje conta com mais de
750 empresas ligadas a ela. (LUNG, 2001)
Umas das principais ajudas que a OMG trouxe para as empresas é o padrão
CORBA. Esse padrão define como objetos devem operar em um ambiente distribuído.
O CORBA tem como principal característica o mecanismo de troca de
mensagens entre os objetos em um ambiente de objetos distribuídos assim um objeto
pode acessar a interface de outro e adquirir todas suas funcionalidades.
O ambiente CORBA é muito propício para a “proliferação” de
componentes, pois ele nos garante uma alta interoperabilidade entre
objetos independentemente da linguagem e sistema operacional no
qual são implementados, o que serve muito bem ao paradigma CBD.
Além disso temos também o fato de que dentro do ambiente CORBA
os objetos estão encapsulados e só ente suas interfaces são visíveis.
Portanto, quando falamos em CORBA devemos ter em mente estas
características dos objetos que “vivem dentro” deste ambiente e
entendê-los como Componentes (BESSANI, on-line).
O ORB é o núcleo de um CORBA que permite que objetos sejam chamados de
lugares remotos e transparentemente ligados a outros objetos. A cada requisição de
objetos que o usuário fizer, o ORB que vai ser responsável por intermediar o cliente
com o sistema.
Uma das principais características de um ORB CORBA é a associação das
linguagens. O ORB CORBA permite utilizar linguagens de alto nível como C++, Java
entre outras. Ela também permite criar seus objetos em qualquer outra linguagem que,
mesmo assim, eles poderão se comunicar entre si. A Figura 1 mostra um sistema
distribuído do ponto de vista de hardware e software.
Figura 1 – Exemplo de sistemas distribuídos
184
SETIS- III Seminário de Tecnologia Inovação e Sustentabilidade
4 e 5 de novembro de 2014.
____________________________________________________________________________
Fonte: Adaptado de Pinto (2010)
Um bom exemplo de sistema distribuído pode observar na imagem da Figura 1,
que apresenta vários servidores interligados ao redor do globo com objetos distribuídos
rodando dentro deles.
Um dos principais e conhecidos sistemas distribuídos é o Facebook. Nessa rede
social existem centenas de milhares de pessoas conectadas ao mesmo tempo, são
adicionadas aproximadamente 100 milhões de fotos pelos usuários todos os dias e 30
bilhões de informação sendo compartilhada. Agora será que todo esse processamento
seria possível se toda essa carga de informação fosse direcionada para um único
computador? Por isso, que o sistema foi distribuído, tanto do ponto de vista de
hardware como de software, em centenas de computadores espalhado pelo mundo,
processam toda essa informação. Dessa forma, pode-se afirmar que “um sistema
distribuído é um conjunto de computadores independentes que se apresenta a seus
usuários como um sistema único e coerente.” (TANENBAUM; STEEN, 2008, p.1).
2 Considerações finais
Com base nas reflexões propostas neste artigo, é possível destacar que, em
muitas situações, um equipamento sozinho não suporta o grande volume e
processamento de dados que o sistema requer. Nesse sentido, o sistema distribuído tem
como principal características a transparência onde o usuário não percebe que está em
185
SETIS- III Seminário de Tecnologia Inovação e Sustentabilidade
4 e 5 de novembro de 2014.
____________________________________________________________________________
um sistema distribuído. Da mesma forma, quando uma funcionalidade migra de um
servidor para o outro, o sistema não pode ter seu desempenho afetado.
Referências
GUARINO, Eduardo; et. al. Trabalho de sistemas distribuídos. Disponível em:
<https://sites.google.com/site/sisdisfernandoedvaldo/caracteristicas-dos-sistemasdistribuidos.> Acesso em: 20 set. 2014.
LUNG, Lau Cheuk. Sistemas distribuídos de larga escala. 2001.Disponível em: <
http://repositorio.ufsc.br/handle/123456789/81470> Acesso em: 13 set. 2014.
MAINETTI; Sergio. Objetos distribuídos. Visionnaire. 1-14 pp. Disponível em:
<http://rblinux.com.br/Objetos%20distribuidos.pdf> Acesso em: 27 set. 2014.
PINTO, Pedro. LAN, MAN, WAN, PAN, SAN … Sabe a diferença? 2010.
Disponível em:< http://pplware.sapo.pt/tutoriais/networking/lan-man-wan-pan-san%E2%80%A6-sabe-a-diferenca/> Acesso em: 12 set. 2014.
TANENBAUM, Andrew S.; STEEN, Maarten van. Sistemas distribuídos: princípios e
paradigmas. 2. ed. São Paulo: Pearson Prentice Hall, 2008.
TORRES, Diego. O que é um sistema distribuído? Disponível em:
<http://www.ebah.com.br/content/ABAAABEpcAH/artigo-sistemas-distribuidos>
Acesso em: 13 set. 2014.
186
Download

SETIS- III Seminário de Tecnologia Inovação e Sustentabilidade 4 e