<?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/"
	>

<channel>
	<title>Aquele blog de SOA &#187; Web Services</title>
	<atom:link href="http://www.aqueleblogdesoa.com.br/categoria/soa/web-services/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aqueleblogdesoa.com.br</link>
	<description>SOA? Veja bem...</description>
	<lastBuildDate>Thu, 08 Jul 2010 14:16:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Como ter SOA</title>
		<link>http://www.aqueleblogdesoa.com.br/2009/05/como-ter-soa/</link>
		<comments>http://www.aqueleblogdesoa.com.br/2009/05/como-ter-soa/#comments</comments>
		<pubDate>Wed, 20 May 2009 19:09:55 +0000</pubDate>
		<dc:creator>Marcilio Oliveira</dc:creator>
				<category><![CDATA[Charges]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://www.aqueleblogdesoa.com.br/?p=908</guid>
		<description><![CDATA[Por favor, não desista! E nem se deixe intimidar 

	
	soa e web services

 
 
Mais uma do Geek And Poke


Related posts:Como aumentar as chances de sucesso na NuvemGartner Enterprise Technologies Summit 2010


Related posts:<ol><li><a href='http://www.aqueleblogdesoa.com.br/2010/07/como-aumentar-as-chances-de-sucesso-na-nuvem/' rel='bookmark' title='Permanent Link: Como aumentar as chances de sucesso na Nuvem'>Como aumentar as chances de sucesso na Nuvem</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2010/03/gartner-enterprise-technologies-summit-2010/' rel='bookmark' title='Permanent Link: Gartner Enterprise Technologies Summit 2010'>Gartner Enterprise Technologies Summit 2010</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Por favor, não desista! E nem se deixe intimidar <img src='http://www.aqueleblogdesoa.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
<div class="img alignnone size-full wp-image-909" style="width:400px;">
	<a href="http://www.aqueleblogdesoa.com.br/wp-content/uploads/2009/05/soa5.jpg"><img src="http://www.aqueleblogdesoa.com.br/wp-content/uploads/2009/05/soa5.jpg" alt="" width="400" height="567" /></a>
	<div>soa e web services</div>
</div>
<p> </p>
<p> </p>
<p>Mais uma do <a href="http://geekandpoke.typepad.com/geekandpoke/2008/07/its-a-soa.html">Geek And Poke</a></p>


<p>Related posts:<ol><li><a href='http://www.aqueleblogdesoa.com.br/2010/07/como-aumentar-as-chances-de-sucesso-na-nuvem/' rel='bookmark' title='Permanent Link: Como aumentar as chances de sucesso na Nuvem'>Como aumentar as chances de sucesso na Nuvem</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2010/03/gartner-enterprise-technologies-summit-2010/' rel='bookmark' title='Permanent Link: Gartner Enterprise Technologies Summit 2010'>Gartner Enterprise Technologies Summit 2010</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.aqueleblogdesoa.com.br/2009/05/como-ter-soa/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ataques XML em WebServices</title>
		<link>http://www.aqueleblogdesoa.com.br/2009/03/ataques-xml-em-webservices/</link>
		<comments>http://www.aqueleblogdesoa.com.br/2009/03/ataques-xml-em-webservices/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 12:42:34 +0000</pubDate>
		<dc:creator>Marcelo Vessoni</dc:creator>
				<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.aqueleblogdesoa.com.br/?p=829</guid>
		<description><![CDATA[Bom dia pessoal. Dias atrás, eu estava conversando com um colega sobre SOA, Webservices, etc., e aí o papo entrou em uns cases de segurança e ataques via XML. Pois é, nesse mundo de integração de serviços, parece que tem gente aproveitando para fazer ataques a WebServices mundo afora. XPath &#38; XML injection, XML &#8220;recursivo&#8221;, [...]


Related posts:<ol><li><a href='http://www.aqueleblogdesoa.com.br/2010/04/soa-ajuda-cloud-sim/' rel='bookmark' title='Permanent Link: SOA ajuda Cloud? Sim!'>SOA ajuda Cloud? Sim!</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Bom dia pessoal. Dias atrás, eu estava conversando com um colega sobre SOA, Webservices, etc., e aí o papo entrou em uns cases de segurança e ataques via XML. Pois é, nesse mundo de integração de serviços, parece que tem gente aproveitando para fazer ataques a WebServices mundo afora. XPath &amp; XML injection, XML &#8220;recursivo&#8221;, XML bomba, etc. A lista vai longe.</p>
<p>Houve casos de portais importantes ficarem inoperantes devido a um bug em um WS client ter enviado a um WS um XML de alguns gigabytes; o WS tentou carregar o XML todo na memória, que acabou estourando. Na sequência, cada máquina do cluster tentou fazer a mesma coisa e todas elas cairam.</p>
<p>Como prevenção, ou cria-se mecanismos para prevenir as diversas possibilidades, ou usa-se um <em>appliance</em>, hardware especial que funciona como filtro. Interessante.</p>
<p>Quem souber de casos interessantes sobre isso, e como foram resolvidos, deixe sua mensagem.</p>
<p>Abraço</p>
<p>Marcelo</p>


<p>Related posts:<ol><li><a href='http://www.aqueleblogdesoa.com.br/2010/04/soa-ajuda-cloud-sim/' rel='bookmark' title='Permanent Link: SOA ajuda Cloud? Sim!'>SOA ajuda Cloud? Sim!</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.aqueleblogdesoa.com.br/2009/03/ataques-xml-em-webservices/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WS-* Parte 1</title>
		<link>http://www.aqueleblogdesoa.com.br/2008/10/ws-parte-1/</link>
		<comments>http://www.aqueleblogdesoa.com.br/2008/10/ws-parte-1/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 14:43:18 +0000</pubDate>
		<dc:creator>charlesviegas</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Papo técnico]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[WS-*]]></category>

		<guid isPermaLink="false">http://www.aqueleblogdesoa.com.br/?p=433</guid>
		<description><![CDATA[Olá pessoal, já faz um tempinho que não ando postando nada. Mas agora estou de volta e com força total. Como já é de costume iremos falar um pouco mais sobre os assuntos técnicos relacionados a SOA. Este é o primeiro post de uma série de 4 que falaremos sobre alguns dos padrões emergentes para [...]


Related posts:<ol><li><a href='http://www.aqueleblogdesoa.com.br/2010/04/davi-x-golias-em-soa/' rel='bookmark' title='Permanent Link: Davi x Golias em SOA'>Davi x Golias em SOA</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2009/08/principios-basicos-de-soa-servicos-sao-capazes-de-se-compor/' rel='bookmark' title='Permanent Link: Princípios Básicos de SOA &#8211; Serviços são Capazes de se Compor'>Princípios Básicos de SOA &#8211; Serviços são Capazes de se Compor</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2010/04/referencias-para-soa-1/' rel='bookmark' title='Permanent Link: Referências para SOA [1]'>Referências para SOA [1]</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="justify;">Olá pessoal, já faz um tempinho que não ando postando nada. Mas agora estou de volta e com força total. Como já é de costume iremos falar um pouco mais sobre os assuntos técnicos relacionados a SOA. Este é o primeiro post de uma série de 4 que falaremos sobre alguns dos padrões emergentes para Web Services, os famosos WS-*. (O asterisco aqui quer dizer que existem vários padrões para Web Services, por exemplo: <strong>WS-Addressing</strong>, <strong>WS-BPEL</strong>, <strong>WS-Security</strong> e outros).</p>
<p style="justify;">Nos meus últimos posts, discutimos sobre o <a title="Modelo de processamento SOAP" href="http://www.aqueleblogdesoa.com.br/2008/07/modelo-de-processamento-soap/" target="_self">Modelo de processamento SOAP</a> e sobre a <a title="Anatomia WSDL" href="http://www.aqueleblogdesoa.com.br/2008/08/anatomia-do-wsdl/" target="_self">Anatomia do WSDL</a> . Para quem não tem muita familiaridade com estes temas, recomendo fortemente a leitura destes dois posts antes de começar a ler esta série.</p>
<p style="justify;">O primeiro padrão que falaremos é o WS-Addressing. Este padrão define construções em XML para dois tipos de informação: endpoint reference e message information. Estas informações são tipicamente de responsabilidade dos protocolos de transporte (ex: HTTP, SMTP). O padrão WS-Addressing normatiza estas informações dentro de um formato uniforme de modo que possa ser processado independentemente da camada de transporte. Mas afinal o que é um endpoint reference? Endpoint reference é uma entidade, recurso ou processador para onde as mensagens dos Web Services são encaminhadas, ou seja, um endpoint reference está para Web Services assim como URL e email estão para os protocolos HTTP e SMTP, respectivamente.</p>
<p style="center;"><a href="http://www.aqueleblogdesoa.com.br/wp-content/uploads/2008/10/fig1.png"><img class="size-full wp-image-463 aligncenter" style="0pt none;" src="http://www.aqueleblogdesoa.com.br/wp-content/uploads/2008/10/fig1.png" border="0" alt="WS-Addressing" width="500" height="192" /></a></p>
<p style="justify;">Um endpoint reference pode ser usado de duas maneiras: a primeira, para endereçar e referenciar o provedor do serviço e a segunda, para endereçar as mensagens transmitidas entre o consumidor e o provedor do Web Service (message information). Para isso, o padrão WS-Addressing define um bloco XML que deve estar contido dentro do header do envelope SOAP. O header geralmente contém informações auxiliares usadas para controlar segurança, transações e outros aspectos que não estão diretamente ligado a funcionalidade do Web Service.</p>
<p style="center;"><a href="http://www.aqueleblogdesoa.com.br/wp-content/uploads/2008/10/fig2.png"><img class="size-full wp-image-464 aligncenter" style="0pt none;" src="http://www.aqueleblogdesoa.com.br/wp-content/uploads/2008/10/fig2.png" border="0" alt="Bloco XML do WS-Addressing " width="500" height="329" /></a></p>
<p style="justify;">A figura acima apresenta alguma das tags definidas pelo padrão WS-Addressing.<br />
<strong>&lt;MessageID&gt;</strong> &#8211; Identificador da mensagem. Nenhuma mensagem de uma mesma aplicação pode ter o mesmo identificador. Se uma mensagem é retransmitida ela mantém o mesmo MessageID.<br />
<strong>&lt;ReplyTo&gt;</strong> &#8211; Especifica o endpoint reference para onde deverá ser enviada a resposta para esta mensagem.<br />
<strong>&lt;To&gt;</strong> &#8211; Especifica o endpoint reference destino desta mensagem.<br />
<strong>&lt;Action&gt;</strong> &#8211; Identifica a semântica da mensagem. Em outras palavras, amarra a mensagem com o portType do WSDL identificando se a mensagem é um &lt;input&gt;, &lt;output&gt; ou &lt;fault&gt;.</p>
<p style="justify;">Existem algumas API&#8217;s para Web Service que implementam este padrão (Apache CFX, JBOSS Native, Apache Axis 2 entre outros). Você deve está ser perguntando: por que eu preciso deste padrão? Simples, ele é base para outros padrões que veremos a seguir. Vou ficando por aqui, até a próxima pessoal.</p>


<p>Related posts:<ol><li><a href='http://www.aqueleblogdesoa.com.br/2010/04/davi-x-golias-em-soa/' rel='bookmark' title='Permanent Link: Davi x Golias em SOA'>Davi x Golias em SOA</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2009/08/principios-basicos-de-soa-servicos-sao-capazes-de-se-compor/' rel='bookmark' title='Permanent Link: Princípios Básicos de SOA &#8211; Serviços são Capazes de se Compor'>Princípios Básicos de SOA &#8211; Serviços são Capazes de se Compor</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2010/04/referencias-para-soa-1/' rel='bookmark' title='Permanent Link: Referências para SOA [1]'>Referências para SOA [1]</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.aqueleblogdesoa.com.br/2008/10/ws-parte-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Anatomia WSDL</title>
		<link>http://www.aqueleblogdesoa.com.br/2008/08/anatomia-do-wsdl/</link>
		<comments>http://www.aqueleblogdesoa.com.br/2008/08/anatomia-do-wsdl/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 23:11:36 +0000</pubDate>
		<dc:creator>charlesviegas</dc:creator>
				<category><![CDATA[SOA]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://aqueleblogdesoa.wordpress.com/?p=338</guid>
		<description><![CDATA[Olá Pessoal, dentro da categoria de discussões mais técnicas deste blog vamos falar hoje de Web Services Description Language &#8211; WSDL.  Juntamente com SOAP e UDDI, o WSDL forma o tripé dos padrões voltados para SOA. Sendo assim, é de extrema importância que possamos entender em detalhes suas partes e, principalmente, as razões de [...]


Related posts:<ol><li><a href='http://www.aqueleblogdesoa.com.br/2009/12/boas-festas/' rel='bookmark' title='Permanent Link: Boas Festas'>Boas Festas</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2009/08/principios-basicos-de-soa-servicos-sao-capazes-de-se-compor/' rel='bookmark' title='Permanent Link: Princípios Básicos de SOA &#8211; Serviços são Capazes de se Compor'>Princípios Básicos de SOA &#8211; Serviços são Capazes de se Compor</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;text-indent:35.4pt;">Olá Pessoal, dentro da categoria de discussões mais técnicas deste blog vamos falar hoje de Web Services Description Language &#8211; WSDL.  Juntamente com SOAP e UDDI, o WSDL forma o tripé dos padrões voltados para SOA. Sendo assim, é de extrema importância que possamos entender em detalhes suas partes e, principalmente, as razões de design levadas em consideração na sua especificação. Vamos lá, então!</p>
<p style="text-align:justify;text-indent:35.4pt;">O WSDL descreve a interface do serviço de forma estruturada e padronizada usando XML. É importante entender que diferentemente das linguagens de definição de interfaces &#8211; IDL anteriores (Corba, COM), o WSDL envolve duas partes diferentes: abstrata e concreta. A parte abstrata descreve a interface do serviço propriamente dita, ou seja, descreve como o serviço pode ser invocado por seus clientes. A interface de um serviço pode ser descrita através das operações e dos parâmetros de ida e volta. Muito similar ao um método de classe Java, por exemplo: int registrarPedidoCompra(Pedido pPedido). Inclusive existem anotações no Java e .Net que permitem fazer um mapeamento automático para elementos do WSDL. Já a parte concreta define o protocolo e o endereço onde o serviço estará disponibilizado. Observe que esta separação é proposital, pois um mesmo serviço pode ser disponibilizado através de endereços e protocolos diferentes.</p>
<div id="attachment_339" class="wp-caption alignleft" style="width: 204px"><a href="http://www.aqueleblogdesoa.com.br/wp-content/uploads/2008/08/wsdl3.jpg"><img class="size-medium wp-image-339" src="http://www.aqueleblogdesoa.com.br/wp-content/uploads/2008/08/wsdl3.jpg?w=194" alt="Estrutura do WSDL" width="194" height="300" /></a><p class="wp-caption-text">Estrutura do WSDL</p></div>
<p style="text-align:justify;text-indent:35.4pt;">Vamos agora destrinchar cada parte do WSDL. Para exemplificar vamos pensar num serviço de registro de pedido de compra que recebe com parâmetro uma entidade “Pedido” e retorna um “id” (inteiro) do pedido registrado:<strong><br />
</strong></p>
<p class="MsoNormal" style="text-align:justify;text-indent:35.4pt;"><strong>Types</strong>: permite especificar os tipos que serão trocados nas mensagens de ida e volta do serviço. Permite usar XML Schema para definir as estruturas de dados. No nosso exemplo, a entidade “Pedido” e o tipo inteiro seriam definidos aqui.</p>
<p class="MsoNormal" style="text-align:justify;text-indent:35.4pt;"><strong>Message</strong>: permite descrever as mensagens que são trocadas entre o serviço e o consumidor do serviço. Uma mensagem pode possuir várias partes, sendo que cada parte possui um nome e um tipo de dados. No nosso exemplo, são definidas duas mensagens, a primeira, é usada para fazer a requisição do serviço e possui uma parte apenas (nome: pPedido, tipo: Pedido). A segunda, define a resposta do serviço e também possui somente uma parte que define do tipo de retorno (nome: qualquer um, tipo: int).</p>
<p class="MsoNormal" style="text-align:justify;text-indent:35.4pt;"><strong>PortType</strong>: define um conjunto de operações suportadas pelo serviço e que possuem uma relação entre si. Baseado nesta definição você deve está imaginando qual é a estrutura que agrupa as operações no mundo orientado a objeto? A resposta é Classe! É ela mesmo. Assim como classe possui operações, portType também possui. Cada operação dentro do portType possui elementos do tipo Message. No nosso exemplo, o portType poderia ter um nome sugestivo como “PedidoPortType” e dentro dele a operação “registrarPedidoCompra”.</p>
<p style="text-align:justify;text-indent:35.4pt;">Uma coisa que eu sempre me perguntei, por que os caras que especificaram o WSDL deram este nome. Não teria um nomezinho melhor pra dar não? O nome &#8220;Classe&#8221; também acho que não seria adequado, pois o WSDL tem propósitos de absorver linguagens que não são orientadas a objetos. Enfim, a conclusão que tirei é que eles mandaram mal e resolveram corrigir este erro na versão 2.0 do WSDL. A propósito, a versão 2.0 do WSDL ainda não pegou, por isso não estou falando dela neste blog. Mas para matar a curiosidade o termo PorType foi alterado para Interface.</p>
<p class="MsoNormal" style="text-align:justify;text-indent:35.4pt;"><strong>Binding</strong>: provê detalhes de como as mensagens serão transmitidas. Por exemplo, o protocolo que irá carregar a mensagem do serviço até seu consumidor e vice e versa. Apesar de parecer intuitivo usar SOAP, o WSDL não fixa o uso deste protocolo. Inclusive podem ser usados outros protocolos como o HTTP e o SMTP puros. Pra falar a verdade, nunca utilizei um serviço que não fosse com SOAP. Inclusive, se alguém tiver tido esta experiência e quiser compartilhar com a gente agradeço.</p>
<p class="MsoNormal" style="text-align:justify;text-indent:35.4pt;"><strong>Service e ports</strong>: por fim, os últimos elementos especificam a localização (endereço URL ou email) onde o serviço está disponível e o encoding utilizado, respectivamente. Encoding é um tema que merece um artigo só pra ele. Mas podemos resumir que o encoding define como que uma estrutura de dados é representada em XML, ou seja, dado um objeto na memória (ex: Pedido) como que ele é mapeado para XML e dado um XML como que ele é mapeado para um objeto na memória.</p>
<p style="text-align:justify;text-indent:35.4pt;">Bom pessoal, por enquanto é só. &#8220;Me lembrei daqueles desenhos antigos do pernalonga que falava por enquanto é só pessoal&#8221;. Nas próximas publicações vou detalhar cada parte apresentada aqui. Por favor, deixe seu comentário, sugestões, opiniões e críticas.</p>


<p>Related posts:<ol><li><a href='http://www.aqueleblogdesoa.com.br/2009/12/boas-festas/' rel='bookmark' title='Permanent Link: Boas Festas'>Boas Festas</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2009/08/principios-basicos-de-soa-servicos-sao-capazes-de-se-compor/' rel='bookmark' title='Permanent Link: Princípios Básicos de SOA &#8211; Serviços são Capazes de se Compor'>Princípios Básicos de SOA &#8211; Serviços são Capazes de se Compor</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.aqueleblogdesoa.com.br/2008/08/anatomia-do-wsdl/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Teste em Web Services</title>
		<link>http://www.aqueleblogdesoa.com.br/2008/08/teste-em-web-services/</link>
		<comments>http://www.aqueleblogdesoa.com.br/2008/08/teste-em-web-services/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 03:39:58 +0000</pubDate>
		<dc:creator>Fábio Rosato</dc:creator>
				<category><![CDATA[Papo técnico]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://aqueleblogdesoa.wordpress.com/?p=275</guid>
		<description><![CDATA[Semana passada, no projeto de implantação SOA do qual estou participando, fiz a publicação de alguns Web Services em um ESB e invariavelmente eu queria saber se eles realmente estavam funcionando como deveriam.
Como eu já tive esta mesma necessidade em outros projetos não tive dúvida e abri a caixa de ferramentas para pegar o soapUI.
O [...]


Related posts:<ol><li><a href='http://www.aqueleblogdesoa.com.br/2010/04/davi-x-golias-em-soa/' rel='bookmark' title='Permanent Link: Davi x Golias em SOA'>Davi x Golias em SOA</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2009/08/principios-basicos-de-soa-servicos-sao-capazes-de-se-compor/' rel='bookmark' title='Permanent Link: Princípios Básicos de SOA &#8211; Serviços são Capazes de se Compor'>Princípios Básicos de SOA &#8211; Serviços são Capazes de se Compor</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2009/11/grandes-volumes-dados-sem-um-banco-relacional/' rel='bookmark' title='Permanent Link: Grandes Volumes de Dados sem um Banco Relacional'>Grandes Volumes de Dados sem um Banco Relacional</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Semana passada, no projeto de implantação SOA do qual estou participando, fiz a publicação de alguns Web Services em um ESB e invariavelmente eu queria saber se eles realmente estavam funcionando como deveriam.</p>
<p>Como eu já tive esta mesma necessidade em outros projetos não tive dúvida e abri a caixa de ferramentas para pegar o soapUI.</p>
<p>O soapUI é uma ferramenta desktop mantida pela <a href="http://www.eviware.com">eviware</a> e específica para teste em Web Services.</p>
<p>As características interessantes do soapUI são:</p>
<ul>
<li>Open source. Também há uma versão Pro comercial com <em>features </em>adicionais, mas até hoje a versão open source me atendeu perfeitamente.</li>
<li>Inspeção</li>
<li>Invocação</li>
<li>Simulação e Mocking</li>
<li>Testes de carga, funcionais e de conformidade com alguns padrões.</li>
<li>Independente de plataforma</li>
<li>Fácil de usar e boa documentação</li>
</ul>
<p>Além disso, permite execuções via linha de comando, desta forma por exemplo, testes funcionais ou de carga de Web Services podem ser incorporados em um processo de integração contínua (servidor de <em>build</em>) durante o desenvolvimentos dos seus serviços.</p>
<p>Também existem plug-ins para IDE’s como: Eclipse, IntelliJ IDEA, NetBeans.</p>
<p>Site oficial: <a href="http://www.soapui.org">www.soapui.org</a></p>
<p>- Fábio Rosato</p>


<p>Related posts:<ol><li><a href='http://www.aqueleblogdesoa.com.br/2010/04/davi-x-golias-em-soa/' rel='bookmark' title='Permanent Link: Davi x Golias em SOA'>Davi x Golias em SOA</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2009/08/principios-basicos-de-soa-servicos-sao-capazes-de-se-compor/' rel='bookmark' title='Permanent Link: Princípios Básicos de SOA &#8211; Serviços são Capazes de se Compor'>Princípios Básicos de SOA &#8211; Serviços são Capazes de se Compor</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2009/11/grandes-volumes-dados-sem-um-banco-relacional/' rel='bookmark' title='Permanent Link: Grandes Volumes de Dados sem um Banco Relacional'>Grandes Volumes de Dados sem um Banco Relacional</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.aqueleblogdesoa.com.br/2008/08/teste-em-web-services/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Modelo de Processamento SOAP</title>
		<link>http://www.aqueleblogdesoa.com.br/2008/07/modelo-de-processamento-soap/</link>
		<comments>http://www.aqueleblogdesoa.com.br/2008/07/modelo-de-processamento-soap/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 19:48:05 +0000</pubDate>
		<dc:creator>charlesviegas</dc:creator>
				<category><![CDATA[Papo técnico]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://aqueleblogdesoa.wordpress.com/?p=221</guid>
		<description><![CDATA[Pessoal, para iniciar uma série de posts técnicos sobre web services, neste post vou falar um pouco sobre o SOAP (Simple Object Access Protocol), que é uma das siglas mais famosas quando falamos de Web Services. Todo mundo usa, todo mundo fala, mas, no fundo no fundo, o que é SOAP? Para começar, hoje vou [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="text-align:justify;">Pessoal, para iniciar uma série de posts técnicos sobre web services, neste post vou falar um pouco sobre o SOAP (Simple Object Access Protocol), que é uma das siglas mais famosas quando falamos de Web Services. Todo mundo usa, todo mundo fala, mas, no fundo no fundo, o que é SOAP? Para começar, hoje vou falar sobre o Modelo de processamento SOAP!</p>
<p class="MsoNormal" style="text-align:justify;">SOAP é o protocolo de troca de mensagens usado pelos Web Services. Ele define um modelo de processamento, onde existem sempre dois papeis: <span style="color:#1f497d;">initial sender</span> e <span style="color:#1f497d;">ultimate receiver</span>. O <span style="color:#1f497d;">initial sender</span> é responsável pela criação e envio da mensagem SOAP, já e o <span style="color:#1f497d;">ultimate receiver</span> é o destinatário final da mensagem, ou seja, o responsável por ler e processar o conteúdo da mensagem. Existe também um terceiro papel opcional chamado <span style="color:#1f497d;">intermediary node</span> que, como o nome já sugere, é um nó intermediário que recebe e reenvia a mensagem para o <span style="color:#1f497d;">ultimate receiver</span> ou para outro <span style="color:#1f497d;">intermediary node</span>. Geralmente, estes nós intermediários tem a função de acrescentar algum valor no caminho de processamento da mensagem. Pode ser usado, por exemplo, para logging, autenticação, autorização e outros.</p>
<p class="MsoNormal" style="text-align:justify;"><a href="http://aqueleblogdesoa.files.wordpress.com/2008/07/imagem-jax-2.jpg"><img class="aligncenter size-medium wp-image-223" src="http://aqueleblogdesoa.files.wordpress.com/2008/07/imagem-jax-2.jpg?w=300" alt="" width="300" height="66" /></a></p>
<p class="MsoNormal" style="text-align:justify;">Para que este modelo de processamento possa ser implementado. A especificação SOAP define um formato padrão para suas mensagens chamado de <span style="color:#1f497d;">SOAP envelope</span>. Os envelopes são definidos no formato XML e iniciam com a tag (<span style="color:#1f497d;">env:Envelope</span>). Cada envelope possui um cabeçalho e um corpo. Ambos podendo conter um conjunto de sub-elementos livres de padronização, isto é, blocos de elementos XML  baseado em seus próprios XML Schema. O <span style="color:#1f497d;">SOAP header</span> estabelece um espaço para adicionar metadados ao conteúdo da mensagem sem influenciar no seu processamento. O <span style="color:#1f497d;">SOAP header</span> pode ser processado e modificado por nós intermediários permitindo assim uma flexibilidade horizontal do protocolo. Aqui surgem algumas questões. Como saber quais elementos XML deverão ser lidos e processados por cada nó intermediário? Para isso, a especificação SOAP define o atributo <span style="color:#1f497d;">role</span> que deverá conter a identificação do nó intermediário responsável por processar o trecho. A figura abaixo mostra uma mensagem SOAP contendo header e body. O header contém três blocos. O primeiro bloco (<span style="color:#1f497d;">p:oneBlock</span>) deverá ser lido pelo nó intermediário que responda pela identificação <span style="color:#1f497d;">http://example.com/Log, </span>o segundo bloco (<span style="color:#1f497d;">q:anotherBlock</span>) será processado pelo próximo nó no caminho da mensagem, e o último bloco (<span style="color:#1f497d;">r:aThirdBlock</span>) será processado pelo <span style="color:#1f497d;">ultimate receiver</span> da mensagem.</p>
<p class="MsoNormal" style="text-align:center;"><a href="http://aqueleblogdesoa.files.wordpress.com/2008/07/imagem-jax-1.jpg"><img class="size-medium wp-image-224 aligncenter" src="http://aqueleblogdesoa.files.wordpress.com/2008/07/imagem-jax-1.jpg?w=300" alt="" width="300" height="164" /></a></p>
<p class="MsoNormal" style="text-align:justify;">O modelo de processamento SOAP define as ações que são tomadas quando um <span style="color:#1f497d;">SOAP node</span> recebe uma mensagem SOAP. A especificação SOAP 1.2 esclarece como este processamento deve ser realizado:</p>
<ol>
<li>Determina os roles que o <span style="color:#1f497d;">SOAP node</span> desempenha verificando o atributo <span style="color:#1f497d;">role</span> de todos os blocos do header do envelope</li>
<li>Identifica os blocos assinalados como obrigatórios verificando se contém o atributo <span style="color:#1f497d;">mustUnderstand=”1”</span> e<span> </span>o atributo <span style="color:#1f497d;">role</span> igual a um dos roles identificados no passo anterior</li>
<li>Gera uma falha <span style="color:#1f497d;">MustUnderstand</span> se um ou mais blocos identificados no passo anterior não puder ser processado pelo SOAP node, ou seja, não for compreensível</li>
<li>Processa o header e se o nó é um <span style="color:#1f497d;">ultimate receiver</span> processa o body da mensagem também</li>
<li>Se o nó estiver atuando como <span style="color:#1f497d;">intermediary node</span>, então remove o bloco XML do header e passa a mensagem adiante</li>
</ol>
<p class="MsoNormal" style="text-align:justify;">Observe que quando um <span style="color:#1f497d;">intermediary node</span> processa a mensagem ele retirar o bloco processado do header da mensagem e passa a mensagem adiante. Portanto, os <span style="color:#1f497d;">intermediary nodes </span>tem permissão para alterar o header da mensagem, embora não possam processar o body. Isso pode parecer estranho, mas este é um dos pontos que traz grande flexibilidade ao protocolo SOAP. Um <span style="color:#1f497d;">intermediary node</span> além de retirar o bloco processado pode adicionar outros blocos no header e de certa forma interferir no caminho da mensagem. Podemos concluir que o protocolo SOAP é bastante robusto e permite pontos de flexibilidade. Para maiores informações consulte a especificação SOAP 1.2 publicada no site do W3C.<span> </span>Deixe seu comentário e até a próxima pessoal.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aqueleblogdesoa.com.br/2008/07/modelo-de-processamento-soap/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>XFire. Esse promete!</title>
		<link>http://www.aqueleblogdesoa.com.br/2008/06/xfire-esse-promete/</link>
		<comments>http://www.aqueleblogdesoa.com.br/2008/06/xfire-esse-promete/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 23:03:02 +0000</pubDate>
		<dc:creator>Marcilio Oliveira</dc:creator>
				<category><![CDATA[Papo técnico]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://aqueleblogdesoa.wordpress.com/?p=33</guid>
		<description><![CDATA[Pessoal, tenho ouvido falar muito bem do XFire (agora é CFX ! ).
XFire é uma API para WebServices, ou um &#8220;SOAP Framework&#8221;, que facilita a Abordagem de Desenvovimento Orientado a Serviços (fazendo, por exemplo, as tarefas chatas de empacotamento do SOAP, geração automática de código Java &#60;-&#62; WSDL &#60;-&#62; XML &#60;-&#62; SOAP &#8230;, monitoramento de [...]


Related posts:<ol><li><a href='http://www.aqueleblogdesoa.com.br/2010/07/como-aumentar-as-chances-de-sucesso-na-nuvem/' rel='bookmark' title='Permanent Link: Como aumentar as chances de sucesso na Nuvem'>Como aumentar as chances de sucesso na Nuvem</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2010/03/gartner-enterprise-technologies-summit-2010/' rel='bookmark' title='Permanent Link: Gartner Enterprise Technologies Summit 2010'>Gartner Enterprise Technologies Summit 2010</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2010/04/davi-x-golias-em-soa/' rel='bookmark' title='Permanent Link: Davi x Golias em SOA'>Davi x Golias em SOA</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Pessoal, tenho ouvido falar muito bem do XFire (agora é CFX ! ).</p>
<p>XFire é uma API para WebServices, ou um &#8220;SOAP Framework&#8221;, que facilita a Abordagem de Desenvovimento Orientado a Serviços (fazendo, por exemplo, as tarefas chatas de empacotamento do SOAP, geração automática de código Java &lt;-&gt; WSDL &lt;-&gt; XML &lt;-&gt; SOAP &#8230;, monitoramento de pacotes, dentre outros&#8230;). Muitos arquitetos e desenvolvedores que conheço estão o utilizando em detrimento do <a title="Axis Site" href="http://ws.apache.org/axis/" target="_blank">Axis</a>, sob argumentos de ser mais moderno e mais fácil de utilizar. Acho que vale uma conferida.</p>
<p><strong>Em tempo</strong>, este cara não se chama mais XFire, e sim <strong>CFX </strong>( veja <a href="http://xfire.codehaus.org/" target="_blank">site antigo</a> e <a href="http://cxf.apache.org/" target="_blank">site novo</a>),  e está sob a tutela da Apache (também dona do Axis <img src='http://www.aqueleblogdesoa.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> )</p>
<blockquote><p><em>&#8220;CXF includes a broad feature set, but it is primarily focused on the following areas:</em> <em><strong></strong></em></p>
<p><em><strong> &#8211; Web Services Standards Support:</strong> CXF supports a variety of web service standards including SOAP, the Basic Profile, WSDL, WS-Addressing, WS-Policy, WS-ReliableMessaging, and WS-Security.</em> <em><strong></strong></em></p>
<p><em><strong> &#8211; Frontends:</strong> CXF supports a variety of &#8220;frontend&#8221; programming models. CXF implements the JAX-WS APIs (version 2.0 will be TCK compliant). It also includes a &#8220;simple frontend&#8221; which allows creation of clients and endpoints without annotations. CXF supports both contract first development with WSDL and code first development starting from Java.</em></p>
<p><em><strong> &#8211; Ease of use:</strong> CXF is designed to be intuitive and easy to use. There are simple APIs to quickly build code-first services, Maven plug-ins to make tooling integration easy, JAX-WS API support, Spring 2.0 XML support to make configuration a snap, and much more.</em> <em><strong></strong></em></p>
<p><em><strong> &#8211; Binary and Legacy Protocol Support:</strong> CXF has been designed to provide a pluggable architecture that supports not only XML but also non-XML type bindings, such as JSON and CORBA, in combination with any type of transport.&#8221;</em></p></blockquote>
<ul>
<blockquote></blockquote>
</ul>
<p>Veja o site oficial: <a title="CFX site" href="http://cxf.apache.org/" target="_blank">http://cxf.apache.org/</a></p>
<p>Abraços,<br />
Marcilio</p>


<p>Related posts:<ol><li><a href='http://www.aqueleblogdesoa.com.br/2010/07/como-aumentar-as-chances-de-sucesso-na-nuvem/' rel='bookmark' title='Permanent Link: Como aumentar as chances de sucesso na Nuvem'>Como aumentar as chances de sucesso na Nuvem</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2010/03/gartner-enterprise-technologies-summit-2010/' rel='bookmark' title='Permanent Link: Gartner Enterprise Technologies Summit 2010'>Gartner Enterprise Technologies Summit 2010</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2010/04/davi-x-golias-em-soa/' rel='bookmark' title='Permanent Link: Davi x Golias em SOA'>Davi x Golias em SOA</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.aqueleblogdesoa.com.br/2008/06/xfire-esse-promete/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Interoperabilidade com Web Services</title>
		<link>http://www.aqueleblogdesoa.com.br/2008/06/interoperabilidade-com-web-services/</link>
		<comments>http://www.aqueleblogdesoa.com.br/2008/06/interoperabilidade-com-web-services/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 22:43:06 +0000</pubDate>
		<dc:creator>aqueleblogdesoa</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Interoperabilidade]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://aqueleblogdesoa.wordpress.com/?p=26</guid>
		<description><![CDATA[
(por Kleber Bacili)
O assunto SOA está de fato em voga. Muito popular também é a implementação desse conceito usando Web Services. Muitas empresas estão desenvolvendo serviços web principalmente para integrar aplicações, normalmente desenvolvidas em plataformas diferentes. Embora essa seja uma das principais características dos Web Services, as empresas precisam ter cuidado em alguns aspectos relacionados [...]


Related posts:<ol><li><a href='http://www.aqueleblogdesoa.com.br/2010/04/referencias-para-soa-1/' rel='bookmark' title='Permanent Link: Referências para SOA [1]'>Referências para SOA [1]</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2010/04/davi-x-golias-em-soa/' rel='bookmark' title='Permanent Link: Davi x Golias em SOA'>Davi x Golias em SOA</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2010/03/gartner-enterprise-technologies-summit-2010/' rel='bookmark' title='Permanent Link: Gartner Enterprise Technologies Summit 2010'>Gartner Enterprise Technologies Summit 2010</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://www.digitalassets.com.br/newsletter-digitalassets/dezembro/imagem-inter-1.jpg" alt="" /></p>
<p><em>(por Kleber Bacili)</em></p>
<p>O assunto SOA está de fato em voga. Muito popular também é a implementação desse conceito usando Web Services. Muitas empresas estão desenvolvendo serviços web principalmente para integrar aplicações, normalmente desenvolvidas em plataformas diferentes. Embora essa seja uma das principais características dos Web Services, as empresas precisam ter cuidado em alguns aspectos relacionados a essa estratégia: a) mundo de conexões ponto-a-ponto; b) problemas com interoperabilidade. <img src="/DOCUME%7E1/marcilio.DA/CONFIG%7E1/Temp/moz-screenshot-1.jpg" alt="" /> <img src="/DOCUME%7E1/marcilio.DA/CONFIG%7E1/Temp/moz-screenshot.jpg" alt="" /></p>
<p>Sobre o item &#8220;a&#8221;, cabe um texto específico no futuro mas, de forma geral, com o desenvolvimento de Web Services integrando as aplicações, embora essa seja uma boa estratégia no início, corre-se o risco, no médio prazo, de ter um número alto de serviços conectando aplicações (ponto-a-ponto), gerando muita dificuldade para se entender, manter e evoluir. As empresas estão atacando esse problema com a utilização de um middleware de mensageria, tipicamente um ESB (Enterprise Service Bus).</p>
<p>Sobre o item &#8220;b&#8221;, que é o foco desse Tech in Depth, gostaria de atacar alguns aspectos importantes. É bastante comum vermos a questão da interoperabilidade, ou seja, escrever um serviço web usando, por exemplo, Java e um cliente desse serviço (como em VB.NET), como uma forma de se resolver os problemas de integração entre aplicações desenvolvidas em plataformas diferentes. Bom, a estratégia é boa, mas alguns pontos precisam ser observados. Existem diversos protocolos relacionados a Web Services que nem sempre são totalmente compatíveis. Isso certamente causa dificuldades para integração via Web Services e diversos problemas de interoperabilidade. Foi criado inclusive uma organização chamada WS-I (Web Services Interoperability) composta por cerca de 130 empresas com o objetivo de integrar esses protocolos e oferecer guias, boas práticas, exemplos e ferramentas para garantia de interoperabilidade no uso de Web Services.</p>
<p>Para exemplificar essa questão, podemos citar as estruturas ADO e DataSet da plataforma Microsoft. Embora sejam muito utilizadas, elas não devem estar presentes nas interfaces dos serviços web, pois a engine SOAP da Microsoft não consegue fazê-la seriada de uma forma padronizada que possa ser &#8220;compreendida&#8221; por um cliente do serviço escrito em plataforma JEE, por exemplo. Certamente um problema! Ainda existem diversos outros aspectos problemáticos da interoperabilidade, como controle de transações distribuídas, utilização de attachments nas mensagens, entre outros.</p>
<p>A recomendação é que sejam usados os recursos da WS-I para se tentar garantir a interoperabilidade dos Web Services. Alguns deliverables importantes da WS-I são o Basic Profile e o Security Basic Profile. Procure usar as construções de XML Schema mais básicas e a forma de comunicação Document/Literal (ao invés do RPC/encoded). Seguindo essas recomendações, certamente algumas dores de cabeça poderão ser evitadas. Até a próxima!</p>


<p>Related posts:<ol><li><a href='http://www.aqueleblogdesoa.com.br/2010/04/referencias-para-soa-1/' rel='bookmark' title='Permanent Link: Referências para SOA [1]'>Referências para SOA [1]</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2010/04/davi-x-golias-em-soa/' rel='bookmark' title='Permanent Link: Davi x Golias em SOA'>Davi x Golias em SOA</a></li><li><a href='http://www.aqueleblogdesoa.com.br/2010/03/gartner-enterprise-technologies-summit-2010/' rel='bookmark' title='Permanent Link: Gartner Enterprise Technologies Summit 2010'>Gartner Enterprise Technologies Summit 2010</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.aqueleblogdesoa.com.br/2008/06/interoperabilidade-com-web-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
