Cadastre-se Revistas DevMedia Cursos
 

Space de CRISTIANO FIORESI
Busca Autor


Últimas 20 atualizações de CRISTIANO FIORESI

Artigo - CONCEITOS BASICOS DAS PLATAFORMAS JAVA E J2ME

CONCEITOS BASICOS DAS PLATAFORMAS JAVA E J2ME

 

Neste artigo faremos um breve estudo sobre os conceitos das plataformas Java e J2ME, para que sirva de base para os futuros artigos relacionados a este assunto. 

 

 1. A PLATAFORMA JAVA

 

O surgimento da tecnologia Java se deu em 1991, na empresa Sun Microsystems, com o Green Project, que tinha como mentores Patrick Naughton, Mike Sheridan e o líder do projeto, James Gosling (JAVA, 2006).

 

 

1.1. As Principais caracteristicas da Linguagem Java.

A linguagem Java foi projetada tendo em vista os seguintes objetivos:

  • Orientação a objeto - Baseado no modelo de Smalltalk e Simula67;
  • Portabilidade - Independência de plataforma - "write once run anywhere”;
  • Recursos de Rede - Possui extensa biblioteca de rotinas que facilitam a cooperação com protocolos TCP/IP, como HTTP e FTP;
  • Segurança - Pode executar programas via rede com restrições de execução;

Além disso, podem-se destacar outras vantagens apresentadas pela linguagem:

  • Sintaxe similar a Linguagem C/C++.
  • Facilidades de Internacionalização - Suporta nativamente caracteres Unicode;
  • Simplicidade na especificação, tanto da linguagem como do "ambiente" de execução (JVM);
  • É distribuída com um vasto conjunto de bibliotecas (ou APIs);
  • Possui facilidades para criação de programas distribuídos e multitarefa (múltiplas linhas de execução num mesmo programa);
  • Desalocação de memória automática por processo de coletor de lixo (garbage collector);
  • Carga Dinâmica de Código - Programas em Java são formados por uma coleção de classes armazenadas independentemente e que podem ser carregadas no momento de utilização.

 

1.2. Edições Java

 

A versão Java 2 está dividida em:

 

  • Java 2 Standard Edition (J2SE): Tecnologia projetada para computadores pessoais e ambientes de trabalho.
  • Java 2 Enterprise Edition (J2EE): Tecnologia direcionada para aplicações baseadas no servidor, contendo suporte interno para JSP (JavaServer Pages), XML (eXtensible Markup Language) e servlets.
  • Java 2 Micro Edition (J2ME): Tecnologia direcionada para dispositivos com poucos recursos computacionais como, por exemplo, palms e telefones celulares. ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
06/09/2007 13:01:00





Artigo - Tutorial RMI - Remote Method Invocation

Tutorial RMI - Remote Method Invocation

 

Java RMI: Conceitos Básicos

 

Java RMI (Remote Method Invocation) permite que objetos Java executando no mesmo computador ou em outros computadores comuniquem entre si por meio de chamadas de métodos remoto. Essas chamadas de métodos são semelhantes àquelas que ocorrem entre objetos de um mesmo programa.

RMI está baseado em uma tecnologia anterior semelhante para programação procedural, chamada de chamada de procedimentos remotos (Remote Procedure Calls, ou RPC), desenvolvida nos anos 80.

Sendo uma extensão de RPC, Java RMI permite comunicação distribuída de um objeto Java com outro. Uma vez que um método (ou serviço) de um objeto Java é registrado em um Servidor de Nomes como sendo remotamente acessível, um cliente pode pesquisar esse serviço e receber uma referência que permita utilizar o mesmo (isto é, chamar seus métodos). A sintaxe usada em chamadas de métodos remotos é idêntica àquela de uma chamada para um método de outro objeto no mesmo programa. Como ocorre em RPC, o empacotamento dos dados é tratado pelo RMI. O programador não precisa se preocupar com a transmissão dos dados sobre a rede. RMI também não exige que o programador domine qualquer linguagem particular para definição de interfaces, porque todo o código de rede é gerado diretamente a partir das classes existentes no programa.

 

Java RMI: Arquitetura

 

A arquitetura de Java RMI é dividida em três camadas:

 

·        A camada de stub/skeleton oferece as interfaces que os objetos da aplicação usam para interagir entre si.

·        A camada de referência remota é responsável por criar e gerenciar referências para objetos remotos;

·        A camada de transporte implementa o protocolo que especifica o formato de solicitações enviadas aos objetos remotos pela rede.

 

arqrmi.gif

Figura 1 – Arquitetura de camadas de RMI.

 

 

 

Java RMI: Exemplo de Uso

 

No desenvolvimento de uma aplicação cliente-servidor usando Java RMI, é essencial que seja definida a interface de serviços que serão oferecidos pelo objeto servidor. A especificação de uma interface remota é equivalente à definição de qualquer interface em Java, a não ser pelos seguintes detalhes:

 

• A interface deverá, direta ou indiretamente, estender a interface Remote.

 

• Todo método da interface deverá declarar que a exceção RemoteException (ou uma de suas subclasses) pode ser gerada na execução do método.

 

O exemplo de definição de interface abaixo relaciona os métodos que serão invocados remotamente usando Java RMI. Este exemplo descreve uma aplicação de Chat onde clientes interagem com o servidor conectando, enviando mensagens e desconectando. O servidor interage com um cliente enviando mensagens de outros clientes.

 

public interface ServidorChat extends Remote {

public String conectar (Cliente c) throws RemoteException;

public void enviar (String mensagem) throws RemoteException;

public void desconectar(Cliente c) throws RemoteException;

}

 

 

Já o código mostrado a seguir descreve a interface de um cliente da aplicação de Chat, a qual contém o método exibir cuja função é mostrar a mensagem propagada pelo servidor da aplicação.

 

public interface Cliente extends Remote {

public void Exibir(String mensagem) throws RemoteException;

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
29/08/2007 11:33:00





 

Cristiano Fioresi Andreão(cristiano@supervix.com.br) é Estudante de Ciência da Computação pela UVV/Centro Universitário de Vila Velha (www.uvv.br), pesquisador da tecnologia Java J2ME, e é integrante do Grupo de Usuários Java do Espirito Santo. Atualmente atua como desenvolvedor de aplicações móveis em Java.
Arquivo de atualizações
 2007

Estatísticas do Autor:
Número de posts: 2
Características dos posts deste autor:
Conteúdo:
Utilidade:
9 2
 
DevMedia Group - Tel: (21) 3382-5038 - www.devmedia.com.br
Todos os Direitos Reservados a DevMedia Group