Redes e suas classificações



Documentos relacionados
Redes de Computadores e suas classificações. Maurício Severich

Evolução na Comunicação de

Meio Físico. Mensagem. Protocolo. Emissor e Receptor. Data Terminal Equipment Data Communications Equipment

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas

REDE DE COMPUTADORES

REDE DE COMPUTADORES

RCO2. LANs, MANs e WANs Visão geral

REDES DE COMPUTADORES

09/06/2011. Profª: Luciana Balieiro Cosme

Introdução. Arquitetura de Rede de Computadores. Prof. Pedro Neto

Topologias e abrangência das redes de computadores. Nataniel Vieira nataniel.vieira@gmail.com

REDE DE COMPUTADORES

Tecnologia e Infraestrutura. Conceitos de Redes

Administração de Sistemas de Informação Gerenciais

Professor Esp. Douglas Diego INESUL- ANÁPOLIS

Figura 1 Taxas de transmissão entre as redes

Redes de Computadores. Prof. Dr. Rogério Galante Negri

INTRODUÇÃO À REDES DE COMPUTADORES. Dois ou mais computadores conectados um ao outro por um meio de transmissão.

Rede Corporativa. Tutorial 10 mar 2009 Fabio Montoro. Introdução

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

Redes de Computadores. Prof. José Gonçalves Pereira Filho Departamento de Informática

Redes de Computadores. Jeronimo Costa Penha Senai CFP - JIP

Unidade 1. Conceitos Básicos

Redes de Computadores. Professor MSc Wylliams Barbosa Santos wylliams.wordpress.com

Prof. Samuel Henrique Bucke Brito

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

REDES DE COMPUTADORES HISTÓRICO E CONCEITOS

Fundamentos em Informática

Tecnologia da Informação e Comunicação. Euber Chaia Cotta e Silva

Introdução às Redes de Computadores

Desculpe, mas este serviço (jogo) encontra se em manutenção.

Cap 01 - Conceitos Básicos de Rede (Kurose)

REDES DE COMPUTADORES - I UNI-ANHANGUERA CENTRO UNIVERSITÁRIO DE GOIÁS CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF.

Roteamento e Comutação

UNIP UNIVERSIDADE PAULISTA. Curso: Redes de Computadores e Telecomunicações

SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL REDE DE COMPUTADORES LAN MAN WAN

Capítulo 2 - Conceitos Básicos de Redes. Associação dos Instrutores NetAcademy - agosto de Página

Fernando Albuquerque - fernando@cic.unb.br REDES LAN - WAN. Fernando Albuquerque (061) fernando@cic.unb.br

Prof. Edson Maia Graduado em Web Design e Programação Bacharel e Licenciado em Geografia Especialista em Gestão Ambiental Complementação para

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

ICORLI INSTALAÇÃO, CONFIGURAÇÃO E OPERAÇÃO EM REDES LOCAIS E INTERNET

REDES DE COMPUTADORES

Introdução ao Modelos de Duas Camadas Cliente Servidor

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede

Universidade de Brasília

Topologia de rede Ligação Ponto-a-Ponto

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

IW10. Rev.: 02. Especificações Técnicas

Telecomunicações. Prof. André Y. Kusumoto

Redes de Computadores UNIDADE 2:Conhecendo os equipamentos, dispositivos e serviços de TI.

Capítulo 4 - Roteamento e Roteadores

Redes de Computadores. Prof. Késsia Marchi

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

EVOLUÇÃO DOS SIST. DE COMPUTAÇÃO DÉC. DE 50 E 60

REDES DE COMPUTADORES

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA

Arquitetura de Rede de Computadores

Centro Tecnológico de Eletroeletrônica César Rodrigues. Atividade Avaliativa

PROJETO DE REDES

Sistemas Cliente-Servidor

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Introdução Redes de Computadores. Filipe Raulino

Relatorio do trabalho pratico 2

Conceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio

Sistemas Distribuídos

Redes de Computadores. Origem, Conceitos e Métodos

Prof. Marcelo Machado Cunha Parte 1

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

REDES DE COMPUTADORES

Tipos de Rede. Maria João Bastos MegaExpansão

:: Telefonia pela Internet

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Equipamentos de Rede. Prof. Sérgio Furgeri 1

Sistemas Operacionais. Prof. André Y. Kusumoto

UNIVERSIDADE FEDERAL DO PIAUI UFPI Colégio Técnico de Teresina CTT. Professor: José Valdemir dos Reis Junior. Disciplina: Redes de Computadores II

