Bom, depois de muito tempo sem postar nada por aqui, eis que postarei um projetinho relacionado a RMI, é algo bem simples, que desenvolvi para apresentar como trabalho na universidade, mas acredito que pode ajudar alguém interessado em sistemas distribuidos, mas especificamente RMI.
RMI é muito usado em aplicações distribuídas. Através de uma interface remota, é possível acessar todos os serviços(métodos) implementados no servidor, e que estejam definidos na interface. Para executar uma aplicação RMI, é necessário disponibilizar o registro do RMI
Nesse caso, temos três métodos implementados.
- Interface.java
public interface Interface extends Remote {
public String lerArquivo() throws RemoteException;
public double calculadora(int a, int b) throws RemoteException;
public int[] ordenarVetor() throws RemoteException;
}
Essas são as operações que o usuário poderá realizar: leitura de um arquivo
O programa está dividido em três partes Cliente, Servidor, Interface. Além disso, há um arquivo de permissão Policy e um arquivo .txt que será usado na execução de uma das opções do programa, dentro do pacote que está disponibilizado para download, há também um arquivo bat, como todos os comandos para executar e iniciar o serviço do rmi.
O passo-a-passo para execução do programa é o seguinte:
1° Compilar todas as classes .java
2° Executar o comando rmic da classe Servidor, para a geração do stub e skeleton
3° Executar o rmiregistry
4° Feito isso, abra outro console para iniciar o servidor. Não esqueça que você precisa está na pasta que a classe Servidor está. Digite o seguinte comando:
java -Djava.rmi.server.codebase=file:///caminho-da-pasta -Djava.security.policy=file:///caminho-da-pasta\policy Servidor.
5° Abra um novo console, e agora faça o mesmo(feito para o servidor) para a iniciar o cliente
java -Djava.rmi.server.codebase=file:///caminho-da-pasta -Djava.security.policy=file:///caminho-da-pasta\policy Cliente
No pacote disponibilizado, para download, todos esses comandos estão no arquivo bat, verifique lá, caso haja alguma dúvida.
Nunca é demais lembrar que pra rodar esses programas, é necessário ter o java instalado na máquina.
Até a próxima
Download
Vida de Estudante
sexta-feira, 19 de março de 2010
quarta-feira, 18 de junho de 2008
Aplicação usando Eclipse, Apache Tomcat, Postgres e Displaytag
Desenvolvi uma aplicação bem simples usando as ferramentas acima citadas. Trata-se de um sistema de cadastro e consulta ao acervo de uma Locadora de Cds. O sistema não está muito "bonito", ate porque não entendo muito de CSS. Entretanto, usei o componente DisplayTag que facilita muito a vida de qualquer desenvolvedor, pois traz toda a estrutura de uma listagem.
O projeto já está pronto pra rodar, basta apenas criar o banco e configurar devidamente o eclipse. Essa configuração seria apenas direcionar o servidor Tomcat, se alguém tiver alguma duvida sobre com fazer isso é só perguntar que dou um jeito de ajudar. A SQL segue no projeto numa pasta chamada de doc, onde também se encontrar uma breve descrição dos Casos de uso(cadastrar e consultar)
Bom, espero que ajude e contribua no aprendizado de alguém
Abraço!!!!
Download da aplicação: clique aqui
O projeto já está pronto pra rodar, basta apenas criar o banco e configurar devidamente o eclipse. Essa configuração seria apenas direcionar o servidor Tomcat, se alguém tiver alguma duvida sobre com fazer isso é só perguntar que dou um jeito de ajudar. A SQL segue no projeto numa pasta chamada de doc, onde também se encontrar uma breve descrição dos Casos de uso(cadastrar e consultar)
Bom, espero que ajude e contribua no aprendizado de alguém
Abraço!!!!
Download da aplicação: clique aqui
sexta-feira, 18 de abril de 2008
Artigo sobre IBM DB2
Esse foi o primeiro artigo que escrevi e com certeza não está na formatação da SBC, mas pode servir de auxilio para quem se interesse pelo IBM DB2.
A IBM fornece uma versão trial desse banco
Download: Artigo
A IBM fornece uma versão trial desse banco
Download: Artigo
sábado, 22 de dezembro de 2007
Palavras Reservadas - Java
abstract double int strictfp
boolean else interface super
break extends long switch
byte final native synchronized
case finally new this
catch float package throw
char for private throws
class goto protected transient
const if public try
continue implements return void
default import short volatile
do instanceof static while
boolean else interface super
break extends long switch
byte final native synchronized
case finally new this
catch float package throw
char for private throws
class goto protected transient
const if public try
continue implements return void
default import short volatile
do instanceof static while
domingo, 30 de setembro de 2007
Minha primeira postagem
Bom...primeiro vou explicar a razão pela qual criei esse blog...estou estudando Linguagem C e resolvi compartilhar aquilo que estou estudando, creio que será útil aos estudantes de computação.
Estou estudando linguagem C, mas sou uma eterna admiradora de Linguagem Java, então com frequência postarei códigos Java aqui
Postarei de tudo um pouco sobre computação, ou seja, sobre o que gosto
Então para estrear...código em C para verificar se um numero é ou não primo
#include
int primo(int n);
int main(void)
{
int a;
int resultado;
printf("entre com um numero: ");
scanf("%d",&a);
resultado = primo(a);
if(resultado == 1)
printf("O numero é primo");
else
printf("O numero não é primo");
return 0;
}
int primo(int n)
{
if(n == 2 || n == 3 || n == 5)
return 1;
else if((n%6) == 1 || (n%6)==5)
return 1;
else
return 0;
}
Estou estudando linguagem C, mas sou uma eterna admiradora de Linguagem Java, então com frequência postarei códigos Java aqui
Postarei de tudo um pouco sobre computação, ou seja, sobre o que gosto
Então para estrear...código em C para verificar se um numero é ou não primo
#include
int primo(int n);
int main(void)
{
int a;
int resultado;
printf("entre com um numero: ");
scanf("%d",&a);
resultado = primo(a);
if(resultado == 1)
printf("O numero é primo");
else
printf("O numero não é primo");
return 0;
}
int primo(int n)
{
if(n == 2 || n == 3 || n == 5)
return 1;
else if((n%6) == 1 || (n%6)==5)
return 1;
else
return 0;
}
Assinar:
Postagens (Atom)