<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Lucas Thomaz</title>
	<atom:link href="http://lucasrthomaz.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://lucasrthomaz.wordpress.com</link>
	<description>Um pouco da vida academica</description>
	<lastBuildDate>Thu, 27 Jan 2011 18:00:04 +0000</lastBuildDate>
	<language>pt</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='lucasrthomaz.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Lucas Thomaz</title>
		<link>http://lucasrthomaz.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://lucasrthomaz.wordpress.com/osd.xml" title="Lucas Thomaz" />
	<atom:link rel='hub' href='http://lucasrthomaz.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Leasing</title>
		<link>http://lucasrthomaz.wordpress.com/2011/01/27/leasing/</link>
		<comments>http://lucasrthomaz.wordpress.com/2011/01/27/leasing/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 18:00:03 +0000</pubDate>
		<dc:creator>lucasrthomaz</dc:creator>
				<category><![CDATA[TCC]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JINI]]></category>

		<guid isPermaLink="false">http://lucasrthomaz.wordpress.com/?p=167</guid>
		<description><![CDATA[Traduzindo literalmente Leasing é um empréstimo, mas como veremos ainda neste post, não é somente isso que esse conceito contempla no Jini. Segundo o livro, essa é uma maneira do componente registrar que estão vivos e garantir caso eles sejam classificados como &#8220;time-out&#8221;ou até mesmo inacessíveis. Leasing também é a maneira dos mecanismos acessarem recursos [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=167&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Traduzindo literalmente Leasing é um empréstimo, mas como veremos ainda neste post, não é somente isso que esse conceito contempla no Jini.</p>
<p>Segundo o livro, essa é uma maneira do componente registrar que estão vivos e garantir caso eles sejam classificados como &#8220;time-out&#8221;ou até mesmo inacessíveis. Leasing também é a maneira dos mecanismos acessarem recursos em um determinado período de tempo.</p>
<p>Portanto podemos dizer que Leasing é sempre um pedido que pode ser realizado por um período de tempo, como funciona com o lookup service por exemplo.</p>
<p>O serviço pode requisitar o tempo que necessita através do metodo <em>register(), </em>inserindo o quanto deseja ou utilizando esses dois especiais valores</p>
<pre class="brush: plain;">

Lease.ANY // O serviço deixa o lookup service decidir o tempo
Lease.FOREVER // A requisição nunca expira.
</pre>
<p>Para cancelar o empréstimo, utiliza</p>
<pre class="brush: plain;"> .cancel();</pre>
<p>Caso o empréstimo acabe e seja necessário renovar, utilize</p>
<pre class="brush: plain;">.renew()</pre>
<p>&nbsp;</p>
<p>O capítulo é bem mais completo do que narrei acima, mas para o meu uso por enquanto isso é suficiente.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lucasrthomaz.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lucasrthomaz.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lucasrthomaz.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lucasrthomaz.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lucasrthomaz.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lucasrthomaz.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lucasrthomaz.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lucasrthomaz.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lucasrthomaz.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lucasrthomaz.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lucasrthomaz.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lucasrthomaz.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lucasrthomaz.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lucasrthomaz.wordpress.com/167/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=167&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lucasrthomaz.wordpress.com/2011/01/27/leasing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad082966d9cda4dcff250f6a9203275c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Lucas Thomaz</media:title>
		</media:content>
	</item>
		<item>
		<title>A busca do cliente</title>
		<link>http://lucasrthomaz.wordpress.com/2011/01/27/a-busca-do-cliente/</link>
		<comments>http://lucasrthomaz.wordpress.com/2011/01/27/a-busca-do-cliente/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 11:25:06 +0000</pubDate>
		<dc:creator>lucasrthomaz</dc:creator>
				<category><![CDATA[TCC]]></category>
		<category><![CDATA[comunidade liferay]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JINI]]></category>

		<guid isPermaLink="false">http://lucasrthomaz.wordpress.com/?p=164</guid>
		<description><![CDATA[Agora partirei da idéia que o cliente já encontrou um lookup service e necessita agora encontrar um serviço. Imagine que o cliente já possua um objeto ServiceRegistrar que recebeu do lookup service. Ele irá utilizar esse objeto para realizar a sua busca, através do método lookup() public Class ServiceRegistrar { public java.lang.Object lookup(ServiceTemplate tmpl)throw java.rmi.RemoteException; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=164&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Agora partirei da idéia que o cliente já encontrou um lookup service e necessita agora encontrar um serviço.</p>
<p>Imagine que o cliente já possua um objeto ServiceRegistrar que recebeu do lookup service. Ele irá utilizar esse objeto para realizar a sua busca, através do método</p>
<pre class="brush: plain;"> lookup()</pre>
<pre class="brush: plain;">

public Class ServiceRegistrar {
public java.lang.Object lookup(ServiceTemplate tmpl)throw java.rmi.RemoteException;
public ServiceMatches lookup(ServiceTemplate tmpl,int maxMatches)throws java.rmi.RemoteException;
}
</pre>
<p>Esses métodos usam a casse ServiceTemplate para especificar o serviço que ela está procurando, como abaixo:</p>
<pre class="brush: plain;">
package net.jini.core.lookup;
public Class ServiceTemplate {
	public ServiceID serviceID;
	public java.lang.Class[] serviceTypes;
	public Entry[] attributeSetTemplates;
	ServiceTemplate(ServiceID serviceID,
		java.lang.Class[] serviceTypes,
		Entry[] attrSetTemplates);
}
</pre>
<p>Se não conhecido o ID do seerviço, deve ser setado como nulo.</p>
<p>O atributo <em>attributeSetTemplates </em>é um conjunto de entradas usado para chocar os atributos.</p>
<p>O atributo de lookup() é um template e isso é um pouco complexo de entender, vamos por partes.</p>
<p>A classe que oriunda o serviço, como por exemplo Imprimir, Lavar, Secar, todas as que você possa imaginar, descrevem o que o serviço deve ter. Quem implementar essa classe, como por exemplo ImpressoraColorida, ImpressoraLaser, entre outrar, é que dizem como se faz a impressão. para que o cliente encontre a qual ele deseja, é necessário criar uma classe:</p>
<pre class="brush: plain;">

Class[] impressoraClasses = new Class[1];
impressoraClasses = Imprimir.class;

ServiceTemplate template = new ServiceTemplate(null, impressoraClasses, null);
</pre>
<p>Esse atributo sera utilizado para a criação de um template e passado para o lookup:</p>
<pre class="brush: plain;">

Imprimir imp = null;
imp = (Imprimir) registrar.lookup(template) ;
</pre>
<p>O objeto que imp receber será o objeto do serviço ao qual ele procura.</p>
<p>Existem ainda mais alguns detalhes de como o cliente escolhe o serviço, mas por hora isso já é suficiente.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lucasrthomaz.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lucasrthomaz.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lucasrthomaz.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lucasrthomaz.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lucasrthomaz.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lucasrthomaz.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lucasrthomaz.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lucasrthomaz.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lucasrthomaz.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lucasrthomaz.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lucasrthomaz.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lucasrthomaz.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lucasrthomaz.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lucasrthomaz.wordpress.com/164/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=164&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lucasrthomaz.wordpress.com/2011/01/27/a-busca-do-cliente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad082966d9cda4dcff250f6a9203275c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Lucas Thomaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Registro de Serviço</title>
		<link>http://lucasrthomaz.wordpress.com/2011/01/26/registro-de-servico/</link>
		<comments>http://lucasrthomaz.wordpress.com/2011/01/26/registro-de-servico/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 20:10:57 +0000</pubDate>
		<dc:creator>lucasrthomaz</dc:creator>
				<category><![CDATA[TCC]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JINI]]></category>

		<guid isPermaLink="false">http://lucasrthomaz.wordpress.com/?p=162</guid>
		<description><![CDATA[O próximo tópico do livro aborda como o registro do serviço é feito e como ele fica disponível para os clientes. ServiceRegistrar: Uma classe já falada antes mas que agora irá ser abordada de maneira mais completa. Seu objeto é retornado pelo lookup service para que ela sirva de proxy. Isso é feito com o famoso método .register(). [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=162&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>O próximo tópico do livro aborda como o registro do serviço é feito e como ele fica disponível para os clientes.</p>
<h2><strong>ServiceRegistrar:</strong></h2>
<p>Uma classe já falada antes mas que agora irá ser abordada de maneira mais completa. Seu objeto é retornado pelo lookup service para que ela sirva de proxy. Isso é feito com o famoso método .register().</p>
<p>Esse método necessita de um parametro que é na verdade um objeto da classe ServiceIntem, e esse objeto tem que ser visto de maneira mais completa:</p>
<p><strong>ServiceItem:</strong></p>
<p>Essa classe apresenta um atributo chamado <em>serviceID </em>que de inicio é setado como NULL. Quando o lookup service entrar em ação ele passara para esse atributo um valor não nulo. Esse valor é usado como um identificador único do serviço.</p>
<p>Outro atributo importante é o <em>service</em>, que é o objeto que está sendo registrado naquele momento. Esse objeto será serializado e enviado para o servidor de serviços para ser armazenado e quando o cliente requisitar ele será enviado.</p>
<h2>ServiceRegistration</h2>
<p>É um objeto criado pelo lookup service que é retornado e executado no servidor de serviços. Ele é um proxy que mantém a informação do estado do serviço para o lookup service.</p>
<p>Ele pode ser utilizado para  atualizar os valores do objeto ServiceItem já instanciado:</p>
<pre class="brush: plain;">

void addAttributes(Entry[] attrSets);
void modifyAttributes(Entry[] attrSetTemplates, Entry[] attrSets);
void setAttributes(Entry[] attrSets);
</pre>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lucasrthomaz.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lucasrthomaz.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lucasrthomaz.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lucasrthomaz.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lucasrthomaz.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lucasrthomaz.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lucasrthomaz.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lucasrthomaz.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lucasrthomaz.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lucasrthomaz.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lucasrthomaz.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lucasrthomaz.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lucasrthomaz.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lucasrthomaz.wordpress.com/162/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=162&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lucasrthomaz.wordpress.com/2011/01/26/registro-de-servico/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad082966d9cda4dcff250f6a9203275c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Lucas Thomaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Informações sobre o Objeto</title>
		<link>http://lucasrthomaz.wordpress.com/2011/01/26/informacoes-sobre-o-objeto/</link>
		<comments>http://lucasrthomaz.wordpress.com/2011/01/26/informacoes-sobre-o-objeto/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 18:39:11 +0000</pubDate>
		<dc:creator>lucasrthomaz</dc:creator>
				<category><![CDATA[TCC]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JINI]]></category>

		<guid isPermaLink="false">http://lucasrthomaz.wordpress.com/?p=160</guid>
		<description><![CDATA[Agora irei abordar o tópico do livro chamado Entry Objects. Verei bem por cima nesse momento pois não é essencial para o trabalho agora mas mesmo assim é bom saber a idéia. Ele trata sobre as informações adicionais sobre um serviço que o cliente necessita ter para saber se é aquele serviço que ele necessita. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=160&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Agora irei abordar o tópico do livro chamado Entry Objects. Verei bem por cima nesse momento pois não é essencial para o trabalho agora mas mesmo assim é bom saber a idéia.</p>
<p>Ele trata sobre as informações adicionais sobre um serviço que o cliente necessita ter para saber se é aquele serviço que ele necessita. </p>
<p>Quando um serviço é registrado, o lookup service recebe uma copia do objeto que o serviço oferece e o servidor pode optar por armazenar junto uma serie de atributos sobre o serviço.</p>
<p>Para isso existe a classe Entry, que habilita ao serviço informar suas capacidades.  Para isso crie uma classe que implementa essa classe e descreva nela os métodos que o seu serviço oferece. Como o exemplo do livro:</p>
<pre class="brush: plain;">

public Class FileType implements Entry {
public String type; // this is a MIME type
public FileType(String type) {
this.type = type;
}
}
</pre>
<p>Por enquanto é isso, quando necessário irei aumentar esse post.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lucasrthomaz.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lucasrthomaz.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lucasrthomaz.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lucasrthomaz.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lucasrthomaz.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lucasrthomaz.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lucasrthomaz.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lucasrthomaz.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lucasrthomaz.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lucasrthomaz.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lucasrthomaz.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lucasrthomaz.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lucasrthomaz.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lucasrthomaz.wordpress.com/160/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=160&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lucasrthomaz.wordpress.com/2011/01/26/informacoes-sobre-o-objeto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad082966d9cda4dcff250f6a9203275c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Lucas Thomaz</media:title>
		</media:content>
	</item>
		<item>
		<title>MulticastRegister e ServiceRegistrar</title>
		<link>http://lucasrthomaz.wordpress.com/2011/01/26/multicastregister-e-serviceregistrar/</link>
		<comments>http://lucasrthomaz.wordpress.com/2011/01/26/multicastregister-e-serviceregistrar/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 17:18:33 +0000</pubDate>
		<dc:creator>lucasrthomaz</dc:creator>
				<category><![CDATA[TCC]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JINI]]></category>

		<guid isPermaLink="false">http://lucasrthomaz.wordpress.com/?p=157</guid>
		<description><![CDATA[O construtor do LookupDiscovery inicia threads para poder &#8220;escutar&#8221; as respostas da rede. Quando uma resposta chega o listener da thread irá chama o método discovered() da classe MulticastRegister. Essa classe necessita ser compilada com 2 principais bibliotecas: jsk-plataform.jar e jsk-lib.jar. Ela é função bem simples de ser entendida, vamos então ver a classe abstrata [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=157&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>O construtor do LookupDiscovery inicia threads para poder &#8220;escutar&#8221; as respostas da rede. Quando uma resposta chega o listener da thread irá chama o método discovered() da classe <strong>MulticastRegister</strong>.</p>
<p>Essa classe necessita ser compilada com 2 principais bibliotecas: jsk-plataform.jar e jsk-lib.jar.</p>
<p>Ela é função bem simples de ser entendida, vamos então ver a classe abstrata ServiceRegistrar</p>
<p><strong>ServiceRegistrar</strong></p>
<p>Essa classe é implementada por todos os LookupsServices e seu papel é agir como um proxy para os lookups services. Esse proxy roda na aplicação, seja ela cliente ou serviço.</p>
<p>Essa classe tem 2 principais métodos:</p>
<p><strong>register(): </strong>utilizada por um serviço que deseja registrar</p>
<p><strong>lookup(): </strong>utilizado por um cliente para procurar um serviço em particular.</p>
<p>Existem outros métodos que nos fornecem informações bem interessantes:</p>
<pre class="brush: plain;">

String[] getGroups();
LookupLocator getLocator();
ServiceID getServiceID();
registrar.getLocator().getHost();
</pre>
<p><strong>Servidores e clientes necessitam encontrar lookup services! </strong>Descoberto o lookup service é hora de escolher um protocolo de conexão: Unicast ou Multicast. Unicast é sincrono e Multicast não, sendo que este ultimo necessita de um listener para responder. Quando um service locator é descoberto, isso envia um objeto ServiceRegistrar que pode tanto rodar no cliente ou no serviço. O maior uso do ServiceRegistrar é a função de registrar serviços e ajudar os clientes a encontrar esses serviços.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lucasrthomaz.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lucasrthomaz.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lucasrthomaz.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lucasrthomaz.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lucasrthomaz.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lucasrthomaz.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lucasrthomaz.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lucasrthomaz.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lucasrthomaz.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lucasrthomaz.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lucasrthomaz.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lucasrthomaz.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lucasrthomaz.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lucasrthomaz.wordpress.com/157/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=157&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lucasrthomaz.wordpress.com/2011/01/26/multicastregister-e-serviceregistrar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad082966d9cda4dcff250f6a9203275c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Lucas Thomaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Multicast Discovery &#8211; Cont.</title>
		<link>http://lucasrthomaz.wordpress.com/2011/01/26/multicast-discovery-cont/</link>
		<comments>http://lucasrthomaz.wordpress.com/2011/01/26/multicast-discovery-cont/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 12:42:28 +0000</pubDate>
		<dc:creator>lucasrthomaz</dc:creator>
				<category><![CDATA[TCC]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JINI]]></category>

		<guid isPermaLink="false">http://lucasrthomaz.wordpress.com/?p=154</guid>
		<description><![CDATA[No ultimo post foi abordado por ultimo a classe DiscoveryListener e para continuar os tópicos do livro, agora será visto como tratar as conexões. DiscoveryEvent Essa classe possui um metodo muito importante: getRegistrars.  Esse metodo retorna a classe ServiceRegistrar. Essa classe funciona como o objeto retornado no metodo Unicast quando ele requisita um lookup service. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=154&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>No ultimo post foi abordado por ultimo a classe DiscoveryListener e para continuar os tópicos do livro, agora será visto como tratar as conexões.</p>
<p><strong>DiscoveryEvent</strong></p>
<p>Essa classe possui um metodo muito importante: getRegistrars.  Esse metodo retorna a classe ServiceRegistrar. Essa classe funciona como o objeto retornado no metodo Unicast quando ele requisita um lookup service.</p>
<p>Esse processo é um pouco complexo de entender, então vamos revisar desde o começo da aplicação:</p>
<ol>
<li>Multicast requisita uma nova conexão para o LookupDiscovey</li>
<li>Este retorna um objeto dizendo que ocorreu a descoberta</li>
<li>O Multicast requisita um DiscoveryListener, para que possa ver os eventos.</li>
<li>Quando um evento ocorre, o LookupDiscovery retorna.</li>
<li>O multicast utiliza o metodo getResistrars e obtem do DiscoveryEvent o objeto que tratamos acima.</li>
</ol>
<p>Veja que é uma sequencia bem lógica e pode ser visualizada facilmente.</p>
<p>Este é o fim do construtor do DiscoveryListener. A partir desse momento iremos analizar o metodo
<pre class="brush: plain;">main()</pre>
<p>e como fazer para que o serviço se mantenha ativo e &#8220;vivo&#8221;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lucasrthomaz.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lucasrthomaz.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lucasrthomaz.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lucasrthomaz.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lucasrthomaz.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lucasrthomaz.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lucasrthomaz.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lucasrthomaz.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lucasrthomaz.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lucasrthomaz.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lucasrthomaz.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lucasrthomaz.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lucasrthomaz.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lucasrthomaz.wordpress.com/154/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=154&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lucasrthomaz.wordpress.com/2011/01/26/multicast-discovery-cont/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad082966d9cda4dcff250f6a9203275c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Lucas Thomaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Jini &#8211; Multicast(Broadcast) Discovery</title>
		<link>http://lucasrthomaz.wordpress.com/2011/01/25/jini-multicastbroadcast-discovery/</link>
		<comments>http://lucasrthomaz.wordpress.com/2011/01/25/jini-multicastbroadcast-discovery/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 19:36:11 +0000</pubDate>
		<dc:creator>lucasrthomaz</dc:creator>
				<category><![CDATA[TCC]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JINI]]></category>

		<guid isPermaLink="false">http://lucasrthomaz.wordpress.com/?p=151</guid>
		<description><![CDATA[Se não sabemos onde o serviço estará disponível é necessário um serviço &#8220;broadcast&#8221;. Esse método não deve ser usado em pequenas redes ou redes domésticas, para isso é muito mais simples utilizar o Unicast Discovery. Se for uma rede grande, como por exemplo de uma universidade ou de uma empresa, se faz necessário o uso de um método mais [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=151&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Se não sabemos onde o serviço estará disponível é necessário um serviço &#8220;broadcast&#8221;. Esse método não deve ser usado em pequenas redes ou redes domésticas, para isso é muito mais simples utilizar o Unicast Discovery. Se for uma rede grande, como por exemplo de uma universidade ou de uma empresa, se faz necessário o uso de um método mais avançado.</p>
<p>Muitos lookups services podem estar disponíveis em uma rede, por isso necessitamos de algumas particularidades, tratadas abaixo:</p>
<p><strong>Grupos:</strong></p>
<p>Define um conjunto de clientes que podem fazer parte de um serviço lookup, restringindo o acesso.</p>
<p>Um serviço pode conter uma lista de grupos aos quais ele pertence, um simples vetor de string pode ser feito:</p>
<pre class="brush: plain;">

String [] grupos = {&quot;Grupo 01&quot;};
</pre>
<p>Essa String é utilizada na como parametro para o construtor da classe LookupDiscovery:</p>
<pre class="brush: plain;">

LookupDiscovery(java.lang.String[] groups)
</pre>
<p>Perceba que não é a mesma classe utilizada no Unicast, que era LookupLocator.</p>
<p><strong>DiscoveryListener</strong></p>
<p>Para ser notificada quando encontra um lookup service, é necessário a presença de um Listener na aplicação, neste caso é realizado pela classe DiscoveryListener.</p>
<p>Essa classe possui 2 importantes métodos:</p>
<pre class="brush: plain;">

public abstract interface DiscoveryListener {
public void discovered(DiscoveryEvent e);
public void discarded(DiscoveryEvent e);
}
</pre>
<p>O primeiro é utilizado quando um serviço for descoberto e o outro para quando o serviço requisitar ou simplesmente sair da conexão.</p>
<p>{Por enquanto eu paro por aqui, amanha terminarei essa parte sobre o Multicast, atualizando este post}</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lucasrthomaz.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lucasrthomaz.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lucasrthomaz.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lucasrthomaz.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lucasrthomaz.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lucasrthomaz.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lucasrthomaz.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lucasrthomaz.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lucasrthomaz.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lucasrthomaz.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lucasrthomaz.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lucasrthomaz.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lucasrthomaz.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lucasrthomaz.wordpress.com/151/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=151&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lucasrthomaz.wordpress.com/2011/01/25/jini-multicastbroadcast-discovery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad082966d9cda4dcff250f6a9203275c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Lucas Thomaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Jini &#8211; Unicast Discovery</title>
		<link>http://lucasrthomaz.wordpress.com/2011/01/25/jini-unicast-discovery/</link>
		<comments>http://lucasrthomaz.wordpress.com/2011/01/25/jini-unicast-discovery/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 12:46:19 +0000</pubDate>
		<dc:creator>lucasrthomaz</dc:creator>
				<category><![CDATA[TCC]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JINI]]></category>

		<guid isPermaLink="false">http://lucasrthomaz.wordpress.com/?p=146</guid>
		<description><![CDATA[Pode ser usado quando se conhece a máquina na qual o lookup service reside. Para conectar ao lookup service é necessário o uso do método getRegister da classe LookupLocator, de uma forma bem simples. Um code-example extraido do livro que já mensionei em posts anteriores: package net.jini.core.discovery; public class LookupLocator { LookupLocator(java.lang.String url) throws java.net.MalformedURLException; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=146&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pode ser usado quando se conhece a máquina na qual o <em>lookup service </em> reside. Para conectar ao lookup service é necessário o uso do método getRegister da classe LookupLocator, de uma forma bem simples.</p>
<p>Um <em>code-example </em>extraido do livro que já mensionei em posts anteriores:</p>
<pre class="brush: plain;">
package net.jini.core.discovery;
public class LookupLocator {
    LookupLocator(java.lang.String url) throws
        java.net.MalformedURLException;
    LookupLocator(java.lang.String host,int port);
}
</pre>
<p>Para o primeiro construtor a URL deve ser da forma <em>jini://host/</em> ou <em>jini://host:port</em> e no segundo construtor deve ser separado em argumentos.</p>
<p>Existem dois métodos muito interessantes no <em>LookupLocator, </em>são eles:</p>
<pre class="brush: plain;">

String getHost();

int getPort();
</pre>
<p>No LookupLocator existe o método que eu considero mais trabalhoso de se entender: getRegistrar.</p>
<p>As buscas são realisadas por esse método que sempre retorna um objeto da classe <em>ServiceRegistrar.</em></p>
<p>Essa classe é bem completa e eu ainda não vi tudo o que ela tem a oferecer, mas o que é simples de ver é que ela realiza uma busca na rede por um lookup service, rede esta informada no construtor do LookupLocator.</p>
<p>Existe mais um <em>code-example </em>no livro, que eu achei muito simples e interessante, percebam que ele instância as 2 classes, lookuplocator e serviceregistrar, depois cria um lookuplocator com o parametro da rede e esse objeto que invoca o método .getRegistrar e joga o objeto dentro da classe serviceregistrar para que essa agora possua as informações sobre o lookupservice.</p>
<pre class="brush: plain;">

package basic;
import net.jini.core.discovery.LookupLocator;
import net.jini.core.lookup.ServiceRegistrar;
import java.rmi.RMISecurityManager;
/**
* UnicastRegistrar.java
*/
public class UnicastRegister {
	static public void main(String argv[]) {
		new UnicastRegister();
		}
		public UnicastRegister() {
		LookupLocator lookup = null;
		ServiceRegistrar registrar = null;
		System.setSecurityManager(new RMISecurityManager());
		try {
		lookup = new LookupLocator(&quot;jini://localhost&quot;);
		} catch(java.net.MalformedURLException e) {
		System.err.println(&quot;Lookup failed: &quot; + e.toString());
		System.exit(1);
		CHAPTER 4 ¦ DISCOVERING A LOOKUP SERVICE 41
		}
		try {
		registrar = lookup.getRegistrar();
		} catch (java.io.IOException e) {
		System.err.println(&quot;Registrar search failed: &quot; + e.toString());
		System.exit(1);
		} catch (java.lang.ClassNotFoundException e) {
		System.err.println(&quot;Registrar search failed: &quot; + e.toString());
		System.exit(1);
		}
		System.out.println(&quot;Registrar found&quot;);
		// the code takes separate routes from here for client or service
	}
} // UnicastRegister
</pre>
<p>A primeira vista é um pouco complicado e eu ainda não devo ter explicado da melhor maneira, mas conforme eu for me aperfeiçoando no sistema eu vou melhorando esse post.</p>
<p>Com isso eu termino o meu resumo sobre o unicast discovery, muito interessante para um uso mais específico, que não é o caso do meu TCC, portanto o próximo item a ser analizado é o multicast discovery.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lucasrthomaz.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lucasrthomaz.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lucasrthomaz.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lucasrthomaz.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lucasrthomaz.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lucasrthomaz.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lucasrthomaz.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lucasrthomaz.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lucasrthomaz.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lucasrthomaz.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lucasrthomaz.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lucasrthomaz.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lucasrthomaz.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lucasrthomaz.wordpress.com/146/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=146&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lucasrthomaz.wordpress.com/2011/01/25/jini-unicast-discovery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad082966d9cda4dcff250f6a9203275c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Lucas Thomaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Lookup Service no Jini</title>
		<link>http://lucasrthomaz.wordpress.com/2011/01/24/142/</link>
		<comments>http://lucasrthomaz.wordpress.com/2011/01/24/142/#comments</comments>
		<pubDate>Mon, 24 Jan 2011 19:14:50 +0000</pubDate>
		<dc:creator>lucasrthomaz</dc:creator>
				<category><![CDATA[TCC]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JINI]]></category>

		<guid isPermaLink="false">http://lucasrthomaz.wordpress.com/?p=142</guid>
		<description><![CDATA[Como eu estou refazendo umas partes do meu trabalho, estou acompanhando os capítulos do livo Jini4Programmer, como tinha comentado anteriormente. O capítulo que estou vendo agora é sovre o serviço de busa do Jini, o chamado Lookup Service. O lookup service serve basicamente para que os clientes e os serviços sejam encontrados e encotrem o [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=142&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Como eu estou refazendo umas partes do meu trabalho, estou acompanhando os capítulos do livo Jini4Programmer, como tinha comentado anteriormente.</p>
<p>O capítulo que estou vendo agora é sovre o serviço de busa do Jini, o chamado <em>Lookup Service</em>.</p>
<p>O <em>lookup service </em>serve basicamente para que os clientes e os serviços sejam encontrados e encotrem o que procuram.</p>
<p>O que o servidor e o cliente devem fazer como primeira tarefa é descobrir um lookup service. Essa busca pode ser feita <em>Unicast </em>ou <em>Multicast </em>, cada um com a sua particularidade.</p>
<p>Unicast basicamente é quando já se sabe o endereço do lookup service e podemos nos conectar a ele diretamente e Multicast é usado quando não sabemos o endereço do servidor e temos que &#8220;enviar uma mensagem na rede&#8221; para que algum <em>lookup service</em> possa escutar e &#8220;responder&#8221;.</p>
<p>Lookup service não é nada mais do que um serviço Jini especializado em armanezar e passar para os clientes os serviços que eles procuram.</p>
<p>Pelo padrão Jini existem um serviço chamado <em>reggie </em>, o qual é responsável pelo serviço de Lookup service.</p>
<p>Em outro post irei abordar mais detalhadamente o serviço de Unicast e o Multicast. No meu TCC irei usar o Multicast.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lucasrthomaz.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lucasrthomaz.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lucasrthomaz.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lucasrthomaz.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lucasrthomaz.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lucasrthomaz.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lucasrthomaz.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lucasrthomaz.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lucasrthomaz.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lucasrthomaz.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lucasrthomaz.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lucasrthomaz.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lucasrthomaz.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lucasrthomaz.wordpress.com/142/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=142&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lucasrthomaz.wordpress.com/2011/01/24/142/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad082966d9cda4dcff250f6a9203275c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Lucas Thomaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Como que os serviços se comunicam com o Lookup Service</title>
		<link>http://lucasrthomaz.wordpress.com/2011/01/24/129/</link>
		<comments>http://lucasrthomaz.wordpress.com/2011/01/24/129/#comments</comments>
		<pubDate>Mon, 24 Jan 2011 17:10:10 +0000</pubDate>
		<dc:creator>lucasrthomaz</dc:creator>
				<category><![CDATA[TCC]]></category>
		<category><![CDATA[JINI]]></category>
		<category><![CDATA[Linguagens de Programação]]></category>

		<guid isPermaLink="false">http://lucasrthomaz.wordpress.com/?p=129</guid>
		<description><![CDATA[Bom pessoal, eu estava com uma certa dificuldade em entender o procedimento para registro e utilização de um serviço e esta etapa eu acho essencial para o desenvolvimento da aplicação, por isso irei mostrar aqui como o processo funciona. Imagens extraidas do livro Jini4Programmer do Jim: Aqui um serviço está requisitando ao lookup service para [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=129&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Bom pessoal, eu estava com uma certa dificuldade em entender o procedimento para registro e utilização de um serviço e esta etapa eu acho essencial para o desenvolvimento da aplicação, por isso irei mostrar aqui como o processo funciona. Imagens extraidas do livro <em>Jini4Programmer </em>do Jim:</p>
<p>Aqui um serviço está requisitando ao <em>lookup service </em>para que fique disponível na rede e depois como que um cliente requer um serviço, se comunicando com o <em>lookup servive:</em></p>
<a href="http://lucasrthomaz.wordpress.com/2011/01/24/129/#gallery-1-slideshow">Clique para ver o slideshow.</a>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lucasrthomaz.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lucasrthomaz.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lucasrthomaz.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lucasrthomaz.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lucasrthomaz.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lucasrthomaz.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lucasrthomaz.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lucasrthomaz.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lucasrthomaz.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lucasrthomaz.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lucasrthomaz.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lucasrthomaz.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lucasrthomaz.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lucasrthomaz.wordpress.com/129/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lucasrthomaz.wordpress.com&amp;blog=5655753&amp;post=129&amp;subd=lucasrthomaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lucasrthomaz.wordpress.com/2011/01/24/129/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad082966d9cda4dcff250f6a9203275c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Lucas Thomaz</media:title>
		</media:content>
	</item>
	</channel>
</rss>
