<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
  <title>Planetarium</title>
  <subtitle>WSO2Brasil</subtitle>
  <link href="http://www.wso2brasil.com.br//atom.xml" rel="self" />
  <link href="http://www.wso2brasil.com.br/" />
  <id>urn:uuid:fwweac9ev1ppbhsstthdkuhhjpubto7ayk7is</id>
  <updated>2011-11-12 17:32:44 BRST</updated>
  <generator uri="http://github.com/vyper/planetarium/">Planetarium (0.0.9) - http://github.com/vyper/planetarium/</generator>
 
  
  <entry>
    <id>http://www.mcorp.com.br/?p=642</id>
    <title>WSO2: SOA Workshop em São Paulo</title>
    <link href="http://www.mcorp.com.br/2011/11/wso2-soa-workshop-em-sao-paulo/" />
    
    <updated>2011-11-12 22:18:34 GMT</updated>
    
    <author>
      <name>Leonardo Saraiva</name>
      <uri>http://www.mcorp.com.br</uri>
    </author>
    <summary>No último fim de semana estivemos participando do Open PaaS Workshop: Understanding the Stratos Cloud Platform em São Paulo. O workshop foi uma ótima oportunidade para conhecermos outras pessoas que utilizam a plataforma. E, também, saber que um pessoal do &#8230; <a href="http://www.mcorp.com.br/2011/11/wso2-soa-workshop-em-sao-paulo/">Continue lendo <span class="meta-nav">&#8594;</span></a></summary>
    <content type="html"><p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/11/junior-chintana-amani-nuwan-leonardo.jpg" rel="lightbox[642]"><img class="alignnone size-medium wp-image-653" title="Junior, Chintana, Amani, Nuwan e Leonardo" src="http://www.mcorp.com.br/wp-content/uploads/2011/11/junior-chintana-amani-nuwan-leonardo-300x225.jpg" alt="Junior, Chintana, Amani, Nuwan e Leonardo" width="300" height="225" /></a></p>
<p>No último fim de semana estivemos participando do <a href="http://wso2.com/events/workshops/2011-november-sao-paulo-open-paas-workshop/" target="_blank">Open PaaS Workshop: Understanding the Stratos Cloud Platform</a> em São Paulo.<span id="more-642"></span></p>
<p>O <em>workshop</em> foi uma ótima oportunidade para conhecermos outras pessoas que utilizam a plataforma. E, também, saber que um pessoal do WSO2 veio ao Brasil realizar um <em>quickstart</em> em duas empresas, uma de Uberlândia e outra de São Paulo. Esses dois <em>cases</em>, são os primeiros <em>cases</em> privados que ficamos sabendo, publicamente. Estamos atrás de maiores detalhes sobre os projetos para escrevermos sobre eles.</p>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/11/wso2-soa-workshop-galera.jpg" rel="lightbox[642]"><img class="alignnone size-thumbnail wp-image-654" title="Galera" src="http://www.mcorp.com.br/wp-content/uploads/2011/11/wso2-soa-workshop-galera-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2011/11/wso2-soa-workshop-galera-2.jpg" rel="lightbox[642]"><img class="alignnone size-thumbnail wp-image-655" title="Galera" src="http://www.mcorp.com.br/wp-content/uploads/2011/11/wso2-soa-workshop-galera-2-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2011/11/wso2-soa-workshop-galera-3.jpg" rel="lightbox[642]"><img class="alignnone size-thumbnail wp-image-656" title="Galera" src="http://www.mcorp.com.br/wp-content/uploads/2011/11/wso2-soa-workshop-galera-3-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>Isso mostra que o <a href="http://wso2.org" target="_blank">WSO2</a> está em crescimento no Brasil. E o que só ajuda a confirmar esse crescimento, é a participação da concorrência no <em>workshop</em> e também outras empresas interessadas em utilizar o WSO2.</p>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/11/wso2-soa-workshop-diogenes.jpg" rel="lightbox[642]"><img class="alignnone size-medium wp-image-657" title="WSO2: SOA Workshop - Diogenes" src="http://www.mcorp.com.br/wp-content/uploads/2011/11/wso2-soa-workshop-diogenes-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>O <em>workshop</em> foi aberto pelo Diogenes Justo (<a href="http://www.indusval.com.br" target="_blank">Banco Indusval</a>) que deu uma introdução, falou um pouco do projeto, as opções estudadas e como chegou até o WSO2. Foi mais um bate-papo com a galera, passando uma visão muito interessante sobre o projeto deles. Conversamos com ele para que nos passasse mais detalhes sobre o projeto e a experiência de trabalhar com a plataforma, logo teremos boas novidades e mais conteúdo para vocês, vindo de outra fonte!</p>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/11/wso2-soa-workshop-chintana.jpg" rel="lightbox[642]"><img class="alignnone size-thumbnail wp-image-658" title="WSO2: SOA Workshop - Chintana" src="http://www.mcorp.com.br/wp-content/uploads/2011/11/wso2-soa-workshop-chintana-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2011/11/wso2-soa-workshop-nuwan.jpg" rel="lightbox[642]"><img class="alignnone size-thumbnail wp-image-659" title="WSO2: SOA Workshop - Nuwan" src="http://www.mcorp.com.br/wp-content/uploads/2011/11/wso2-soa-workshop-nuwan-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>Também tivemos o <a href="http://wso2.com/about/team/chintana-wilamuna" target="_blank">Chintana Wilamuna</a> e o <a href="http://wso2.com/about/team/nuwan-bandara" target="_blank">Nuwan Bandara</a> falando sobre a plataforma em nuvem do WSO2 (<a href="http://stratoslive.wso2.com" target="_blank">Stratos Live</a>) e tirando várias dúvidas do pessoal! Todos estavam bastante curiosos e questionadores. As dúvidas foram bastante diversificadas, não apenas sobre <em>cloud</em>. O que gerou uma conversa legal e uma ótima troca de experiências.</p>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/11/wso2-soa-workshop-amani.jpg" rel="lightbox[642]"><img class="alignnone size-medium wp-image-660" title="WSO2 - SOA Workshop - Amani" src="http://www.mcorp.com.br/wp-content/uploads/2011/11/wso2-soa-workshop-amani-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Fechando as palestras por parte do pessoal do WSO2, veio a <a href="http://wso2.com/about/team/amani-soysa/" target="_blank">Amani Soysa</a>, que falou e mostrou um pouco do poderio do <a href="http://wso2.org/library/dss" target="_blank">WSO2 Data Services Server</a>. O que é uma &#8220;sacanagem&#8221;, uma das ferramentas mais úteis e práticas. Não sou o cara mais imparcial pra falar da palestra da Amani, pois sou um amante declarado dessa do WSO2 DSS, então passo a bola.</p>
<p>E, para fechar o evento, falei um pouco sobre nossa implantação aqui no <a href="http://www.ici.curitiba.org.br" target="_blank">ICI</a>. Tracei o perfil da equipe que participou do projeto, das opções e escolhas que fizemos, um pouco das vantagens e, também, dos problemas enfrentados em uma implantação sem suporte algum, em uma realidade menos &#8216;enterprise&#8217;. E, claro, falei um pouco da comunidade <a href="http://www.wso2brasil.com.br" target="_blank">WSO2 Brasil</a> para que a galera se anime a estudar, ajudar e contribuir.</p>
<p>A minha parte da palestra foi gravada, assim que eu conseguir a gravação, compartilharei por aqui. Por enquanto segue a minha apresentação, abaixo:</p>
<p style="text-align: center;"><iframe src="https://docs.google.com/present/embed?id=dd38hq7r_18dpb73rcp" frameborder="0" width="410" height="342"></iframe></p>
<p>Resumindo, o evento foi muito bom! E para fechar com chave de ouro, recebemos um convite para acompanhar o <em>quickstart</em> do pessoal do WSO2 (pequenos <em>workshops</em> e instalação de alguns produtos) no <a href="http://www.indusval.com.br" target="_blank">Banco Indusval</a> de São Paulo. Um dos motivos da demora para escrevermos sobre.</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.mcorp.com.br/2011/06/novidades-wso2-data-services-server-2-6-x/" title="Novidades WSO2 Data Services Server (2.6.x)">Novidades WSO2 Data Services Server (2.6.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/2011/10/wso2-data-services-server-e-suas-atualizacoes/" title="WSO2 Data Services Server e suas atualizações">WSO2 Data Services Server e suas atualizações</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></ul></content>
    <source>
      <title type="html">mcorp. » wso2</title>
      <link rel="self" href="http://www.mcorp.com.br/tag/wso2/feed/atom/"/>
      <id>http://www.mcorp.com.br/tag/wso2/feed/atom/</id>
      <updated>2011-11-12 20:18:34 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.mcorp.com.br/?p=619</id>
    <title>WSO2 Data Services Server e suas atualizações</title>
    <link href="http://www.mcorp.com.br/2011/10/wso2-data-services-server-e-suas-atualizacoes/" />
    
    <updated>2011-10-06 18:58:00 GMT</updated>
    
    <author>
      <name>Leonardo Saraiva</name>
      <uri>http://www.mcorp.com.br</uri>
    </author>
    <summary>Se tem uma tarefa que toma muito tempo nosso, são os testes quando sai versão nova de algum produto do WSO2. Estamos trabalhando na migração do WSO2 Data Services Server 2.5.1 para a 2.6.0 e isso gera uma árdua tarefa &#8230; <a href="http://www.mcorp.com.br/2011/10/wso2-data-services-server-e-suas-atualizacoes/">Continue lendo <span class="meta-nav">&#8594;</span></a></summary>
    <content type="html"><p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/10/testes-e-a-neura.jpg" rel="lightbox[619]"><img class="alignnone size-full wp-image-620" title="Testes e a neura" src="http://www.mcorp.com.br/wp-content/uploads/2011/10/testes-e-a-neura.jpg" alt="" width="430" height="424" /></a></p>
<p>Se tem uma tarefa que toma muito tempo nosso, são os testes quando sai versão nova de algum produto do <a href="http://wso2.org" target="_blank">WSO2</a>.</p>
<p>Estamos trabalhando na migração do <a href="/tag/data-services/" target="_blank">WSO2 Data Services Server</a> <a href="/2010/04/novidades-do-proximo-wso2-data-services-server-2-5-x/">2.5.1</a> para a <a href="/2011/06/novidades-wso2-data-services-server-2-6-x/">2.6.0</a> e isso gera uma árdua tarefa de testar todos os serviços que temos rodando, que rodam com diferentes banco de dados (<a href="http://dev.mysql.com" target="_blank">MySQL</a>, <a href="http://www.postgresql.org" target="_blank">PostgreSQL</a>, <a href="http://www.microsoft.com/sqlserver/" target="_blank">SQL Server</a>, <a href="http://www.oracle.com/br/" target="_blank">Oracle</a>).</p>
<p>Na maioria das vezes não encontramos problema algum ou apenas uma pequena mudança de atributo ou <em>tag</em> na definição dos .dbs. Mas as vezes encontramos problemas que fogem da simples configuração do data service, e como aconteceu agora conosco: um <em>bug</em>.</p>
<p>Para tentar minimizar esse trabalho gerei um projeto que tem a ideia de automatizar ao máximo esse tipo de trabalho! E, para com isso, irmos além dos testes unitários que são realizados pelo pessoal do desenvolvimento do WSO2, testar as interfaces em real funcionamento, nos mais variados bancos de dados.</p>
<p>E assim nasceu o pequeno projeto <a href="http://github.com/WSO2Brasil/wso2-ds-tests" target="_blank">wso2-ds-tests</a>. Que é um apanhando de data services, sql&#8217;s e projeto do <a href="http://www.soapui.org/" target="_blank">SOAPUI</a>. Para maiores informações basta <a href="http://github.com/WSO2Brasil/wso2-ds-tests" target="_blank">acessar o projeto</a> no <a href="http://github.com" target="_blank">Github</a>!</p>
<p>Deem uma olhadela por lá e qualquer contribuição é muito bem vinda, basta fazer um <em>fork</em> e mandar um <em>pull request</em>.</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/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/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/2011/06/novidades-wso2-data-services-server-2-6-x/" title="Novidades WSO2 Data Services Server (2.6.x)">Novidades WSO2 Data Services Server (2.6.x)</a></li></ul></content>
    <source>
      <title type="html">mcorp. » wso2</title>
      <link rel="self" href="http://www.mcorp.com.br/tag/wso2/feed/atom/"/>
      <id>http://www.mcorp.com.br/tag/wso2/feed/atom/</id>
      <updated>2011-11-12 20:18:34 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.mcorp.com.br/?p=579</id>
    <title>Novidades WSO2 Data Services Server (2.6.x)</title>
    <link href="http://www.mcorp.com.br/2011/06/novidades-wso2-data-services-server-2-6-x/" />
    
    <updated>2011-06-11 18:41:15 GMT</updated>
    
    <author>
      <name>Leonardo Saraiva</name>
      <uri>http://www.mcorp.com.br</uri>
    </author>
    <summary>Tenho acompanhado os builds diários que o pessoal do WSO2 tem feito e logo percebi várias novidades na interface, alteração essa que acontecerá em todos or produtos da série Carbon 3.2.*. Mas, hoje eu tratarei apenas das novidades que teremos &#8230; <a href="http://www.mcorp.com.br/2011/06/novidades-wso2-data-services-server-2-6-x/">Continue lendo <span class="meta-nav">&#8594;</span></a></summary>
    <content type="html"><p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-home.png" rel="lightbox[579]"><img class="alignnone size-medium wp-image-581" title="WSO2 - Data Services Server 2.6.0 - Home" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-home-300x159.png" alt="WSO2 - Data Services Server 2.6.0 - Home" width="300" height="159" /></a></p>
