<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: WebServicesREST &#8211; Criação de clientes Java para os serviços REST</title>
	<atom:link href="http://brunopereira.org/webservicesrest-criacao-de-clientes-java-para-os-servicos-rest/feed/" rel="self" type="application/rss+xml" />
	<link>http://brunopereira.org</link>
	<description>Open source, Java, web, python, client-side e outros hobbies :)</description>
	<lastBuildDate>Wed, 08 Feb 2012 05:30:54 -0200</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Rafael de Oliveira Lima</title>
		<link>http://brunopereira.org/webservicesrest-criacao-de-clientes-java-para-os-servicos-rest/comment-page-1/#comment-21741</link>
		<dc:creator>Rafael de Oliveira Lima</dc:creator>
		<pubDate>Mon, 05 Jul 2010 21:12:13 +0000</pubDate>
		<guid isPermaLink="false">http://brunopereira.org/?page_id=230#comment-21741</guid>
		<description>Bruno muito obrigado por compartilhar essas informações conosco, eu estava precisando realização um conexão com servidor rest com uma aplicação usado java 1.4 e seu foi essensial no termino do meu trabalho....
Muito obrigado.</description>
		<content:encoded><![CDATA[<p>Bruno muito obrigado por compartilhar essas informações conosco, eu estava precisando realização um conexão com servidor rest com uma aplicação usado java 1.4 e seu foi essensial no termino do meu trabalho&#8230;.<br />
Muito obrigado.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roan</title>
		<link>http://brunopereira.org/webservicesrest-criacao-de-clientes-java-para-os-servicos-rest/comment-page-1/#comment-8481</link>
		<dc:creator>Roan</dc:creator>
		<pubDate>Thu, 24 Sep 2009 18:49:35 +0000</pubDate>
		<guid isPermaLink="false">http://brunopereira.org/?page_id=230#comment-8481</guid>
		<description>Bruno,

Essa classe que ele extende de TestCase é o que? Um JUnit?</description>
		<content:encoded><![CDATA[<p>Bruno,</p>
<p>Essa classe que ele extende de TestCase é o que? Um JUnit?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: blpsilva</title>
		<link>http://brunopereira.org/webservicesrest-criacao-de-clientes-java-para-os-servicos-rest/comment-page-1/#comment-1217</link>
		<dc:creator>blpsilva</dc:creator>
		<pubDate>Thu, 06 Nov 2008 00:04:40 +0000</pubDate>
		<guid isPermaLink="false">http://brunopereira.org/?page_id=230#comment-1217</guid>
		<description>@Gabriel

Fico feliz de saber que tem gente de SC que me conhece, e saiba que eu tenho muita vontade de conhecer sua terra :)

A respeito das validações, você pode validar tanto quanto julgar necessário. Caso você tenha controle sobre todas as aplicações que se comunicam, você pode validar um pouco menos se quiser, mas isto é totalmente decisão sua. 

Normalmente em serviços SOAP, sua pilha de web services fará automaticamente a validação dos dados enviados, comparando-os com os schemas XML declarados no WSDL. Quase sempre este é o padrão, então se você estiver usando SOAP, você provavelmente já terá &quot;de graça&quot; a validação dos schemas XML. As validações de regras de negócio serão feitas dentro da implementação dos web services, e este tipo de validação pode ser feito de qualquer forma que você queira.

Em termos de validações, com REST você PODE fazer todas as validações feitas em serviços WS-*, e validar muito mais coisa. Isto não é especificado e não é nem contra nem a favor de nenhum princípio de REST.  A diferença é que você não é OBRIGADO a validar nada, e nem mesmo OBRIGADO a ter schemas XML. O correto é analisar os requisitos e utilizar o nível de formalidade que for mais coerente para a situação.

[]s</description>
		<content:encoded><![CDATA[<p>@Gabriel</p>
<p>Fico feliz de saber que tem gente de SC que me conhece, e saiba que eu tenho muita vontade de conhecer sua terra <img src='http://brunopereira.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>A respeito das validações, você pode validar tanto quanto julgar necessário. Caso você tenha controle sobre todas as aplicações que se comunicam, você pode validar um pouco menos se quiser, mas isto é totalmente decisão sua. </p>
<p>Normalmente em serviços SOAP, sua pilha de web services fará automaticamente a validação dos dados enviados, comparando-os com os schemas XML declarados no WSDL. Quase sempre este é o padrão, então se você estiver usando SOAP, você provavelmente já terá &#8220;de graça&#8221; a validação dos schemas XML. As validações de regras de negócio serão feitas dentro da implementação dos web services, e este tipo de validação pode ser feito de qualquer forma que você queira.</p>
<p>Em termos de validações, com REST você PODE fazer todas as validações feitas em serviços WS-*, e validar muito mais coisa. Isto não é especificado e não é nem contra nem a favor de nenhum princípio de REST.  A diferença é que você não é OBRIGADO a validar nada, e nem mesmo OBRIGADO a ter schemas XML. O correto é analisar os requisitos e utilizar o nível de formalidade que for mais coerente para a situação.</p>
<p>[]s</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gabriel</title>
		<link>http://brunopereira.org/webservicesrest-criacao-de-clientes-java-para-os-servicos-rest/comment-page-1/#comment-1216</link>
		<dc:creator>Gabriel</dc:creator>
		<pubDate>Wed, 05 Nov 2008 23:49:05 +0000</pubDate>
		<guid isPermaLink="false">http://brunopereira.org/?page_id=230#comment-1216</guid>
		<description>Fala Bruno, 

Primeiramente queria parabenizar ai pelo artigo e dizer que tem gente aqui em SC que aprecia o teu trabalho =)

Bom, eu também trabalho com integração de sistemas e ao meu ver o ponto fraco do REST seria essa falta de validação das mensagens de emtrada, como falou o Felipe Gaucho.  Quando você trabalha com integração entre 2 sistemas que foi você quem fez ambos, você realmente pode &quot;confiar&quot; que os dados vão chegar corretamente. Mas na vida real nem sempre acontece desta maneira, e nos deparamos com situações em que essa validação é realmente necessária. Minha pergunta, esta validação é contra os princípios do REST, pois pode acabar tendo toda a burocracia dos padrões WS-*, ou ela pode ser feita sem problemas?</description>
		<content:encoded><![CDATA[<p>Fala Bruno, </p>
<p>Primeiramente queria parabenizar ai pelo artigo e dizer que tem gente aqui em SC que aprecia o teu trabalho =)</p>
<p>Bom, eu também trabalho com integração de sistemas e ao meu ver o ponto fraco do REST seria essa falta de validação das mensagens de emtrada, como falou o Felipe Gaucho.  Quando você trabalha com integração entre 2 sistemas que foi você quem fez ambos, você realmente pode &#8220;confiar&#8221; que os dados vão chegar corretamente. Mas na vida real nem sempre acontece desta maneira, e nos deparamos com situações em que essa validação é realmente necessária. Minha pergunta, esta validação é contra os princípios do REST, pois pode acabar tendo toda a burocracia dos padrões WS-*, ou ela pode ser feita sem problemas?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: blpsilva</title>
		<link>http://brunopereira.org/webservicesrest-criacao-de-clientes-java-para-os-servicos-rest/comment-page-1/#comment-1159</link>
		<dc:creator>blpsilva</dc:creator>
		<pubDate>Mon, 29 Sep 2008 11:34:39 +0000</pubDate>
		<guid isPermaLink="false">http://brunopereira.org/?page_id=230#comment-1159</guid>
		<description>Outra coisa, eu pretendo escrever outros artigos especificamente de JAXB e XStream, só que resolvi publicar esse artigo mesmo ainda não tendo os outros. Daqui a algumas semanas pretendo adicionar esses outros, aí fica mais completo :)</description>
		<content:encoded><![CDATA[<p>Outra coisa, eu pretendo escrever outros artigos especificamente de JAXB e XStream, só que resolvi publicar esse artigo mesmo ainda não tendo os outros. Daqui a algumas semanas pretendo adicionar esses outros, aí fica mais completo <img src='http://brunopereira.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: blpsilva</title>
		<link>http://brunopereira.org/webservicesrest-criacao-de-clientes-java-para-os-servicos-rest/comment-page-1/#comment-1158</link>
		<dc:creator>blpsilva</dc:creator>
		<pubDate>Mon, 29 Sep 2008 11:33:39 +0000</pubDate>
		<guid isPermaLink="false">http://brunopereira.org/?page_id=230#comment-1158</guid>
		<description>Oi Felipe, ótimas observações mesmo. Sobre o uso do JAXB x XStream, eu normalmente uso o JAXB quando posso usar JDK 1.5 e XStream para JDK 1.4/1.3. O JAXB 2.0 exige JDK 1.5, o que infelizmente só está disponível em parte das aplicações lá no trabalho.

Sobre as validações dos XMLs, não fazemos por XML Schema como é feito em SOAP. Como temos o server e fornecemos o client para as aplicações, o client sempre &quot;confia&quot; que os dados do servidor são válidos. 

Já o servidor valida todos os dados enviados pelos clientes, e retorna as mensagens de erro detalhadas. Atualmente fazemos essas validações com o Hibernate Validator, mas não tem nenhum motivo especial para isso ter sido feito com ele não. Foi questão só de familiaridade mesmo.</description>
		<content:encoded><![CDATA[<p>Oi Felipe, ótimas observações mesmo. Sobre o uso do JAXB x XStream, eu normalmente uso o JAXB quando posso usar JDK 1.5 e XStream para JDK 1.4/1.3. O JAXB 2.0 exige JDK 1.5, o que infelizmente só está disponível em parte das aplicações lá no trabalho.</p>
<p>Sobre as validações dos XMLs, não fazemos por XML Schema como é feito em SOAP. Como temos o server e fornecemos o client para as aplicações, o client sempre &#8220;confia&#8221; que os dados do servidor são válidos. </p>
<p>Já o servidor valida todos os dados enviados pelos clientes, e retorna as mensagens de erro detalhadas. Atualmente fazemos essas validações com o Hibernate Validator, mas não tem nenhum motivo especial para isso ter sido feito com ele não. Foi questão só de familiaridade mesmo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Felipe Gaúcho</title>
		<link>http://brunopereira.org/webservicesrest-criacao-de-clientes-java-para-os-servicos-rest/comment-page-1/#comment-1157</link>
		<dc:creator>Felipe Gaúcho</dc:creator>
		<pubDate>Mon, 29 Sep 2008 11:10:54 +0000</pubDate>
		<guid isPermaLink="false">http://brunopereira.org/?page_id=230#comment-1157</guid>
		<description>esta linha, por exemplo: oferta.setValor(new BigDecimal(111.22).setScale(2, RoundingMode.HALF_UP));


sugere que o valor esperado pelo servidor tem duas casas decimais e é do tipo &quot;xsd:long&quot;, mas no código cliente apresentado fica impossível detectar isso.. além disso, se o contrato (WADL) no servidor for alterado, alguém terá de atualizar esta linha de código e nem sempre isso é de fácil detecção no caso de meta-dados com muitos atributos.</description>
		<content:encoded><![CDATA[<p>esta linha, por exemplo: oferta.setValor(new BigDecimal(111.22).setScale(2, RoundingMode.HALF_UP));</p>
<p>sugere que o valor esperado pelo servidor tem duas casas decimais e é do tipo &#8220;xsd:long&#8221;, mas no código cliente apresentado fica impossível detectar isso.. além disso, se o contrato (WADL) no servidor for alterado, alguém terá de atualizar esta linha de código e nem sempre isso é de fácil detecção no caso de meta-dados com muitos atributos.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Felipe Gaúcho</title>
		<link>http://brunopereira.org/webservicesrest-criacao-de-clientes-java-para-os-servicos-rest/comment-page-1/#comment-1156</link>
		<dc:creator>Felipe Gaúcho</dc:creator>
		<pubDate>Mon, 29 Sep 2008 11:08:30 +0000</pubDate>
		<guid isPermaLink="false">http://brunopereira.org/?page_id=230#comment-1156</guid>
		<description>Conteúdo muito bom, mas me chamou a atenção o uso do XStream. O JAXB já está instalado na máquina do cliente, portanto usar XStream me parece adicionar uma dependência sem ganho aparente em desempenho ou qualidade da solução.

Se eu puder sugerir uma melhoria, sugiro o JAXB no lugar o XStream, reduzindo o número de dependências do projeto.

Outro detalhe que senti falta foi o XSD Schema do meta-dado e a validação do XML de entrada e saída das operações... Mesmo considerando que temos o controle nas duas pontas (cliente e servidor), a validação é sempre recomendada, e melhor ainda se a validação incluir handlers para a validação de regras negócios - o que existe por default no JAXB.</description>
		<content:encoded><![CDATA[<p>Conteúdo muito bom, mas me chamou a atenção o uso do XStream. O JAXB já está instalado na máquina do cliente, portanto usar XStream me parece adicionar uma dependência sem ganho aparente em desempenho ou qualidade da solução.</p>
<p>Se eu puder sugerir uma melhoria, sugiro o JAXB no lugar o XStream, reduzindo o número de dependências do projeto.</p>
<p>Outro detalhe que senti falta foi o XSD Schema do meta-dado e a validação do XML de entrada e saída das operações&#8230; Mesmo considerando que temos o controle nas duas pontas (cliente e servidor), a validação é sempre recomendada, e melhor ainda se a validação incluir handlers para a validação de regras negócios &#8211; o que existe por default no JAXB.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

