JAVA
José Maria Monteiro Rodrigo de Oliveira Lopes
Departamento de Computação – UFC Departamento de Computação – UFC zemaria@lia.ufc.br rodrigo@lia.ufc.br
Leopoldo Wagner
Departamento de Computação – UFC
Leopoldo@lia.ufc.br
RESUMO
A linguagem Java tem se mostrado uma ferramenta atraente para o desenvolvimento de aplicações cliente/servidor. Neste trabalho, apresentaremos os diversos meios que Java pode usar para a implementação destas aplicações, como o uso de sockets e datagramas, chamada de métodos remotos (Remote Method Invocation - RMI) e a utilização da estrutura de objetos distribuídos especificada pelo Corba.
1. INTRODUÇÃO
O modelo cliente/servidor fornece uma clara separação de funções entre os processos, baseado na idéia de que servidores fazem o papel de fornecedores de serviços que são requisitados pelos clientes. O cliente é o consumidor dos serviços que são providos por um ou mais servidores.
Esta arquitetura é mostrada na Figura 1.
1. Solicitação
Cliente Servidor
2. Resposta
Figura 1. Arquitetura Cliente/Servidor.
A aplicação servidora é um processo que pode estar na mesma máquina do cliente ou em um ponto remoto na rede. Contudo, a solicitação de serviço feita pelo cliente tem o mesmo formato, independente da localização do servidor.
A arquitetura Cliente/Servidor (C/S) foi concebida no início dos anos 90, portanto é uma abordagem relativamente nova, apesar de alguns autores já iniciarem as definições para a Segunda geração de Cliente/Servidor (Alex Berson) e outros para a terceira geração C/S WEB.
A primeira revolução Cliente/Servidor nos levou de um ambiente de terminais e mainframes para as redes Ethernets. Já a segunda revolução Cliente/Servidor é motivada pelo advento da World Wide Web (WWW). Este novo modelo Cliente/Servidor consiste de clientes portáveis e universais que requisitam documentos html via protocolo http (rpc like) a servidores super rápidos.