<p>Tenho acompanhado os <a href="http://builder.wso2.org/~carbon/releases/carbon/3.2.0/"><em>builds</em> diários</a> que o pessoal do <a href="http://wso2.org/">WSO2</a> tem feito e logo percebi várias novidades na interface, alteração essa que acontecerá em todos or produtos da série Carbon 3.2.*.</p>
<p>Mas, hoje eu tratarei apenas das novidades que teremos no Data Services Server, que são muitas e algumas bem importantes e há muito esperadas!</p>
<ul>
<li><a href="/2011/06/novidades-wso2-data-services-server-2-6-x/#udt-support">UDT (User Defined Type) Support</a></li>
<li><a href="/2011/06/novidades-wso2-data-services-server-2-6-x/#complex-results">Complex Results</a></li>
<li><a href="/2011/06/novidades-wso2-data-services-server-2-6-x/#auto-generated-keys-support">Auto Generated Keys Support</a></li>
<li><a href="/2011/06/novidades-wso2-data-services-server-2-6-x/#distributed-transactions">Distributed Transactions</a></li>
<li><a href="/2011/06/novidades-wso2-data-services-server-2-6-x/#improved-boxcarring-support">Improved Boxcarring Support</a></li>
<li><a href="/2011/06/novidades-wso2-data-services-server-2-6-x/#improved-batch-request-support">Improved Batch Request Support</a></li>
<li><a href="/2011/06/novidades-wso2-data-services-server-2-6-x/#scheduled-tasks">Scheduled Tasks</a></li>
<li><a href="/2011/06/novidades-wso2-data-services-server-2-6-x/#registry-integration">Registry Integration for Excel, CSV, XSLT</a></li>
<li><a href="/2011/06/novidades-wso2-data-services-server-2-6-x/#web-scraping-support">Web Scraping Support</a></li>
<li><a href="/2011/06/novidades-wso2-data-services-server-2-6-x/#multiple-sql-dialect-support">Multiple SQL Dialect Support</a></li>
<li><a href="/2011/06/novidades-wso2-data-services-server-2-6-x/#db-to-ds-generation">Database to Data Service Generation</a></li>
<li><a href="/2011/06/novidades-wso2-data-services-server-2-6-x/#data-service-query-improvements">Data Service Query Improvements</a></li>
<li><a href="/2011/06/novidades-wso2-data-services-server-2-6-x/#service-group-hierarchy-support">Service Group/Hierarchy Support</a></li>
<li><a href="/2011/06/novidades-wso2-data-services-server-2-6-x/#database-explorer">Database Explorer</a></li>
<li><a href="/2011/06/novidades-wso2-data-services-server-2-6-x/#dss-stratos-service">Data as a Service Features &#8211; DSS Stratos Service</a></li>
</ul>
<p><span id="more-579"></span></p>
<h3><a name="udt-support"></a>UDT (User Defined Type) Support</h3>
<p>Não encontrei maiores detalhes na documentação ou no próprio WSO2 Data Services Server, talvez não tenha saído ainda nessa <em>release</em>.</p>
<h3><a name="complex-results"></a>Complex Results</h3>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-complex-elements-list.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-582" title="WSO2 Data Services Server 2.6.0 - Complex Elements - List" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-complex-elements-list-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Complex Elements - List" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-complex-elements-insert-nested.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-583" title="WSO2 Data Services Server 2.6.0 - Complex Elements - Insert nested" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-complex-elements-insert-nested-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Complex Elements - Insert nested" width="150" height="150" /></a></p>
<p>Agora fica possível criar elementos complexos, facilitando algumas coisas em que era necessário utilizar um <em>transformation</em> (XSLT) ou <em>sub-queries</em>, ganhando &#8211; e muito &#8211; em performance.</p>
<h3><a name="auto-generated-keys-support"></a>Auto Generated Keys Support</h3>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-generate-keys.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-585" title="WSO2 Data Services Server 2.6.0 - Generate keys" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-generate-keys-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Generate keys" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-generate-keys-invoke.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-586" title="WSO2 Data Services Server 2.6.0 - Generate keys: Invoke" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-generate-keys-invoke-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Generate keys: Invoke" width="150" height="150" /></a></p>
<p>Muito útil para recuperar a <em>primary key</em> de um registro inserido no banco, tirando a necessidade de fazer <em>stored procedures</em> ou outro método de consumo apenas para recuperar a chave inserida.</p>
<h3><a name="distributed-transactions"></a>Distributed Transactions</h3>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-distribute-transactions.png" rel="lightbox[579]"><img class="alignnone size-medium wp-image-587" title="WSO2 Data Services Server 2.6.0 - Distribute Transactions" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-distribute-transactions-300x159.png" alt="WSO2 Data Services Server 2.6.0 - Distribute Transactions" width="300" height="159" /></a></p>
<p>Uma maneira de realizar transações distribuídas (na maioria das vezes em <em>databases</em> separados), será usado JTA para controlar as transações e também é necessário que usará XA. Com isso ganhamos em não mais precisarmos controlar isso manualmente com um serviço no WSO2 Application Server.</p>
<h3><a name="improved-boxcarring-support"></a>Improved Boxcarring Support</h3>
<p>Apenas melhorias no suporte que já existia desde a versão 2.5.0, não encontrei nenhuma alteração visual ou no processo de desenvolvimento.</p>
<h3><a name="improved-batch-request-support"></a>Improved Batch Request Support</h3>
<p>Apenas melhorias no suporte que já existia desde a versão 2.5.0, não encontrei nenhuma alteração visual ou no processo de desenvolvimento.</p>
<h3><a name="scheduled-tasks"></a>Scheduled Tasks</h3>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-scheduled-tasks.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-588" title="WSO2 Data Services Server 2.6.0 - Scheduled Tasks" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-scheduled-tasks-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Scheduled Tasks" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-scheduled-tasks-inserting.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-589" title="WSO2 Data Services Server 2.6.0 - Scheduled Tasks: Insert" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-scheduled-tasks-inserting-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Scheduled Tasks: Insert" width="150" height="150" /></a></p>
<p>Agora, ao invés de fazermos <em>shell scripts</em> que ficam na <em>crontab</em> do servidor para agendar alguns consumos, podemos fazer isso diretamente no WSO2 Data Services Server.</p>
<h3><a name="registry-integration"></a>Registry Integration for Excel, CSV, XSLT</h3>
<p>Não encontrei maiores detalhes na documentação ou no próprio WSO2 Data Services Server, talvez não tenha saído ainda nessa <em>release</em>.</p>
<h3><a name="web-scraping-support"></a>Web Scraping Support</h3>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-web-scraping-data-source.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-590" title="WSO2 Data Services Server 2.6.0 - Web Scraping: Data Source" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-web-scraping-data-source-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Web Scraping: Data Source" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-web-scraping-query.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-591" title="WSO2 Data Services Server 2.6.0 - Web Scraping: Query" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-web-scraping-query-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Web Scraping: Query" width="150" height="150" /></a></p>
<p>Poderemos consumir dados diretamente de sites, fazendo <em>parser</em> em conteúdo de páginas, por exemplo.</p>
<h3><a name="multiple-sql-dialect-support"></a>Multiple SQL Dialect Support</h3>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-dialects-options.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-594" title="WSO2 Data Services Server 2.6.0 - Multiple Dialects SQL: Options" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-dialects-options-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Multiple Dialects SQL: Options" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-dialects-sql-add.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-595" title="WSO2 Data Services Server 2.6.0 - Multiple Dialects SQL: Add" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-dialects-sql-add-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Multiple Dialects SQL: Add" width="150" height="150" /></a></p>
<p>Apesar de ter encontrado referências na <em>wizard</em> de criação/alteração de serviços, não encontrei nada na documentação ou entendi como funcionará, vamos aguardar outros <em>releases</em>.</p>
<h3><a name="db-to-ds-generation"></a>Database to Data Service</h3>
<p><a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-db-to-ws.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-596" title="WSO2 Data Services Server 2.6.0 - Database to Data Service Generation" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-db-to-ws-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Database to Data Service Generation" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-db-to-ws-choise-type.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-597" title="WSO2 Data Services Server 2.6.0 - Database to Data Service Generation: Choise Type" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-db-to-ws-choise-type-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Database to Data Service Generation: Choise Type" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-db-to-ws-select-tables.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-598" title="WSO2 Data Services Server 2.6.0 - Database to Data Service Generation: Select Tables" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-db-to-ws-select-tables-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Database to Data Service Generation: Select Tables" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-db-to-ws-tryit.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-599" title="WSO2 Data Services Server 2.6.0 - Database to Data Service Generation: Try-it" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-db-to-ws-tryit-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Database to Data Service Generation: Try-it" width="150" height="150" /></a></p>
<p>Nessa versão é possível gerar automaticamente os métodos para um database e tabela específico, mas apenas para Carbon Data Sources. Apesar de não ter gostado no padrão gerado, pode ser bom para gerar o CRUD básico e ser alterado posteriormente.</p>
<h3><a name="data-service-query-improvements"></a>Data Service Query Improvements</h3>
<p>Imagino que tenha sido apenas melhorias nas rotinas internas de montagem e processamento de <em>queries</em>. Porque as opções avançadas de <em>query</em> já existiam na versão 2.5.*.</p>
<h3><a name="service-group-hierarchy-support"></a>Service Group/Hierarchy Support</h3>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-group-option.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-601" title="WSO2 Data Services Server 2.6.0 - Service Group: Option" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-group-option-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Service Group: Option" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-group-list.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-602" title="WSO2 Data Services Server 2.6.0 - Service Group: List" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-group-list-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Service Group: List" width="150" height="150" /></a></p>
<p>Apenas um agrupamento de serviços, imagino que venha como padrão em todo aplicativo da suíte Carbon, pois em alguns outros aplicativos já existia essa opção.</p>
<h3><a name="database-explorer"></a>Database Explorer</h3>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-dbconsole-login.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-603" title="WSO2 Data Services Server 2.6.0 - Database Console: Login" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-dbconsole-login-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Database Console: Login" width="150" height="150" /></a> <a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-dbconsole-simple-query.png" rel="lightbox[579]"><img class="alignnone size-thumbnail wp-image-604" title="WSO2 Data Services Server 2.6.0 - Database Console: Simple Query" src="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-dbconsole-simple-query-150x150.png" alt="WSO2 Data Services Server 2.6.0 - Database Console: Simple Query" width="150" height="150" /></a></p>
<p>Uma novidade muito interessante e prática, eles colocaram dentro do WSO2 Data Services Server uma maneira de explorarmos as bases de dados. E a interface lembra bastante o <a href="http://www.squirrelsql.org/" target="_blank">SQuirreL SQL</a>, ficou muito prático.</p>
<h3><a name="dss-stratos-service"></a>Data as a Service Features &#8211; DSS Stratos Service</h3>
<p>Existem algumas novidades também sobre os produtos como serviço na nuvem, que chamam de <a href="http://www.mcorp.com.br/2010/06/lancamento-do-wso2-stratos-alpha/">Stratos</a>, mas não encontrei documentação nesse <em>build</em>.</p>
<p>E algumas outras pequenas alterações que foram percebidas, como:</p>
<ul>
<li><a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-generate-response.png" rel="lightbox[579]">Generate response</a>: baseado na <em>query</em> é gerada a resposta do serviço;</li>
<li><a href="http://www.mcorp.com.br/wp-content/uploads/2011/06/wso2-data-services-server-2.6.0-force-stored-procedure.png" rel="lightbox[579]">Force stored procedure</a>: força a executar a <em>query</em> como uma <em>stored procedure</em>;</li>
<li>Entre outras inúmeras pequenas alterações que vão sendo notadas no uso dia-a-dia.</li>
</ul>
<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/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/2011/11/wso2-soa-workshop-em-sao-paulo/" title="WSO2: SOA Workshop em São Paulo">WSO2: SOA Workshop em São Paulo</a></li><li><a href="http://www.mcorp.com.br/2011/10/wso2-data-services-server-e-suas-atualizacoes/" title="WSO2 Data Services Server e suas atualizações">WSO2 Data Services Server e suas atualizações</a></li></ul></content>
    <source>
      <title type="html">mcorp. » wso2</title>
      <link rel="self" href="http://www.mcorp.com.br/tag/wso2/feed/atom/"/>
      <id>http://www.mcorp.com.br/tag/wso2/feed/atom/</id>
      <updated>2011-11-12 20:18:34 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.mcorp.com.br/?p=567</id>
    <title>SOA Summer School 2011</title>
    <link href="http://www.mcorp.com.br/2011/05/soa-summer-school-2011/" />
    
    <updated>2011-05-06 12:17:35 GMT</updated>
    
    <author>
      <name>Leonardo Saraiva</name>
      <uri>http://www.mcorp.com.br</uri>
    </author>
    <summary>Movimentando, novamente, nossas férias de inverno (verão para os estadunidenses) tem o SOA Summer School, versão 2011. Várias palestras (online) ministradas pelo pessoal do WSO2, uma vez por semana, falando sobre vários assuntos (lista de palestras abaixo). Disponibilizei um calendário &#8230; <a href="http://www.mcorp.com.br/2011/05/soa-summer-school-2011/">Continue lendo <span class="meta-nav">&#8594;</span></a></summary>
    <content type="html"><p style="text-align: center;"><img class="size-full wp-image-573 aligncenter" title="SOA Summers School - 2011" src="http://www.mcorp.com.br/wp-content/uploads/2011/05/summerschool-2011.gif" alt="" width="682" height="144" /></p>
<p>Movimentando, novamente, nossas férias de inverno (verão para os estadunidenses) tem o SOA Summer School, versão 2011. Várias palestras (<em>online</em>) ministradas pelo pessoal do <a href="http://www.wso2.org" target="_blank">WSO2</a>, uma vez por semana, falando sobre vários assuntos (lista de palestras abaixo).</p>
<p>Disponibilizei um calendário no fuso horário GMT -3 (America/Sao_Paulo) para que não esqueçamos do evento.</p>
<p><iframe src="https://www.google.com/calendar/b/0/embed?showPrint=0&amp;showCalendars=0&amp;mode=AGENDA&amp;height=450&amp;wkst=1&amp;bgcolor=%23FFFFFF&amp;src=maneh.org_j9mbgf10sln3f2k01d94n0fl10%40group.calendar.google.com&amp;color=%23182C57&amp;ctz=America%2FSao_Paulo" style=" border-width:0 " width="600" height="450" frameborder="0" scrolling="no"></iframe></p>
<p>Fiquem ligados e não se esqueçam de realizar a inscrição no site do <a href="http://wso2.org/training" target="_blank">SOA Summer School 2011</a>!</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.mcorp.com.br/2011/11/wso2-soa-workshop-em-sao-paulo/" title="WSO2: SOA Workshop em São Paulo">WSO2: SOA Workshop em São Paulo</a></li><li><a href="http://www.mcorp.com.br/2011/10/wso2-data-services-server-e-suas-atualizacoes/" title="WSO2 Data Services Server e suas atualizações">WSO2 Data Services Server e suas atualizações</a></li><li><a href="http://www.mcorp.com.br/2011/06/novidades-wso2-data-services-server-2-6-x/" title="Novidades WSO2 Data Services Server (2.6.x)">Novidades WSO2 Data Services Server (2.6.x)</a></li><li><a href="http://www.mcorp.com.br/2011/02/seguranca-de-informacoes-atraves-de-filtragem-de-dados-no-wso2-data-services/" title=" Segurança de informações através de filtragem de dados no WSO2 Data Services"> Segurança de informações através de filtragem de dados no WSO2 Data Services</a></li><li><a href="http://www.mcorp.com.br/2011/01/lancamento-do-wso2-complex-event-processing-server-1-0-0-alpha/" title="Lançamento do WSO2 Complex Event Processing Server 1.0.0 (Alpha)">Lançamento do WSO2 Complex Event Processing Server 1.0.0 (Alpha)</a></li></ul></content>
    <source>
      <title type="html">mcorp. » wso2</title>
      <link rel="self" href="http://www.mcorp.com.br/tag/wso2/feed/atom/"/>
      <id>http://www.mcorp.com.br/tag/wso2/feed/atom/</id>
      <updated>2011-11-12 20:18:34 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.mcorp.com.br/?p=499</id>
    <title>Segurança de informações através de filtragem de dados no WSO2 Data Services</title>
    <link href="http://www.mcorp.com.br/2011/02/seguranca-de-informacoes-atraves-de-filtragem-de-dados-no-wso2-data-services/" />
    
    <updated>2011-02-24 22:30:30 GMT</updated>
    
    <author>
      <name>José Nogueira</name>
      <uri>http://www.mcorp.com.br</uri>
    </author>
    <summary>Em alguns casos, podemos nos deparar com a necessidade de confidencializar alguns dados no retorno de Data Services, exibindo-os apenas para determinados grupos de usuários, tanto por questão de segurança (quando algum grupo específico não pode ter acesso a algumas informações),  &#8230; <a href="http://www.mcorp.com.br/2011/02/seguranca-de-informacoes-atraves-de-filtragem-de-dados-no-wso2-data-services/">Continue lendo <span class="meta-nav">&#8594;</span></a></summary>
    <content type="html"><p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/02/cadeado.jpg" rel="lightbox[499]"><img class="alignnone size-medium wp-image-543" title="Cadeados (por: MissTessmacher @ Flickr)" src="http://www.mcorp.com.br/wp-content/uploads/2011/02/cadeado-300x199.jpg" alt="" width="300" height="199" /></a></p>
<p>Em alguns casos, podemos nos deparar com a necessidade de confidencializar alguns dados no retorno de <a href="http://www.mcorp.com.br/glossario/#DataServices" target="_blank">Data Services</a>, exibindo-os apenas para determinados grupos de usuários, tanto por questão de segurança (quando algum grupo específico não pode ter acesso a algumas informações),  quanto por não ter a necessidade de utilizar esse retorno, para que assim não precisemos criar dois serviços com a mesma finalidade. O WSO2 Data Services Server oferece a possibilidade de filtrar esses dados no retorno de uma <em>query</em>, através do <a href="http://www.mcorp.com.br/glossario/#WS-Security" target="_blank">WS-Security</a> (tem como foco principal o uso de <a href="http://www.mcorp.com.br/glossario/#XML-Signature" target="_blank">XML Signature</a> e <a href="http://www.mcorp.com.br/glossario/#XML-Encryption" target="_blank">XML Encryption</a>).<br />
Nesse caso irei exemplificar a seguinte situação: um serviço que retorna dados referente aos funcionários, sendo consumido por dois departamentos: o RH (que necessita dos dados referente aos pagamentos dos honorários) e o setor de segurança (que utiliza apenas os dados cadastrais para acesso dos funcionários as dependências da empresa).</p>
<p>Iremos utilizar nesse exemplo o WSO2 Data Services Server em sua versão 2.5.1 (nesse caso considerando um conhecimento básico da suíte <a href="http://www.mcorp.com.br/glossario/#WSO2" target="_blank">WSO2</a>, caso contrário consulte os <a href="http://www.mcorp.com.br/tag/wso2"><em>posts</em> relacionados ao WSO2</a>):</p>
<ul>
<li><a href="http://www.leandroprado.com.br/2010/07/criando-um-ambiente-soa-com-wso2/" target="_blank">Criando um ambiente SOA com WSO2</a></li>
<li><a href="http://www.leandroprado.com.br/2010/09/criando-servicos-com-o-wso2-parte-1-wso2-data-services/" target="_blank">Criando serviços com WSO2 Data Services</a></li>
</ul>
<p>Supondo que possuímos o banco de dados, com uma tabela simples chamada de TB_FUNCIONARIOS, com os campos: ID, NOME E SALARIO.</p>
<h2>Etapa 1 &#8211; Criando o usuário</h2>
<p>Logado ao WSO2 Data Services Server vá em &#8220;Home &gt; Configure &gt; User Management &gt; Users&#8221;, para que possamos criar novos usuários, nesse caso criaremos os usuários &#8220;Maria&#8221; que faz parte do departamento de RH da empresa e &#8220;Joao&#8221; que faz parte da segurança do prédio. Click em &#8220;Add User&#8221; para preenchermos os dados do usuário que será cadastrado.</p>
<div id="attachment_508" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.0-add-user-wso2.jpg" rel="lightbox[499]"><img class="size-medium wp-image-508" src="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.0-add-user-wso2-300x205.jpg" alt="add user wso2" width="300" height="205" /></a><p class="wp-caption-text">add user wso2</p></div>
<p>Após inserir os dados do usuário, clicar em &#8220;finish&#8221;, repetir o procedimento pro cadastro do outro usuário. Podemos listar os usuários criados como mostra a imagem.</p>
<div id="attachment_509" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.1-list-user-wso2.jpg" rel="lightbox[499]"><img class="size-medium wp-image-509" src="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.1-list-user-wso2-300x149.jpg" alt="list user wso2" width="300" height="149" /></a><p class="wp-caption-text">list user wso2</p></div>
<h2>Etapa 2 &#8211; Criando grupos de usuários</h2>
<p>Com nossos usuários criados, vamos gerar um grupo para vincular ao perfil do usuário. Vá em &#8220;Home &gt; Configure &gt; Users and Roles &gt; Roles&#8221;, serão listados os grupos existentes no WSO2, clique em &#8220;Add New Role&#8221; que abrirá a tela para cadastrarmos os grupos.</p>
<p>Crie um grupo com o nome &#8220;RecursosHumanos&#8221;, em seguida clique em &#8220;next&#8221;, aparecerá a tela com os flags de permissões e previlégios para os membros do grupo. Nesse caso vamos selecionar a opção &#8220;All permissions&#8221;, para que sejam marcadas todas as opções. Enquanto estamos criando o grupo, já podemos vincular os usuários que farão parte do mesmo, faça uma busca listando todos os usuários e selecione o usuário &#8220;Maria&#8221; criado anteriormente, como na imagem abaixo e finalize.</p>
<div id="attachment_512" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.2-select-user-wso2.jpg" rel="lightbox[499]"><img class="size-medium wp-image-512" src="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.2-select-user-wso2-300x170.jpg" alt="select user wso2" width="300" height="170" /></a><p class="wp-caption-text">select user wso2</p></div>
<p>Agora usando o mesmo processo vamos criar o grupo &#8220;Seguranca&#8221;. Observe que quando selecionamos algum usuário criado e vinculado ao grupo, o mesmo possui um ou vários grupos selecionados.</p>
<div id="attachment_513" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.3-roles-of-users-wso2.jpg" rel="lightbox[499]"><img class="size-medium wp-image-513" src="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.3-roles-of-users-wso2-300x176.jpg" alt="roles of users wso2" width="300" height="176" /></a><p class="wp-caption-text">roles of users wso2</p></div>
<h2>Etapa 3 &#8211;  Filtrando dados da consulta</h2>
<p>Com os usuários e grupos devidamente criados vamos finalmente ao que interessa, filtrar os dados de acordo com o perfil de cada grupo. Considerando que já exista um serviço &#8220;empresa&#8221;, vamos criar o método &#8220;pesquisarFuncionario&#8221; para demonstrar como filtrar os dados de retorno do método. Nesse caso, o método nos retornará os campos &#8220;ID&#8221; e &#8220;NOME&#8221; para o grupo Segurança, e &#8220;ID&#8221;, &#8220;NOME&#8221; e &#8220;SALARIO&#8221; para o grupo RecursosHumanos.</p>
<p>Iremos em &#8220;Home &gt; Manage &gt; Services &gt; List &gt; Service Dashboard &gt; Service Details &gt; Data Sources &gt; Queries&#8221;,  para inserirmos nosso novo método. Preenchemos com o SQL, o campo de entrada, e na hora em que formos preencher o retorno será onde a &#8220;mágica&#8221; acontecerá.</p>
<div id="attachment_515" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.4-edit-query-wso2.jpg" rel="lightbox[499]"><img class="size-medium wp-image-515" src="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.4-edit-query-wso2-300x176.jpg" alt="edit query wso2" width="300" height="176" /></a><p class="wp-caption-text">edit query wso2</p></div>
<p>No item &#8220;Add new output Mapping&#8221; abriremos a tela para cadastrar um novo campo de retorno, preenchemos o tipo do campo, o nome de saída e o nome do campo no SQL. Abaixo dessas opções temos o item &#8220;Allowed User Roles&#8221;, aonde aparecerão os grupos que criamos anteriormente, para os campos &#8220;ID E NOME&#8221; selecionaremos ambos os grupos, no caso do campo &#8220;SALARIO&#8221; selecionaremos apenas o grupo RecursosHumanos, com o método criado mostraremos como consumir esse método filtrando os dados.</p>
<div id="attachment_516" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.5-add-edit-output-mapping-wso2.jpg" rel="lightbox[499]"><img class="size-medium wp-image-516" src="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.5-add-edit-output-mapping-wso2-300x160.jpg" alt="add edit output mapping wso2" width="300" height="160" /></a><p class="wp-caption-text">add edit output mapping wso2</p></div>
<h2>Etapa 4 &#8211; Testando a filtragem de dados</h2>
<p>Agora vamos abrir a opção &#8221; Home &gt; Manage &gt; Services &gt; List &gt; Service Dashboard &gt; Security for the service &gt; Activate Security &gt; Service Dashboard &gt; Security for the service&#8221;, selecionamos a opção &#8220;yes&#8221; no combo e setamos o flag &#8220;UsernameToken&#8221;, assim estaremos habilitando segurança por grupo e usuário do cliente.</p>
<div id="attachment_517" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.6-security-for-the-service-wso2.jpg" rel="lightbox[499]"><img class="size-medium wp-image-517" src="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.6-security-for-the-service-wso2-300x130.jpg" alt="security for the service wso2" width="300" height="130" /></a><p class="wp-caption-text">security for the service wso2</p></div>
<p>Simulando a execução do serviço, no próprio WSO2 Data Services Server, podemos perceber que aparecem as opções &#8220;username&#8221; e &#8220;password&#8221;. O retorno será filtrado de acordo com o usuário que for preenchido nesses campos. Executando a consulta, notaremos que o campo &#8220;SALARIO&#8221; só aparece no retorno se utilizarmos o usuário &#8220;Maria&#8221;.</p>
<div id="attachment_519" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.9-full-return-service-wso2.jpg" rel="lightbox[499]"><img class="size-medium wp-image-519" src="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.9-full-return-service-wso2-300x126.jpg" alt="full return service wso2" width="300" height="126" /></a><p class="wp-caption-text">full return service wso2</p></div>
<div id="attachment_520" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.8-parcial-return-service-wso2.jpg" rel="lightbox[499]"><img class="size-medium wp-image-520" src="http://www.mcorp.com.br/wp-content/uploads/2011/02/figura1.8-parcial-return-service-wso2-300x128.jpg" alt="parcial return service wso2" width="300" height="128" /></a><p class="wp-caption-text">partial return service wso2</p></div>
<p>Espero ter colaborado, sugestões e criticas são sempre bem vindas, focando o objetivo de transformar a comunidade <a href="http://www.wso2brasil.com.br/" target="_blank">WSO2 Brasil</a> cada vez mais forte, até o próximo post.</p>
<p>Post baseado no artigo &#8220;<a href="http://wso2.org/library/articles/content-filtering-data-services-user-roles" target="_blank">content filtering data services user roles</a>&#8221; de Anjana Fernando &#8211; Software Engineer WSO2.</p>
<p>Pode ser visto um exemplo de <a href="http://www.mcorp.com.br/2010/03/consumindo-um-servico-seguro-utilizando-php/" target="_blank">consumo um servico seguro utilizando php</a>.</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><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><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/2011/10/wso2-data-services-server-e-suas-atualizacoes/" title="WSO2 Data Services Server e suas atualizações">WSO2 Data Services Server e suas atualizações</a></li><li><a href="http://www.mcorp.com.br/2011/06/novidades-wso2-data-services-server-2-6-x/" title="Novidades WSO2 Data Services Server (2.6.x)">Novidades WSO2 Data Services Server (2.6.x)</a></li></ul></content>
    <source>
      <title type="html">mcorp. » wso2</title>
      <link rel="self" href="http://www.mcorp.com.br/tag/wso2/feed/atom/"/>
      <id>http://www.mcorp.com.br/tag/wso2/feed/atom/</id>
      <updated>2011-11-12 20:18:34 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.mcorp.com.br/?p=478</id>
    <title>Lançamento do WSO2 Complex Event Processing Server 1.0.0 (Alpha)</title>
    <link href="http://www.mcorp.com.br/2011/01/lancamento-do-wso2-complex-event-processing-server-1-0-0-alpha/" />
    
    <updated>2011-01-04 10:28:06 GMT</updated>
    
    <author>
      <name>Leonardo Saraiva</name>
      <uri>http://www.mcorp.com.br</uri>
    </author>
    <summary>Foi lançado ontem na lista de desenvolvedores do WSO2 (carbon-dev@wso2.org) o WSO2 Complex Event Processing Server, em sua versão 1.0.0 (alpha), faz com que tenhamos processamento de eventos complexos em nosso ambiente SOA. Alguns dos recursos que podemos encontrar no &#8230; <a href="http://www.mcorp.com.br/2011/01/lancamento-do-wso2-complex-event-processing-server-1-0-0-alpha/">Continue lendo <span class="meta-nav">&#8594;</span></a></summary>
    <content type="html"><p style="text-align: center;"><img class="alignnone size-medium wp-image-479" title="WSO2 Complex Event Processing Server" src="http://www.mcorp.com.br/wp-content/uploads/2011/01/wso2-complex-event-processing-server-300x28.gif" alt="" width="300" height="28" /></p>