Curso Técnico Integrado em Manutenção e Suporte em Informática

Redes Locais, Metropolitanas e de Longa Distância

Profs. Deja e Andrei

Claudivan C. Lopes

TELECOMUNICAÇÕES E REDES

Arquitetura dos Sistemas de Informação Distribuídos

Redes de Dados e Comunicações. Prof.: Fernando Ascani

Estrutura de um Rede de Comunicações. Redes de comunicação. de Dados. Network) Area. PAN (Personal( Redes de. de dados

André Aziz Francielle Santos Noções de Redes

PROJETO DE REDES

1

Prof. Wilton O. Ferreira Universidade Federal Rural de Pernambuco UFRPE 1º Semestre / 2012

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Introdução a Banco de Dados Aula 03. Prof. Silvestri

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Estrutura de um Rede de Comunicações

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Operacionais

Comunicando através da rede

Funcionalidade Escalabilidade Adaptabilidade Gerenciabilidade

Equipamentos de Rede

Rede de Computadores

Transcrição:

Redes e suas classificações Pode-se dizer que o esquema mais elementar para configurar uma rede de computadores é constituído de: 2 computadores conectados um ao outro por 1 meio físico qualquer para que possam compartilhar dados. Todas as redes, não importa o quanto sejam sofisticadas, derivam desse esquema simples. As redes surgiram da necessidade de compartilhar dados em tempo hábil. Os computadores pessoais são ótimas ferramentas de trabalho para produzir dados, planilhas, gráficos e outros tipos de informação, mas não possibilitam que se compartilhem rapidamente os dados. Em geral, as pequenas redes têm poucos requisitos: placas adaptadoras e algum cabeamento já é o suficiente. Mas, à medida que crescem em tamanho (a demanda da organização é o fator determinante), o sistema de cabeamento passa a exigir grande parte do orçamento, do planejamento e do tempo do administrador. Dentre os principais serviços e vantagens da rede de comunicações, podemos enumerar: 1. compartilhamento de informações; 2. acesso democrático; 3. compartilhamento de periféricos; 4. serviço de mensagens; 5. compartilhamento de aplicativos; 6. serviços de backup. Uma rede de computadores é formada por um conjunto de módulos processadores capazes de trocar informações e compartilhar recursos, interligados por um sistema de comunicação.

Classificação de redes quanto à forma: Topologias de rede O sistema de comunicação se constitui de um arranjo topológico interligando os vários módulos processadores por meio de enlaces físicos (meios de transmissão) e de um conjunto de regras, com o fim de organizar a comunicação (protocolos). A configuração do meio físico determina a topologia física da rede, o protocolo do nível de enlace determina a topologia lógica da rede. A determinação, neste caso, refere-se à configuração (física/lógica) padrão; isto é, embora seja utilizado um tipo de topologia padrão, diferentes tipos de topologia (física/lógica) podem ser utilizados em uma mesma rede. Topologia em barramento Nesta topologia todos os equipamentos são conectados a rede através de um único meio de transmissão, que possui nas 2 extremidades um terminador (quadrado cinza na Figura 1), que delimita a propagação do sinal no cabo. A ausência de um terminador faz com que o sinal seja refletido inviabilizando o uso do meio de transmissão. Fazendo uma analogia com sistemas operacionais, nesta topologia o meio físico é multiusuário, mas é monotarefa. Ou seja, a transmissão de dados pode ser feita por um único equipamento na sua fatia de utilização. Figura 1: Topologia em barramento O pacote de dados enviado por um computador é propagado para todos os computadores da rede, os quais verificam se o pacote tem como destino o seu endereço. A vulnerabilidade óbvia deste tipo de topologia física é a dependência de um único meio de transmissão (1 cabo) que percorre toda a rede. Considere que o cabo

ficará exposto para se conectar aos equipamentos, isso pode levar a casos comuns de mau-contato ou até mesmo rompimento do cabo. Mesmo que o cabo seja a prova de falhas, como não há nenhuma centralização do controle dos equipamentos conectados a rede, isolar equipamentos com problemas pode se tornar uma tarefa indigesta. O barramento pode ser obtido (topologia lógica) em outros tipos de topologia física, através do uso do padrão Ethernet como protocolo da camada de enlace. Desta forma a simplicidade e baixo custo da topologia barramento podem ser utilizadas em conjunto com facilidades existentes em outras topologias. Topologia em anel A topologia em anel é bem semelhante ao barramento e apresenta as mesmas vulnerabilidades. No anel não temos terminadores já que as duas extremidades se unem para fechar o anel. Figura 2: Topologia em anel Diferente do barramento, o pacote de dados enviado por um computador é enviado somente para o próximo computador do anel, mas assim como o barramento continua sendo monotarefa. Ou seja, quem deseja transmitir tem que aguardar a sua autorização chegar. Um anel (topologia lógica) pode ser obtido em outros tipos de topologia física, através do uso do padrão TokenRing como protocolo da camada de enlace.

Isto pode não ser muito útil já que é uma topologia de difícil implementação e alto custo. Topologia em estrela Para atacar os problemas existentes nas topologias já discutidas, o desenvolvimento de um novo componente de rede foi necessário. Este elemento recebe/centraliza todas as conexões físicas de rede, formando uma estrela. Este componente centralizador está dividido em duas classes: Hub: concentrador, somente um barramento interno; Switch: comutador, diversos barramentos internos; ou seja, 2 equipamentos podem trocar dados como se todo o meio físico estivesse disponível somente para eles. Figura 3: Topologia em estrela Estes componentes centralizadores oferecem a vantagem de facilitar a detecção/correção de falhas, bem como o funcionamento da rede não depende somente da integridade de 1 único meio de transmissão.

Classificação de redes quanto à distância Redes de computadores são ditas confinadas quando as distâncias entre os módulos processadores são menores que alguns poucos metros. Redes locais de computadores são sistemas cujas distâncias entre os módulos processadores se enquadram na faixa de algumas centenas de metros. Sistemas cuja dispersão é maior do que alguns quilômetros são chamados redes geograficamente distribuídas. Redes Locais (Local Area Networks LANs) Surgiram dos ambientes de institutos de pesquisa e universidades. O enfoque dos sistemas de computação na década de 70 levava em direção à distribuição do poder computacional. Redes locais surgiram para viabilizar a troca e o compartilhamento de informações e dispositivos periféricos (recursos de hardware e software), preservando a independência das várias estações de processamento e permitindo a integração em ambientes de trabalho cooperativo. Pode-se caracterizar uma rede local como uma rede que permite a interconexão de equipamentos de comunicação de dados numa pequena região limitada a centenas de metros de alcance. Outras características típicas encontradas e comumente associadas a rede locais são: altas taxas de transmissão (de 0,1 a 10000Mbps ou 10Gbps) e baixas taxas de erro (de 10-8 a 10-11 bits); outra característica é que em geral são de acesso privativo. Redes Campus (Campus Area Networks CANs) Quando se deseja interconectar uma rede distribuída por um conjunto de instalações prediais próximas, tal como um campus universitário ou uma planta industrial, normalmente empregam-se cabos ópticos e, mais raramente, ondas de rádios (wireless). Nessa rede, normalmente cada prédio contém uma sub-rede, e os cabos ópticos atuam como backbones. Considera-se a abrangência da CAN como sendo um raio de 5km. Quando à distância de ligação entre os vários módulos processadores começa a atingir distâncias metropolitanas, chamamos esses sistemas não mais de rede locais, mas de redes metropolitanas (Metropolitan Area Networks MANs).

Redes Metropolitanas (Metropolitan Area Networks MANs) Uma rede metropolitana pode ser constituída por uma única sub-rede ou por várias sub-redes ou redes independentes interligadas por meio de um canal de comunicação de alta velocidade, usualmente um backbone de cabo óptico. A MAN pode abranger uma cidade ou um conjunto de cidades próximas, num raio de aproximadamente 100km. Como os custos de implantação envolvidos são muito elevados, MANs de uso comunitário vêm sendo instaladas no Brasil e no resto do mundo, tal como a REMAV em Brasília. Nessas redes, as empresas interessadas em usar o backbone da MAN alugam uma porta de alta velocidade para interligarem suas redes ou para acessar serviços Internet ou outros. Como a banda total da MAN é dividida pelos diversos usuários, embora a velocidade total da MAN seja bem elevada, as velocidades para esses usuários são frações da velocidade total. Redes Remotas (Wide Area Networks WANs) Surgiram da necessidade de se compartilhar recursos especializados por uma maior comunidade de usuários geograficamente dispersos. Por terem um custo de comunicação bastante elevado (circuitos para satélites e enlaces de microondas), tais redes são, em geral, públicas, isto é, o sistema de comunicação chamado subrede de comunicação é mantido gerenciado e de propriedade pública. Em face de várias considerações em relação ao custo, a interligação entre os diversos módulos processadores nessa rede determinará a utilização de um arranjo topológico específico e diferente daqueles utilizados em redes locais. Ainda por problemas de custo, as velocidades de transmissão empregadas são baixas: da ordem de algumas dezenas de kilobits/segundo embora alguns enlaces cheguem hoje à velocidade de megabits/segundo. Por questão de confiabilidade, caminhos alternativos podem ser oferecidos de forma a interligar os diversos módulos. A constituição de WANs exige o uso de bridges e/ou routers, equipamentos capazes de interligar, filtrar tráfego e estabelecer rotas de acesso entre as redes envolvidas na comunicação.

Distância Velocidade Demanda Componentes SAN = ****** Comutadores (Switches) 1/10 Gbps TAN = **** Concentradores (Hubs) 10/100 Mbps LAN = = ***** Hubs e switches 10/100/1000Mbps CAN = = = *** Pontes (Bridges), switches nível 3 MAN = = = = ** Roteadores (gateways) WAN = = = = = * Roteadores (rádio, satélite) Figura 4: Resumo de características de diferentes tipos de rede Redes Residenciais (Tiny Area Networks - TANs) Com o aumento do número de usuários de computação pessoal, a necessidade de compartilhar recursos dentro de uma casa, também esta aumentando. Por isso, redes de dois ou três computadores estão sendo montadas em residências ou locais não-comerciais. Redes de armazenamento (Storage Area Networks SANs) Consiste em uma infra-estrutura de armazenamento de alto desempenho disponível em uma rede de computadores. É importante ressaltar que, embora use tecnologias de conectividade comuns a outros tipos de rede (LANs, CANs, MANs) geralmente, o acesso direto a SAN é fisicamente restrito aos módulos processadores que realmente necessitam utilizar essa infra-estrutura. Assim o tráfego dos outros tipos de rede não é afetado pelo alto tráfego de uma SAN. O termo Network Attached Storage (NAS) é comumente confundido com SAN. Ocorre que são tecnologias complementares e distintas, como segue: SAN é o tipo de rede, NAS é uma classificação que pode se dar a um tipo de dispositivo de

armazenamento que pode ser acessado diretamente por uma conexão de rede, funcionando como um servidor de arquivos. Classificação de redes quanto ao tipo de conectividade Em meados da década de 70, o conceito de computador pessoal, representado na Figura 5, começou a surgir. Alavancado pelo rápido desenvolvimento dos circuitos integrados, alguns anos depois já estava disponível comercialmente. Figura 5: Computador Pessoal Paralelamente, o conceito de aplicativo user-friendly 1, ou amigável ao usuário, também começou a ser empregado, para que uma pessoa pudesse trabalhar em seu computador pessoal sem a necessidade de treinamentos muito complexos. O usuário começava a ter maior liberdade para realizar suas tarefas, não dependendo tão somente do mainframe. Mesmo que os computadores pessoais tenham proporcionado tantos benefícios, ainda não podiam ser utilizados como base do sistema corporativo, pois trabalhavam isolados. Por exemplo, para manter a veracidade de algumas informações, em um determinado sistema administrativo, seria necessário que todos 1 user-friendly : ou amigável ao usuário, refere-se a qualquer coisa que torne mais fácil o uso do computador. Por exemplo, os programas orientados a menu são considerados mais user-friendly que os programas orientados a comandos.

os PCs 2 tivessem acesso a uma base de dados comum, como ainda não existiam redes de comunicação eficientes, era inviável adotar essa solução. Então, uma nova necessidade surgiu: interligar os computadores de forma eficiente era desejável para que informações e periféricos pudessem ser compartilhados. Para atender a demanda surgem as redes de computadores, representadas na Figura 6, que possibilitaram, entre outras aplicações: compartilhamento de arquivos e dispositivos, troca de mensagens, acesso à base de dados corporativos. Imprime relatório Solicita arquivo Imprime relatório Solicita arquivo Impressora / Recurso Compartilhado Servidor de Arquivos / Servidor de Impressão Figura 6: Rede de Computadores Uma maneira comum de se obter estes tipos de facilidades é através de uma rede denominada ponto-a-ponto, onde todos os computadores conectados a rede são consumidores (clientes) e fornecedores (servidores) de recursos, não existindo uma separação evidente entre os mesmos. Uma rede ponto-a-ponto pode ser facilmente configurada utilizando o sistema operacional Windows. O propósito inicial das redes de computadores era compartilhamento de arquivos e periféricos, o seu uso tornou alguns termos mais conhecidos, tais como: 2 PC - abreviação comumente utilizada para Personal Computer, ou computador pessoal.

servidor de arquivos e servidor de impressão. Estes serviços pioneiros permitiram que novas aplicações fossem criadas fazendo uso de arquivos comuns a todos os usuários. Mesmo com a solução do problema da falta de veracidade das informações, ainda existia um motivo para que não se adotasse o modelo de computação em rede, o desempenho da arquitetura baseada no compartilhamento de arquivos depende de: taxa de utilização do compartilhamento (número de usuários acessando o serviço); disputas para atualizações (tentativas de uso de arquivos bloqueados); volume de dados transferidos; Este tipo de solução era eficiente para pequenos ambientes de redes de computadores, com um baixo volume de tráfego de dados. Então, mesmo com as redes de computadores, alguns sistemas administrativos mais críticos ainda precisavam do mainframe, pois o sistema baseado na rede ainda não apresentava uma solução confiável. Aos poucos, os desenvolvedores perceberam que os aplicativos grandes podiam ser divididos em dois componentes, assim como na programação modular que se beneficia dessa técnica (separar em módulos menores) para facilitar o desenvolvimento e manutenção. Neste caso a divisão resultaria em uma parte específica do usuário (parte cliente) e outra parte específica do serviço prestado (parte servidor) como por exemplo: um serviço de acesso a base de dados. Como os PCs ofereciam uma capacidade de processamento, a parte cliente poderia ser controlada por ele, isto inclui a interface com o usuário e parte do processamento específico ao usuário, conseqüentemente a carga da computação para o equipamento servidor seria reduzida, permitindo o uso de equipamentos servidores mais acessíveis, assim como o tráfego na rede. Isto reduziria a dependência nos caros sistemas de mainframe para os aplicativos mais pesados. O baixo custo dos PCs em relação aos mainframes, e seu grande potencial para computação, se conectados em rede, incentivaram a indústria de software à

trabalhar na arquitetura Cliente/Servidor. Um bom exemplo é a tecnologia de acesso a base de dados que já empregava, internamente, o modelo Cliente/Servidor em seus projetos e implementações. Nela ambos os componentes eram executados em um mesmo sistema computacional. A situação favorável impulsionou seus desenvolvedores para externar esta decomposição interna, ou seja, dividir em dois produtos independentes, cliente e servidor. Dessa maneira a carga de processamento da aplicação pode ser dividida entre a estação de trabalho do cliente e o servidor; e estes dois trocam a informação através de uma rede de comunicação 3, como representado na Figura 7. Solicita arquivo Imprime relatório Solicita pesquisa ao banco de dados Manda mensagem por correio eletrônico Servidor de Arquivos / Servidor de Impressão Impressora / Recurso Compartilhado Servidor de Banco de Dados / Servidor de Correio eletrônico Figura 7: Ambiente Cliente/Servidor Diferentemente dos sistemas baseados em mainframe, que tinham a vantagem de ter uma única fonte de tecnologia para hardware e o software, a tecnologia Cliente/Servidor depende dos diversos componentes de hardware e de software que vêm de diferentes fontes. Além disso, um novo componente, o middleware responsável pela adaptação das requisições do cliente ao serviço prestado pelo servidor, começou a ser introduzido. A completa integração de todos 3 Rede de comunicação: ou sistema de comunicação, constitui-se de um arranjo topológico que interliga os vários computadores através de enlaces físicos e de um conjunto de regras com o fim de organizar a comunicação.

esses componentes é essencial para que se possa usufruir todo potencial da computação Cliente/Servidor. Aliando as necessidades comerciais à evolução constante, e a passos largos, do poder de processamento dos computadores pessoais e da capacidade de transmissão das redes de computadores, a um custo cada vez menor, surge assim, um ambiente favorável a implementação da computação Cliente/Servidor. A arquitetura Cliente/Servidor apresenta características essenciais para dar suporte a essa ampla faixa de processos comerciais que demandam por: flexibilidade, performance, escalabilidade, usabilidade e baixo custo. Cliente/Servidor Em poucas palavras pode-se dizer que Cliente/Servidor é uma arquitetura computacional que envolve processos clientes requisitando serviços de processos servidores, sendo que cada computador ou processo em uma rede, pode ser um cliente e/ou um servidor. Em sua forma mais básica permite a distribuição de processamento em duas entidades: cliente e servidor. Pode-se dizer também que, a computação Cliente/Servidor provê um mecanismo para computadores cooperarem em uma única tarefa de computação. Definições As referências mais relevantes utilizadas apresentam uma definição geral para Cliente/Servidor, destacamos aquelas que mais se identificaram com o propósito deste trabalho: Termo usado para descrever sistemas em rede de computação (processamento) distribuída, no qual as responsabilidades de uma transação são divididas em duas partes: cliente (front-end) e servidor (back-end). Ambos os termos (cliente e servidor) podem ser aplicados a programas ou dispositivos computacionais. Também é chamado de computação (processamento) distribuída. (Cisco Systems)

A tecnologia Cliente/Servidor é uma arquitetura na qual o processamento da informação é dividido em módulos ou processos distintos. Um processo é responsável pela manutenção da informação (servidores) e outros responsáveis pela obtenção dos dados (os clientes). Os processos cliente enviam pedidos para o processo servidor, e este por sua vez processa e envia os resultados dos pedidos. (Grupo de Redes - UFRGS) O que a computação Cliente/Servidor faz é reunir o módulo cliente e o servidor num modelo mais equilibrado, no qual cada um faz uma parte do processamento, melhorando o desempenho de todo o sistema e aumentando o grau de satisfação dos usuários. (Itec) Uma abordagem de tecnologia distribuída onde o processamento é dividido por função. O Servidor executa funções compartilhadas gerenciando comunicações, provendo serviços de banco de dados, etc. O cliente executa funções individuais do usuário, provendo interfaces de acordo com o usuário, executando navegação entre telas, oferecendo funções de ajuda, etc. (Software AG and META Group) É a extensão lógica da programação modular, que tem como suposição fundamental que a separação de um grande código de um programa em peças constituintes ("módulos") cría a possibilidade para um desenvolvimento mais fácil e uma melhor manutenabilidade. A computação Cliente/Servidor dá um passo adiante por reconhecer que esses módulos não necessitam estar em execução no mesmo espaço de memória. Com esta arquitetura, o módulo que faz a chamada torna-se o cliente (aquele que requisita o serviço), e o módulo que é chamado torna-se o servidor (aquele que provê o serviço). A extensão lógica disto é possuir clientes e servidores rodando em plataformas de hardware e software apropriadas para suas funções. (Steve Hultquist comp.client-server) Como podemos ver, a computação Cliente/Servidor possui várias definições que compartilham um mesmo conceito: software e dados são distribuídos no ambiente Cliente/Servidor, de maneira que se possa usufruir mais eficazmente o poder computacional disponível. Características de Cliente/Servidor Quanto às características de funcionamento uma interação típica entre cliente e servidor ocorre de maneira similar a essa: O usuário executa o programa cliente para criar uma consulta; O cliente conecta-se ao servidor; O cliente manda a consulta para o servidor;

O servidor analisa a consulta; O servidor calcula o resultado da consulta; O servidor manda os resultados para o cliente; O cliente apresenta os resultados para o usuário; O processo se repete sempre que necessário. É válido lembrar que computação Cliente/Servidor não é simplesmente um computador pessoal fazendo acesso a um banco de dados em uma rede, mas sim um conjunto de características que define esta arquitetura. Clientes e servidores constituem entidades distintas que trabalham juntas numa rede para realizar uma tarefa, isso não faz com que Cliente/Servidor seja diferente de outras formas de software distribuído, então seguem as seguintes características específicas: Serviço: o processo servidor é um provedor de serviços e o processo cliente é um consumidor de serviços. Recursos compartilhados: um servidor pode atender vários clientes ao mesmo tempo e controlar o acesso dos mesmos aos recursos compartilhados. Como por exemplo, compartilhar uma impressora, uma linha de comunicação. Protocolos assimétricos: quem presta o serviço (servidor), fica em estado de espera de solicitações, haja vista que a relação entre cliente e servidor é de vários para um, e por esse motivo, é o cliente quem inicia o diálogo. Transparência da localização: normalmente o cliente não necessita conhecer a localização do processo servidor, sendo que o mesmo pode estar em execução na mesma máquina ou em outra máquina na rede. Misturar e adaptar: permitir a independência de plataforma de hardware e de software.

Trocas baseadas na mensagem: a interação Cliente/Servidor é feita através de um mecanismo de troca de mensagens. Encapsulamento dos serviços: o modo como uma tarefa é realizada é determinado pelo servidor. Escalabilidade: permitir o acréscimo ou decréscimo de equipamentos clientes, com um pequeno impacto no desempenho, ou seja horizontalmente escalável, como também a migração para um equipamento servidor maior e mais veloz, ou ainda, para multiservidores, ou seja verticalmente escalável. Integridade: código e dados do servidor são mantidos de forma centralizada, ou seja, garantem a integridade dos dados compartilhados. O grupo comp.client-server na Usenet apresenta em seu FAQ as seguintes características para a arquitetura Cliente/Servidor: Combinação de uma porção cliente ou front-end que interage com o usuário, e uma porção servidor ou back-end que interage com o recurso compartilhado. O processo cliente contém a lógica específica de solução e provê uma interface entre o usuário e o resto do sistema aplicativo. O processo servidor atua como um mecanismo de software que controla recursos compartilhados como: base de dados, impressoras, modems, ou processadores poderosos. As tarefas do front-end e do back-end tem requerimentos fundamentalmente diferentes de recursos computacionais tais como, velocidade de processador, memória, velocidade e capacidade de disco, e dispositivos de entrada e saída. O ambiente é tipicamente heterogêneo e de vários fornecedores. O equipamento e sistema operacional de cliente e servidor, geralmente não são os mesmos. Processos cliente e servidor comunicam-se através de

um conjunto padrão, bem definido, de interfaces para programação de aplicativos (API 4 ) e chamadas de procedimento remoto (RPC 5 ). Podemos citar como outra característica da computação Cliente/Servidor, a flexibilidade oferecida no desenvolvimento de interfaces com o usuário. Pode-se criar um aplicativo independente ao servidor. Isso significa que um aplicativo cliente pode ser desenvolvido para o Macintosh, e o aplicativo servidor pode estar em execução em um mainframe IBM. Os aplicativos clientes também poderiam ser desenvolvidos para o Windows, OS/2, Linux, e outros. Isto permite armazenar informação em um servidor central e disseminá-la a diferentes tipos de computadores remotos. Considerando que a interface de usuário é a responsabilidade do cliente, o servidor tem mais recursos de computação para gastar em analisar questões e disseminar informação. Esta é outra característica da computação Cliente/Servidor, que tende a usar as forças de plataformas de computação divergentes para criar aplicações mais poderosas. Componentes da Arquitetura Cliente/Servidor São considerados componentes da Arquitetura Cliente/Servidor, todo o conjunto aplicado na sua efetivação, tais como: Sistemas Operacionais: ambientes onde serão executados os aplicativos, entre os quais o NetWare, OS/2, UNIX, Windows NT, e outros direcionados a aplicações servidoras. E os direcionados a aplicações clientes, como o DOS, Windows, MacOs, UNIX, e outros. Aplicações Servidoras: aplicações que prestam um serviço, como por exemplo, os servidores de banco de dados, servidores de arquivo, servidores de correio eletrônico. 4 API - Application Program Interface: A Interface para programação de aplicativo é um conjunto de rotinas que um programador pode usar para interagir com a aplicação. 5 RPC - Remote Procedure Call: Chamada de Procedimento Remoto

Aplicações Clientes: aplicações que utilizam o serviço, por exemplo, uma ferramenta de consulta ao banco de dados, um programa cliente de correio eletrônico. Sistemas Corporativos: sistemas desenvolvidos no âmbito da empresa, que visam dar suporte aos processos internos da empresa, usando os outros componentes da arquitetura Cliente/Servidor. Alguns exemplos de sistemas corporativos são: sistema de gerenciamento de recursos humanos, sistema de faturamento, sistema de controle de estoque, entre outros. Hardware: todo dispositivo físico utilizado, tais como: equipamentos de processamento, periféricos de entrada e saída, periféricos de armazenamento e equipamentos de comunicação. Cliente A parte cliente da arquitetura Cliente/Servidor é toda e qualquer entidade que solicita, ou utiliza, uma tarefa ou serviço. Comumente é uma aplicação sendo executada em um PC ou estação de trabalho que, através do envio de solicitações, confia em um servidor para executar uma tarefa. Geralmente a parte cliente gerencia a interface com o usuário, incluindo-se os recursos locais, tais como, monitor, teclado, e outros, validando os dados digitados pelo o usuário, enviando as solicitações para o servidor, mostrando as respostas recebidas, e algumas vezes executando a lógica comercial, ou seja, a parte cliente é o que o usuário vê e interage - front-end. Os aplicativos clientes podem ser divididos conforme a sua apresentação: Clientes sem GUI 6 : aplicativos que apresentam uma interface muito simples com o usuário, geralmente com seqüências fixas para gerar 6 GUI: Graphical User Interface (Interface Gráfica com o usuário) tipo de interface que apresenta a informação graficamente, geralmente com janelas (quadros), botões, ícones, barras de menu, barras de rolagem, entre outros, criando um ambiente mais intuitivo, por esse motivo assume-se que os aplicativos desenvolvidos sob esta interface são mais fáceis de usar do que os aplicativos em interface textual, onde a informação é apresentada em telas baseadas em texto e os comandos são digitados pelo usuário. Esta facilidade de uso não ocorre se o aplicativo GUI não foi bem elaborado, e pode ser conseguida em aplicativos de interface textual se o mesmo for desenvolvido de acordo com o usuário. A GUI também habilita o usuário ao uso de várias sessões de aplicativos ao mesmo tempo.

solicitações. Alguns exemplos são, aplicativos textuais em terminais seriais, leitores de códigos de barras, telefone celular; Clientes com GUI: são os aplicativos que interagem com o usuário através de uma interface gráfica, sendo que as solicitações ao servidor são provenientes de uma interação humana. Um bom exemplo de ambiente GUI é o Windows 3.1. Clientes com OOUI 7 : são aplicativos, também em ambiente gráfico, que permitem a interação do usuário com o computador através da manipulação de objetos, e não somente o uso das opções prédeterminadas da GUI. Alguns exemplos de ambientes OOUI são: Windows 95 e 98, GNOME, KDE, entre outros. É importante salientar que, devido suas facilidades na integração de diferentes tarefas, o ambiente gráfico dá ao usuário condições para tornar-se mais produtivo. Lembrando ainda que o uso de terminais interativos textuais limita o usuário a executar tarefas preestabelecidas, com chances quase nulas de exercitar sua criatividade. Servidor Toda e qualquer entidade que possui recursos ou serviços que são compartilhados ou prestados em um ambiente de rede. O processo servidor age como uma máquina de software que administra recursos compartilhados como bancos de dados, impressoras, linha de comunicação, ou processadores poderosos. Normalmente o servidor atua da seguinte maneira: Aguardar as solicitações de iniciativa do cliente: esperar a entrada de solicitações dos clientes e atribuir ao mesmo uma sessão dedicada. Alguns servidores criam um conjunto de sessões reutilizáveis, e outros oferecem os dois ambientes. 7 OOUI: Object Oriented User Interface (Interface com o usuário orientada a objetos) tipo de interface que tenta representar a informação em forma de objetos (como no mundo real), criando um ambiente mais intuitivo e próximo do usuário do que a GUI. Um aplicativo em OOUI deve fazer parte do ambiente OOUI em que esta sendo executado, deve ser mais um conjunto de objetos o qual o usuário pode considerar e manipular. Alguns preferem dizer que em um OOUI o usuário é a aplicação.

Executar muitas solicitações ao mesmo tempo: processar vários pedidos de cliente ao mesmo tempo. Essa capacidade multitarefa é essencial para que o servidor não tenha todo o seu tempo e recursos tomados por um único cliente. Cuidar primeiro dos clientes VIP: capacidade de proporcionar diferentes níveis de prioridade de serviço aos seus clientes. Iniciar e rodar atividades de tarefas em segundo plano: capacidade de, por exemplo, acionar uma tarefa de atualização descarregando registros de um banco de dados, fora das horas de maior movimento. Manter-se rodando: se o programa servidor entrar em colapso, todos os clientes que dependem dos seus serviços sofrerão o impacto, por isso é necessário que o programa servidor e o ambiente em que o mesmo é executado sejam muito robustos. Crescer e engordar: geralmente os programas servidores demandam por memória e potência de processamento. O ambiente servidor deve possibilitar crescimento escalável e modular. Um processo servidor responde a solicitação do cliente executando a tarefa requisitada. Por exemplo: Um servidor de hora do dia simplesmente retorna a hora corrente ao cliente que solicitou; Um servidor de arquivos recebe solicitações para executar operações que armazenam ou recuperam dados de um arquivo;