<?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>mcorp. &#187; data services</title>
	<atom:link href="http://www.mcorp.com.br/tag/data-services/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mcorp.com.br</link>
	<description>tecnologia e informações inúteis de utilidade pública</description>
	<lastBuildDate>Fri, 03 Sep 2010 20:05:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0</title>
		<link>http://www.mcorp.com.br/2010/06/compilando-o-wso2-carbon-3-0-0-e-corrigindo-o-wso2-data-services-server-2-5-0/</link>
		<comments>http://www.mcorp.com.br/2010/06/compilando-o-wso2-carbon-3-0-0-e-corrigindo-o-wso2-data-services-server-2-5-0/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 13:17:12 +0000</pubDate>
		<dc:creator>Leonardo Saraiva</dc:creator>
				<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[carbon]]></category>
		<category><![CDATA[data services]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[maven2]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[software livre]]></category>
		<category><![CDATA[wso2]]></category>
		<category><![CDATA[wso2 carbon]]></category>

		<guid isPermaLink="false">http://www.mcorp.com.br/?p=447</guid>
		<description><![CDATA[Versões novas de produtos sempre são uma alegria, seja pelos recursos novos ou somente pela novidade que sempre alegra-nos, principalmente nós desenvolvedores. Mas juntamente com as novas versões (principalmente nos primeiros releases) vem também problemas, bugs ou incompatibilidade de versões- os problemas mais comuns. E para não pararmos no tempo, vendo que as novidades do [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="WSO2 Data Services Server" src="/wp-content/uploads/2010/06/wso2-data-services-server.gif" alt="" width="179" height="23" />Versões novas de produtos sempre são uma  alegria, seja pelos recursos novos ou somente pela novidade que sempre  alegra-nos, principalmente nós desenvolvedores. Mas juntamente com as  novas versões (principalmente nos primeiros releases) vem também  problemas, bugs ou incompatibilidade de versões- os problemas mais  comuns.</p>
<p>E para não pararmos no tempo, vendo que <a href="/2010/04/novidades-do-proximo-wso2-data-services-server-2-5-x/" target="_blank">as  novidades do WSO2 Data Services Server  2.5.0</a> seriam muito bem vindas para nós, resolvemos realizar testes  para verificar a possibilidade de atualizarmos nossa versão da 2.2.1  para a 2.5.0, e surgiu aquela alegria quando vimos que não teríamos  problemas de incompatibilidade como ocorreu nos testes de migração da  2.0 para <a href="/2009/12/testes-na-versao-2-2-0-do-wso2-data-services-server/" target="_blank">WSO2 Data Services Server 2.2.1</a>.</p>
<p>Mas como nem tudo são rosas, um velho <em>bug</em> conhecido nosso na  versão 2.0 e discutido no <a href="http://wso2.org/forum/thread/5349" target="_blank">fórum - de não aceitar valores <em>null</em></a>,  tinha sido corrigido na versão 2.2.1; mas resolveu dar as caras na  versão 2.5.0. E por necessitarmos das novidades dessa versão, tivemos  que correr atrás e corrigir o problema, já corrigido anteriormente.</p>
<p><img class="alignleft" title="WSO2 Carbon" src="/wp-content/uploads/2010/06/wso2-carbon.gif" alt="" width="107" height="23" />Como já conhecemos a estrutura, fomos  direto ao site do projeto para realizar o <a href="http://wso2.org/downloads/data-services-server" target="_blank">download do fonte  do WSO2 Data Services Server</a> e fomos  atrás do arquivo problemático (SQLQuery.java). Mas para nossa surpresa, o  arquivo não estava mais lá, foi centralizado no projeto <a href="http://wso2.org/downloads/carbon" target="_blank">WSO2 Carbon</a>.</p>
<p>Então com o arquivo de <a href="http://dist.wso2.org/products/carbon/3.0.0/wso2carbon-3.0.0-src.zip" target="_blank">código-fonte  do WSO2 Carbon 3.0.0</a> devidamente baixado, vamos colocar a mão na  massa.</p>
<h2>Baixando e descompactando o fonte</h2>
<pre class="brush: php">wget  http://dist.wso2.org/products/carbon/3.0.0/wso2carbon-3.0.0-src.zip
unzip wso2carbon-3.0.0-src.zip</pre>
<h2>Baixando e aplicando o <em>patch</em></h2>
<pre class="brush: php">wget /wp-content/uploads/2010/06/wso2-dataservices-accept-null.txt
cd wso2carbon-3.0.0-src
patch -p1 wso2-dataservices-accept-null.patch</pre>
<p>E a mensagem recebida aqui será algo como:</p>
<pre class="brush: php">patching file components/data-services/org.wso2.carbon.dataservices.core/3.0.0/src/main/java/org/wso2/carbon/dataservices/dispatch/query/SQLQuery.java</pre>
<h2>Compilando o componente</h2>
<p>Levando em consideração que você tenha as dependências necessárias,  vai ser um passo bem demorado. Vai fazer download de alguns pacotes,  compilar, testar e gerar uma nova versão do componente, com a correção.</p>
<pre class="brush: php">cd components/data-services
mvn install</pre>
<h2>Corrigindo o Data Services Server</h2>
<p>Agora que temos o componente corrigido e devidamente compilado, vamos  copiá-lo para a instância do WSO2 Data Services Server (levando em consideração que minha instalação fica em  ~/Applications/wso2/wso2dataservices-2.5.0).</p>
<pre class="brush: php">cp  org.wso2.carbon.dataservices.core/3.0.0/target/org.wso2.carbon.dataservices.core-3.0.0.jar   ~/Applications/wso2/wso2dataservices-2.5.0/wso2dataservices-2.5.0/repository/components/plugins/org.wso2.carbon.dataservices.core-3.0.0.jar
cp  org.wso2.carbon.dataservices.ui/3.0.0/target/org.wso2.carbon.dataservices.ui-3.0.0.jar    ~/Applications/wso2/wso2dataservices-2.5.0/wso2dataservices-2.5.0/repository/components/plugins/org.wso2.carbon.dataservices.ui-3.0.0.jar</pre>
<h2>Conclusão</h2>
<p>Com o <em>patch</em> criado, testado e aplicado. Abrimos um <a href="http://wso2.org/jira/browse/CARBON-7589" target="_blank">pedido de  correção no JIRA do WSO2</a>, para que eles possam corrigir na próxima <em>release</em> (provavelmente a 2.5.1). Caso você não tenha disponibilidade (de tempo  ou paciência), pode baixar os componente do WSO2 Data Services Server corrigido (bastando apenas descompactá-los).</p>
<ul>
<li><a href="/wp-content/uploads/2010/06/carbon-dataservices-core-3.0.0.tar.gz" target="_blank">org.wso2.carbon.dataservices.core-3.0.0.jar</a></li>
<li><a href="/wp-content/uploads/2010/06/carbon-dataservices-ui-3.0.0.tar.gz" target="_blank">org.wso2.carbon.dataservices.ui-3.0.0.jar</a></li>
</ul>
<p>E tenho que falar, viva o código aberto e o software livre! (;</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.mcorp.com.br/2010/05/utilizando-o-array-type-do-wso2-data-services-server-2-5-x/" title="Utilizando o Array Type do WSO2 Data Services Server 2.5.x">Utilizando o Array Type do WSO2 Data Services Server 2.5.x</a></li><li><a href="http://www.mcorp.com.br/2009/11/novidades-nos-lancamentos-nov2009-da-plataforma-wso2/" title="Novidades nos lançamentos (nov/2009) da plataforma WSO2">Novidades nos lançamentos (nov/2009) da plataforma WSO2</a></li><li><a href="http://www.mcorp.com.br/2010/04/novidades-do-proximo-wso2-data-services-server-2-5-x/" title="Novidades do próximo WSO2 Data Services Server (2.5.x)">Novidades do próximo WSO2 Data Services Server (2.5.x)</a></li><li><a href="http://www.mcorp.com.br/2010/03/consumindo-um-servico-seguro-utilizando-php/" title="Consumindo um serviço seguro utilizando PHP">Consumindo um serviço seguro utilizando PHP</a></li><li><a href="http://www.mcorp.com.br/2009/12/compilando-o-plugin-do-wso2-data-services-para-o-eclipse/" title="Compilando o plugin do WSO2 Data Services Server para o Eclipse">Compilando o plugin do WSO2 Data Services Server para o Eclipse</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.mcorp.com.br/2010/06/compilando-o-wso2-carbon-3-0-0-e-corrigindo-o-wso2-data-services-server-2-5-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utilizando o Array Type do WSO2 Data Services Server 2.5.x</title>
		<link>http://www.mcorp.com.br/2010/05/utilizando-o-array-type-do-wso2-data-services-server-2-5-x/</link>
		<comments>http://www.mcorp.com.br/2010/05/utilizando-o-array-type-do-wso2-data-services-server-2-5-x/#comments</comments>
		<pubDate>Thu, 06 May 2010 21:27:32 +0000</pubDate>
		<dc:creator>Leonardo Saraiva</dc:creator>
				<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[array type]]></category>
		<category><![CDATA[builder]]></category>
		<category><![CDATA[carbon]]></category>
		<category><![CDATA[data services]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[release candidate]]></category>
		<category><![CDATA[soa]]></category>
		<category><![CDATA[soapui]]></category>
		<category><![CDATA[web services application]]></category>
		<category><![CDATA[wso2]]></category>
		<category><![CDATA[wso2 carbon]]></category>

		<guid isPermaLink="false">http://www.mcorp.com.br/?p=397</guid>
		<description><![CDATA[Uma das novidades do WSO2 Data Services Server 2.5.x, já listada anteriormente, é que agora poderemos trabalhar com Array Types. Essa opção não existia anteriormente e as únicas maneiras que tínhamos para contornar, digamos que não eram muito legais. Por exemplo: invocar várias vezes o método ou concatenar as várias entradas em um campo string [...]]]></description>
			<content:encoded><![CDATA[<p>Uma das <a href="/2010/04/novidades-do-proximo-wso2-data-services-server-2-5-x/" target="_blank">novidades do WSO2 Data Services Server 2.5.x</a>, já listada anteriormente, é que agora poderemos trabalhar com <em>Array Types</em>. Essa opção não existia anteriormente e as únicas maneiras que tínhamos para contornar, digamos que não eram muito legais. Por exemplo: invocar várias vezes o método ou concatenar as várias entradas em um campo <em>string</em> e posteriormente (em uma <em>procedure</em> ou algo do gênero) realizar o <em>parser</em>.</p>
<p>Ambas tem seus problemas, muitas requisições invocando várias vezes ou dificuldade de implementação (dependendo do banco de dados) para o caso de realizar o <em>parser</em> na <em>procedure</em>; mas, de uma forma ou outra, resolviam o problema. Só que com a implementação de <em>Array Type</em> resolvemos esse problema de maneira simples, eficiente e elegante!</p>
<h2>Colocando a mão na massa</h2>
<p>Digamos que temos um serviço onde nosso cliente quer listar vários produtos, nosso cliente tem todos os códigos dos produtos e quer o restante dos dados. Antigamente passaríamos para ele um método <em>productById</em> que recebe um <em>id</em>, algo como abaixo:</p>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/05/try-it-method-productById-without-array-type.png" rel="lightbox[397]"><img class="alignnone size-thumbnail wp-image-398" title="Try-it: method productById without array type" src="http://www.mcorp.com.br/wp-content/uploads/2010/05/try-it-method-productById-without-array-type-150x150.png" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2010/05/soap-ui-method-productById-without-array-type.png" rel="lightbox[397]"><img class="alignnone size-thumbnail wp-image-399" title="SOAPUI: method productById without array type" src="http://www.mcorp.com.br/wp-content/uploads/2010/05/soap-ui-method-productById-without-array-type-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Mas agora tudo foi facilitado, vamos a "mágica"! Para alteração do método que aceite a entrada de um <em>Array Type</em>, serão necessários apenas dois passos.</p>
<h3>Passo 1: editando a <em>query</em></h3>
<p>Teremos que trocar a <em>query</em> que antigamente aceitava apenas um parâmetro como entrada "id = :id" e colocaremos uma que aceita "N" parâmetros "id in (:id)". Então na tela de edição da <em>query</em> do WSO2 Data Services Server, basta trocarmos, como fiz abaixo:</p>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/05/query-without-array.png" rel="lightbox[397]"><img class="alignnone size-thumbnail wp-image-400" title="query without array" src="http://www.mcorp.com.br/wp-content/uploads/2010/05/query-without-array-150x150.png" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2010/05/query-with-array.png" rel="lightbox[397]"><img class="alignnone size-thumbnail wp-image-401" title="query with array" src="http://www.mcorp.com.br/wp-content/uploads/2010/05/query-with-array-150x150.png" alt="" width="150" height="150" /></a></p>
<h3>Passo 2: editando o tipo da entrada</h3>
<p>E o segundo passo, editando os <em>Input Mappings,</em> basta trocarmos o tipo <em>scalar</em> para <em>array</em>, novamente, como fiz abaixo:</p>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/05/input-scalar.png" rel="lightbox[397]"><img class="alignnone size-thumbnail wp-image-402" title="input scalar" src="http://www.mcorp.com.br/wp-content/uploads/2010/05/input-scalar-150x150.png" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2010/05/input-array.png" rel="lightbox[397]"><img class="alignnone size-thumbnail wp-image-403" title="input array" src="http://www.mcorp.com.br/wp-content/uploads/2010/05/input-array-150x150.png" alt="" width="150" height="150" /></a></p>
<h2>O resultado</h2>
<p>E agora vamos a parte legal: o resultado!</p>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/05/try-it-method-productById-with-array-type.png" rel="lightbox[397]"><img class="alignnone size-thumbnail wp-image-404" title="Try-it: method productById with array type" src="http://www.mcorp.com.br/wp-content/uploads/2010/05/try-it-method-productById-with-array-type-150x150.png" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2010/05/soap-ui-method-productById-with-array-type.png" rel="lightbox[397]"><img class="alignnone size-thumbnail wp-image-405" title="SOAPUI: method productById with array type" src="http://www.mcorp.com.br/wp-content/uploads/2010/05/soap-ui-method-productById-with-array-type-150x150.png" alt="" width="150" height="150" /></a></p>
<h2>Conclusão</h2>
<p>Essa implementação facilitou muito e melhorou a qualidade de nossos serviços. Ainda não foi lançada a versão final, apenas algumas <em>releases candidates</em>, que podem ser acompanhadas pelo <a href="http://builder.wso2.org/~carbon/releases/carbon/3.0.0/" target="_blank">repositório de <em>builders</em> do WSO2 Carbon 3.0.0</a>.</p>
<p>Deixo aqui o <a href="http://www.mcorp.com.br/wp-content/uploads/2010/05/wso2tutorial-array-type.zip">download dos arquivos utilizados para implementar o <em>Array Type</em></a> nesse exemplo, contém os arquivos abaixo:</p>
<ul>
<li><em>Data Service</em> antes da implementação do <em>Array Type</em></li>
<li><em>Data Service</em> depois da implementação do <em>Array Type</em></li>
<li>Script de criação do banco de dados utilizado (MySQL)</li>
</ul>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.mcorp.com.br/2009/11/novidades-nos-lancamentos-nov2009-da-plataforma-wso2/" title="Novidades nos lançamentos (nov/2009) da plataforma WSO2">Novidades nos lançamentos (nov/2009) da plataforma WSO2</a></li><li><a href="http://www.mcorp.com.br/2010/06/compilando-o-wso2-carbon-3-0-0-e-corrigindo-o-wso2-data-services-server-2-5-0/" title="Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0">Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0</a></li><li><a href="http://www.mcorp.com.br/2010/04/novidades-do-proximo-wso2-data-services-server-2-5-x/" title="Novidades do próximo WSO2 Data Services Server (2.5.x)">Novidades do próximo WSO2 Data Services Server (2.5.x)</a></li><li><a href="http://www.mcorp.com.br/2010/04/wso2-business-activity-monitoring-sql-server/" title="WSO2 Business Activity Monitoring + SQL Server">WSO2 Business Activity Monitoring + SQL Server</a></li><li><a href="http://www.mcorp.com.br/2009/11/wso2-e-a-quinta-feira-agitada-muitos-lancamentos/" title="WSO2 e a quinta-feira agitada: muitos lançamentos">WSO2 e a quinta-feira agitada: muitos lançamentos</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.mcorp.com.br/2010/05/utilizando-o-array-type-do-wso2-data-services-server-2-5-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Novidades do próximo WSO2 Data Services Server (2.5.x)</title>
		<link>http://www.mcorp.com.br/2010/04/novidades-do-proximo-wso2-data-services-server-2-5-x/</link>
		<comments>http://www.mcorp.com.br/2010/04/novidades-do-proximo-wso2-data-services-server-2-5-x/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 16:24:27 +0000</pubDate>
		<dc:creator>Leonardo Saraiva</dc:creator>
				<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[batch mode]]></category>
		<category><![CDATA[boxcarring]]></category>
		<category><![CDATA[data services]]></category>
		<category><![CDATA[eventing]]></category>
		<category><![CDATA[jmx]]></category>
		<category><![CDATA[lançamento]]></category>
		<category><![CDATA[wip services]]></category>
		<category><![CDATA[wsdl]]></category>
		<category><![CDATA[wso2]]></category>
		<category><![CDATA[wso2 carbon]]></category>

		<guid isPermaLink="false">http://www.mcorp.com.br/?p=312</guid>
		<description><![CDATA[A versão RC2 do WSO2 Data Services Server 2.5.0 nos mostrou que está com novas opções e funcionalidades muito úteis, algumas que estavam até fazendo falta. Claro que a adoção do WSO2 Carbon 3.0, traz várias diferenças nos recursos e interface em toda a suíte. Mas vamos partir para o que interessa. Dashboard Carbon Data [...]]]></description>
			<content:encoded><![CDATA[<p>A versão RC2 do WSO2 Data Services Server 2.5.0 nos mostrou que está com novas opções e funcionalidades muito úteis, algumas que estavam até fazendo falta. Claro que a adoção do WSO2 Carbon 3.0, traz várias diferenças nos recursos e interface em toda a suíte. Mas vamos partir para o que interessa.</p>
<ul>
<li><a href="#Dashboard">Dashboard</a></li>
<li><a href="#CarbonDataSources">Carbon Data Sources</a></li>
<li><a href="#ArrayType">Array type</a></li>
<li><a href="#DefaultValuesInputMappings">Default values in input mappings</a></li>
<li><a href="#DataValidationLogic">Data Validation Logic</a></li>
<li><a href="#WIPServices">WIP services</a></li>
<li><a href="#ContractFrist">Contract first</a></li>
<li><a href="#BatchMode">Batch mode</a></li>
<li><a href="#Boxcarring">Boxcarring</a></li>
<li><a href="#Eventing">Eventing</a></li>
<li><a href="#BinaryData">Binary Input/Output data</a></li>
<li><a href="#JMX">JMX</a></li>
<li><a href="#QueryProperties">Query Properties</a></li>
<li><a href="#Conclusao">Conclusão</a></li>
</ul>
<h2><a name="Dashboard">Dashboard</a></h2>
<p>Com a atualização para o WSO2 Carbon 3.0, foi implantando um <em>Dashboard</em> que pode conter informações variadas. Essas informações podem ser personalizadas utilizando <em>gadgets</em>. Aliás, essa atualização pode ser notada em toda a suíte que utilizam o novo Carbon.</p>
<h2><a name="CarbonDataSources">Carbon Data Sources</a></h2>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-CarbonDataSources-01.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-318" title="Gerenciando um Carbon Data Source (adicionando)" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-CarbonDataSources-01-150x150.png" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-CarbonDataSources-02.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-320" title="Configurando um serviço para utilizar um Carbon Data Source" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-CarbonDataSources-02-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Agora ficará muito mais fácil gerenciar conexões às várias base de dados. Com <em>Carbon Data Sources</em>, será possível apontar no <a href="/glossario/#DataServices" target="_blank">Data Service</a> qual <em>data source</em> utilizar, e cada ambiente (teste, desenvolvimento, homologação ou produção) terão suas próprias configurações, bastará manter o mesmo nome.</p>
<h2><a name="ArrayType">Array Type</a></h2>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-ArrayType-01.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-326" title="Escolhendo o tipo Array para entrada" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-ArrayType-01-150x150.png" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-ArrayType-02.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-327" title="Escolhendo o tipo Scalar para entrada" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-ArrayType-02-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Poderemos ter entradas do tipo <em>array</em> ou <em>scalar</em>, onde essas entradas podem conter valores de diferentes tipos, como: <em>string</em>, <em>integer</em>, <em>real</em>, <em>double</em>, <em>numeric</em>, <em>tinyint</em>, <em>smallint</em>, <em>bigint</em>, <em>date</em>, <em>time</em>, <em>timestamp</em>, <em>bit</em>, <em>oracle ref cursor</em> ou <em>binary</em>.</p>
<h2><a name="DefaultValuesInputMappings">Default values in input mappings</a></h2>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-DefaultValuesInputMappings.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-328" title="Escolhendo um valor padrão para a entrada" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-DefaultValuesInputMappings-150x150.png" alt="" width="150" height="150" /></a></p>
<p>No caso do tipo de entrada <em>scalar</em>, poderá ser indicado um valor padrão para a entrada.</p>
<h2><a name="DataValidationLogic">Data Validation Logic</a></h2>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-DataValidationLogic-01.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-329" title="Validação de dados (da maioria) com mínimo e máximo" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-DataValidationLogic-01-150x150.png" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-DataValidationLogic-02.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-330" title="Validação de dados de entrada (personalizado)" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-DataValidationLogic-02-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Os dados de entrada poderão ser validados utlizando alguns validadores padrões:</p>
<ul>
<li><strong>Long Range</strong>: com mínimo e máximo de opção;</li>
<li><strong>Double Range</strong>: com mínimo e máximo de opção;</li>
<li><strong>Length</strong>: com mínimo e máximo de opção;</li>
<li><strong>Pattern</strong>: com pattern de opção;</li>
<li><strong>Custom</strong>: com a classe de opção.</li>
</ul>
<h2><a name="WIPServices">WIP Services</a></h2>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wip_dbs.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-418" title="wip_dbs" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wip_dbs-150x150.png" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wip_service_list.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-419" title="WIP Service list" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wip_service_list-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Os serviços que ainda não estão finalizados, estão passando por correção ou qualquer outro motivo, poderão ser marcados como: "Work in progress". Isso evitará erros e os clientes não conseguirão consumir o serviço.</p>
<h2><a name="ContractFrist">Contract first</a></h2>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wsdl_upload.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-416" title="WSDL Upload" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wsdl_upload-150x150.png" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/dummy_data_source.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-417" title="Dummy data source" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/dummy_data_source-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Com essa funcionalidade, criar <em>data services</em> poderá fica ainda mais simples. Basta adicionar um contrato (WSDL) com todas as definições e ele criará um <em>WIP Service</em> para você, sendo necessário apenas você configurar conexões e preencher as <em>queries</em>.</p>
<h2><a name="BatchMode">Batch mode</a></h2>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-BatchMode-01.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-331" title="Habilitando o Batch Mode num serviço" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-BatchMode-01-150x150.png" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-BatchMode-02.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-332" title="Métodos criados automaticamente" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-BatchMode-02-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Um recurso bastante interessante implementado é o <em>Batch Mode</em>, esse recurso implementa automaticamente, em todos os métodos que realizam alguma função de escrita no banco de dados (<em>INSERT</em>, <em>DELETE</em> e <em>UPDATE</em>), o recurso de invocar uma única vez o serviço, mas realizando operações em vários objetos de uma única vez, como - por exemplo - um inserir uma listagem de pessoas.</p>
<h2><a name="Boxcarring">Boxcarring</a></h2>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-Boxcarring-01.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-335" title="Habilitando o boxcarring num serviço" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-Boxcarring-01-150x150.png" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-Boxcarring-02.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-336" title="Boxcarring e os métodos que são criados automaticamente" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-Boxcarring-02-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Implementação importante para essa nova versão, <em>boxcarring</em> nada mais é que o suporte a transações nos serviços, pelas informações coletadas, essa transação pode ser de dois tipos: <em>SOAP</em> ou <em>Transport</em>.</p>
<h2><a name="Eventing">Eventing</a></h2>
<p>Será um recurso que dará a opção de implementarmos eventos em cima de determinadas operações, funciona basicamente como uma <em>trigger</em> de banco de dados.</p>
<h2><a name="BinaryData">Binary Input/Output Data</a></h2>
<p>Será possível utilizar dados binários (tipo Base64) tanto para enviar, quanto para receber.</p>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/binary-input-mapping.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-422" title="binary input mapping" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/binary-input-mapping-150x150.png" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/binary-output-mapping.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-423" title="binary output mapping" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/binary-output-mapping-150x150.png" alt="" width="150" height="150" /></a></p>
<h2><a name="JMX">JMX</a></h2>
<p>O WSO2 Data Services Server proverá informações dos serviços publicados, utilizando Java Management Extensions (JMX).</p>
<h2><a name="QueryProperties">Query Properties</a></h2>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-QueryProperties-01.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-339" title="Query Properties: clicando no &quot;+&quot; você exibe as opções" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-QueryProperties-01-150x150.png" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-QueryProperties-02.png" rel="lightbox[312]"><img class="alignnone size-thumbnail wp-image-340" title="Query Properties: As opções expandidas" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2ds-2.5.0-r2-QueryProperties-02-150x150.png" alt="" width="150" height="150" /></a></p>
<p>As <em>queries</em> podem ter algumas propriedades específicas na execução, ajudando na questão de performance e limitações.</p>
<h2><a name="Conclusao">Conclusão</a></h2>
<p>Essas novas versões que estão para sair, da suíte WSO2 Carbon (3.0) e WSO2 Data Services Server (2.5.0), evoluíram bastante comparativamente as suas sucessoras. E o que é bem importante, não foi necessária nenhuma alteração para os serviços que rodam na versão 2.2.1 do WSO2 Data Services Server funcionarem nessa <em>release</em>, diferentemente da atualização da versão 2.0.x para a 2.2.x.</p>
<p>Os tópicos que não documentei ainda, provavelmente consiga documentar nas próximas <em>releases</em>, ou quando achar aonde estão esses recursos, a não ser que as alterações sejam internas e não fiquem visuais pra nós. Caso queira ajudar a encontrar e documentar todas as alterações, pode acessar o <a href="http://builder.wso2.org/~carbon/releases/carbon/3.0.0/" target="_blank">repositório</a> com os <em>builders</em> (com gerações quase que diárias).</p>
<p>Minha ideia é também exemplificar como utilizar cada uma delas futuramente, para que não fique dúvidas de como utilizar esses novos recursos. Então, fique ligado nas atualizações pelo <em>feed</em>.</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.mcorp.com.br/2009/11/novidades-nos-lancamentos-nov2009-da-plataforma-wso2/" title="Novidades nos lançamentos (nov/2009) da plataforma WSO2">Novidades nos lançamentos (nov/2009) da plataforma WSO2</a></li><li><a href="http://www.mcorp.com.br/2010/06/compilando-o-wso2-carbon-3-0-0-e-corrigindo-o-wso2-data-services-server-2-5-0/" title="Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0">Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0</a></li><li><a href="http://www.mcorp.com.br/2010/05/utilizando-o-array-type-do-wso2-data-services-server-2-5-x/" title="Utilizando o Array Type do WSO2 Data Services Server 2.5.x">Utilizando o Array Type do WSO2 Data Services Server 2.5.x</a></li><li><a href="http://www.mcorp.com.br/2009/11/wso2-e-a-quinta-feira-agitada-muitos-lancamentos/" title="WSO2 e a quinta-feira agitada: muitos lançamentos">WSO2 e a quinta-feira agitada: muitos lançamentos</a></li><li><a href="http://www.mcorp.com.br/2010/04/wso2-business-activity-monitoring-sql-server/" title="WSO2 Business Activity Monitoring + SQL Server">WSO2 Business Activity Monitoring + SQL Server</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.mcorp.com.br/2010/04/novidades-do-proximo-wso2-data-services-server-2-5-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WSO2 Business Activity Monitoring + SQL Server</title>
		<link>http://www.mcorp.com.br/2010/04/wso2-business-activity-monitoring-sql-server/</link>
		<comments>http://www.mcorp.com.br/2010/04/wso2-business-activity-monitoring-sql-server/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 18:44:57 +0000</pubDate>
		<dc:creator>Leonardo Saraiva</dc:creator>
				<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[bam]]></category>
		<category><![CDATA[business activity monitoring]]></category>
		<category><![CDATA[business process]]></category>
		<category><![CDATA[data services]]></category>
		<category><![CDATA[governance registry]]></category>
		<category><![CDATA[h2]]></category>
		<category><![CDATA[identity]]></category>
		<category><![CDATA[instalação]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[mssql]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[registry]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[wso2]]></category>

		<guid isPermaLink="false">http://www.mcorp.com.br/?p=265</guid>
		<description><![CDATA[A pedidos do "chefe", realizei o download e a instalação do WSO2 Business Activity Monitoring (versão 1.0.1) e parti para os testes. Mas como migramos toda a suíte para rodar sobre o SQL Server, configurei tudo para apontar para o banco de dados do WSO2 Governance Registry (arquivo conf/registry.xml) e do WSO2 Identity Server (arquivo [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2-bam.gif" rel="lightbox[265]"><img class="alignright size-full wp-image-266" style="border: 0pt none; margin: 5px;" title="WSO2 Business Activity Monitoring" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wso2-bam.gif" alt="" width="180" height="21" /></a>A pedidos do "chefe", realizei o download e a instalação do <a href="http://wso2.org/downloads/bam" target="_blank">WSO2 Business Activity Monitoring</a> (versão 1.0.1) e parti para os testes.</p>
<p>Mas como migramos toda a suíte para rodar sobre o SQL Server, configurei tudo para apontar para o banco de dados do <a href="http://wso2.org/downloads/governance-registry" target="_blank">WSO2 Governance Registry</a> (arquivo <em>conf/registry.xml</em>) e do <a href="http://wso2.org/downloads/identity" target="_blank">WSO2 Identity Server</a> (arquivo <em>conf/user-mgt.xml</em>) - maiores explicações ficam para uma outra oportunidade.</p>
<p>Só que ainda ficou uma dúvida no ar! Aonde estavam as configurações de conexão de banco de dados que armazenam as informações do <a href="/glossario/#BAM" target="_blank">BAM</a> propriamente dito? Pesquisando nos arquivos instalados encontrei um diretório "bam", e para minha não-surpresa, lá estavam mais dois diretórios:</p>
<ul>
<li><strong>./bam/database/</strong>: diretório com arquivos da base de dados do H2;</li>
<li><strong>./bam/sql/</strong>: scripts de criação da base de dados em diferentes bancos (H2, SQL Server, MySQL e Oracle).</li>
</ul>
<p>Com essa descoberta, o jeito foi partir para o básico, buscar um arquivo de configuração que pudesse conter a conexão apontando para esses arquivos.</p>
<pre class="brush: php">leonardo@mcorp:~/Applications/wso2/wso2bam-1.0.1$ grep -r h2:database *
conf/registry.xml:        jdbc:h2:database/WSO2CARBON_DB
conf/user-mgt.xml:		jdbc:h2:database/WSO2CARBON_DB</pre>
<p>Ops, não encontrei nada. Nova tentativa:</p>
<pre class="brush: php">leonardo@mcorp:~/Applications/wso2/wso2bam-1.0.1$ grep -r h2 *
[milhões de respostas - ocultadas por mim - que não ajudam em nada]</pre>
<p>Vamos lá, filtrar um pouco mais para quem sabe ser mais feliz:</p>
<pre class="brush: php">leonardo@mcorp:~/Applications/wso2/wso2bam-1.0.1$ grep -r jdbc:h2 *
conf/registry.xml:        jdbc:h2:database/WSO2CARBON_DB
conf/user-mgt.xml:		jdbc:h2:database/WSO2CARBON_DB
repository/dataservices/BAMSummaryGenerationDS.dbs:jdbc:h2:bam/database/WSO2BAM_DB
repository/dataservices/BAMConfigurationDS.dbs:jdbc:h2:bam/database/WSO2BAM_DB
repository/dataservices/BAMStatQueryDS.dbs:jdbc:h2:bam/database/WSO2BAM_DB
repository/dataservices/BAMDataCollectionDS.dbs:jdbc:h2:bam/database/WSO2BAM_DB
repository/dataservices/BAMSummaryQueryDS.dbs:jdbc:h2:bam/database/WSO2BAM_DB</pre>
<p>E agora sim! Com isso descobrimos que ele utiliza alguns <a href="/glossario/#DataServices" target="_blank">data services</a> que realizam o trabalho "sujo".</p>
<p>Então, basta alterarmos todos esses serviços para conectarem na base de dados criada no SQL Server (dentro de cada serviço tem exemplos). Os serviços são:</p>
<ul>
<li>repository/dataservices/BAMSummaryGenerationDS.dbs</li>
<li>repository/dataservices/BAMConfigurationDS.dbs</li>
<li>repository/dataservices/BAMStatQueryDS.dbs</li>
<li>repository/dataservices/BAMDataCollectionDS.dbs</li>
<li>repository/dataservices/BAMSummaryQueryDS.dbs</li>
</ul>
<p>E carregar o arquivo <em>bam/sql/bam_schema_mssql.sql</em> na base de dados e... <em>voilà</em>.</p>
<pre class="brush: php">INFO -  Server  :  WSO2 Business Activity Monitor-1.0.1
INFO -  WSO2 Carbon started in 6 sec</pre>
<p>Os estudos sobre o WSO2 Business Activity Monitoring continuarão num próximo capítulo, sempre acompanhado de dicas e descobertas. (:</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.mcorp.com.br/2009/11/novidades-nos-lancamentos-nov2009-da-plataforma-wso2/" title="Novidades nos lançamentos (nov/2009) da plataforma WSO2">Novidades nos lançamentos (nov/2009) da plataforma WSO2</a></li><li><a href="http://www.mcorp.com.br/2010/06/lancamento-do-wso2-stratos-alpha/" title="Lançamento do WSO2 Stratos (alpha)">Lançamento do WSO2 Stratos (alpha)</a></li><li><a href="http://www.mcorp.com.br/2010/05/utilizando-o-array-type-do-wso2-data-services-server-2-5-x/" title="Utilizando o Array Type do WSO2 Data Services Server 2.5.x">Utilizando o Array Type do WSO2 Data Services Server 2.5.x</a></li><li><a href="http://www.mcorp.com.br/2009/12/compilando-o-plugin-do-wso2-data-services-para-o-eclipse/" title="Compilando o plugin do WSO2 Data Services Server para o Eclipse">Compilando o plugin do WSO2 Data Services Server para o Eclipse</a></li><li><a href="http://www.mcorp.com.br/2009/11/wso2-e-a-quinta-feira-agitada-muitos-lancamentos/" title="WSO2 e a quinta-feira agitada: muitos lançamentos">WSO2 e a quinta-feira agitada: muitos lançamentos</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.mcorp.com.br/2010/04/wso2-business-activity-monitoring-sql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Consumindo um serviço seguro utilizando PHP</title>
		<link>http://www.mcorp.com.br/2010/03/consumindo-um-servico-seguro-utilizando-php/</link>
		<comments>http://www.mcorp.com.br/2010/03/consumindo-um-servico-seguro-utilizando-php/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 23:03:58 +0000</pubDate>
		<dc:creator>Leonardo Saraiva</dc:creator>
				<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[data services]]></category>
		<category><![CDATA[esb]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ws-security]]></category>
		<category><![CDATA[wso2]]></category>

		<guid isPermaLink="false">http://www.mcorp.com.br/?p=256</guid>
		<description><![CDATA[Dia desses precisei colocar autenticação em um serviço que desenvolvi e passeando pelas opções da interface administrativa da WSO2 Enterprise Service Bus encontrei facilmente minha solução. Um pouco depois, li no twitter do @WSO2 um comentário sobre um novo artigo publicado sobre segurança nos Data Services, onde ensinava a fazer toda a parte de configuração: [...]]]></description>
			<content:encoded><![CDATA[<p>Dia desses precisei colocar autenticação em um serviço que desenvolvi e passeando pelas opções da interface administrativa da <a href="http://wso2.org/downloads/esb" target="_blank">WSO2 Enterprise Service Bus</a> encontrei facilmente minha solução. Um pouco depois, li no twitter do @<a href="http://twitter.com/wso2" target="_blank">WSO2</a> um comentário sobre um novo artigo publicado sobre segurança nos <a href="/glossario/#DataServices">Data Services</a>, onde ensinava a fazer toda a parte de configuração: <a href="http://wso2.org/library/articles/content-filtering-data-services-user-roles" target="_blank">Content Filtering in Data Services with User Roles</a>.</p>
<p>Só que pouco tempo depois de configurar e entregar ao cliente o serviço, veio o problema: como consumir em <a href="http://www.php.net/" target="_blank">PHP</a> o serviço? No artigo a solução entregue por eles para consumo é em <a href="http://java.sun.com/" target="_blank">Java</a>, como a capacidade do cliente deixa a desejar, fiquei de fazer e enviar um exemplo de consumo do serviço desenvolvido.</p>
<p>Então... mãos na massa!</p>
<h2>Configurando a ESB</h2>
<p>Nesse ponto não irei escrever passo-a-passo a configuração que deve ser feita, o trabalho realizado pelo pessoal do WSO2 está muito bem feito nessa parte do artigo: <a href="http://wso2.org/library/articles/content-filtering-data-services-user-roles#step_4" target="_blank">Step 4 – Enable User Authentication for the Data Service</a>.</p>
<h2>Consumo sem segurança</h2>
<p>Um pequeno trecho de PHP que mostra como consumir o serviço sem nenhum tipo de segurança. Código pequeno, limpo e objetivo.</p>
<pre class="brush: php">
$client = new SoapClient(&quot;http://localhost:8280/services/Tutorial?wsdl&quot;);
try {
$obj = $client-&gt;searchProductsByGroupId(array(&quot;group_id&quot; =&gt; 1));
print_r($obj);

} catch (Exception $e) {
echo &quot;ERRO: &quot; . $e-&gt;getMessage();
}</pre>
<p>Mas mesmo com toda essa objetividade, o problema do cliente não estava resolvido e eu recebia o seguinte erro:</p>
<pre class="brush: php">ERRO: SOAP header missing</pre>
<p>E, para resolver, faltava adicionar o cabeçalho com os dados de segurança.</p>
<h2>Consumo com segurança</h2>
<p>Agora um não-tão-pequeno trecho em PHP.</p>
<pre class="brush: php">// configurações de conexão
$username = &quot;admin&quot;;
$password = &quot;admin&quot;;
$created = date (&quot;Y-m-d\TH:i:s&quot;, mktime (date(&quot;H&quot;), date(&quot;i&quot;), date(&quot;s&quot;), date(&quot;m&quot;), date(&quot;d&quot;), date(&quot;Y&quot;))).&quot;Z&quot;;

// definição de namespaces
$ns = &#039;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&#039;;
$wsu = &#039;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd&#039;;

// criando elemento UsernameToken
$token = new stdClass;
$token-&gt;Username = new SOAPVar($username, XSD_STRING, null, null, null, $ns);
$token-&gt;Password = new SOAPVar($password, XSD_STRING, null, null, null, $ns);

// criando elemento Timestamp
$timestamp = new stdClass;
$timestamp-&gt;Created = new SOAPVar($created, XSD_STRING, null, null, null, $wsu);

// criando elemento Security
$wsec = new stdClass;
$wsec-&gt;UsernameToken = new SoapVar($token,     SOAP_ENC_OBJECT, null, null, null, $ns);
$wsec-&gt;Timestamp     = new SoapVar($timestamp, SOAP_ENC_OBJECT, null, null, null, $wsu);

// criando header
$headers = new SOAPHeader($ns, &#039;Security&#039;, $wsec);

// construtor do web-service (com cabeçalho) passando o endereço do WSDL
$client = new SoapClient(&quot;http://localhost:8280/services/Tutorial?wsdl&quot;);
$client-&gt;__setSOAPHeaders($headers);

// chamada do método
try {
$obj = $client-&gt;searchProductsByGroupId(array(&quot;group_id&quot; =&gt; 1));
print_r($obj);

} catch (Exception $e) {
echo &quot;ERRO: &quot; . $e-&gt;getMessage();
}</pre>
<p>E tudo rodou normalmente, sem problemas, o cliente ficou feliz e eu matei um pouco da saudade de programar em PHP.</p>
<p>Na pesquisa por soluções, tentei utilizar o <a href="http://wso2.org/projects/wsf/php" target="_blank">WSO2 Web Services Framework <em>for PHP</em></a> mas descobri que depende de instalação de módulo no <a href="http://httpd.apache.org" target="_blank">Apache</a> e não servia para meu cliente, mas anotei na pauta para testá-lo em outro momento.</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.mcorp.com.br/2010/06/compilando-o-wso2-carbon-3-0-0-e-corrigindo-o-wso2-data-services-server-2-5-0/" title="Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0">Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0</a></li><li><a href="http://www.mcorp.com.br/2010/04/instalando-o-wso2-web-services-framework-for-php-2-0-0/" title="Instalando o WSO2 Web Services Framework for PHP (2.0.0)">Instalando o WSO2 Web Services Framework for PHP (2.0.0)</a></li><li><a href="http://www.mcorp.com.br/2009/11/novidades-nos-lancamentos-nov2009-da-plataforma-wso2/" title="Novidades nos lançamentos (nov/2009) da plataforma WSO2">Novidades nos lançamentos (nov/2009) da plataforma WSO2</a></li><li><a href="http://www.mcorp.com.br/2009/11/wso2-e-a-quinta-feira-agitada-muitos-lancamentos/" title="WSO2 e a quinta-feira agitada: muitos lançamentos">WSO2 e a quinta-feira agitada: muitos lançamentos</a></li><li><a href="http://www.mcorp.com.br/2010/06/lancamento-do-wso2-stratos-alpha/" title="Lançamento do WSO2 Stratos (alpha)">Lançamento do WSO2 Stratos (alpha)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.mcorp.com.br/2010/03/consumindo-um-servico-seguro-utilizando-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testes na versão 2.2.0 do WSO2 Data Services Server</title>
		<link>http://www.mcorp.com.br/2009/12/testes-na-versao-2-2-0-do-wso2-data-services-server/</link>
		<comments>http://www.mcorp.com.br/2009/12/testes-na-versao-2-2-0-do-wso2-data-services-server/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 20:46:09 +0000</pubDate>
		<dc:creator>Leonardo Saraiva</dc:creator>
				<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[data services]]></category>
		<category><![CDATA[dbs]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[wso2]]></category>

		<guid isPermaLink="false">http://www.mcorp.com.br/?p=236</guid>
		<description><![CDATA[Estava eu, numa calma sexta-feira, realizando testes na recém lançada versão 2.2.0 do WSO2 Data Services Server, e para começá-los resolvi fazer deploy dos serviços que já temos desenvolvido, pensando que tudo seria tranquilo, como estava o meu dia, mas... ledo engano. Erro - Primeiro ato Fui no básico: "Add &#62; Data Service &#62; Upload" [...]]]></description>
			<content:encoded><![CDATA[<p>Estava eu, numa calma sexta-feira, realizando testes na recém lançada versão 2.2.0 do <a href="http://wso2.org/projects/data-services-server/java" target="_blank">WSO2 Data Services Server</a>, e para começá-los resolvi fazer <a href="/glossario/#Deploy">deploy</a> dos serviços que já temos desenvolvido, pensando que tudo seria tranquilo, como estava o meu dia, mas... ledo engano.</p>
<h2>Erro - Primeiro ato</h2>
<p>Fui no básico: "Add &gt; Data Service &gt; Upload" e...</p>
<p><a href="http://www.mcorp.com.br/wp-content/uploads/2009/12/wso2-data-services-faulty-01.png" rel="lightbox[236]"><img class="aligncenter size-medium wp-image-239" title="wso2-data-services-faulty-01" src="http://www.mcorp.com.br/wp-content/uploads/2009/12/wso2-data-services-faulty-01-300x199.png" alt="wso2-data-services-faulty-01" width="300" height="199" /></a>Um erro que não me diz muito, então o jeito foi ver o que poderia ser por "tentativa" e erro. Após um pouco de luta e leitura do código fonte do arquivo DBS, descobri que era algum método que executa uma procedure e não tinha o ordinal preenchido.</p>
<pre class="brush: xml">&lt;query id=&quot;productsByGroup&quot; useConfig=&quot;default&quot;&gt;
&lt;sql&gt;call sp_productsByGroup @group_id = ?&lt;/sql&gt;
&lt;param name=&quot;cliente&quot; ordinal=&quot;&quot; sqlType=&quot;INTEGER&quot; type=&quot;IN&quot;/&gt;
&lt;result defaultNamespace=&quot;http://ds.ws.mcorp.com.br/products&quot; element=&quot;products&quot; rowName=&quot;product&quot;&gt;
&lt;element column=&quot;id&quot; name=&quot;id&quot;/&gt;
&lt;element column=&quot;name&quot; name=&quot;name&quot;/&gt;
&lt;/result&gt;
&lt;/query&gt;</pre>
<p>Então peguei a linha 3 e corrigi, deixando assim:</p>
<pre class="brush: xml">&lt;query id=&quot;productsByGroup&quot; useConfig=&quot;default&quot;&gt;
&lt;sql&gt;call sp_productsByGroup @group_id = ?&lt;/sql&gt;
&lt;param name=&quot;cliente&quot; ordinal=&quot;1&quot; sqlType=&quot;INTEGER&quot; type=&quot;IN&quot;/&gt;
&lt;result defaultNamespace=&quot;http://ds.ws.mcorp.com.br/products&quot; element=&quot;products&quot; rowName=&quot;product&quot;&gt;
&lt;element column=&quot;id&quot; name=&quot;id&quot;/&gt;
&lt;element column=&quot;name&quot; name=&quot;name&quot;/&gt;
&lt;/result&gt;
&lt;/query&gt;</pre>
<p>Ou seja, devíamos ter prestado mais atenção quando falavam ser obrigatório para procedures o preenchimento desse campo, mas como nunca deu problema, então não prestávamos a devida atenção.</p>
<h2>Erro - Segundo ato</h2>
<p>Com o serviço devidamente publicado, fui a execução dos métodos para ver se tudo iria bem. Primeiro método (sem parâmetros de entrada) foi tranquilo, retornou tudo que eu precisava. Já no segundo método...</p>
<p><a href="http://www.mcorp.com.br/wp-content/uploads/2009/12/wso2-data-services-faulty-02.png" rel="lightbox[236]"><img class="aligncenter size-medium wp-image-240" title="wso2-data-services-faulty-02" src="http://www.mcorp.com.br/wp-content/uploads/2009/12/wso2-data-services-faulty-02-300x199.png" alt="wso2-data-services-faulty-02" width="300" height="199" /></a>E voltamos a busca do erro perdido... E dessa vez não foi falta de atenção nossa, apenas o plugin que o pessoal do WSO2 disponibiliza (e que ensinei a <a href="http://www.mcorp.com.br/2009/12/compilando-o-plugin-do-wso2-data-services-para-o-eclipse/" target="_blank">compilar</a>) que não preencheu o atributo como devia. Na chamada da operação estava assim:</p>
<pre class="brush: xml">&lt;operation name=&quot;productsByGroup&quot;&gt;
&lt;call-query href=&quot;productsByGroup&quot;&gt;
&lt;with-param name=&quot;group_id&quot; query-param=&quot;&quot;/&gt;
&lt;/call-query&gt;
&lt;/operation&gt;</pre>
<p>Enquanto deveria estar assim:</p>
<pre class="brush: xml">&lt;operation name=&quot;productsByGroup&quot;&gt;
&lt;call-query href=&quot;productsByGroup&quot;&gt;
&lt;with-param name=&quot;group_id&quot; query-param=&quot;group_id&quot;/&gt;
&lt;/call-query&gt;
&lt;/operation&gt;</pre>
<p>E feito todas essas alterações na definição dos data service, tudo correu bem e tranquilo com essa nova versão.</p>
<p>Mas ainda acho que vale a pena esperar um pouco pra ver se não aparece nenhuma correção que levem eles a gerar a versão 2.2.1; também tenho que verificar se os <em>patches</em> que aplicamos na versão anterior deixaram de ser necessário. Mas isso fica pra uma próximo oportunidade.</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.mcorp.com.br/2009/12/compilando-o-plugin-do-wso2-data-services-para-o-eclipse/" title="Compilando o plugin do WSO2 Data Services Server para o Eclipse">Compilando o plugin do WSO2 Data Services Server para o Eclipse</a></li><li><a href="http://www.mcorp.com.br/2009/09/wso2-data-services-instalacao-do-servidor/" title="WSO2 Data Services &#8211; Instalação do servidor">WSO2 Data Services &#8211; Instalação do servidor</a></li><li><a href="http://www.mcorp.com.br/2010/06/compilando-o-wso2-carbon-3-0-0-e-corrigindo-o-wso2-data-services-server-2-5-0/" title="Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0">Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0</a></li><li><a href="http://www.mcorp.com.br/2010/05/utilizando-o-array-type-do-wso2-data-services-server-2-5-x/" title="Utilizando o Array Type do WSO2 Data Services Server 2.5.x">Utilizando o Array Type do WSO2 Data Services Server 2.5.x</a></li><li><a href="http://www.mcorp.com.br/2010/04/novidades-do-proximo-wso2-data-services-server-2-5-x/" title="Novidades do próximo WSO2 Data Services Server (2.5.x)">Novidades do próximo WSO2 Data Services Server (2.5.x)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.mcorp.com.br/2009/12/testes-na-versao-2-2-0-do-wso2-data-services-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compilando o plugin do WSO2 Data Services Server para o Eclipse</title>
		<link>http://www.mcorp.com.br/2009/12/compilando-o-plugin-do-wso2-data-services-para-o-eclipse/</link>
		<comments>http://www.mcorp.com.br/2009/12/compilando-o-plugin-do-wso2-data-services-para-o-eclipse/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 15:21:41 +0000</pubDate>
		<dc:creator>Leonardo Saraiva</dc:creator>
				<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[código aberto]]></category>
		<category><![CDATA[compilação]]></category>
		<category><![CDATA[data services]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[instalação]]></category>
		<category><![CDATA[maven2]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[repositório]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[wso2]]></category>

		<guid isPermaLink="false">http://www.mcorp.com.br/?p=223</guid>
		<description><![CDATA[Como não encontrei uma versão final do plugin para o Eclipse para criação, edição e deploy de serviços do WSO2 Data Services Server na página de downloads do site, o jeito foi compilar o plugin a partir do fonte disponível no repositório (e viva o código aberto). E seguem abaixo os passos necessário para o [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-230 alignright" title="Eclipse + WSO2 Data Service" src="http://www.mcorp.com.br/wp-content/uploads/2009/12/eclipse-wso2-ds.png" alt="Eclipse + WSO2 Data Service" width="270" height="130" />Como não encontrei uma versão final do plugin para o <a href="http://www.eclipse.org" target="_blank">Eclipse</a> para criação, edição e deploy de serviços do <a href="http://wso2.org/projects/data-services-server/java" target="_blank">WSO2 Data Services Server</a> na página de downloads do site, o jeito foi compilar o plugin a partir do fonte disponível no <a href="http://wso2.org/svn" target="_blank">repositório</a> (e viva o código aberto). E seguem abaixo os passos necessário para o procedimento.</p>
<h2>Requisitos</h2>
<p>Será necessário que você tenha instalado os programas abaixo para poder realizar esse processo. Não é minha ideia ensinar como instalar, mas com uma busca no <a href="http://www.google.com.br" target="_blank">Google</a> esse problema deve ser facilmente resolvido:</p>
<ul>
<li><a href="http://subversion.tigris.org/" target="_blank">Subversion</a></li>
<li><a href="http://maven.apache.org/" target="_blank">Maven2</a></li>
</ul>
<h2>Baixando fontes</h2>
<p>Primeiro passo é baixar do <a href="http://wso2.org/svn" target="_blank">repositório</a> o código fonte da última versão:</p>
<pre class="brush: bash">svn co https://wso2.org/repos/wso2/trunk/tools/ide/eclipse/data-service/org.wso2.ws.dataservices.ide/</pre>
<h2>Compilação</h2>
<p>Depois de baixados os fontes, basta entrar na pasta que foi gerada e mandar compilar:</p>
<pre class="brush: bash">cd org.wso2.ws.dataservices.ide
mvn install</pre>
<p>Esse processo pode demorar um pouco, pois ele realiza o download de diversas dependências para compilação, mas no fim ele gera dentro do diretório "target" com o arquivo "org.wso2.ws.dataservices.ide_1.0.0.jar" que deve ser instalado no seu Eclipse.</p>
<h2>Instalação</h2>
<p>No meu caso, o Eclipse está instalado no meu <em>home</em> e é para lá que copiei o arquivo.</p>
<pre class="brush: bash">cp target/org.wso2.ws.dataservices.ide_1.0.0.jar ~/Applications/eclipse/plugins/.</pre>
<h2>Finalização</h2>
<p><a href="http://www.mcorp.com.br/wp-content/uploads/2009/12/wso2-data-services-wizard-new.png" rel="lightbox[223]"><img class="aligncenter size-medium wp-image-232" title="WSO2 Data services: Wizard new" src="http://www.mcorp.com.br/wp-content/uploads/2009/12/wso2-data-services-wizard-new-300x234.png" alt="WSO2 Data services: Wizard new" width="300" height="234" /></a>E com isso, no menu de "Novo", do seu Eclipse, deve ter a opção de <em>wizard</em> para criação e após criado o serviço (que ficará para um outro post) você tem a opção de clicar com o botão direito no arquivo e editar (<em>Edit Data Service</em>) ou realizar o <a href="/glossario/#Deploy" target="_blank">deploy</a> (<em>Deploy Data Service</em>).</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.mcorp.com.br/2009/09/wso2-data-services-instalacao-do-servidor/" title="WSO2 Data Services &#8211; Instalação do servidor">WSO2 Data Services &#8211; Instalação do servidor</a></li><li><a href="http://www.mcorp.com.br/2010/06/compilando-o-wso2-carbon-3-0-0-e-corrigindo-o-wso2-data-services-server-2-5-0/" title="Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0">Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0</a></li><li><a href="http://www.mcorp.com.br/2010/04/wso2-business-activity-monitoring-sql-server/" title="WSO2 Business Activity Monitoring + SQL Server">WSO2 Business Activity Monitoring + SQL Server</a></li><li><a href="http://www.mcorp.com.br/2009/12/instalando-wso2-enterprise-service-bus-eclipse-tools-no-ubuntu-karmic-koala-9-10/" title="Instalando WSO2 Enterprise Service Bus Eclipse Tools no Ubuntu Karmic Koala (9.10)">Instalando WSO2 Enterprise Service Bus Eclipse Tools no Ubuntu Karmic Koala (9.10)</a></li><li><a href="http://www.mcorp.com.br/2009/12/testes-na-versao-2-2-0-do-wso2-data-services-server/" title="Testes na versão 2.2.0 do WSO2 Data Services Server">Testes na versão 2.2.0 do WSO2 Data Services Server</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.mcorp.com.br/2009/12/compilando-o-plugin-do-wso2-data-services-para-o-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data Services: O que é isso?</title>
		<link>http://www.mcorp.com.br/2009/12/data-services-o-que-e-isso/</link>
		<comments>http://www.mcorp.com.br/2009/12/data-services-o-que-e-isso/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 03:41:16 +0000</pubDate>
		<dc:creator>Leonardo Saraiva</dc:creator>
				<category><![CDATA[arquitetura]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[data services]]></category>
		<category><![CDATA[definições]]></category>
		<category><![CDATA[wso2]]></category>

		<guid isPermaLink="false">http://www.mcorp.com.br/?p=173</guid>
		<description><![CDATA[Se fisicamente algumas empresas mantém um datacenter como esse acima, imagine o que não conseguem fazer com relação a "fontes de dados" e, para tentar minimizar esse problema, o SOA propõe a utilização do "data services", que não podemos afirmar ser a solução para toda e qualquer empresa, mas foi a nossa opção e tem [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_178" class="wp-caption aligncenter" style="width: 436px"><img class="size-full wp-image-178 " title="Organização e datacenter, sempre andando juntos!" src="/wp-content/uploads/2009/11/server.jpg" alt="Já viu algum datacenter assim?" width="426" height="268" /><p class="wp-caption-text">Organização e datacenter, sempre andando juntos!</p></div>
<p>Se fisicamente algumas empresas mantém um <em>datacenter</em> como esse acima, imagine o que não conseguem fazer com relação a "fontes de dados" e, para tentar minimizar esse problema, o <a href="/glossario/#SOA" target="_blank">SOA</a> propõe a utilização do "data services", que não podemos afirmar ser a solução para toda e qualquer empresa, mas foi a nossa opção e tem nos atendido muito bem.</p>
<h2>Definição</h2>
<p><a href="/glossario/#DataServices" target="_blank"><strong>Data Services</strong></a>: Camada que fornece acesso às diversas fontes de dados, podendo essas fontes serem: banco de dados, planilhas ou arquivos textos.</p>
<h2>Então o que é isso afinal?</h2>
<p>Digamos que temos uma maneira de organizar aquela "bagunça" generalizada que as vezes temos em nossa arquitetura, imagine o seguinte cenário: um sistema para o RH utilizando SQL Server, o sistema de compras utilizando Firebird, uma planilha de gerenciamento de projetos em excel e o restante em um ERP próprio utilizando PostgreSQL.</p>
<p>Analisando esse cenário, aparece o problema de integrar todas essas soluções e, para não acessarmos diversas fontes de dados, cada um com seu <em>driver</em> específico, utilizamos o <a href="http://wso2.org/projects/data-services-server/java" target="_blank">WSO2 Data Services Server</a>!</p>
<p>Que - basicamente - funciona como uma camada acima de toda aquela bagunça, com uma única maneira de acesso (serviços) às várias fontes de dados e sem maiores dependências, independente da forma dos dados o acesso será o mesmo.</p>
<div id="attachment_186" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mcorp.com.br/wp-content/uploads/2009/11/wso2-data-services-list.png" rel="lightbox[173]"><img class="size-medium wp-image-186 " title="WSO2 Data Services - Lista de serviços" src="http://www.mcorp.com.br/wp-content/uploads/2009/11/wso2-data-services-list-300x155.png" alt="WSO2 Data Services - Lista de serviços" width="300" height="155" /></a><p class="wp-caption-text">WSO2 Data Services - Lista de serviços</p></div>
<p>A tela acima mostra a visão do WSO2 Data Services Server na sua página de listagem de serviços, com atalhos para o <a href="/glossario/#WSDL" target="_blank">WSDL</a> (na versões 1.1  e 2.0) e um "try-it", que são as duas formas de acesso aos serviços que expomos no WSO2 Data Services Server. E com isso teremos uma única fonte para consultar os dados de nossa empresa, atendendo uma das camadas da arquitetura que explicamos no post "<a href="http://www.mcorp.com.br/2009/11/soa-esta-para-wso2-ou-wso2-esta-para-o-soa/" target="_blank">SOA está para WSO2 ou WSO2 está para SOA?</a>".</p>
<p>O desenvolvimento desses serviços é relativamente simples e será abordado em um próximo post.</p>
<p>Caso esteja sendo muito superficial, aceito comentários e/ou críticas caso esteja muito rápido.</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.mcorp.com.br/2010/06/compilando-o-wso2-carbon-3-0-0-e-corrigindo-o-wso2-data-services-server-2-5-0/" title="Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0">Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0</a></li><li><a href="http://www.mcorp.com.br/2010/05/utilizando-o-array-type-do-wso2-data-services-server-2-5-x/" title="Utilizando o Array Type do WSO2 Data Services Server 2.5.x">Utilizando o Array Type do WSO2 Data Services Server 2.5.x</a></li><li><a href="http://www.mcorp.com.br/2010/04/novidades-do-proximo-wso2-data-services-server-2-5-x/" title="Novidades do próximo WSO2 Data Services Server (2.5.x)">Novidades do próximo WSO2 Data Services Server (2.5.x)</a></li><li><a href="http://www.mcorp.com.br/2010/04/wso2-business-activity-monitoring-sql-server/" title="WSO2 Business Activity Monitoring + SQL Server">WSO2 Business Activity Monitoring + SQL Server</a></li><li><a href="http://www.mcorp.com.br/2010/03/consumindo-um-servico-seguro-utilizando-php/" title="Consumindo um serviço seguro utilizando PHP">Consumindo um serviço seguro utilizando PHP</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.mcorp.com.br/2009/12/data-services-o-que-e-isso/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Novidades nos lançamentos (nov/2009) da plataforma WSO2</title>
		<link>http://www.mcorp.com.br/2009/11/novidades-nos-lancamentos-nov2009-da-plataforma-wso2/</link>
		<comments>http://www.mcorp.com.br/2009/11/novidades-nos-lancamentos-nov2009-da-plataforma-wso2/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 15:28:20 +0000</pubDate>
		<dc:creator>Leonardo Saraiva</dc:creator>
				<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[bpel]]></category>
		<category><![CDATA[business process]]></category>
		<category><![CDATA[carbon]]></category>
		<category><![CDATA[código aberto]]></category>
		<category><![CDATA[data services]]></category>
		<category><![CDATA[enterprise service bus]]></category>
		<category><![CDATA[esb]]></category>
		<category><![CDATA[governance registry]]></category>
		<category><![CDATA[identity]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[lançamento]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[web services application]]></category>
		<category><![CDATA[weblogic]]></category>
		<category><![CDATA[websphere]]></category>
		<category><![CDATA[wso2]]></category>
		<category><![CDATA[wso2 carbon]]></category>

		<guid isPermaLink="false">http://www.mcorp.com.br/?p=106</guid>
		<description><![CDATA[Como avisei aqui e no twitter semana passada, o pessoal do WSO2 lançou algumas atualizações nos projetos da plataforma WSO2 Carbon. Mas somente agora, com o lançamento oficial, é que podemos descobrir o que foi atualizado. Segue um resumão (baseado nas notas de lançamento) com o que foi atualizado em cada um dos projetos. WSO2 [...]]]></description>
			<content:encoded><![CDATA[<p>Como avisei <a href="http://www.mcorp.com.br/2009/11/wso2-e-a-quinta-feira-agitada-muitos-lancamentos/" target="_blank">aqui</a> e no <a href="http://www.twitter.com/vyper" target="_blank">twitter</a> semana passada, o pessoal do <a href="http://www.wso2.org" target="_blank">WSO2</a> lançou algumas atualizações nos <a href="http://wso2.org/projects" target="_blank">projetos</a> da plataforma WSO2 Carbon. Mas somente agora, com o lançamento oficial, é que podemos descobrir o que foi atualizado.</p>
<p>Segue um resumão (baseado nas notas de lançamento) com o que foi atualizado em cada um dos projetos.</p>
<h2>WSO2 Web Services Application Server (v3.1.2)</h2>
<ul>
<li>Correções em vários softwares que fazem parte dele: Apache Axis2, Apache Rampart, Apache Sandesha2, <span>WSO2</span> Carbon e alguns outros projetos;</li>
<li>Correção da limpeza de memória após reiniciar o servidor.</li>
</ul>
<p>Versão original (inglês): <a href="http://wso2.org/project/wsas/java/3.1.2/docs/release_notes.html" target="_blank">aqui</a>.</p>
<h2>WSO2 Enterprise Service Bus (v2.1.2)</h2>
<ul>
<li>Diversas melhorias e correções desde a versão 2.1.0 lançada em julho de 2009.</li>
</ul>
<p>Versão original (inglês): <a href="http://wso2.org/project/esb/java/2.1.2/docs/release-notes.html" target="_blank">aqui</a>.</p>
<h2>WSO2 Governance Registry (v3.0.2)</h2>
<ul>
<li>Melhoria no suporte a transação;</li>
<li>Suporte ao WebSphere, WebLogic e JBoss;</li>
<li>Baseado na suíte WSO2 Carbon;</li>
<li>Suporte a clusterização;</li>
<li>Correção de vários <em>bugs</em>.</li>
</ul>
<p>Versão original (inglês): <a href="http://wso2.org/project/registry/3.0.2/docs/release-notes.html" target="_blank">aqui</a>.</p>
<h2>WSO2 Business Process Server (v1.1.0)</h2>
<ul>
<li>Nova camada de integração WSO2 Carbon para o Apache ODE;</li>
<li>Utilizando Apache ODE 2.0-beta (baseado no trunk) como engine BPEL;</li>
<li>Suporte experimental para clusterização;</li>
<li>Suporte para consumo de serviços seguros (usando WS-Security);</li>
<li>Utilizando OpenJPA para camada de acesso a dados ODE;</li>
<li>Recuperação de atividades utilizando o management console;</li>
<li>Atualização online (<em>hot update</em>) do pacote BPEL facilitam o versionamento;</li>
<li>Suporte a manipulação de dados utilizando E4X nos processos BPEL.</li>
</ul>
<p>Aqui deixo um adendo, baseado em alguns testes superficiais que fiz, posso dizer que não é indicado colocar essa versão em produção. Como disseram nas notas de lançamento, muita coisa está incompleta ainda e achei alguns probleminhas. Mas é interessante tentarmos colocar os processos BPEL e realizar testes para reportarmos os problemas e ajudarmos na correção dos mesmos para a versão 1.1.1 (que espero que chegue logo).</p>
<p>Isso é até compreensível, já que se trata de uma nova versão e não apenas correções de bugs como as outras. (:</p>
<p>Versão original com cada item comentado (inglês): <a href="http://wso2.org/project/bps/1.1.0/docs/release-note.html" target="_blank">aqui</a>.</p>
<h2>WSO2 Identity Server (v2.0.2)</h2>
<ul>
<li>Correções em vários softwares que fazem parte dele: Apache Axis2, Apache Rampart, Apache Sandesha2, <span>WSO2 </span>Carbon e alguns outros projetos.</li>
</ul>
<p>Versão original (inglês): <a href="http://wso2.org/project/solutions/identity/2.0.2/docs/release-notes.html" target="_blank">aqui</a>.</p>
<h2>WSO2 Mashup Server (v2.0.1)</h2>
<ul>
<li>Interface visual para gerenciar as tarefas agendadas;</li>
<li>Baseado no WSO2 Carbon SOA Framework que irá facilitar habilitação de funções a um clique, como o gerenciamento de Data Services nas futuras versões do Mashup Server.</li>
</ul>
<p>Versão original (inglês): <a href="http://wso2.org/project/mashup/2.0.1/docs/release_notes.html" target="_blank">aqui</a>.</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.mcorp.com.br/2009/11/wso2-e-a-quinta-feira-agitada-muitos-lancamentos/" title="WSO2 e a quinta-feira agitada: muitos lançamentos">WSO2 e a quinta-feira agitada: muitos lançamentos</a></li><li><a href="http://www.mcorp.com.br/2010/05/utilizando-o-array-type-do-wso2-data-services-server-2-5-x/" title="Utilizando o Array Type do WSO2 Data Services Server 2.5.x">Utilizando o Array Type do WSO2 Data Services Server 2.5.x</a></li><li><a href="http://www.mcorp.com.br/2010/04/wso2-business-activity-monitoring-sql-server/" title="WSO2 Business Activity Monitoring + SQL Server">WSO2 Business Activity Monitoring + SQL Server</a></li><li><a href="http://www.mcorp.com.br/2010/06/compilando-o-wso2-carbon-3-0-0-e-corrigindo-o-wso2-data-services-server-2-5-0/" title="Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0">Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0</a></li><li><a href="http://www.mcorp.com.br/2010/06/lancamento-do-wso2-stratos-alpha/" title="Lançamento do WSO2 Stratos (alpha)">Lançamento do WSO2 Stratos (alpha)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.mcorp.com.br/2009/11/novidades-nos-lancamentos-nov2009-da-plataforma-wso2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WSO2 e a quinta-feira agitada: muitos lançamentos</title>
		<link>http://www.mcorp.com.br/2009/11/wso2-e-a-quinta-feira-agitada-muitos-lancamentos/</link>
		<comments>http://www.mcorp.com.br/2009/11/wso2-e-a-quinta-feira-agitada-muitos-lancamentos/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 08:38:38 +0000</pubDate>
		<dc:creator>Leonardo Saraiva</dc:creator>
				<category><![CDATA[avisos]]></category>
		<category><![CDATA[business process]]></category>
		<category><![CDATA[data services]]></category>
		<category><![CDATA[enterprise service bus]]></category>
		<category><![CDATA[esb]]></category>
		<category><![CDATA[lançamento]]></category>
		<category><![CDATA[web services application]]></category>
		<category><![CDATA[wso2]]></category>

		<guid isPermaLink="false">http://www.mcorp.com.br/?p=64</guid>
		<description><![CDATA[Uma passeadinha básica no site do WSO2 para ver o movimento do fórum e quase caio para trás quando vejo a quantidade de produtos que eles atualizaram de ontem pra hoje. Não sei se estou sendo apressado, mas o lançamento nem está na página inicial ainda, apenas nas páginas dos projetos... Mas vamos divulgando não [...]]]></description>
			<content:encoded><![CDATA[<p>Uma passeadinha básica no site do <a href="http://www.wso2.org" target="_blank">WSO2</a> para ver o movimento do <a href="http://www.wso2.org/forum" target="_blank">fórum</a> e quase caio para trás quando vejo a quantidade de produtos que eles atualizaram de ontem pra hoje.</p>
<p>Não sei se estou sendo apressado, mas o lançamento nem está na página inicial ainda, apenas nas páginas dos projetos... Mas vamos divulgando não é? Então os projetos atualizados são:</p>
<ul>
<li><a href="http://wso2.org/projects/wsas/java" target="_blank">WSO2 Web Services Application Server</a> v3.1.2;</li>
<li><a href="http://wso2.org/projects/bps" target="_blank">WSO2 Business Process Server</a> v1.1.0 (finalmente!);</li>
<li><a href="http://wso2.org/projects/esb/java" target="_blank">WSO2 Enterprise Service Bus</a> v2.1.2;</li>
<li><a href="http://wso2.org/projects/governance-registry" target="_blank">WSO2 Governance Registry</a> v3.0.2;</li>
<li> <a href="http://wso2.org/projects/identity" target="_blank">WSO2 Identity Server</a> v2.0.2;</li>
<li><a href="http://wso2.org/projects/mashup" target="_blank">WSO2 Mashup Server</a> v2.0.1.</li>
</ul>
<p>Mas ainda sinto falta das atualizações do WSO2 Data Services, que está largado na 2.0 e com alguns bugzinhos chatos que até já arrumamos e mandamos o <em>patch</em>, mas ainda assim...</p>
<p>E pensar que passei dois dias testando as alterações das últimas versões e hoje tem novas. Não consegui nem documentar as antigas... Só me resta testar novamente e homologar as novas versões.</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.mcorp.com.br/2009/11/novidades-nos-lancamentos-nov2009-da-plataforma-wso2/" title="Novidades nos lançamentos (nov/2009) da plataforma WSO2">Novidades nos lançamentos (nov/2009) da plataforma WSO2</a></li><li><a href="http://www.mcorp.com.br/2009/10/wso2-enterprise-service-bus-esb-2-1-1-lancada/" title="WSO2 Enterprise Service Bus (ESB) 2.1.1 lançada">WSO2 Enterprise Service Bus (ESB) 2.1.1 lançada</a></li><li><a href="http://www.mcorp.com.br/2010/05/utilizando-o-array-type-do-wso2-data-services-server-2-5-x/" title="Utilizando o Array Type do WSO2 Data Services Server 2.5.x">Utilizando o Array Type do WSO2 Data Services Server 2.5.x</a></li><li><a href="http://www.mcorp.com.br/2010/04/wso2-enterprise-service-bus-manipulando-erros-em-endpoints/" title="WSO2 Enterprise Service Bus &#8211; Manipulando erros em Endpoints">WSO2 Enterprise Service Bus &#8211; Manipulando erros em Endpoints</a></li><li><a href="http://www.mcorp.com.br/2010/04/novidades-do-proximo-wso2-data-services-server-2-5-x/" title="Novidades do próximo WSO2 Data Services Server (2.5.x)">Novidades do próximo WSO2 Data Services Server (2.5.x)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.mcorp.com.br/2009/11/wso2-e-a-quinta-feira-agitada-muitos-lancamentos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