<p>Foi lançado ontem na lista de desenvolvedores do WSO2 (carbon-dev@wso2.org) o WSO2 Complex Event Processing Server, em sua versão 1.0.0 (alpha), faz com que tenhamos processamento de eventos complexos em nosso ambiente SOA.</p>
<p>Alguns dos recursos que podemos encontrar no WSO2 CEP:</p>
<ul>
<li>Plugable back end rutime support &#8211; WSO2 CEP supports following back end run time engines.
<ul>
<li>Drools Fusion &#8211; This back end runtime engine is distributed with the CEP pack</li>
<li>Esper     &#8211; This back end runtime is available at WSO2 GPL P2 repository : <a href="http://dist.wso2.org/wso2-gpl-p2/carbon/releases/3.1.0-alpha/" target="_blank">http://dist.wso2.org/wso2-gpl-p2/carbon/releases/3.1.0-alpha/</a> and can be added as a feature with WSO2 Carbon Feature Management.</li>
</ul>
</li>
<li>Support Multiple Broker Types &#8211; WSO2 CEP supports WS-Event and JMS-Qpid broker types;</li>
<li>GUI Support -  WSO2 CEP supports create,edit,delete operations on Buckets, Inputs and Queries;</li>
<li>Use Registry resources &#8211; WSO2 CEP supports using resources stored in registry (Queries) to create buckets;</li>
<li>Persistence   &#8211; WSO2 CEP supports persisting created buckets in the registry;</li>
<li>I18n Support for CEP &#8211; WSO2 CEP supports internationalization.</li>
</ul>
<p>O povo do WSO2 nos convida para <a href="http://wso2.org/downloads/cep" target="_blank">baixar o WSO2 CEP</a>, instalar, testar e reportar bugs (utilizando o <a href="https://wso2.org/jira/secure/project/ViewProject.jspa?pid=10190" target="_blank">Jira do WSO2</a>) &#8211; caso encontremos!</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><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/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/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/2011/11/wso2-soa-workshop-em-sao-paulo/" title="WSO2: SOA Workshop em São Paulo">WSO2: SOA Workshop em São Paulo</a></li></ul></content>
    <source>
      <title type="html">mcorp. » wso2</title>
      <link rel="self" href="http://www.mcorp.com.br/tag/wso2/feed/atom/"/>
      <id>http://www.mcorp.com.br/tag/wso2/feed/atom/</id>
      <updated>2011-11-12 20:18:34 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.leandroprado.com.br/?p=1030</id>
    <title>Top 10 Posts de 2010</title>
    <link href="http://www.leandroprado.com.br/2010/12/veja-os-posts-mais-vistos-em-2010/" />
    
    <updated>2010-12-24 15:08:13 GMT</updated>
    
    <author>
      <name>Leandro Prado</name>
      <uri>http://www.leandroprado.com.br</uri>
    </author>
    <summary>Pessoal Segue abaixo os 10 posts mais vistos nesse ano&#8230; 1) Série ASP NET MVC com NHibernate e ExtJS &#8211; somando 4705 acessos 2) Série criando serviços com WSO2 &#8211; somando 429...</summary>
    <content type="html"><p>Pessoal</p>
<p>Segue abaixo os 10 posts mais vistos nesse ano&#8230;</p>
<p>1) <a href="http://www.leandroprado.com.br/2010/09/serie-asp-net-mvc-com-nhibernate-e-extjs/">Série ASP NET MVC com NHibernate e ExtJS</a> &#8211; somando 4705 acessos</p>
<p>2) <a href="http://www.leandroprado.com.br/2010/10/serie-criando-servicos-com-wso2/">Série criando serviços com WSO2</a> &#8211; somando 429 acessos</p>
<p>3) <a href="http://www.leandroprado.com.br/2010/07/criando-um-ambiente-soa-com-wso2/">Criando um ambiente SOA com WSO2</a> &#8211; com 396 acessos</p>
<p>4) <a href="http://www.leandroprado.com.br/2010/10/crud-com-entity-framework-e-asp-net-mvc/">CRUD com Entity Framework e ASP NET MVC</a> &#8211; com 351 acessos</p>
<p>5) <a href="http://www.leandroprado.com.br/2010/05/ferramentas-soa-open-source/">Ferramentas Open Source</a> &#8211; com 302 acessos</p>
<p>6) <a href="http://www.leandroprado.com.br/2010/10/usando-nhibernate-com-asp-net-mvc/">Usando NHibernate com ASP NET MVC</a> &#8211; com 280 acessos</p>
<p>7) <a href="http://www.leandroprado.com.br/2010/11/formulario-master-detail-com-asp-net-mvc-e-jquery/">Formulário Master Detail com ASP NET MVC e JQuery </a>- com  174 acessos</p>
<p>8) <a href="http://www.leandroprado.com.br/2010/09/apresentar-videos-do-youtube-com-asp-net-mvc/">Apresentar videos do Youtube com ASP NET MVC</a> &#8211; com 169 acessos</p>
<p>9) <a href="http://www.leandroprado.com.br/2010/11/mapeamento-one-to-many-com-nhibernate/">Mapeamento OneToMany com NHibernate</a> &#8211; com 109 acessos</p>
<p>10) <a href="http://www.leandroprado.com.br/2010/05/esb-enterprise-service-bus/">ESB &#8211; Enterprise Service Bus</a> &#8211; com 102 acessos</p>
<p>Considerando que o blog foi criado a pouco tempo (Maio/2010) acho que está de bom tamanho. Agradeço a todos que postaram seus comentários, dúvidas e criticas!</p>
<p>Um Abraço!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2010/10/serie-criando-servicos-com-wso2/" title="Série criando serviços com WSO2">Série criando serviços com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-3-wso2-esb/" title="Criando serviços com o WSO2 – Parte 3 – WSO2 ESB">Criando serviços com o WSO2 – Parte 3 – WSO2 ESB</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-2-wso2-wsas/" title="Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS">Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS</a></li><li><a href="http://www.leandroprado.com.br/2010/09/serie-asp-net-mvc-com-nhibernate-e-extjs/" title="Série ASP NET MVC com NHibernate e ExtJS">Série ASP NET MVC com NHibernate e ExtJS</a></li><li><a href="http://www.leandroprado.com.br/2010/09/asp-net-mvc-nhibernate-extjs-parte-7/" title="ASP NET MVC + NHibernate + ExtJs – Parte 7">ASP NET MVC + NHibernate + ExtJs – Parte 7</a></li><li><a href="http://www.leandroprado.com.br/2010/09/asp-net-mvc-nhibernate-extjs-parte-6/" title="ASP NET MVC + NHibernate + ExtJs – Parte 6">ASP NET MVC + NHibernate + ExtJs – Parte 6</a></li><li><a href="http://www.leandroprado.com.br/2010/09/asp-net-mvc-nhibernate-extjs-parte-5/" title="ASP NET MVC + NHibernate + ExtJs &#8211; Parte 5">ASP NET MVC + NHibernate + ExtJs &#8211; Parte 5</a></li><li><a href="http://www.leandroprado.com.br/2010/08/asp-net-mvc-nhibernate-extjs-parte-4/" title="ASP NET MVC + NHibernate + ExtJs &#8211; Parte 4">ASP NET MVC + NHibernate + ExtJs &#8211; Parte 4</a></li><li><a href="http://www.leandroprado.com.br/2010/08/asp-net-mvc-nhibernate-extjs-parte-3/" title="ASP NET MVC + NHibernate + ExtJs &#8211; Parte 3">ASP NET MVC + NHibernate + ExtJs &#8211; Parte 3</a></li><li><a href="http://www.leandroprado.com.br/2010/08/asp-net-mvc-nhibernate-extjs-parte-2/" title="ASP NET MVC + NHibernate + ExtJs &#8211; Parte 2">ASP NET MVC + NHibernate + ExtJs &#8211; Parte 2</a></li></ul></content>
    <source>
      <title type="html">@{ new Blog("Leandro Prado"); } » WSO2</title>
      <link rel="self" href="http://www.leandroprado.com.br/category/wso2/feed/atom/"/>
      <id>http://www.leandroprado.com.br/category/wso2/feed/atom/</id>
      <updated>2011-11-09 09:39:16 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.leandroprado.com.br/?p=1026</id>
    <title>Série criando serviços com WSO2</title>
    <link href="http://www.leandroprado.com.br/2010/10/serie-criando-servicos-com-wso2/" />
    
    <updated>2010-12-22 22:03:42 GMT</updated>
    
    <author>
      <name>Leandro Prado</name>
      <uri>http://www.leandroprado.com.br</uri>
    </author>
    <summary>Veja abaixo os links para a série de posts de como criar serviços com o WSO2 Criando um WSO2 DataServices Criando um WSO2 Application Service Criando roteamento na BUS Um...</summary>
    <content type="html"><p>Veja abaixo os links para a série de posts de como criar serviços com o WSO2</p>
<p><a href="http://www.leandroprado.com.br/2010/09/criando-servicos-com-o-wso2-parte-1-wso2-data-services/">Criando um WSO2 DataServices</a></p>
<p><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-2-wso2-wsas/">Criando um WSO2 Application Service</a></p>
<p><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-3-wso2-esb">Criando roteamento na BUS</a></p>
<p>Um Abraço!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2010/12/veja-os-posts-mais-vistos-em-2010/" title="Top 10 Posts de 2010">Top 10 Posts de 2010</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-3-wso2-esb/" title="Criando serviços com o WSO2 – Parte 3 – WSO2 ESB">Criando serviços com o WSO2 – Parte 3 – WSO2 ESB</a></li><li><a href="http://www.leandroprado.com.br/2010/05/plataforma-wso2/" title="Plataforma WSO2">Plataforma WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-2-wso2-wsas/" title="Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS">Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS</a></li><li><a href="http://www.leandroprado.com.br/2010/09/criando-servicos-com-o-wso2-parte-1-wso2-data-services/" title="Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services">Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/05/wso2-data-services/" title="WSO2 Data Services">WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/05/componentes-de-soa/" title="Componentes de SOA">Componentes de SOA</a></li><li><a href="http://www.leandroprado.com.br/2010/07/criando-um-ambiente-soa-com-wso2/" title="Criando um ambiente SOA com WSO2">Criando um ambiente SOA com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/05/ferramentas-soa-open-source/" title="Ferramentas SOA Open Source">Ferramentas SOA Open Source</a></li><li><a href="http://www.leandroprado.com.br/2010/05/webservices-simples-e-eficiente/" title="WebServices Simples e eficiente">WebServices Simples e eficiente</a></li></ul></content>
    <source>
      <title type="html">@{ new Blog("Leandro Prado"); } » WSO2</title>
      <link rel="self" href="http://www.leandroprado.com.br/category/wso2/feed/atom/"/>
      <id>http://www.leandroprado.com.br/category/wso2/feed/atom/</id>
      <updated>2011-11-09 09:39:16 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.leandroprado.com.br/?p=696</id>
    <title>Configurando o WSO2 com PostgreSQL</title>
    <link href="http://www.leandroprado.com.br/2010/10/configurando-o-wso2-com-postgresql/" />
    
    <updated>2010-10-20 01:52:45 GMT</updated>
    
    <author>
      <name>Leandro Prado</name>
      <uri>http://www.leandroprado.com.br</uri>
    </author>
    <summary>Quando instalamos as ferramentas do WSO2 por padrão vem configurado com o banco H2, mas hoje vamos ver como alterar para o PostgreSQL dessa forma deixando nossa arquitetura mais robusta....</summary>
    <content type="html"><p>Quando instalamos as ferramentas do WSO2 por padrão vem configurado com o banco <a title="H2 Database" href="http://www.h2database.com/html/main.html" target="_blank">H2</a>, mas hoje vamos ver como alterar para o <a title="PostgreSQL" href="http://www.postgresql.org.br/downloads" target="_blank">PostgreSQL</a> dessa forma deixando nossa arquitetura mais robusta.</p>
<h2>1. Configurando a base</h2>
<p>Primeiro de tudo temos que criar a base de dados no Postgre, para isso vamos utilizar a ferramenta PgAdmin que ja vem na instalação do PostgreSQL. Abra o PgAdmin e clique com o botão direito em cima de DataBases e selecione a opção New Database.</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/postgre_imagem1.png"><img class="aligncenter size-full wp-image-697" title="Criando a DataBase" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/postgre_imagem1.png" alt="" width="335" height="278" /></a></p>
<p>Na nova janela coloque o nome da nova database de <strong>gregdb</strong> e clique em OK</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/postgre_imagem2.png"><img class="aligncenter size-full wp-image-698" title="Configurando a DataBase" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/postgre_imagem2.png" alt="" width="374" height="547" /></a></p>
<p>Agora vamos criar um novo usuário, clique com o botão direito em cima de Login Roles e selecione a opção New Login Role</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/postgre_imagem3.png"><img class="aligncenter size-full wp-image-699" title="Criando um novo usuário" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/postgre_imagem3.png" alt="" /></a></p>
<p>Na nova janela configure da seguinte maneira:</p>
<ul>
<li>Role Name: <strong>gregadmin</strong></li>
<li>Password: <strong>gregadmin</strong></li>
<li>Password (again): <strong>gregadmin</strong></li>
</ul>
<p>Para finalizar clique em OK</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/postgre_imagem4.png"><img class="aligncenter size-full wp-image-700" title="Configuração do Login" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/postgre_imagem4.png" alt="" width="429" height="454" /></a></p>
<h2>2. Configurando o Registry</h2>
<p>Agora vamos alterar as configurações do Registry, abra o arquivo registry.xml que se encontra no diretório $GREG_HOME/repository/conf, onde $GREG_HOME é o local onde  está instalado o WSO2 Governance Registry,<br />
e adicione as seguintes linhas.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;dbConfig name=&quot;postgresql-db&quot;&gt;
    &lt;url&gt;jdbc:postgresql://localhost:5432/gregdb&lt;/url&gt;
    &lt;userName&gt;gregadmin&lt;/userName&gt;
    &lt;password&gt;gregadmin&lt;/password&gt;
    &lt;driverName&gt;org.postgresql.Driver&lt;/driverName&gt;
    &lt;maxActive&gt;80&lt;/maxActive&gt;
    &lt;maxWait&gt;60000&lt;/maxWait&gt;
    &lt;minIdle&gt;5&lt;/minIdle&gt;
&lt;/dbConfig&gt;
</pre>
<p>Explicando a configuração:</p>
<ul>
<li>url: Endereço JDBC para o banco</li>
<li>username: Usuário para conectar ao banco</li>
<li>password: Senha do usuário</li>
<li>driverName: Nome do driver</li>
<li>maxActive: O número máximo de conexões ativas</li>
<li>maxWait: O número máximo de milissegundos que o pool de espera para uma conexão ser devolvido</li>
<li>minIdle: O número mínimo de conexões ativas que pode permanecer inativo no pool</li>
</ul>
<p>Depois de criado a conexão temos que ativa-la, altere a opção <strong>currentDBConfig</strong> para a coneão que acabamos de criar.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;currentDBConfig&gt;postgresql-db&lt;/currentDBConfig&gt;
</pre>
<p>Agora vamos editar o arquivo user-mgt.xml que se encontra no mesmo diretório ($GREG_HOME/repository/conf) e faça a seguinte alteração.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;Configuration&gt;
    ...
    &lt;Property name=&quot;url&quot;&gt;jdbc:postgresql://localhost:5432/gregdb&lt;/Property&gt;
    &lt;Property name=&quot;userName&quot;&gt;gregadmin&lt;/Property&gt;
    &lt;Property name=&quot;password&quot;&gt;gregadmin&lt;/Property&gt;
    &lt;Property name=&quot;driverName&quot;&gt;org.postgresql.Driver&lt;/Property&gt;
    &lt;Property name=&quot;maxActive&quot;&gt;50&lt;/Property&gt;
    &lt;Property name=&quot;maxWait&quot;&gt;60000&lt;/Property&gt;
    &lt;Property name=&quot;minIdle&quot;&gt;5&lt;/Property&gt;
&lt;/Configuration&gt;
</pre>
<h2>3. Adicionando o Driver</h2>
<p>Para que nossa conexão com o banco funcione, temos que fazer o download do driver JDBC em <a title="PostgreSQL JDBC" href="http://jdbc.postgresql.org/download.html" target="_blank">http://jdbc.postgresql.org/download.html</a>, baixe a versão JDBC4 e depois copie o JAR para o diretório $GREG_HOME/repository/components/lib</p>
<h2>4. Criando a base</h2>
<p>Para finalizar, vamos criar as tabelas na base, para isso temos que iniciar o serviço do Registy com a opção -Dsetup.</p>
<pre class="brush: xml; title: ; notranslate">
./wso2server.sh -Dsetup
</pre>
<p><strong>ATENÇÃO:</strong> Essa opção só deve ser executada apenas uma vez</p>
<p>Vamos acessar o PgAdmin e verificar se as tabelas foram criadas</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/postgre_imagem5.png"><img class="aligncenter size-full wp-image-706" title="postgre_imagem5" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/postgre_imagem5.png" alt="" width="275" height="347" /></a></p>
<h2>5. Configurando o DS, WSAS, ESB</h2>
<p>Depois de ter criado a base do Registry, podemos configurar os outros servers para se comunicar com a base Postgre. Basicamente é o mesmo processo temos que editar o arquivo registry.xml adicionando as configurações de conexão com o banco.</p>
<p><strong>Data Services </strong></p>
<ul>
<li>Abra o arquivo $DS_HOME/repository/conf/registry.xml e adicione a configuração do Postgre conforme descrito acima</li>
<li>Abra o arquivo $DS_HOME/repository/conf/user-mgt.xml e altere a configuração de conexão conforme descrito acima</li>
<li>adicione o jar no diretório $DS_HOME/repository/components/lib</li>
</ul>
<p><strong>Application Services</strong></p>
<ul>
<li>Abra o arquivo $WSAS_HOME/repository/conf/registry.xml e adicione a configuração do Postgre conforme descrito acima</li>
<li>Abra o arquivo $WSAS_HOME/repository/conf/user-mgt.xml e altere a configuração de conexão conforme descrito acima</li>
<li>adicione o jar no diretório $WSAS_HOME/repository/components/lib</li>
</ul>
<p><strong>Enterprise Service Bus</strong></p>
<ul>
<li>Abra o arquivo $ESB_HOME/repository/conf/registry.xml e adicione a configuração do Postgre conforme descrito acima</li>
<li>Abra o arquivo $ESB_HOME/repository/conf/user-mgt.xml e altere a configuração de conexão conforme descrito acima</li>
<li>adicione o jar no diretório $ESB_HOME/repository/components/lib</li>
</ul>
<p>Depois de alterado as configurações, podemos iniciar os serviços normalmente (sem a opção -Dsetup)</p>
<p>Agora nosso ambiente está configurado para usar o PostgreSQL, se você quiser usar o MySQL, Oracle, SQLServer como SGBD pode usar esses mesmos passos apenas alterando as configurações de conexão.</p>
<p>Até a próxima!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2010/05/plataforma-wso2/" title="Plataforma WSO2">Plataforma WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/12/veja-os-posts-mais-vistos-em-2010/" title="Top 10 Posts de 2010">Top 10 Posts de 2010</a></li><li><a href="http://www.leandroprado.com.br/2010/10/serie-criando-servicos-com-wso2/" title="Série criando serviços com WSO2">Série criando serviços com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-3-wso2-esb/" title="Criando serviços com o WSO2 – Parte 3 – WSO2 ESB">Criando serviços com o WSO2 – Parte 3 – WSO2 ESB</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-2-wso2-wsas/" title="Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS">Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS</a></li><li><a href="http://www.leandroprado.com.br/2010/09/criando-servicos-com-o-wso2-parte-1-wso2-data-services/" title="Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services">Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/07/criando-um-ambiente-soa-com-wso2/" title="Criando um ambiente SOA com WSO2">Criando um ambiente SOA com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/05/wso2-data-services/" title="WSO2 Data Services">WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/05/ferramentas-soa-open-source/" title="Ferramentas SOA Open Source">Ferramentas SOA Open Source</a></li></ul></content>
    <source>
      <title type="html">@{ new Blog("Leandro Prado"); } » WSO2</title>
      <link rel="self" href="http://www.leandroprado.com.br/category/wso2/feed/atom/"/>
      <id>http://www.leandroprado.com.br/category/wso2/feed/atom/</id>
      <updated>2011-11-09 09:39:16 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.leandroprado.com.br/?p=621</id>
    <title>Criando serviços com o WSO2 – Parte 3 – WSO2 ESB</title>
    <link href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-3-wso2-esb/" />
    
    <updated>2010-10-13 00:31:33 GMT</updated>
    
    <author>
      <name>Leandro Prado</name>
      <uri>http://www.leandroprado.com.br</uri>
    </author>
    <summary>Hoje vamos finalizar o processo para criar um serviço com as ferramenta do WSO2, a última parte vamos publicar nosso serviço na BUS, dessa forma disponibilizando o serviço para nossos...</summary>
    <content type="html"><p>Hoje vamos finalizar o processo para criar um serviço com as ferramenta do WSO2, a última parte vamos publicar nosso serviço na BUS, dessa forma disponibilizando o serviço para nossos clientes.</p>
<p>No WSO2 ESB vamos criar um proxy service que será responsável por chamar nosso serviço Bussiness Service (WSO2 WSAS) que por sua vez vai chamar o nosso Data Service (WSO2 DS), essa parte é basicamente configuração não vamos codificar nenhuma linha de código.</p>
<p>Para expor nosso serviço na BUS vamos seguir os seguintes passos:</p>
<h3>1) Criar uma Sequence</h3>
<p>Um elemento de seqüência é usado para definir uma seqüência de mediadores que podem ser chamados mais tarde, nesse exemplo vamos criar uma sequence com um mediator de Log.</p>
<p>Entre na página de administração do ESB, selecione a opção Sequences.</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem1.png"><img class="size-thumbnail wp-image-668 aligncenter" title="Menu para criar uma Sequence" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem1.png" alt="" /></a></p>
<p>Clique na opção Add Sequence</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem2.png"><img class="aligncenter size-medium wp-image-669" title="Adicionar uma Sequence" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem2.png" alt="" width="701" height="227" /></a></p>
<p>Na tela Design Sequence, coloque o nome da sequence como RecursoHumanoSequence e agora vamos adicionar a sequência que vai ser executada, em nosso exemplo temos somente um Log, para isso clique em Add Child -&gt; Core -&gt; Log</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem3.png"><img class="aligncenter size-medium wp-image-670" title="Configurar a sequence" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem3.png" alt="" width="705" height="393" /></a></p>
<p>Depois de configurado a sequence, clique em Save, nossa sequence será listada na tela Mediation Sequences</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem4.png"><img class="aligncenter size-medium wp-image-671" title="Listagem das sequences" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem4.png" alt="" width="710" height="245" /></a></p>
<h3>2) Criar um EndPoint</h3>
<p>Um EndPoint é um destino específico de uma mensagem, também podemos ativar as estatísticas de endpoints e WSDL dos endereços.</p>
<p><strong>Atenção:</strong> Para adicionar um Endpoint, vamos precisar acessar o WSAS para recuperar o endereço do Endpoint do nosso serviço, na página de administração do WSAS entre em List e no serviço RecursoHumanoServico clique na opção WSDL1.1</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem7.png"><img class="aligncenter size-medium wp-image-674" title="Recuperando o WSDL do WSAS" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem7.png" alt="" width="720" height="285" /></a></p>
<p>O browser será aberto com o WSDL do serviço, no final está as configurações do Endpoint, copie esse endereço para que possamos colar na tela de criação do Endpoint na ESB.</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem8.png"><img class="aligncenter size-full wp-image-675" title="Recuperando o EndPoint" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem8.png" alt="" width="740" height="378" /></a></p>
<p>Agora vamos voltar ao administrador da ESB, clique na opção Endpoints</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem5.png"><img class="aligncenter size-full wp-image-672" title="Menu para criar o EndPoint" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem5.png" alt="" /></a></p>
<p>Na nova tela, clique em Address Endpoint</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem6.png"><img class="aligncenter size-medium wp-image-673" title="Adicionar um EndPoint" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem6.png" alt="" width="711" height="239" /></a></p>
<p>Adicione um nome RecursoHumanoEndPoint e coloque o endereço do Endpoint que recuperamos no WSAS, clique no botão Test para verificar a comunicação entre a ESB e o WSAS</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem9.png"><img class="aligncenter size-full wp-image-676" title="Configurando o EndPoint" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem9.png" alt="" width="718" height="258" /></a></p>
<p>Clique em Save</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem10.png"><img class="aligncenter size-full wp-image-677" title="Salvando o EndPoint" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem10.png" alt="" width="720" height="184" /></a></p>
<p>Veja nosso Endpoint na listagem</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem11.png"><img class="aligncenter size-full wp-image-678" title="Listagem dos EndPoints" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem11.png" alt="" width="721" height="192" /></a></p>
<h3>3) Criar o Proxy</h3>
<p>Clique na opção Add -&gt; Proxy Service</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem12.png"><img class="aligncenter size-full wp-image-679" title="Menu para criar um Proxy" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem12.png" alt="" /></a></p>
<p>Temos várias opções para criar proxy, clique na opção Custom Proxy</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem13.png"><img class="aligncenter size-full wp-image-680" title="Adicionar um Custom Proxy" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem13.png" alt="" width="722" height="258" /></a></p>
<p>Vamos configurar nosso proxy da sequinte maneira</p>
<ul>
<li>Proxy Service Name: RecursoHumanoServico</li>
<li>Publishing WSDL: Specify source URL</li>
<li>WSDL URI: Coloque o endereço do WSDL do WSAS, aonde verificamos anteriormente</li>
</ul>
<p>Depois clique em Next</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem14.png"><img class="aligncenter size-full wp-image-681" title="Configurando o Proxy" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem14.png" alt="" width="722" height="543" /></a></p>
<p>Nessa tela vamos configurar a Sequence e o Endpoint que ja criamos anteriormente.</p>
<ul>
<li>In Sequence Options: Selecione Import e na combo selecione a Sequence criada anteriormente</li>
<li>Endpoint Options: Selecione Import e na combo selecione o Endpoint criado anteriormente</li>
</ul>
<p>Depois clique em Next</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem15.png"><img class="aligncenter size-full wp-image-682" title="Referência a Sequence e ao EndPoint" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem15.png" alt="" width="724" height="394" /></a></p>
<p>Nessa tela não alteramos nada, deixe as duas opções marcadas None, e clique em Finish</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem16.png"><img class="aligncenter size-full wp-image-683" title="Finalizar a configuração" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem16.png" alt="" width="719" height="384" /></a></p>
<p>Veja na listagem no nosso proxy criado.</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem17.png"><img class="aligncenter size-full wp-image-684" title="Listagem dos Proxys" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem17.png" alt="" width="723" height="315" /></a></p>
<h3>4) Testando o serviço</h3>
<p>Para testar o serviço clique em Try this service, preencha o campo nome e clique no botão.</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem18.png"><img class="aligncenter size-full wp-image-685" title="Teste  do serviço" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem18.png" alt="" width="721" height="456" /></a></p>
<p>Quando clicamos no botão fazemos o seguinte caminho:</p>
<ol>
<li>A BUS recebe a requisição</li>
<li>Encaminha para o WSAS</li>
<li>Valida os dados</li>
<li>Chama o DS</li>
<li>Retorna os dados para o WSAS</li>
<li>Executa regra de negócio</li>
<li>Retorna os dados para a BUS</li>
</ol>
<p>Vamos testar a Exception, não coloque nenhum valor para o parâmetro nome e clique no botão</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem19.png"><img class="aligncenter size-full wp-image-686" title="Teste da Exception" src="http://www.leandroprado.com.br/wp-content/uploads/2010/10/ESB_imagem19.png" alt="" width="718" height="309" /></a></p>
<p>Nesse caso fizemos o seguinte caminho:</p>
<ol>
<li>A BUS recebe a requisição</li>
<li>Encaminha para o WSAS</li>
<li>Valida os dados</li>
<li>Retorna erro para a BUS</li>
</ol>
<p>Chegamos ao fim desse peque How To de como criar um serviço usando as ferramenta do WSO2, espero que possa ter esclarecido as dúvidas. Se ainda tiverem alguma dúvida ou  alguma sugestão, critica favor entre em contato!</p>
<p>Um Abraço!!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2010/10/serie-criando-servicos-com-wso2/" title="Série criando serviços com WSO2">Série criando serviços com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/12/veja-os-posts-mais-vistos-em-2010/" title="Top 10 Posts de 2010">Top 10 Posts de 2010</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-2-wso2-wsas/" title="Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS">Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS</a></li><li><a href="http://www.leandroprado.com.br/2010/05/componentes-de-soa/" title="Componentes de SOA">Componentes de SOA</a></li><li><a href="http://www.leandroprado.com.br/2010/09/criando-servicos-com-o-wso2-parte-1-wso2-data-services/" title="Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services">Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/07/criando-um-ambiente-soa-com-wso2/" title="Criando um ambiente SOA com WSO2">Criando um ambiente SOA com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/05/plataforma-wso2/" title="Plataforma WSO2">Plataforma WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/05/wso2-data-services/" title="WSO2 Data Services">WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/05/ferramentas-soa-open-source/" title="Ferramentas SOA Open Source">Ferramentas SOA Open Source</a></li><li><a href="http://www.leandroprado.com.br/2010/05/esb-enterprise-service-bus/" title="ESB &#8211; Enterprise Service Bus">ESB &#8211; Enterprise Service Bus</a></li></ul></content>
    <source>
      <title type="html">@{ new Blog("Leandro Prado"); } » WSO2</title>
      <link rel="self" href="http://www.leandroprado.com.br/category/wso2/feed/atom/"/>
      <id>http://www.leandroprado.com.br/category/wso2/feed/atom/</id>
      <updated>2011-11-09 09:39:16 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.leandroprado.com.br/?p=533</id>
    <title>Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS</title>
    <link href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-2-wso2-wsas/" />
    
    <updated>2010-10-06 18:07:56 GMT</updated>
    
    <author>
      <name>Leandro Prado</name>
      <uri>http://www.leandroprado.com.br</uri>
    </author>
    <summary>Hoje vamos dar continuidade ao exemplo de como criar um serviço usando as ferramentas do WSO2, no post anterior criamos o Data Services, hoje estaremos criando o nosso Business Service...</summary>
    <content type="html"><p>Hoje vamos dar continuidade ao exemplo de como criar um serviço usando as ferramentas do WSO2, no post anterior criamos o Data Services, hoje estaremos criando o nosso Business Service e publicar no WSO2 WSAS.</p>
<p>O nosso Business Service será responsável por conter a regra de negócio do nosso serviço, ou seja, para uma determinada entrada vindo da BUS vamos consumir o Data Service aplicar a nossa regra de negócio e retornar os dados para a BUS. Esse é o momento onde vamos meter a mão na massa e codificar em Java.</p>
<p>Para consumir o Data Service vamos estar usando o Apache Axis2, que é um framework para contrução e consumo de webservices, portanto <a title="Axis2" href="http://ws.apache.org/axis2/download.cgi" target="_blank">clique aqui</a> e faça o download, a versão que estou usando é 1.5.1. Depois de concluído o download descompactar o arquivo e copiar para um diretório de sua preferência.</p>
<h3>Criando um Business Service</h3>
<p>1. Abra o Eclipse e vamos criar um novo projeto, clique em File -&gt; New -&gt; Project</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem1.png"><img class="aligncenter size-medium wp-image-542" title="Criando novo projeto Java" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem1.png" alt="" width="541" height="486" /></a></p>
<p>Na nova janela que abriu, selecione Java Project clique em Next.</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem2.png"></a><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem2.png"><img class="aligncenter size-medium wp-image-543" title="Selecionar Java Project" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem2.png" alt="" width="462" height="374" /></a></p>
<p>Coloque o nome do projeto com <strong>RecursoHumanoServico</strong> depois clique em Finish</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem3.png"></a><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem3.png"><img class="aligncenter size-medium wp-image-544" title="Adicionando o nome do projeto" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem3.png" alt="" width="467" height="522" /></a></p>
<p>Para deixar nosso projeto mais organizado vamos criar duas Package, clique com o botão direito em cima da pasta src  e selecione a opção New -&gt; Package</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem4.png"><img class="aligncenter size-medium wp-image-545" title="Criando as packages" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem4.png" alt="" width="507" height="337" /></a></p>
<p>Coloque o nome do package de <strong>br.leandroprado.webservices.recursohumano</strong></p>
<p style="text-align: center;"><strong><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem5.png"><img class="aligncenter size-medium wp-image-546" title="Nome da Package" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem5.png" alt="" width="492" height="398" /></a><br />
</strong></p>
<p>Adicione mais um package com o nome de <strong>br.leandroprado.webservices.recursohumano.entidades</strong>, veja como seu projeto deve ficar depois de criado as duas packages<strong><br />
</strong></p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem6.png"><img class="aligncenter size-medium wp-image-547" title="Packages criadas" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem6.png" alt="" width="498" height="251" /></a></p>
<p>2. Depois de configurado o o projeto temos que adicionar as bibliotecas do Axis2 que vamos utilizar, clique em Project -&gt; Properties</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem8.png"><img class="aligncenter size-medium wp-image-548" title="Adicionando as bibliotecas" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem8.png" alt="" width="522" height="332" /></a></p>
<p>Na nova janela que abrir, clique em Java Build Path -&gt; Libraries</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem9.png"><img class="aligncenter size-medium wp-image-549" title="Selecionar External Jars" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem9.png" alt="" width="519" height="365" /></a></p>
<p>Clique no botão Add External JARs e vá até o diretório onde esta o Axis2, que baixamos anteriormente e selecione os seguintes JARs.</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem10.png"><img class="aligncenter size-medium wp-image-550" title="Selecionando os Jars necessários" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem10.png" alt="" width="515" height="417" /></a></p>
<p>Veja que em Libraries foi adicionado os JARs do Axis2.</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem11.png"><img class="aligncenter size-medium wp-image-551" title="Libraries adicionadas" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem11.png" alt="" width="526" height="368" /></a></p>
<p>3. Agora vamos começar a codificar o nosso serviço, clique com o botão direito em cima da package  <strong>br.leandroprado.webservices.recursohumano </strong>e selecione a opção New -&gt; Class</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem12.png"><img class="aligncenter size-medium wp-image-552" title="Criando uma nova classe" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem12.png" alt="" width="528" height="265" /></a></p>
<p>Coloque o nome da nova classe de RecursoHumanoServico e clique em Finish</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem13.png"><img class="aligncenter size-medium wp-image-553" title="Classe RecursoHumanoServico" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem13.png" alt="" width="428" height="460" /></a></p>
<p>Vamos criar outra classe dentro da package <strong>br.leandroprado.webservices.recursohumano.entidades </strong>chamada Funcionario</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem14.png"><img class="aligncenter size-medium wp-image-555" title="Classes criadas" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem14.png" alt="" width="411" height="216" /></a></p>
<p>Veja abaixo o conteúdo da classe Funcionario.java, ela contém os campos que o nosso DataService retorna.</p>
<pre class="brush: java; title: ; notranslate">
package br.leandroprado.webservices.recursohumano.entidades;

import java.util.Date;

public class Funcionario {

	private int codigo;
	private String nome;
	private String endereco;
	private String sexo;
	private String dataAniversario;

	public int getCodigo() {
		return codigo;
	}

	public void setCodigo(int codigo) {
		this.codigo = codigo;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getEndereco() {
		return endereco;
	}

	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}

	public String getSexo() {
		return sexo;
	}

	public void setSexo(String sexo) {
		this.sexo = sexo;
	}

	public String getDataAniversario() {
		return dataAniversario;
	}

	public void setDataAniversario(String dataAniversario) {
		this.dataAniversario = dataAniversario;
	}
}
</pre>
<p>Agora vamos criar o serviço, na classe RecursoHumanoServico vamos adicionar um novo método onde vamos chamar o nosso método do DataService, veja abaixo o código;</p>
<pre class="brush: java; title: ; notranslate">
package br.leandroprado.webservices.recursohumano;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.xml.namespace.QName;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;

import br.leandroprado.webservices.recursohumano.entidades.Funcionario;

public class RecursoHumanoServico {

	// endereco do WSDL do DataService
	private static EndpointReference rhEndpoint = new EndpointReference(&quot;http://10.0.2.15:9764/services/RecursoHumanoServico?wsdl&quot;);

	public Funcionario[] pesquisarFuncionario(String nome)
	{
		String nameSpace = &quot;http://webservices.leandroprado.com.br/DataServices/RecursoHumano/PesquisarFuncionario&quot;;
		String nomeMetodo = &quot;PesquisarFuncionario&quot;;

		List&lt;Funcionario&gt; lst = new ArrayList&lt;Funcionario&gt;();

		try {
                                      // verifica se o parametro esta preenchido
			if(nome != null)
			{
				if(nome.equals(&quot;&quot;))
					throw new Exception(&quot;Campo Nome é obrigatório!&quot;);
			}
			else
				throw new Exception(&quot;Campo Nome é obrigatório!&quot;);

			// cria os parametros do servico com o EndPoint e o método que queremos usar
			Options options = new Options();
			options.setTo(rhEndpoint);
			options.setAction(&quot;urn:&quot; + nomeMetodo);

			// cria um client para o servico
			ServiceClient sender = new ServiceClient();
			sender.setOptions(options);

			// para criar os parametros de entrada do servico
			OMFactory fac = OMAbstractFactory.getOMFactory();
			OMNamespace omNs = fac.createOMNamespace(
							nameSpace,    // namespace do método
							 nomeMetodo); // nome do método que vamos invocar
			OMElement payload = fac.createOMElement(nomeMetodo, omNs);

			// seta o nome dos parametros de entrada e seu conteudo
			OMElement param = fac.createOMElement(&quot;Nome&quot;, omNs);
			param.setText(&quot;%&quot; + nome + &quot;%&quot;);
			payload.addChild(param);

			// Executa o DataService
			OMElement result = sender.sendReceive(payload);

			// Recupeara o retorno
	        Iterator rows = result.getChildElements();

	        // Enquanto houver linhas no retorno
	        while (rows.hasNext()) {
				OMElement row = (OMElement) rows.next();

				// recupera os elementos
				OMElement codigo = row.getFirstChildWithName(new QName(omNs.getNamespaceURI(), &quot;CodigoFuncionario&quot;));
				OMElement nme = row.getFirstChildWithName(new QName(omNs.getNamespaceURI(), &quot;NomeFuncionario&quot;));
				OMElement endereco = row.getFirstChildWithName(new QName(omNs.getNamespaceURI(), &quot;EnderecoFuncionario&quot;));
				OMElement sexo = row.getFirstChildWithName(new QName(omNs.getNamespaceURI(), &quot;SexoFuncionario&quot;));
				OMElement dataAniver = row.getFirstChildWithName(new QName(omNs.getNamespaceURI(), &quot;DataAniversario&quot;));

				// cria um objeto do tipo Funcionario
				Funcionario _fun = new Funcionario();
				_fun.setCodigo(Integer.parseInt(codigo.getText()));
				_fun.setNome(nme.getText());
				_fun.setEndereco(endereco.getText());
				_fun.setSexo(sexo.getText());
				_fun.setDataAniversario(dataAniver.getText());

				// Adiciona na lista
				lst.add(_fun);
			}
		}
		catch(Exception ex)
		{
			throw new RuntimeException(ex.getMessage());
		}

		// verifica se a lista possui elementos
		if(lst.size() &gt; 0)
			return lst.toArray(new Funcionario[lst.size()-1]);
		else
			return lst.toArray(new Funcionario[0]);
	}
}
</pre>
<p>4. Agora vamos publicar o serviço no WSO2 WSAS, primeiro de tudo temos que iniciar os serviços WSO2 DataServices e WSO2 WSAS, já vimos no post <a href="http://www.leandroprado.com.br/2010/07/criando-um-ambiente-soa-com-wso2/" target="_blank">Criando um ambiente SOA com WSO2</a> como criar o ambiente e iniciar os serviços.</p>
<p>Uma das maneiras de fazer o deploy de um serviço para o WSAS é exportar nosso serviço para um arquivo .jar, então  clique com o botão direito em cima do projeto RecursoHumanoServico e selecione a opção Export.</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem15.png"><img class="aligncenter size-medium wp-image-565" title="Exportar o serviço" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem15.png" alt="" width="517" height="362" /></a></p>
<p>Selecione a opção Jar File, e clique em Next</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem16.png"><img class="aligncenter size-medium wp-image-565" title="Selecione Jar File" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem16.png" alt="" width="511" height="409" /></a></p>
<p>Agora selecione em qual diretório vamos salvar o arquivo .jar, nesse caso estou salvando no Desktop e clique em Finish</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem17.png"><img class="aligncenter size-medium wp-image-565" title="Selecione o local para salvar o Jar" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem17.png" alt="" width="431" height="395" /></a></p>
<p>Acessando nosso diretório Desktop o arquivo exportado.</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem18.png"><img class="aligncenter size-medium wp-image-565" title="Arquivo Jar" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem18.png" alt="" width="397" height="128" /></a></p>
<p>Agora vamos fazer o Deploy do arquivo .jar para o WSAS, acessar o console de administração do WSAS e selecionar a opção Services -&gt; Add -&gt; Jar Service</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem19.png"><img class="aligncenter size-medium wp-image-571" title="Selecionar a opção Jar Service" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem19.png" alt="" width="203" height="300" /></a></p>
<p>Coloque o nome do seu serviço e procure o arquivo .jar que exportamos anteriormente, e clique em Next</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem20.png"><img class="aligncenter size-medium wp-image-571" title="Adicionando o Jar" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem20.png" alt="" width="526" height="162" /></a></p>
<p>Na próxima tela temos que selecionar qual classe que queremos expor como serviço, em nosso exemplo é a classe RecursoHumanoServico.java, não esqueça de selecionar o escopo que é SOAP, depois clique em Next</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem21.png"><img class="aligncenter size-medium wp-image-571" title="Configurando o Jar" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem21.png" alt="" width="526" height="129" /></a></p>
<p>Selecione os métodos que deseja disponibilizar no serviço, em nosso exemplo só temos um método, mas se tivesse vários métodos poderiamos selecionar quais deles vamos disponibilizar para consumo, depois clique em Finish.</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem22.png"><img class="aligncenter size-medium wp-image-571" title="Métodos do Jar" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem22.png" alt="" width="525" height="115" /></a></p>
<p>Se tudo ocorrer sem erros, uma mensagem será exibida e o nosso serviço vai aparecer na lista, veja abaixo:</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem23.png"><img class="aligncenter size-medium wp-image-571" title="Serviço adicionado" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem23.png" alt="" width="536" height="219" /></a></p>
<p>Vamos testar nosso método, clique em Try this Service , preencha o parâmetro nome e clique no botão, o seguinte resultado deverá ocorrer:</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem24.png"><img class="aligncenter size-medium wp-image-571" title="Testando o servço" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem24.png" alt="" width="539" height="293" /></a></p>
<p>Vamos testar se a nossa validação está sendo executada, se invocar o método sem nenhum valor para o parâmetro nome, deve retornar um erro, veja abaixo:</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem25.png"><img class="aligncenter size-medium wp-image-571" title="Testando a Exception" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/bs_imagem25.png" alt="" width="525" height="159" /></a></p>
<h3>Conclusão</h3>
<p>Podemos ver que para criar um BusinessServer usando o WSAS não tem muito segredo, para quem ja programa em JAVA não vai ter nehuma dificuldade.</p>
<p>O que podemos fazer para facilitar o consumo é criar um componente onde só passamos o método que queremos consumir e ele nos retorna um objeto criado, fica por conta de vocês aprimorar esse código.</p>
<p>O WSO2 lançou um plugin para o Eclipse que cria serviços para o WSAS, com esse plugin é possível fazer debug dos nossos métodos, dessa forma facilitando o desenvolvimento para o programador.</p>
<p><a href="http://wso2.org/library/tutorials/create-axis2-web-service-in-3-steps-using-eclipse" target="_blank">Create an Axis2 Web Service in 3 Steps Using Eclipse</a></p>
<p><a href="http://wso2.org/library/tutorials/debug-your-axis2-web-service-3-steps-using-eclipse" target="_blank">How to Debug Your Axis2 Web Service in 3 Steps Using Eclipse</a></p>
<p>No próximo post estaremos criando a camada da BUS, vamos criar um proxy para disponibilizar os serviços aos nossos clientes.</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/RecursoHumanoServico.zip" target="_blank">Download Parte 2</a></p>
<p>Até a próxima!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2010/12/veja-os-posts-mais-vistos-em-2010/" title="Top 10 Posts de 2010">Top 10 Posts de 2010</a></li><li><a href="http://www.leandroprado.com.br/2010/10/serie-criando-servicos-com-wso2/" title="Série criando serviços com WSO2">Série criando serviços com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-3-wso2-esb/" title="Criando serviços com o WSO2 – Parte 3 – WSO2 ESB">Criando serviços com o WSO2 – Parte 3 – WSO2 ESB</a></li><li><a href="http://www.leandroprado.com.br/2010/09/criando-servicos-com-o-wso2-parte-1-wso2-data-services/" title="Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services">Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/07/criando-um-ambiente-soa-com-wso2/" title="Criando um ambiente SOA com WSO2">Criando um ambiente SOA com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/05/plataforma-wso2/" title="Plataforma WSO2">Plataforma WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/05/wso2-data-services/" title="WSO2 Data Services">WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/05/ferramentas-soa-open-source/" title="Ferramentas SOA Open Source">Ferramentas SOA Open Source</a></li><li><a href="http://www.leandroprado.com.br/2010/05/componentes-de-soa/" title="Componentes de SOA">Componentes de SOA</a></li><li><a href="http://www.leandroprado.com.br/2010/10/configurando-o-wso2-com-postgresql/" title="Configurando o WSO2 com PostgreSQL">Configurando o WSO2 com PostgreSQL</a></li></ul></content>
    <source>
      <title type="html">@{ new Blog("Leandro Prado"); } » WSO2</title>
      <link rel="self" href="http://www.leandroprado.com.br/category/wso2/feed/atom/"/>
      <id>http://www.leandroprado.com.br/category/wso2/feed/atom/</id>
      <updated>2011-11-09 09:39:16 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.leandroprado.com.br/?p=489</id>
    <title>Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services</title>
    <link href="http://www.leandroprado.com.br/2010/09/criando-servicos-com-o-wso2-parte-1-wso2-data-services/" />
    
    <updated>2010-10-06 18:22:26 GMT</updated>
    
    <author>
      <name>Leandro Prado</name>
      <uri>http://www.leandroprado.com.br</uri>
    </author>
    <summary>Depois de publicar o post Criando um ambiente SOA com WSO2 estamos recebendo vários emails e comentários de usuários que estão com diversas dúvidas e como usar as ferramentas do...</summary>
    <content type="html"><p><img class="alignleft size-thumbnail wp-image-490" title="WSO2 Logo" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/logo_wso2.jpg" alt="" width="200" height="100" />Depois de publicar o post <a title="Criando um ambiente SOA com WSO2" href="http://www.leandroprado.com.br/2010/07/criando-um-ambiente-soa-com-wso2/" target="_blank">Criando um ambiente SOA com WSO2</a> estamos recebendo vários emails e comentários de usuários que estão com diversas dúvidas e como usar as ferramentas do WSO2 integrada, por esse motivo, hoje vamos começar uma série de posts explicativos de como criar um serviço completo (DS, WSAS, BUS) usando as ferramentas WSO2.</p>
<p>Antes de começar vamos entender a arquitetura que vamos estar utilizando, veja abaixo:</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/arquitetura.png"><img class="size-thumbnail wp-image-492 aligncenter" title="Arquitetura do ambiente" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/arquitetura.png" alt="" width="326" height="326" /></a></p>
<ul>
<li>DataService será responsável por recuperar as informações em uma origem de dedos, pode ser um banco de dados (MySQL, Postegres, SQLServer, Oracle, etc&#8230;) pode ser em um arquivo XML ou em um arquivo CSV.</li>
<li>Application Server que será responsável por fazer a orquestração dos nossos serviços e pela regra de negócio</li>
<li>BUS será responsável por expor nosso serviços para os clientes (Mobile, Portals, Desktop, etc&#8230;)</li>
</ul>
<p>O nosso cenário para o serviço de teste será um cadastro de funcionário para o setor de RH de uma empresa, vamos estar utilizando o banco de dados MySQL 5. Então mãos no teclado!!</p>
<h3>Criando a Base de Dados</h3>
<pre class="brush: sql; title: ; notranslate">

create database rh;
use rh;

CREATE TABLE funcionario (
  id_funcionario int(10) NOT NULL AUTO_INCREMENT,
  nome_funcionario varchar(100) NOT NULL,
  endereco_funcionario varchar(100) NOT NULL,
  sexo_funcionario char(1) NOT NULL,
  data_aniversario datetime NOT NULL,
  PRIMARY KEY (id_funcionario),
  UNIQUE KEY PK_Funcionario (id_funcionario)
);

INSERT INTO funcionario (nome_funcionario, endereco_funcionario, sexo_funcionario, data_aniversario) VALUES ('Leandro Prado 1', 'Rua xyz 367', 'M', '2000-10-10');
INSERT INTO funcionario (nome_funcionario, endereco_funcionario, sexo_funcionario, data_aniversario) VALUES ('Leandro Prado 2', 'Rua xyz 367', 'M', '2000-10-10');
</pre>
<h3>Criando um WSO2 DataService</h3>
<p>1. Dentro do Management Console do DataService clique no menu DataServices -&gt; Create</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem1.png"><img class="aligncenter size-medium wp-image-502" title="Selecione a opção Create" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem1.png" alt="" width="136" height="300" /></a></p>
<p>2. Coloque no nome e a descrição do Serviço e clique em Next</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem2.png"><img class="aligncenter size-medium wp-image-503" title="Adicione o nome do Serviço" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem2.png" alt="" width="514" height="190" /></a></p>
<p>3. Agora vamos adionar a nossa fonte de dados, selecione Add New Data Source</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem3.png"><img class="aligncenter size-medium wp-image-505" title="Adicione uma fonte de dados" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem3.png" alt="" width="514" height="107" /></a></p>
<p>4. Na tela de configuração do DataSource temos os seguintes campos:</p>
<ul>
<li>DataSource id:</li>
<li>DataSource Type:</li>
<li>Database Engine:</li>
<li>Driver Class:</li>
<li>JDBC URL:</li>
<li>User Name:</li>
<li>Password:</li>
<li>Min. Pool Size:</li>
<li>Max. Pool Size:</li>
<li>AutoCommit:</li>
</ul>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem4.png"><img class="aligncenter size-medium wp-image-504" title="Configurando o MySQL" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem4.png" alt="" width="512" height="279" /></a></p>
<p>Clique no botão Test Connection para verificar se a conexão com o banco está correta.</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem5.png"><img class="aligncenter size-medium wp-image-507" title="Testando a conexão com o BD" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem5.png" alt="" width="513" height="279" /></a></p>
<p>Se esse o erro acima ocorrer significa que está faltando o jar de conexão com o MySQL, então acesse esse <a title="MySQL Connector" href="http://www.mysql.com/downloads/connector/j/" target="_blank">link</a> e baixe o conector e copie o jar para a pasta  wso2/wso2dataservices-2.2.1/repository/components/lib e depois restart o  serviço do WSO2 DataServices.</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem6.png"><img class="aligncenter size-medium wp-image-508" title="Adicionando a fonte de Dados" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem6.png" alt="" width="513" height="278" /></a></p>
<p>5. Na próxima tela vamos criar as querys que nosso serviço vai executar</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem18.png"><img class="aligncenter size-medium wp-image-509" title="Criando uma nova query" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem18.png" alt="" width="512" height="88" /></a></p>
<p>6. Na tela para adicionar uma nova query temos os seguintes campos:</p>
<ul>
<li>Query ID:</li>
<li>Data Source:</li>
<li>SQL:</li>
<li>Input Mappging</li>
<li>Grouped by element:</li>
<li>Row name:</li>
<li>Row namespace:</li>
<li>Output Mappging:</li>
</ul>
<p>7. Se sua query possuir parâmetros de entrada deve ser adicionado clicando no botão Input Mappings, essa tela possui os seguintes campos:</p>
<ul>
<li>Mapping Name</li>
<li>SQL Type</li>
<li>IN/OUT Type</li>
<li>Ordinal</li>
</ul>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem8.png"><img class="aligncenter size-medium wp-image-514" title="Adicionando os parâmetros de entrada" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem8.png" alt="" width="513" height="210" /></a></p>
<p>8. Para recuperar os dados de retorno da sua query clique no botão Output Mappings e adicione os campos que deseja retornar, essa tela possui os seguintes campos:</p>
<ul>
<li>Mapping Type</li>
<li>Output field name</li>
<li>Data source column Name</li>
<li>Schema Type</li>
<li>Allowed User Roles</li>
</ul>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem81.png"></a><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem9.png"><img class="aligncenter size-medium wp-image-517" title="Adicionando os parâmetros de saída" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem9.png" alt="" width="510" height="302" /></a></p>
<p>Veja como vai ficar com todos nossos campos de saída mapeados</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem10.png"><img class="aligncenter size-medium wp-image-518" title="Mapeamento da query" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem10.png" alt="" width="513" height="321" /></a></p>
<p>9. Na próxima tela é para adicionar as operações (métodos) do serviço, cada query vai ter uma operação:</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem13.png"><img class="aligncenter size-medium wp-image-522" title="Criando os métodos" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem13.png" alt="" width="530" height="100" /></a></p>
<p>10. Na tela Add New Operation temos um campo para colocar o nome da operação (método) e uma combo para selecionar qual query essa operação vai chamar</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem14.png"><img class="aligncenter size-medium wp-image-523" title="Adicionando uma nova operação" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem14.png" alt="" width="512" height="177" /></a></p>
<p>Veja como fica a nossa operação PesquisarFuncionario.</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem15.png"><img class="aligncenter size-medium wp-image-524" title="Operação PesquisarFuncionario" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem15.png" alt="" width="513" height="115" /></a></p>
<p>11. Clique em Finish para criar o nosso DataService, não precisamos preencher os Resources. Veja que nosso serviço já é listado.</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem16.png"><img class="aligncenter size-medium wp-image-526" title="Serviço adicionado" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem16.png" alt="" width="513" height="144" /></a></p>
<p>12. Vamos fazer o teste para verificar se tudo está correto e funcionando, clique em Try this service</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem17.png"><img class="aligncenter size-medium wp-image-527" title="Testando o serviço" src="http://www.leandroprado.com.br/wp-content/uploads/2010/09/ds_imagem17.png" alt="" width="510" height="212" /></a></p>
<h3>Conclusão</h3>
<p>Criar DataServices usando a ferramenta do WSO2 é muito fácil, intuitivo e produtivo, em apenas alguns minutos conectamos na base de dados, fazemos uma query e retornamos os dados via XML sem escrever nenhuma linha de código.</p>
<p>Os serviços de DataServices também pode ser criados através de um plugin para o eclipse, <a title="WSO2 Data Services Plugin" href="http://wso2.org/library/tutorials/create-dataservice-with-eclipse-dataservice-plugin" target="_blank">veja aqui</a>.</p>
<p>No próximo post estaremos criando a camada de negócio usando o WSAS</p>
<p>Até a próxima!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2010/10/serie-criando-servicos-com-wso2/" title="Série criando serviços com WSO2">Série criando serviços com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/05/wso2-data-services/" title="WSO2 Data Services">WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/12/veja-os-posts-mais-vistos-em-2010/" title="Top 10 Posts de 2010">Top 10 Posts de 2010</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-3-wso2-esb/" title="Criando serviços com o WSO2 – Parte 3 – WSO2 ESB">Criando serviços com o WSO2 – Parte 3 – WSO2 ESB</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-2-wso2-wsas/" title="Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS">Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS</a></li><li><a href="http://www.leandroprado.com.br/2010/07/criando-um-ambiente-soa-com-wso2/" title="Criando um ambiente SOA com WSO2">Criando um ambiente SOA com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/05/plataforma-wso2/" title="Plataforma WSO2">Plataforma WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/05/ferramentas-soa-open-source/" title="Ferramentas SOA Open Source">Ferramentas SOA Open Source</a></li><li><a href="http://www.leandroprado.com.br/2010/10/usando-nhibernate-com-asp-net-mvc/" title="Usando NHibernate com ASP NET MVC">Usando NHibernate com ASP NET MVC</a></li><li><a href="http://www.leandroprado.com.br/2010/10/configurando-o-wso2-com-postgresql/" title="Configurando o WSO2 com PostgreSQL">Configurando o WSO2 com PostgreSQL</a></li></ul></content>
    <source>
      <title type="html">@{ new Blog("Leandro Prado"); } » WSO2</title>
      <link rel="self" href="http://www.leandroprado.com.br/category/wso2/feed/atom/"/>
      <id>http://www.leandroprado.com.br/category/wso2/feed/atom/</id>
      <updated>2011-11-09 09:39:16 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.leandroprado.com.br/?p=155</id>
    <title>Criando um ambiente SOA com WSO2</title>
    <link href="http://www.leandroprado.com.br/2010/07/criando-um-ambiente-soa-com-wso2/" />
    
    <updated>2010-10-06 16:48:28 GMT</updated>
    
    <author>
      <name>Leandro Prado</name>
      <uri>http://www.leandroprado.com.br</uri>
    </author>
    <summary>Nesse post vou descrever como criar um ambiente SOA completo usando as ferramentas WSO2. O ambiente que estou usando é Ubuntu 10 como Java 6 (esse tutorial parte do princípio...</summary>
    <content type="html"><p style="text-align: justify;">Nesse post vou descrever como criar um ambiente SOA completo usando as ferramentas WSO2.</p>
<p style="text-align: justify;">O ambiente que estou usando é Ubuntu 10 como Java 6 (esse tutorial parte do princípio que o Ubuntu e o Java já estão instalados e configurados)</p>
<h3>Passo 1- Criar diretório</h3>
<p>Vamos criar um diretório onde vamos instalar todas as ferramentas do WSO2</p>
<pre class="brush:java">     cd /home/leandro-prado
     mkdir wso2
     cd wso2/
     pwd
     /home/leandro-prado/wso2</pre>
<h3>Passo 2 &#8211; WSO2 Governance Registry</h3>
<p style="text-align: justify;">Baixar o arquivo em <a title="WSO3 Governance Registry" href="http://wso2.com/products/governance-registry/" target="_blank">http://wso2.com/products/governance-registry/</a> (a versão que usamos foi a 3.5.0) descompactar e depois mover para o diretório criado acima</p>
<pre class="brush:java">     cd Downloads/wso2/
     unzip wso2greg-3.5.0.zip
     mv wso2greg-3.5.0 /home/leandro-prado/wso2/
     cd /home/leandro-prado/wso2/wso2greg-3.5.0/bin/
     ./wso2server.sh</pre>
<p style="text-align: justify;">Para iniciar o serviço entrar no diretório bin e executar o arquivo wso2server.sh, se tudo ocorrer sem erros, a seguinte saída deverá ser exibida no console</p>
<pre class="brush:java">     [2010-06-05 17:46:15,887]  INFO -  Connection established with the registry
     [2010-06-05 17:46:16,732]  INFO -  HTTPS port       : 9443
     [2010-06-05 17:46:16,761]  INFO -  HTTP port        : 9763
     [2010-06-05 17:46:18,911]  INFO -  Successfully Initialized Eventing on Registry
     [2010-06-05 17:46:27,749]  INFO -  Mgt Console URL  : https://10.0.2.15:9443/carbon/
     [2010-06-05 17:46:28,702]  INFO -  Started Transport Listener Manager
     [2010-06-05 17:46:28,703]  INFO -  Server           :  WSO2 Governance Registry-3.5.0
     [2010-06-05 17:46:28,703]  INFO -  WSO2 Carbon started in 65 sec</pre>
<p>Agora podemos acessar o browser e verificar se esta tudo correto:</p>
<p>Endereco: https://10.0.2.15:9443/carbon &#8211; <strong>Usuário: admin / Senha:admin</strong></p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/06/GovernanceRegistry.png"><img class="size-medium wp-image-165 aligncenter" title="WSO2 Governance Registry" src="http://www.leandroprado.com.br/wp-content/uploads/2010/06/GovernanceRegistry-300x187.png" alt="" width="300" height="187" /></a></p>
<h3>Passo 3 &#8211; WSO2 Data Services</h3>
<p style="text-align: justify;">Agora vamos instalar o Data Service, baixar o arquivo em <a title="WSO2 Data Services" href="http://wso2.com/products/data-services-server/" target="_blank">http://wso2.com/products/data-services-server/</a> (a versão que usamos foi a 2.2.1) descompactar e depois mover para o diretório criado no passo 1, podemos perceber que a intalação é igual para todas as ferramentas.</p>
<pre class="brush:java">     cd Downloads/wso2/
     unzip wso2dataservices-2.2.1.zip
     mv wso2dataservices-2.2.1 /home/leandro-prado/wso2/
     cd /home/leandro-prado/wso2/wso2dataservices-2.2.1/bin/
     ./wso2server.sh</pre>
<p style="text-align: justify;">Quando mandamos iniciar o servidor do Data Service pela primeira vez vamos receber o seguinte erro:</p>
<pre class="brush:java">     [2010-06-05 18:43:35,233]  INFO -  Repository       : /home/leandro-prado/wso2/wso2dataservices-2.2.1/repository/
     [2010-06-05 18:43:35,720]  INFO -  HTTPS port       : 9443
     [2010-06-05 18:43:35,721]  INFO -  HTTP port        : 9763
     [2010-06-05 18:43:35,954] ERROR -  Error initializing endpoint
     java.net.BindException: Address already in use:9443</pre>
<p style="text-align: justify;">Esse erro ocorre porque a porta 9443 ja esta sendo usanda pelo WSO2 Governance Registry, por esse motivo temos que configurar manualmente outra porta para o Data Service, para isso temos que editar o arquivo transports.xml que fica na pasta conf</p>
<pre class="brush:java">     cd ..
     cd conf/
     sudo gedit transports.xml</pre>
<p style="text-align: justify;">Temos que alterar o parâmetro port tanto para HTTP e HTTPS, essa configuração está na a linha 3 e na linha 30  e depois iniciar o serviço novamente, conforme abaixo:</p>
<pre class="brush:java">     &lt;parameter name="port"&gt;9764&lt;/parameter&gt;
     &lt;parameter name="port"&gt;9444&lt;/parameter&gt;
     cd ..
     cd bin/
     ./wsoeserver.sh</pre>
<p style="text-align: justify;">Se tudo ocorrer sem erros a seguinte saída devera ser exibida no console:</p>
<pre class="brush:java">     [2010-07-03 00:21:01,928]  INFO -  Initializing transport descriptions and their associated parameters
     [2010-07-03 00:21:01,992]  INFO -  Repository       : /home/leandro-prado/wso2/wso2dataservices-2.2.1/repository/
     [2010-07-03 00:21:02,363]  INFO -  HTTPS port       : 9444
     [2010-07-03 00:21:02,363]  INFO -  HTTP port        : 9764
     [2010-07-03 00:21:04,398]  INFO -  Mgt Console URL  : https://10.0.2.15:9444/carbon/
     [2010-07-03 00:21:04,399]  INFO -  Started Transport Listener Manager
     [2010-07-03 00:21:04,399]  INFO -  Server           :  WSO2 Data Services-2.2.1
     [2010-07-03 00:21:04,400]  INFO -  WSO2 Carbon started in 50 sec</pre>
<p style="text-align: justify;">Para ver se tudo esta correto podemos acessar o administrador do Data Service no browser.</p>
<p>Endereço: https://10.0.2.15:9444/carbon &#8211; <strong>Usuário: admin / Senha:admin</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/07/DataServices.png"><img class="aligncenter size-medium wp-image-182" title="WSO2 Data Services" src="http://www.leandroprado.com.br/wp-content/uploads/2010/07/DataServices-300x187.png" alt="" width="300" height="187" /></a></p>
<h3>Passo 4 &#8211; WSO2 Application Server</h3>
<p style="text-align: justify;">Agora vamos instalar o Application Server, baixar o arquivo em <a href="http://wso2.com/products/web-services-application-server/" target="_blank">http://wso2.com/products/web-services-application-server/</a> (a versão que usamos foi a 3.2.0) para instalar seguir o mesmo padrão, descompactar, mover para o diretório, configurar o arquivo transports.xml (port HTTP 9445 e HTTPS 9765) e iniciar o serviço</p>
<pre class="brush:java">     cd Downloads/wso2/
     unzip wso2wsas-3.2.0.zip
     mv wso2wsas-3.2.0 /home/leandro-prado/wso2/
     cd /home/leandro-prado/wso2/wso2wsas-3.2.0
     cd repository/conf
     gedit mgt-transports.xml
     cd ../../bin
     ./wso2server.sh</pre>
<p style="text-align: justify;">Se tudo ocorrer sem erros a seguinte saída devera ser exibida no console:</p>
<pre class="brush:java">     [2010-07-03 00:49:45,404]  INFO -  Repository       : /home/leandro-prado/wso2/wso2wsas-3.2.0/repository/deployment/server/
     [2010-07-03 00:49:45,657]  INFO -  Connection established with the registry
     [2010-07-03 00:49:47,821]  INFO -  HTTPS port       : 9445
     [2010-07-03 00:49:47,829]  INFO -  HTTP port        : 9765
     [2010-07-03 00:49:50,774]  INFO -  Mgt Console URL  : https://10.0.2.15:9445/carbon/
     [2010-07-03 00:49:50,787]  INFO -  Started Transport Listener Manager
     [2010-07-03 00:49:50,795]  INFO -  Server           :  WSO2 WSAS-3.2.0
     [2010-07-03 00:49:50,796]  INFO -  WSO2 Carbon started in 33 sec</pre>
<p style="text-align: justify;">Para ver se tudo esta correto podemos acessar o administrador do Application Server no browser.</p>
<p>Endereco: https://10.0.2.15:9445/carbon &#8211; <strong>Usuário: admin / Senha:admin</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/07/ApplicationServer.png"><img class="aligncenter size-medium wp-image-187" title="WSO2 Application Server" src="http://www.leandroprado.com.br/wp-content/uploads/2010/07/ApplicationServer-300x187.png" alt="" width="300" height="187" /></a></p>
<h3>Passo 5 &#8211; WSO2 Enterprise Service Bus</h3>
<p style="text-align: justify;">Agora vamos instalar a BUS, baixar o arquivo em <a href="http://wso2.com/products/web-services-application-server/" target="_blank">http://wso2.com/products/enterprise-service-bus/</a> (a versão que usamos foi a 3.0.0) novamente a instalação segue o mesmo padrão, descompactar, mover para o diretório, configurar o arquivo transports.xml (port HTTP 9446 e HTTPS 9766) e iniciar o serviço</p>
<pre class="brush:java">     cd Downloads/wso2/
     unzip wso2esb-3.0.0.zip
     mv wso2esb-3.0.0 /home/leandro-prado/wso2/
     cd /home/leandro-prado/wso2/wso2esb-3.0.0
     cd repository/conf
     gedit mgt-transports.xml
     cd ../../bin
     ./wso2server.sh</pre>
<p style="text-align: justify;">Se tudo ocorrer sem erros a seguinte saída devera ser exibida no console:</p>
<pre class="brush:java">     [2010-07-03 01:15:19,725]  INFO - CarbonUIServiceComponent Mgt Console URL  : https://10.0.2.15:9446/carbon/
     [2010-07-03 01:15:19,783]  INFO - StartupFinalizerServiceComponent Started Transport Listener Manager
     [2010-07-03 01:15:19,784]  INFO - StartupFinalizerServiceComponent Server           :  WSO2 ESB-3.0.0
     [2010-07-03 01:15:19,784]  INFO - StartupFinalizerServiceComponent WSO2 Carbon started in 114 sec</pre>
<p style="text-align: justify;">Para ver se tudo esta correto podemos acessar o administrador do Application Server no browser.</p>
<p>Endereco: https://10.0.2.15:9446/carbon &#8211; <strong>Usuário: admin / Senha:admin</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/07/EnterpriseServiceBus.png"><img class="aligncenter size-medium wp-image-191" title="WSO2 Enterprise Service Bus" src="http://www.leandroprado.com.br/wp-content/uploads/2010/07/EnterpriseServiceBus-300x187.png" alt="" width="300" height="187" /></a></p>
<h3>Passo 6 &#8211; WSO2 Business Activity Monitor</h3>
<p>Agora vamos instalar a BAM, baixar o arquivo em <a href="http://wso2.com/products/business-activity-monitor/">http://wso2.com/products/business-activity-monitor/</a> (a versão que usamos foi a 1.0.1) novamente a instalação segue o mesmo padrão, descompactar, mover para o diretório, configurar o arquivo transports.xml (port HTTP 9447 e HTTPS 9767) e iniciar o serviço.</p>
<pre class="brush:java">     cd Downloads/wso2/
     unzip wso2bam-1.0.1.zip
     mv wso2bam-1.0.1 /home/leandro-prado/wso2/
     cd /home/leandro-prado/wso2/wso2bam-1.0.1
     cd conf/
     gedit transports.xml
     cd ../bin
     ./wso2server.sh</pre>
<p style="text-align: justify;">Se tudo ocorrer sem erros a seguinte saída devera ser exibida no console:</p>
<pre class="brush:java">     [2010-07-07 16:06:32,854]  INFO -  Connection established with the registry
     [2010-07-07 16:06:33,816]  INFO -  Successfully Initialized Eventing on Registry
     [2010-07-07 16:06:47,166]  INFO -  Mgt Console URL  : https://10.0.2.15:9447/carbon/
     [2010-07-07 16:06:47,167]  INFO -  Started Transport Listener Manager
     [2010-07-07 16:06:47,168]  INFO -  Server           :  WSO2 Business Activity Monitor-1.0.1
     [2010-07-07 16:06:47,168]  INFO -  WSO2 Carbon started in 96 sec</pre>
<p>Para ver se tudo esta correto podemos acessar o administrador da BAM no browser.</p>
<p>Endereco: https://10.0.2.15:9447/carbon &#8211; <strong>Usuário: admin / Senha:admin</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/07/BAM.png"><img class="aligncenter size-medium wp-image-230" title="WSO2 Business Activity Monitor" src="http://www.leandroprado.com.br/wp-content/uploads/2010/07/BAM-300x187.png" alt="" width="300" height="187" /></a></p>
<p>Podemos ver como é fácil instalar as ferrametas do WSO2, nos próximos posts vamos configurar os servers para se conectar com o baco de dados MySQL.</p>
<p>Até a próxima!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2010/12/veja-os-posts-mais-vistos-em-2010/" title="Top 10 Posts de 2010">Top 10 Posts de 2010</a></li><li><a href="http://www.leandroprado.com.br/2010/10/serie-criando-servicos-com-wso2/" title="Série criando serviços com WSO2">Série criando serviços com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-3-wso2-esb/" title="Criando serviços com o WSO2 – Parte 3 – WSO2 ESB">Criando serviços com o WSO2 – Parte 3 – WSO2 ESB</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-2-wso2-wsas/" title="Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS">Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS</a></li><li><a href="http://www.leandroprado.com.br/2010/09/criando-servicos-com-o-wso2-parte-1-wso2-data-services/" title="Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services">Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/05/wso2-data-services/" title="WSO2 Data Services">WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/05/ferramentas-soa-open-source/" title="Ferramentas SOA Open Source">Ferramentas SOA Open Source</a></li><li><a href="http://www.leandroprado.com.br/2010/10/configurando-o-wso2-com-postgresql/" title="Configurando o WSO2 com PostgreSQL">Configurando o WSO2 com PostgreSQL</a></li><li><a href="http://www.leandroprado.com.br/2010/05/plataforma-wso2/" title="Plataforma WSO2">Plataforma WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/05/webservices-simples-e-eficiente/" title="WebServices Simples e eficiente">WebServices Simples e eficiente</a></li></ul></content>
    <source>
      <title type="html">@{ new Blog("Leandro Prado"); } » WSO2</title>
      <link rel="self" href="http://www.leandroprado.com.br/category/wso2/feed/atom/"/>
      <id>http://www.leandroprado.com.br/category/wso2/feed/atom/</id>
      <updated>2011-11-09 09:39:16 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.mcorp.com.br/?p=447</id>
    <title>Compilando o WSO2 Carbon 3.0.0 e corrigindo o WSO2 Data  Services Server 2.5.0</title>
    <link 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/" />
    
    <updated>2011-03-31 12:01:56 GMT</updated>
    
    <author>
      <name>Leonardo Saraiva</name>
      <uri>http://www.mcorp.com.br</uri>
    </author>
    <summary>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- &#8230; <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/">Continue lendo <span class="meta-nav">&#8594;</span></a></summary>
    <content type="html"><p><img class="alignleft" title="WSO2 Data Services Server" src="http://www.mcorp.com.br/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 &#8211; 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="http://www.mcorp.com.br/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="https://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/2011/06/novidades-wso2-data-services-server-2-6-x/" title="Novidades WSO2 Data Services Server (2.6.x)">Novidades WSO2 Data Services Server (2.6.x)</a></li><li><a href="http://www.mcorp.com.br/2011/10/wso2-data-services-server-e-suas-atualizacoes/" title="WSO2 Data Services Server e suas atualizações">WSO2 Data Services Server e suas atualizações</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/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></ul></content>
    <source>
      <title type="html">mcorp. » wso2</title>
      <link rel="self" href="http://www.mcorp.com.br/tag/wso2/feed/atom/"/>
      <id>http://www.mcorp.com.br/tag/wso2/feed/atom/</id>
      <updated>2011-11-12 20:18:34 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.mcorp.com.br/?p=440</id>
    <title>Lançamento do WSO2 Stratos (alpha)</title>
    <link href="http://www.mcorp.com.br/2010/06/lancamento-do-wso2-stratos-alpha/" />
    
    <updated>2010-06-01 18:50:24 GMT</updated>
    
    <author>
      <name>Leonardo Saraiva</name>
      <uri>http://www.mcorp.com.br</uri>
    </author>
    <summary>O pessoal do WSO2 anda com todo o vapor mesmo, hoje foi lançado (versão alpha ainda) o WSO2 Stratos, toda a plataforma rodando em cloud computing, ou seja, tudo &#8220;empacotado&#8221; e pronto para rodar, sem dependência de hardware e instalações. &#8230; <a href="http://www.mcorp.com.br/2010/06/lancamento-do-wso2-stratos-alpha/">Continue lendo <span class="meta-nav">&#8594;</span></a></summary>
    <content type="html"><p><img class="alignright size-full wp-image-439" title="WSO2 Stratos" src="http://www.mcorp.com.br/wp-content/uploads/2010/06/wso2-stratos.png" alt="" width="107" height="23" />O pessoal do <a href="http://wso2.org" target="_blank">WSO2</a> anda com todo o vapor mesmo, hoje foi lançado (versão <em>alpha</em> ainda) o <a href="http://wso2.com/cloud/stratos/" target="_blank">WSO2 Stratos</a>, toda a plataforma rodando em <em>cloud computing</em>, ou seja, tudo &#8220;empacotado&#8221; e pronto para rodar, sem dependência de hardware e instalações.</p>
<p>Você pode conseguir maiores informações no site do produto <a href="http://wso2.com/cloud/stratos/" target="_blank">WSO2 Stratos</a> (em inglês) e, também, testar tudo funcionando (lembrando que não é uma versão final ainda) fazendo seu cadastro &#8211; grátis. <a href="http://cloud.wso2.com/" target="_blank">Testar o WSO2 Stratos</a>.</p>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/06/wso2-stratos-home.png" rel="lightbox[440]"><img class="alignnone size-medium wp-image-443" title="WSO2 Stratos - Home" src="http://www.mcorp.com.br/wp-content/uploads/2010/06/wso2-stratos-home-300x228.png" alt="" width="300" height="228" /></a></p>
<p>Os produtos lançados nesse formato são:</p>
<ul>
<li>Governance</li>
<li>Identity</li>
<li>Application Server</li>
<li>Gadgets</li>
<li>Mashup Server</li>
<li>Business Activity Monitor</li>
<li>Enterprise Service Bus</li>
</ul>
<p>Assim que sobrar um tempo vou ver como ficariam implementações utilizando a versão livre deles e ver até onde ela está liberada para ser utilizada. E também a dificuldade de trabalhar dessa forma.</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/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/2011/11/wso2-soa-workshop-em-sao-paulo/" title="WSO2: SOA Workshop em São Paulo">WSO2: SOA Workshop em São Paulo</a></li><li><a href="http://www.mcorp.com.br/2011/06/novidades-wso2-data-services-server-2-6-x/" title="Novidades WSO2 Data Services Server (2.6.x)">Novidades WSO2 Data Services Server (2.6.x)</a></li><li><a href="http://www.mcorp.com.br/2011/02/seguranca-de-informacoes-atraves-de-filtragem-de-dados-no-wso2-data-services/" title=" Segurança de informações através de filtragem de dados no WSO2 Data Services"> Segurança de informações através de filtragem de dados no WSO2 Data Services</a></li></ul></content>
    <source>
      <title type="html">mcorp. » wso2</title>
      <link rel="self" href="http://www.mcorp.com.br/tag/wso2/feed/atom/"/>
      <id>http://www.mcorp.com.br/tag/wso2/feed/atom/</id>
      <updated>2011-11-12 20:18:34 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.leandroprado.com.br/?p=101</id>
    <title>Plataforma WSO2</title>
    <link href="http://www.leandroprado.com.br/2010/05/plataforma-wso2/" />
    
    <updated>2010-06-19 17:31:32 GMT</updated>
    
    <author>
      <name>Leandro Prado</name>
      <uri>http://www.leandroprado.com.br</uri>
    </author>
    <summary>Neste post vou descrever o que cada solução do WSO2 é responsável. WSO2 Enterprise Service Bus WSO2 ESB permite aos administradores de sistema e arquitetos de SOA de forma simples...</summary>
    <content type="html"><p style="text-align: justify;">Neste post vou descrever o que cada solução do WSO2 é responsável.</p>
<table border="0">
<tbody>
<tr>
<td style="width: 250px;">
<h3>WSO2 Enterprise Service Bus</h3>
</td>
<td><img src="http://www.leandroprado.com.br/wp-content/uploads/2010/05/mini-esb-logo.gif" alt="WSO2 Enterprise Service Bus" /></td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">WSO2 ESB permite aos administradores de sistema e arquitetos de SOA de forma simples e fácil configurar o roteamento de mensagens, a virtualização, a intermediação, transformação, logs de requisições, agendamento de tarefas, balanceamento de carga, mediação de eventos e muito mais.</p>
<table>
<tbody>
<tr>
<td style="width: 240px;">
<h3>WSO2 Governance Registry</h3>
</td>
<td><img src="http://www.leandroprado.com.br/wp-content/uploads/2010/05/mini-registry-logo.gif" alt="WSO2 Governance Registry" /></td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">Responsável por manter o controle de sua arquitetura SOA como um repositório de metadados, suporte para controle de versão, gestão de ciclo de vida, um modelo avançado para usuários / papéis / permissões, e as características sociais, tais como marcação, classificação e comentários. WSO2  Governance Registry se integra com outros produtos WSO2 para coletar metadados sobre serviços, centraliza a política de metadados, e gerencia dependências.</p>
<table>
<tbody>
<tr>
<td style="width: 190px;">
<h3>WSO2 Identity Server</h3>
</td>
<td><img src="http://www.leandroprado.com.br/wp-content/uploads/2010/05/mini-is-logo.gif" alt="WSO2 Identity Server" /></td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">A WSO2 Identity Server é o servidor de gerenciamento de identidade e direito. Ele suporta cartões de Informação e OpenID para autenticação, bem como autorização para XACML. Pode ser integrada facilmente com LDAP ou Active Directory.</p>
<table>
<tbody>
<tr>
<td style="width: 260px;">
<h3>WSO2 Business Activity Monitor</h3>
</td>
<td><img src="http://www.leandroprado.com.br/wp-content/uploads/2010/05/mini-bam-logo.gif" alt="WSO2 Business Activity Monitor" /></td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">A WSO2 Business Activity Monitor (BAM WSO2) serve para suprir as necessidades dos especialistas em TI acompanharem e entenderem as atividades de negócios dentro de uma implantação SOA com isso permite que as organizações sejam pró-ativa ao invés de ser reativo.</p>
<table>
<tbody>
<tr>
<td style="width: 180px;">
<h3>WSO2 Gadgat Server</h3>
</td>
<td><img src="http://www.leandroprado.com.br/wp-content/uploads/2010/05/mini-gs-logo.gif" alt="WSO2 Gadgat Server" /></td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">O Gadgat WSO2 Server permite que você possa oferecer aos seus executivos, funcionários, parceiros ou clientes uma maneira de obter todas as informações em um único lugar que eles precisam. Pordemos criar vários paineis para cada usuário permitindo-lhe adicionar, personalizar e reorganizar seus gadgets, assim como agrupá-las em conjuntos de tabulação.</p>
<table>
<tbody>
<tr>
<td style="width: 250px;">
<h3>WSO2 Business Process Server</h3>
</td>
<td><img src="http://www.leandroprado.com.br/wp-content/uploads/2010/05/mini-bps-logo.gif" alt="WSO2 Business Process Server" /></td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">A WSO2 Business Process Server é um servidor responsável por executar os processos de negócios, são escritos usando o padrão WS-BPEL. Oferece um completo console gráfico para implantar, gerenciar e visualizar os processos, além de gerenciar e exibir instâncias do processo.</p>
<table>
<tbody>
<tr>
<td style="width: 180px;">
<h3>WSO2 Mashup Server</h3>
</td>
<td><img src="http://www.leandroprado.com.br/wp-content/uploads/2010/05/mini-mashup-logo.gif" alt="" /></td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">A WSO2 Mashup Server fornece uma plataforma para uma rápida implantação de serviços Web Mashups.  Combinando mashups simples, mas rica de reutilização, segurança, confiabilidade e governação, a WOS2 Mashup Server oferece a composição de serviços de classe empresarial. O servidor Mashup é voltada para desenvolvedores web (HTML + Javascript / competências XML) que permite um rápido desenvolvimento e compartilhamento de novos serviços.</p>
<table>
<tbody>
<tr>
<td style="width: 180px;">
<h3>WSO2 Data Services</h3>
</td>
<td><img src="http://www.leandroprado.com.br/wp-content/uploads/2010/05/mini-ds-logo.gif" alt="WSO2 Data Services" /></td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">A WSO2 Data Services fornece uma plataforma fácil de usar para criar serviços responsáveis por buscar os dados armazenados em locais heterogêneos, como banco de dados, arquivos CSV, Excel ou XML, permitindo a fácil integração de dados em processos de negócios, mashups, gadgets aplicações, BI e todos os serviços em geral.</p>
<table>
<tbody>
<tr>
<td style="width: 320px;">
<h3>WSO2 Web Services Application Server</h3>
</td>
<td><img src="http://www.leandroprado.com.br/wp-content/uploads/2010/05/mini-wsas-logo.gif" alt="WSO2 Web Services Application Server" /></td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">WSO2 WSAS é um servidor de aplicativos para web services. Com o seu servidor Web incorporado de alto desempenho, suporte completo para XML, SOAP, WSDL, e suporte para comunicações confiáveis, seguras, WSO2 WSAS torna simples e eficaz para criar, consumir e gerenciar Web Services. tanbém podemos expor aplicativos como serviços na forma de POJOs ou JARs</p>
<p style="text-align: justify;">Além dessas soluções, o WSO2 possui frameworks para fornecer aos desenvolvedores a infra-estrutura para criar e consumir serviços em sua linguagem de programação favorita como C, C++, PHP ou Spring.</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2010/10/serie-criando-servicos-com-wso2/" title="Série criando serviços com WSO2">Série criando serviços com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/12/veja-os-posts-mais-vistos-em-2010/" title="Top 10 Posts de 2010">Top 10 Posts de 2010</a></li><li><a href="http://www.leandroprado.com.br/2010/10/configurando-o-wso2-com-postgresql/" title="Configurando o WSO2 com PostgreSQL">Configurando o WSO2 com PostgreSQL</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-3-wso2-esb/" title="Criando serviços com o WSO2 – Parte 3 – WSO2 ESB">Criando serviços com o WSO2 – Parte 3 – WSO2 ESB</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-2-wso2-wsas/" title="Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS">Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS</a></li><li><a href="http://www.leandroprado.com.br/2010/09/criando-servicos-com-o-wso2-parte-1-wso2-data-services/" title="Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services">Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/05/wso2-data-services/" title="WSO2 Data Services">WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/07/criando-um-ambiente-soa-com-wso2/" title="Criando um ambiente SOA com WSO2">Criando um ambiente SOA com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/05/ferramentas-soa-open-source/" title="Ferramentas SOA Open Source">Ferramentas SOA Open Source</a></li></ul></content>
    <source>
      <title type="html">@{ new Blog("Leandro Prado"); } » WSO2</title>
      <link rel="self" href="http://www.leandroprado.com.br/category/wso2/feed/atom/"/>
      <id>http://www.leandroprado.com.br/category/wso2/feed/atom/</id>
      <updated>2011-11-09 09:39:16 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.leandroprado.com.br/?p=72</id>
    <title>WSO2 Data Services</title>
    <link href="http://www.leandroprado.com.br/2010/05/wso2-data-services/" />
    
    <updated>2010-05-28 13:11:18 GMT</updated>
    
    <author>
      <name>Leandro Prado</name>
      <uri>http://www.leandroprado.com.br</uri>
    </author>
    <summary>Quanto estamos construindo um sistema temos que nos preocupar em qual abordagem de acesso aos dados vamos utilizar, tais como Enterprise Java Beans (EJBs), CORBA e Hibernate, cada um procura uma abordagem diferente para
obtenção de dados, para SOA essa abordagem deve ser simples, para que possamos concentrar nossos esforços na implementação das funcionalidades de negócios.</summary>
    <content type="html"><p style="text-align: justify;">Quanto estamos construindo um sistema temos que nos preocupar em qual abordagem de acesso aos dados vamos utilizar, tais como Enterprise Java Beans (EJBs), CORBA e Hibernate, cada um procura uma abordagem diferente para obtenção de dados, para SOA essa abordagem deve ser simples, para que possamos concentrar nossos esforços na implementação das funcionalidades de negócios.</p>
<h3 style="text-align: justify;"><img class="aligncenter size-full wp-image-95" title="dataservices" src="http://www.leandroprado.com.br/wp-content/uploads/2010/05/dataservices.gif" alt="" width="558" height="291" />Porque Data Services?</h3>
<p style="text-align: justify;">Os dados são o sangue da vida de uma empresa, por esse motivo eles devem sem bem armazenados e seguros. Geralemente em SOA (Service Oriented Architecture) temos que ter acesso à dados armazenados em fontes de dados heterogêneas.</p>
<p style="text-align: justify;">Data Services essencialmente tira o esforço de desenvolver um mecanismo de acesso a dados para diferentes aplicações, ou seja, é um mecanismo para levar os dados armazenados em bases de dados relacionais, arquivos de Excel e arquivos de CSV e torná-los facilmente disponíveis como WebServices ou como REST.</p>
<p style="text-align: justify;">Na sua essência os Data Services são responsáveis por quebrar a frágil ligação entre as aplicações e dados. Com o Data Services, dados e as aplicações existem isoladamente, mas podem colaborar quando necessário com isso temos a capacidade de manipular os mesmos dados de forma diferente quando solicitados por diferentes canais.</p>
<h3 style="text-align: justify;">Beneficios do Data Services</h3>
<ul>
<li>Fácil extrasão de dados de bases relacionais através de JDBC, além de arquivos como Excel, CSV e XML</li>
</ul>
<ul>
<li>Gera um arquivo único de mapeamento no formato XML para expor os dados em vários formatos diferentes e protocolos, sem a necessidade de programação redundante para acesso múltiplo diferentes tecnologias de banco de dados</li>
</ul>
<ul>
<li>Expõe seus dados como os serviços estilo Web Services ou recursos REST. Através de XML sobre HTTP, os dados podem até ser exposto como JSON (JavaScript Object Notation), tornando muito mais fácil para construir interfaces Ajax</li>
</ul>
<ul>
<li>Gerar acesso transparente e unificado de um repositório consistente, que proporciona maior acessibilidade aos dados da empresa</li>
</ul>
<p style="text-align: justify;">Para manipular o WSO2 Data Services temos o DSDL (Data Services Description Language) que permite especificar como as entradas das solicitações serão mapeadas e controlar como os resultados serão mostrados para o usuário</p>
<h3 style="text-align: justify;">Performance</h3>
<p style="text-align: justify;">O WSO2 Data Services armazena em cache as solicitações mais usadas para ser recuperado por chamadas semelhantes subseqüentes, também é capaz de forçar um flush cache, caso as circunstâncias requerer o esvaziamento de cache de dados.</p>
<h3 style="text-align: justify;">Segurança</h3>
<p style="text-align: justify;">WSO2 Data Services oferece suporte a segurança em nível de elemento e segurança baseada em função de indivíduos e grupos no acesso aos dados, incluindo a assinatura digital, criptografia e diversas outros tokens de segurança.</p>
<h3 style="text-align: justify;">Conclusão</h3>
<p style="text-align: justify;">WSO2 Data Services é uma abordagem para o tratamento de dados da empresa como um serviço de primeira classe empresarial. Ele encapsula toda a lógica que executa a descoberta de dados, acesso a dados, validação de dados,<br />
segurança em uma camada de abstração simples.</p>
<p style="text-align: justify;">WSO2 Data Services ajuda a criar serviços com rapidez e facilidade para o consumo de um serviço orientada a arquitetura.</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2010/10/serie-criando-servicos-com-wso2/" title="Série criando serviços com WSO2">Série criando serviços com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/09/criando-servicos-com-o-wso2-parte-1-wso2-data-services/" title="Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services">Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/12/veja-os-posts-mais-vistos-em-2010/" title="Top 10 Posts de 2010">Top 10 Posts de 2010</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-3-wso2-esb/" title="Criando serviços com o WSO2 – Parte 3 – WSO2 ESB">Criando serviços com o WSO2 – Parte 3 – WSO2 ESB</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-2-wso2-wsas/" title="Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS">Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS</a></li><li><a href="http://www.leandroprado.com.br/2010/07/criando-um-ambiente-soa-com-wso2/" title="Criando um ambiente SOA com WSO2">Criando um ambiente SOA com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/05/plataforma-wso2/" title="Plataforma WSO2">Plataforma WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/05/ferramentas-soa-open-source/" title="Ferramentas SOA Open Source">Ferramentas SOA Open Source</a></li><li><a href="http://www.leandroprado.com.br/2010/10/configurando-o-wso2-com-postgresql/" title="Configurando o WSO2 com PostgreSQL">Configurando o WSO2 com PostgreSQL</a></li><li><a href="http://www.leandroprado.com.br/2010/05/webservices-simples-e-eficiente/" title="WebServices Simples e eficiente">WebServices Simples e eficiente</a></li></ul></content>
    <source>
      <title type="html">@{ new Blog("Leandro Prado"); } » WSO2</title>
      <link rel="self" href="http://www.leandroprado.com.br/category/wso2/feed/atom/"/>
      <id>http://www.leandroprado.com.br/category/wso2/feed/atom/</id>
      <updated>2011-11-09 09:39:16 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.leandroprado.com.br/?p=56</id>
    <title>Ferramentas SOA Open Source</title>
    <link href="http://www.leandroprado.com.br/2010/05/ferramentas-soa-open-source/" />
    
    <updated>2010-10-06 16:38:27 GMT</updated>
    
    <author>
      <name>Leandro Prado</name>
      <uri>http://www.leandroprado.com.br</uri>
    </author>
    <summary>Quando decidimos criar um ambiente SOA, um dos requisitos impostos pela maioria dos diretores é se é uma solução livre, ou seja, OpenSource. Partindo desse pré-requisito, pesquisamos algumas ferramentas que...</summary>
    <content type="html"><p style="text-align: justify;">Quando decidimos criar um ambiente SOA, um dos requisitos impostos pela maioria dos diretores é se é uma solução livre, ou seja, OpenSource. Partindo desse pré-requisito, pesquisamos algumas ferramentas que poderíamos utilizar.</p>
<p style="text-align: justify;">A primeira ferramenta que testamos foi o Intalio, que, na verdade, é uma ferramenta de BPM em que podemos modelar os processos em BPEL e depois fazer um deploy como um serviço para expor na BUS. Um dos problemas que encontramos com essa ferramenta, foi que não conseguimos levantar uma excessão e retornar para o usuário.</p>
<p style="text-align: justify;">Também estudamos o Mule, que é uma BUS para expor todos os serviços criados a partir do Intalio.</p>
<p style="text-align: justify;">Outra opção foi o JBOSS SOA Plataform; chegamos a fazer um piloto com consultores da Red Hat, porém não supriu todas as nossas necessidades, tinhamos os mesmos problemas da ferramenta Intalio.</p>
<p style="text-align: justify;">Até que descobrimos uma ferramenta chamada WSO2, a qual possui várias ferramentas para SOA como DataServices, Business Process Server, Web Services Application, Governance Registry, Enterprise Service Bus, etc.</p>
<p style="text-align: justify;">A grande vantagem de usar o WSO2 é que temos um grande suporte em fóruns, e-mail, acesso ao código-fonte e atualizações frequentes de suas ferramentas, isso significa que os desenvolvedores estão aprimorando cada vez mais cada uma das ferramentas.</p>
<p style="text-align: justify;">Outra grande vantagem é a sua fácil instalação, na maioria das vezes é necessário somente descompactar a pasta e iniciar o serviço que o servidor já está funcionando.</p>
<p style="text-align: justify;">Atualmente estamos usando DataServices, Web Services Application, Governance Registry e Enterprise Service Bus, todos rodando em um mesmo servidor, porém em portas diferentes.</p>
<p style="text-align: justify;">Veja abaixo a solução completa que o WSO2 implementa.</p>
<p style="text-align: center;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2010/05/product-platform.gif"><img class="aligncenter" src="http://www.leandroprado.com.br/wp-content/uploads/2010/05/product-platform.gif" title="Plataforma WSO2" alt="Plataforma WSO2" /></a></p>
<p>Nos próximos posts vou explicar a funcionalidade de cada produto.</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2010/12/veja-os-posts-mais-vistos-em-2010/" title="Top 10 Posts de 2010">Top 10 Posts de 2010</a></li><li><a href="http://www.leandroprado.com.br/2010/10/serie-criando-servicos-com-wso2/" title="Série criando serviços com WSO2">Série criando serviços com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-3-wso2-esb/" title="Criando serviços com o WSO2 – Parte 3 – WSO2 ESB">Criando serviços com o WSO2 – Parte 3 – WSO2 ESB</a></li><li><a href="http://www.leandroprado.com.br/2010/10/criando-servicos-com-o-wso2-parte-2-wso2-wsas/" title="Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS">Criando serviços com o WSO2 – Parte 2 &#8211; WSO2 WSAS</a></li><li><a href="http://www.leandroprado.com.br/2010/09/criando-servicos-com-o-wso2-parte-1-wso2-data-services/" title="Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services">Criando serviços com o WSO2 &#8211; Parte 1 &#8211; WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/07/criando-um-ambiente-soa-com-wso2/" title="Criando um ambiente SOA com WSO2">Criando um ambiente SOA com WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/05/wso2-data-services/" title="WSO2 Data Services">WSO2 Data Services</a></li><li><a href="http://www.leandroprado.com.br/2010/10/configurando-o-wso2-com-postgresql/" title="Configurando o WSO2 com PostgreSQL">Configurando o WSO2 com PostgreSQL</a></li><li><a href="http://www.leandroprado.com.br/2010/05/plataforma-wso2/" title="Plataforma WSO2">Plataforma WSO2</a></li><li><a href="http://www.leandroprado.com.br/2010/05/webservices-simples-e-eficiente/" title="WebServices Simples e eficiente">WebServices Simples e eficiente</a></li></ul></content>
    <source>
      <title type="html">@{ new Blog("Leandro Prado"); } » WSO2</title>
      <link rel="self" href="http://www.leandroprado.com.br/category/wso2/feed/atom/"/>
      <id>http://www.leandroprado.com.br/category/wso2/feed/atom/</id>
      <updated>2011-11-09 09:39:16 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.mcorp.com.br/?p=397</id>
    <title>Utilizando o Array Type do WSO2 Data Services Server 2.5.x</title>
    <link href="http://www.mcorp.com.br/2010/05/utilizando-o-array-type-do-wso2-data-services-server-2-5-x/" />
    
    <updated>2011-02-24 00:54:04 GMT</updated>
    
    <author>
      <name>Leonardo Saraiva</name>
      <uri>http://www.mcorp.com.br</uri>
    </author>
    <summary>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 &#8230; <a href="http://www.mcorp.com.br/2010/05/utilizando-o-array-type-do-wso2-data-services-server-2-5-x/">Continue lendo <span class="meta-nav">&#8594;</span></a></summary>
    <content type="html"><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 &#8220;mágica&#8221;! 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 &#8220;id = :id&#8221; e colocaremos uma que aceita &#8220;N&#8221; parâmetros &#8220;id in (:id)&#8221;. 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/2011/10/wso2-data-services-server-e-suas-atualizacoes/" title="WSO2 Data Services Server e suas atualizações">WSO2 Data Services Server e suas atualizações</a></li><li><a href="http://www.mcorp.com.br/2011/06/novidades-wso2-data-services-server-2-6-x/" title="Novidades WSO2 Data Services Server (2.6.x)">Novidades WSO2 Data Services Server (2.6.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/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></ul></content>
    <source>
      <title type="html">mcorp. » wso2</title>
      <link rel="self" href="http://www.mcorp.com.br/tag/wso2/feed/atom/"/>
      <id>http://www.mcorp.com.br/tag/wso2/feed/atom/</id>
      <updated>2011-11-12 20:18:34 BRST</updated>
    </source>
  </entry>
  
  <entry>
    <id>http://www.mcorp.com.br/?p=372</id>
    <title>Instalando o WSO2 Web Services Framework for PHP (2.0.0)</title>
    <link href="http://www.mcorp.com.br/2010/04/instalando-o-wso2-web-services-framework-for-php-2-0-0/" />
    
    <updated>2010-04-21 00:47:45 GMT</updated>
    
    <author>
      <name>Leonardo Saraiva</name>
      <uri>http://www.mcorp.com.br</uri>
    </author>
    <summary>Como eu disse anteriormente, em Consumindo um serviço seguro utilizando PHP, vou mostrar uma das maneiras para instalar o framework que o pessoal do WSO2 disponibiliza para criação e consumo de serviços em PHP, conhecido como: WSO2 Web Services Framework &#8230; <a href="http://www.mcorp.com.br/2010/04/instalando-o-wso2-web-services-framework-for-php-2-0-0/">Continue lendo <span class="meta-nav">&#8594;</span></a></summary>
    <content type="html"><p><img class="alignright size-full wp-image-378" title="WSO2 Web Services Framework for PHP" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wsf-php.gif" alt="" width="249" height="23" />Como eu disse anteriormente, em <a href="http://www.mcorp.com.br/2010/03/consumindo-um-servico-seguro-utilizando-php/" target="_blank">Consumindo um serviço seguro utilizando PHP</a>, vou mostrar uma das maneiras para instalar o framework que o pessoal do WSO2 disponibiliza para criação e consumo de serviços em PHP, conhecido como: <a href="http://wso2.org/downloads/wsf/php" target="_blank">WSO2 Web Services Framework <em>for PHP</em></a>.</p>
<p>Na página de <a href="http://wso2.org/downloads/wsf/php" target="_blank">downloads do WSO2 Web Services Framework <em>for PHP</em></a>, é possível escolher entre 3 opções de instalação, então exemplificar a fundo apenas uma e colocar uma breve descrição das outras.</p>
<h2>Binary Distribution</h2>
<p>É o framework já compilado e com a DLL dentro que serve para as pessoas que a utilizarão em ambientes Windows, não terá muito trabalho, apenas colocar a DLL na pasta correta e configurar o seu <em>php.ini</em>. Essa é a opção mais prática &#8211; na minha opinião &#8211; para Windows (deixarei essa para uma próxima, não tenho ambiente para isso &#8211; ainda).</p>
<h2>PECL Distribution</h2>
<p>Em teoria é a mais fácil de todas. Mas por que &#8220;em teoria&#8221;? Passei dois dias realizando diversas configurações na minha máquina para que isso funcionasse corretamente, perguntei no <a href="http://wso2.org/forum/thread/9553" target="_blank">fórum</a> se alguém poderia me ajudar a solucionar, mas desisti. Parti para a maneira &#8220;clássica&#8221;, o famoso <a href="/glossario/#CMM">CMM</a>, que descrevo abaixo.</p>
<h2>Source Distribution</h2>
<p>Essa versão é o <a href="https://wso2.org/repos/wso2/trunk/wsf/php/" target="_blank">código-fonte do WSO2 Web Services Framework <em>for PHP</em></a> (aberto, hein!) e aqui temos duas opções de download, com apenas uma diferença mínima: o compactador. Uma foi compactada utilizando ZIP e outra TAR/GZ. E ambas será necessário compilação, com os bons e velhos comandos: <em>./configure</em>, <em>make &amp;&amp; make install</em>.</p>
<p>Mas, chega de papo, vamos por a mão na &#8220;massa&#8221;.</p>
<h3>Instalando as dependências</h3>
<p>As dependências para funcionamento do framework, não são muitas:</p>
<ul>
<li><a href="http://wso2.org/downloads/wsf/c" target="_blank">WSO2 Web Services Framework <em>for C</em></a></li>
<li>PHP 5.1.1 ou superior</li>
<li>Bibliotecas libxml2 e OpenSSL</li>
</ul>
<h3>WSO2 Web Services Framework <em>for C</em></h3>
<p>Para quem tá acostumado, são os velhos conhecidos, bastando baixar a última versão (no meu caso a 2.0.0):</p>
<pre class="brush: shell">wget http://dist.wso2.org/products/wsf/c/2.0.0/wso2-wsf-c-src-2.0.0.tar.gz
tar xfvz wso2-wsf-c-src-2.0.0.tar.gz
cd wso2-wsf-c-src-2.0.0
./configure
make
sudo make install</pre>
<h3>PHP 5.1.1 ou superior</h3>
<p>Não vou entrar nos méritos de instalação do PHP, pois imagino que isso esteja mais do que documentado na internet por aí a fora (para os preguiçosos &#8211; google: <a href="http://www.google.com.br/#hl=pt-BR&amp;source=hp&amp;q=instala%C3%A7%C3%A3o+do+php+no+ubuntu&amp;btnG=Pesquisa+Google&amp;meta=&amp;aq=f&amp;aqi=&amp;aql=&amp;oq=instala%C3%A7%C3%A3o+do+php+no+ubuntu&amp;gs_rfai=&amp;fp=fbe0f18c81cbb156" target="_blank">instalação do php no ubuntu</a>).</p>
<h3>Bibliotecas libxml2 e OpenSSL</h3>
<p>O comando para instalar as dependências é:</p>
<pre class="brush: shell">sudo apt-get install libxml2 openssl</pre>
<p>E com todas as dependências já instaladas e funcionando, podemos utilizar um <em>phpinfo()</em>; para conferir:</p>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/config-php-libxml2-openssl.png" rel="lightbox[372]"><img class="alignnone size-medium wp-image-376" title="config-php-libxml2-openssl" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/config-php-libxml2-openssl-300x187.png" alt="" width="300" height="187" /></a></p>
<h3>Compilação do WSF/PHP</h3>
<h4>CMM</h4>
<p>E agora, a instalação propriamente dita, utilizando novamente os pacotes da versão 2.0.0:</p>
<pre class="brush: shell">wget http://dist.wso2.org/products/wsf/php/2.0.0/wso2-wsf-php-src-2.0.0.tar.gz
./configure
make
sudo make install</pre>
<h4>1, 2, 3, testando&#8230;</h4>
<p>Estamos quase chegando lá&#8230;</p>
<p>Vamos copiar dois arquivos do diretório <em>samples</em> (um cliente e um servidor) para o diretório do servidor web (no meu caso: <em>/var/www/samples</em>) e ver se tudo funcionou:</p>
<pre class="brush: shell">sudo mkdir -p /var/www/samples/
sudo cp samples/math_* /var/www/samples/.</pre>
<p>Indo ao navegador, basta abrir o endereço <a href="http://localhost/samples/math_client.php" target="_blank">http://localhost/samples/math_client.php</a> e conferir tudo funcionando:</p>
<p style="text-align: center;"><a href="http://www.mcorp.com.br/wp-content/uploads/2010/04/wsf-php-sample-math.png" rel="lightbox[372]"><img class="size-medium wp-image-386" title="WSO2 Web Services Framework for PHP: sample math running" src="http://www.mcorp.com.br/wp-content/uploads/2010/04/wsf-php-sample-math-300x176.png" alt="" width="300" height="176" /></a></p>
<h3>Conclusão</h3>
<p>Ainda não consigo avaliar até onde é válido ou interessante utilizar esse framework, não pesquisei a fundo ainda o funcionamento e as vantagens dele sobre as implementações como <a href="http://www.php.net/soap" target="_blank">SOAP</a> (nativa do PHP) <a href="http://nusoap.sourceforge.net/" target="_blank">NuSOAP</a>.</p>
<p>Mas o fato de ser uma instalação que não pode ser feita em &#8220;qualquer&#8221; servidor, ainda mais no Brasil onde as empresas de hospedagens normalmente não instalam extensões de terceiros e o preço para ter um servidor próprio não é tão acessível, pode acabar ficando inviável.</p>
<p>Realizarei testes mais profundos para verificar as verdadeiras vantagens dessa abordagem na implementação dos serviços, só que &#8211; novamente &#8211; ficará para um outro post.</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><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/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/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/2011/11/wso2-soa-workshop-em-sao-paulo/" title="WSO2: SOA Workshop em São Paulo">WSO2: SOA Workshop em São Paulo</a></li><li><a href="http://www.mcorp.com.br/2011/10/soap-vs-rest/" title="SOAP vs REST">SOAP vs REST</a></li></ul></content>
    <source>
      <title type="html">mcorp. » wso2</title>
      <link rel="self" href="http://www.mcorp.com.br/tag/wso2/feed/atom/"/>
      <id>http://www.mcorp.com.br/tag/wso2/feed/atom/</id>
      <updated>2011-11-12 20:18:34 BRST</updated>
    </source>
  </entry>
  
</feed>


