<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>SOA Corporativa</title>
	
	<link>http://www.soacorporativa.com.br</link>
	<description>Paradigma SOA para agilidade do negócio corporativamente.</description>
	<pubDate>Sat, 30 May 2009 03:38:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<itunes:explicit>no</itunes:explicit><itunes:subtitle>Paradigma SOA para agilidade do negócio corporativamente.</itunes:subtitle><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/soacorporativa" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Promover serviços legados ou organizar a casa?</title>
		<link>http://feedproxy.google.com/~r/soacorporativa/~3/IWZi0Pc6244/</link>
		<comments>http://www.soacorporativa.com.br/2009/05/26/promover-servicos-legados-ou-organizar-a-casa/#comments</comments>
		<pubDate>Tue, 26 May 2009 18:36:29 +0000</pubDate>
		<dc:creator>Gustavo S. Sinis</dc:creator>
		
		<category><![CDATA[Fundamentos]]></category>

		<category><![CDATA[Abstração]]></category>

		<category><![CDATA[agilidade]]></category>

		<category><![CDATA[business]]></category>

		<category><![CDATA[components]]></category>

		<category><![CDATA[Encapsulamento]]></category>

		<category><![CDATA[Encapsular]]></category>

		<category><![CDATA[espaguete]]></category>

		<category><![CDATA[integração]]></category>

		<category><![CDATA[Legado]]></category>

		<category><![CDATA[reuso]]></category>

		<category><![CDATA[silos]]></category>

		<category><![CDATA[SOA]]></category>

		<category><![CDATA[software design]]></category>

		<guid isPermaLink="false">http://www.soacorporativa.com.br/?p=61</guid>
		<description><![CDATA[Com freqüência, vejo o seguinte ponto preocupante em eventos relacionados com SOA: promover a reutilização de todo o legado. Atualmente, com ferramentas de integração e bons repositórios, ficou relativamente fácil sair reutilizando o legado. No entanto, isso deveria ser feito seguindo alguns princípios SOA. Promover a reutilização do legado sem considerar esses princípios, promove a [...]]]></description>
			<content:encoded><![CDATA[<p>Com freqüência, vejo o seguinte ponto preocupante em eventos relacionados com SOA: promover a reutilização de todo o legado. Atualmente, com ferramentas de integração e bons repositórios, ficou relativamente fácil <em>sair reutilizando</em> o legado. No entanto, isso deveria ser feito seguindo alguns princípios SOA. Promover a reutilização do legado sem considerar esses princípios, promove a complexidade de forma proporcional <a href="http://www.soacorporativa.com.br/2008/10/22/realidade-do-esb-sem-soa/" target="_blank">(30 anos de silos e espaguete não somem por mágica)</a>.</p>
<p>Muitas empresas sem uma abordagem SOA possuem iniciativas de reuso e integração, promovidas por talentos individuais. Funcionando em um delicado equilíbrio, em que os desenvolvedores reusam seus próprios serviços ou os de uma pessoa de sua confiança, ignorando todos os outros possíveis serviços existentes (internos ou externos).</p>
<p><span><span>Nesse cenário de reuso limitado, empresas complexas com integrações espaguete e redundância de regras de negócio conseguem sobreviver - pois existe um nível de controle até certo ponto gerenciável -, mas abrindo mão da agilidade (uma alteração do negócio pode demandar um esforço imprevisível).</span></span></p>
<p>Por outro lado,  promover o reuso indiscriminadamente usando ferramentais atuais sem observar alguns princípios SOA, esse equilíbrio pode ficar comprometido. O que inicialmente pode parecer um ganho, com o efeito acumulativo, deixará muito mais complexo o cenário.</p>
<p>Para exemplificar, vamos imaginar um serviço legado de lançamentos contábeis que não encapsula todas as regras de negócio necessárias para efetuar o lançamento (não segue princípios SOA). Desta forma, todos os clientes deste serviço serão obrigados a implementar algumas regras antes de usar. Neste exemplo o serviço vai, no mínimo, promover a redundância de regas de negócio e acoplamento exagerado para seus clientes.</p>
<p>Multiplique isso por 40 serviços e 200 sistemas, depois tente alterar um processo ou regra de negócio com agilidade&#8230; Se o negócio mudar, simplesmente será imprevisível o impacto em seus sistemas. Outro exemplo, se for comprado um pacote de mercado para o backoffice (por exemplo, contabilidade), todos os sistemas que automatizam o processo de negócio principal (que gera dinheiro) será alterado significativamente.</p>
<p>Em outras palavras, o reuso e a integração limitada (atualmente um cenário comum) também limita a propagação dos problemas gerados por serviços que não seguem certos princípios SOA – portanto não é interessante <em>sair reutilizando</em>. Mas como obter agilidade e lidar com o legado?</p>
<p><span>Não existe</span><span>m</span><span> resposta</span><span>s</span><span> fáceis</span>, cada cenário é único. No entanto, para evitar esse problema e muitos outros, o serviço poderia ser encapsulado ou alterado para que atenda alguns princípios SOA, possibilitando que seja reutilizado por todos sem aumentar a complexidade e redundância das regras.</p>
<p>SOA deve simplificar a TI para obter agilidade, usando abstrações obtidas com a análise do negócio,<a href="http://fragmental.tw/2009/02/24/what-is-a-service/" target="_blank"> o serviço</a>. SOA não é necessariamente integração e reuso, mas lida diretamente com as limitações humanas, por exemplo, pouca memória e manter cenários complexos, usando abstrações. Abstração está intimamente relacionado com encapsulamento. Portanto, encapsular o legado com <a href="http://www.soacorporativa.com.br/2008/12/17/projeto-de-servicos-contratos-camadas-e-eda/" target="_blank">serviços bem projetados</a> é essencial.</p>
<p><strong>Atualização:<br />
</strong></p>
<p>Encapsular legado significa: encontrar conceitos importantes no legado e criar serviços que encapsulem as regras destes conceitos. Não é apenas criar uma camada de serviços, também envolve, em alguns casos, alterações no legado (mudar regras de lugar, por exemplo: todas as regras de negócio coesas com o serviço - identificado analisando o negócio do legado - que estão em outras aplicações, devem ser retiradas e encapsuladas pelo serviço).</p>
<img src="http://feeds.feedburner.com/~r/soacorporativa/~4/IWZi0Pc6244" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.soacorporativa.com.br/2009/05/26/promover-servicos-legados-ou-organizar-a-casa/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.soacorporativa.com.br/2009/05/26/promover-servicos-legados-ou-organizar-a-casa/</feedburner:origLink></item>
		<item>
		<title>Projeto de serviços: contratos, camadas e EDA.</title>
		<link>http://feedproxy.google.com/~r/soacorporativa/~3/KfFOTn7k0Bc/</link>
		<comments>http://www.soacorporativa.com.br/2008/12/17/projeto-de-servicos-contratos-camadas-e-eda/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 18:32:38 +0000</pubDate>
		<dc:creator>Gustavo S. Sinis</dc:creator>
		
		<category><![CDATA[Fundamentos]]></category>

		<category><![CDATA[BI]]></category>

		<category><![CDATA[contratos]]></category>

		<category><![CDATA[EDA]]></category>

		<category><![CDATA[ETL]]></category>

		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://www.soacorporativa.com.br/?p=58</guid>
		<description><![CDATA[Em muitas empresas sem uma estratégia SOA, simples mudanças de “regras de negócio” ou no “processo de negócio” provocam alterações (imprevisíveis) em uma grande quantidade de sistemas; em muitos casos em função de  “integração espaguete”.  SOA torna as mudanças no processo de negócio mais ágeis, uma vez que os serviços deixam a arquitetura [...]]]></description>
			<content:encoded><![CDATA[<p>Em muitas empresas sem uma estratégia SOA, simples mudanças de “regras de negócio” ou no “processo de negócio” provocam alterações (imprevisíveis) em uma grande quantidade de sistemas; em muitos casos em função de  “integração espaguete”.  SOA torna as mudanças no processo de negócio mais ágeis, uma vez que os serviços deixam a arquitetura dos sistemas aderente ao negócio; se o processo sofrer uma pequena mudança, seus sistemas mudam de forma proporcional. Não existem respostas fácies para projetar bons serviços. <a href="http://www.aqueleblogdesoa.com.br/2008/12/projeto-de-servicos-contratos-camadas-e-eda/">No entanto, algumas abordagens podem ajudar. Aquele blog de SOA publicou um post meu sobre projeto de serviços.</a></p>
<img src="http://feeds.feedburner.com/~r/soacorporativa/~4/KfFOTn7k0Bc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.soacorporativa.com.br/2008/12/17/projeto-de-servicos-contratos-camadas-e-eda/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.soacorporativa.com.br/2008/12/17/projeto-de-servicos-contratos-camadas-e-eda/</feedburner:origLink></item>
		<item>
		<title>Projetando serviços, referências</title>
		<link>http://feedproxy.google.com/~r/soacorporativa/~3/duCW4MPknk8/</link>
		<comments>http://www.soacorporativa.com.br/2008/11/21/projetando-servicos-referencias/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 05:42:32 +0000</pubDate>
		<dc:creator>Gustavo S. Sinis</dc:creator>
		
		<category><![CDATA[Ferramenta]]></category>

		<category><![CDATA[Fundamentos]]></category>

		<category><![CDATA[Livros]]></category>

		<category><![CDATA[referências]]></category>

		<guid isPermaLink="false">http://www.soacorporativa.com.br/?p=57</guid>
		<description><![CDATA[Projeto de serviços é uma questão freqüente, por isso montei uma relação de referências interessantes. Também vou escrever algumas experiências nos próximos posts.
As referências clássicas são IBM Rational e Thomas Erl , no entanto, existem alguns autores que não são focados no tema que possuem um material importante, por exemplo:
Robert C. Martin
Founder, CEO, and president [...]]]></description>
			<content:encoded><![CDATA[<p>Projeto de serviços é uma questão freqüente, por isso montei uma relação de referências interessantes. Também vou escrever algumas experiências nos próximos posts.</p>
<p>As referências clássicas são IBM Rational e <a rel="nofollow" href="http://www.soabooks.com/" target="_new">Thomas Erl </a>, no entanto, existem alguns autores que não são focados no tema que possuem um material importante, por exemplo:</p>
<p><a rel="nofollow" href="http://blog.objectmentor.com/articles/category/service-oriented-architecture" target="_new">Robert C. Martin</a><br />
Founder, CEO, and president of Object Mentor Incorporated.</p>
<p><a rel="nofollow" href="http://jim.webber.name/" target="_new">Jim Webber</a><br />
Global Architecture Lead, ThoughtWorks</p>
<p><a rel="nofollow" href="http://www.ibm.com/developerworks/blogs/page/ambler?tag=SOA" target="_new"></a></p>
<p><a rel="nofollow" href="http://martinfowler.com/bliki/" target="_new">Martin Fowler</a><br />
Author, speaker, consultant and general loud-mouth on software development</p>
<p>Existem muitas referências para projetar serviços no mercado, para navegar e obter resultados com essas abordagens é importante compreender a essência. Uma boa base geral ajuda muito, criei uma relação de livros para uma formação básica, mas não relacionados diretamente com SOA. Claro que não é uma lista definitiva, mas um começo interessante.</p>
<p><a rel="nofollow" href="http://www.amazon.com/exec/obidos/ASIN/0321127420" target="_new">Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series)</a><br />
<img src="http://martinfowler.com/eaa-sm.jpg" alt="" width="100" height="127" /></p>
<p><a rel="nofollow" href="http://www.amazon.com/Fundamentals-Object-Oriented-Design-Addison-Wesley-Technology/dp/020169946X/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1227121874&amp;sr=1-1" target="_new">Fundamentals of Object-Oriented Design in UML (Addison-Wesley Object Technology Series)</a><br />
<img src="http://ecx.images-amazon.com/images/I/51VNXZ4EEAL._SL140_.jpg" alt="" width="100" height="127" /></p>
<p><a rel="nofollow" href="http://www.amazon.com/Business-Component-Factory-Comprehensive-Component-Based/dp/0471327603" target="_new">Business Component Factory : A Comprehensive Overview of Component-Based Development for the Enterprise (Hardcover)</a><br />
<img src="http://www.componentfactory.org/bcf2.jpg" alt="" width="100" height="127" /></p>
<p><a rel="nofollow" href="http://www.amazon.com/UML-Components-Specifying-Component-Based-Component/dp/0201708515/ref=pd_bxgy_b_img_b" target="_new">UML Components: A Simple Process for Specifying Component-Based Software (Component Software Series)</a><br />
<img src="http://ecx.images-amazon.com/images/I/51CoCCd4vKL._SL110_.jpg" alt="" width="100" height="127" /></p>
<p><a rel="nofollow" href="http://domaindrivendesign.org/books/" target="_new">Domain-Driven Design</a><br />
<img src="http://ecx.images-amazon.com/images/I/31ywgz51v-L._SL140_.jpg" alt="" width="100" height="127" /></p>
<p><a rel="nofollow" href="http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612?ie=UTF8%26s=books%26qid=1211120041%26sr=1-1" target="_new">Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series)</a><br />
<img src="http://ecx.images-amazon.com/images/I/51Rs5KgdLTL._SL140_.jpg" alt="" width="100" height="127" /></p>
<p><a rel="nofollow" href="http://www.amazon.com/exec/obidos/ASIN/0321213351" target="_new">Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (Addison-Wesley Signature Series)<br />
</a><br />
<img src="http://ecx.images-amazon.com/images/I/51tVn4YqQUL._SL140_.jpg" alt="" width="100" height="127" /></p>
<p><a rel="nofollow" href="http://www.amazon.com/exec/obidos/ASIN/0321200683" target="_new">Refactoring to Patterns (Addison-Wesley Signature Series)</a><br />
<img src="http://ecx.images-amazon.com/images/I/516pPX8YmvL._SL140_.jpg" alt="" width="100" height="127" /></p>
<img src="http://feeds.feedburner.com/~r/soacorporativa/~4/duCW4MPknk8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.soacorporativa.com.br/2008/11/21/projetando-servicos-referencias/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.soacorporativa.com.br/2008/11/21/projetando-servicos-referencias/</feedburner:origLink></item>
		<item>
		<title>Anatomia do serviço. O que é, afinal?</title>
		<link>http://feedproxy.google.com/~r/soacorporativa/~3/eKoMeyc5tc8/</link>
		<comments>http://www.soacorporativa.com.br/2008/11/10/anatomia-do-servico-o-que-e-afinal/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 15:24:15 +0000</pubDate>
		<dc:creator>Gustavo S. Sinis</dc:creator>
		
		<category><![CDATA[Fundamentos]]></category>

		<category><![CDATA[AqueleBolgDeSOA]]></category>

		<guid isPermaLink="false">http://www.soacorporativa.com.br/?p=56</guid>
		<description><![CDATA[Aquele blog de SOA publicou mais um post meu. No post procurei fazer uma reflexão do papel dos Serviços, contando com referências de autores como: Jim Webber e Thomas Erl.












]]></description>
			<content:encoded><![CDATA[<p><a rel="nofollow" href="http://www.aqueleblogdesoa.com.br/2008/11/anatomia-do-servico-o-que-e-afinal/" target="_new">Aquele blog de SOA publicou mais um post meu.</a> No post procurei fazer uma reflexão do papel dos Serviços, contando com referências de autores como: Jim Webber e Thomas Erl.</p>
<table style="height: 163px;" border="0" width="404">
<tbody>
<tr>
<td>
<p style="text-align: center;"><img class="aligncenter" src="http://www.sinis.com.br/fig/silosPonte.png" alt="" width="251" height="138" /></p>
</td>
<td>
<p style="text-align: center;">
</td>
</tr>
</tbody>
</table>
<img src="http://feeds.feedburner.com/~r/soacorporativa/~4/eKoMeyc5tc8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.soacorporativa.com.br/2008/11/10/anatomia-do-servico-o-que-e-afinal/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.soacorporativa.com.br/2008/11/10/anatomia-do-servico-o-que-e-afinal/</feedburner:origLink></item>
		<item>
		<title>Grupo de Interesse em BPM - RJ, painel sobre SOA</title>
		<link>http://feedproxy.google.com/~r/soacorporativa/~3/bhJgF1YmLk4/</link>
		<comments>http://www.soacorporativa.com.br/2008/10/30/grupo-de-interesse-em-bpm-rj-painel-sobre-soa/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 18:28:55 +0000</pubDate>
		<dc:creator>Gustavo S. Sinis</dc:creator>
		
		<category><![CDATA[Evento]]></category>

		<category><![CDATA[Atimus]]></category>

		<category><![CDATA[BPM]]></category>

		<category><![CDATA[Digital Assets]]></category>

		<category><![CDATA[Evento SOA]]></category>

		<category><![CDATA[Oracle]]></category>

		<category><![CDATA[SucesuRJ]]></category>

		<guid isPermaLink="false">http://www.soacorporativa.com.br/?p=54</guid>
		<description><![CDATA[No dia 23 de outubro de 2008, a convite de Leonardo Borges (Diretor de Tecnologia da Atimus) e de Fernando Botafogo (Coordenador do Grupo de Interesse de BPM da Sucesu-RJ), participei de um painel muito interessante sobre SOA, realizado na Firjan, do Grupo de Interesse em BPM - SucesuRJ.
O interesse e as contribuições relevantes do [...]]]></description>
			<content:encoded><![CDATA[<p>No dia 23 de outubro de 2008, a convite de <a rel="nofollow" href="http://www.atimus.com.br" target="_new">Leonardo Borges</a> (Diretor de Tecnologia da Atimus) e de <a rel="nofollow" href="http://www.bpm-advisor.com.br/" target="_new">Fernando Botafogo</a> (Coordenador do Grupo de Interesse de BPM da Sucesu-RJ), participei de um painel muito interessante sobre SOA, realizado na Firjan, do Grupo de Interesse em BPM - SucesuRJ.</p>
<p>O interesse e as contribuições relevantes do público presente foi um dos destaques do evento, e possibilitou um rico diálogo. O formato de<em> talk show</em>, com o uso de questões previamente elaboradas pelo grupo de interesse em BPM, incentivou a interação entre todos.</p>
<p>O painel foi formado por profissionais com forte atuação no mercado: <a rel="nofollow" href="http://www.aqueleblogdesoa.com.br/2008/10/grupo-de-interesse-em-bpm-rj/" target="_new">Marcilio Oliveira</a>, da Digital Assets, <a rel="nofollow" href="http://www.oracle.com/technologies/soa/index.html" target="_new">André Boaventura</a>, da Oracle, e <a rel="nofollow" href="http://www.soacorporativa.com.br" target="_new">por mim</a>, da CPM Braxis.</p>
<p>Gostaria de agradecer o convite e a troca de experiência.</p>
<p>Para ter acesso ao material de apoio e às atividades do grupo: <a href="http://us.rd.yahoo.com/evt=42879/*http://br.groups.yahoo.com/group/GI_BPM_SucesuRJ" rel="nofollow" target="_new">GI_BPM_SucesuRJ</a></p>
<img src="http://feeds.feedburner.com/~r/soacorporativa/~4/bhJgF1YmLk4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.soacorporativa.com.br/2008/10/30/grupo-de-interesse-em-bpm-rj-painel-sobre-soa/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.soacorporativa.com.br/2008/10/30/grupo-de-interesse-em-bpm-rj-painel-sobre-soa/</feedburner:origLink></item>
		<item>
		<title>Realidade do ESB sem SOA</title>
		<link>http://feedproxy.google.com/~r/soacorporativa/~3/qIpzSXLibww/</link>
		<comments>http://www.soacorporativa.com.br/2008/10/22/realidade-do-esb-sem-soa/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 21:57:26 +0000</pubDate>
		<dc:creator>Gustavo S. Sinis e Leonardo Nicolás</dc:creator>
		
		<category><![CDATA[ESB]]></category>

		<category><![CDATA[Fundamentos]]></category>

		<guid isPermaLink="false">http://www.soacorporativa.com.br/?p=53</guid>
		<description><![CDATA[ESB são importantes em quase todos os cenários, fornecendo uma infra-estrutura para SOA como, por exemplo, lógica de compensação, transformação de dados, segurança, garantia de entrega, logging. Ainda todos os WS-*…
Vendedores de ferramentas ESB freqüentemente usam em suas apresentações uma figura clássica, que representa a complexidade de TI causando grande impacto visual. Em seguida, usando [...]]]></description>
			<content:encoded><![CDATA[<p>ESB são importantes em quase todos os cenários, fornecendo uma infra-estrutura para SOA como, por exemplo, lógica de compensação, transformação de dados, segurança, garantia de entrega, logging. Ainda todos os WS-*…</p>
<p>Vendedores de ferramentas ESB freqüentemente usam em suas apresentações uma figura clássica, que representa a complexidade de TI causando grande impacto visual. Em seguida, usando uma figura mais impressionante, mostram como ferramentas ESB podem organizar a casa, resolvendo todos os problemas.</p>
<p>No entanto, a verdadeira flexibilidade de SOA é obtida com serviços bem projetados, não com a adoção de ferramentas (muitos vendedores deixam essa impressão). Os serviços devem ser representativos para o negócio, seguindo certos princípios, como: low coupling, stable interface, entre outros.</p>
<p>Sem serviços bem projetados o cenário não muda muito:<strong> toda bagunça produzida no mundo corporativo, criando integrações espaguete, não some com a implantação de ESBs. </strong>Apenas fica escondida debaixo do tapete, ou seja, dentro do barramento, exigindo uma “lógica de conectividade” muito complexa.</p>
<p>Realidade de TI, nossa versão:</p>
<p><img src="http://www.sinis.com.br/fig/figESB1.png" alt="" width="598" height="326" /></p>
<p>Aparente milagre de ferramentas ESB (onde está a bagunça?):</p>
<p><img src="http://www.sinis.com.br/fig/figESB2.png" alt="" width="610" height="332" /></p>
<p>Olhando mais de perto, de acordo com <a href="http://jim.webber.name/">Jim Webber</a>, o que realmente acontece com ESB:</p>
<p><img src="http://www.sinis.com.br/fig/figESB3.png" alt="" width="607" height="345" /></p>
<p>Aplicações sem <a href="http://www.aqueleblogdesoa.com.br/2008/09/anatomia-do-servico-parte-1/" rel="nofollow" target="_new">serviços bem projetados</a> misturam <a href="http://www.soacorporativa.com.br/2008/06/03/anatomia-do-servico-taxonomia-basica/" rel="nofollow" target="_new"> a lógica do fluxo do negócio (processo de negócio), lógica de conectividade e a lógica de domínio em abstrações pouco coesas</a>; desta forma aumenta drasticamente o acoplamento e complexidade da integração, sendo comum a ocorrência de dependência circular.</p>
<p>Em outras palavras, mesmo com uma ferramenta ESB eliminando a integração ponto a ponto, na ausência de serviços projetados para apoiar processos de negócio (ou seja, sem SOA), ainda teríamos “integração espaguete”, só que agora escondida dentro de uma ferramenta, inviabilizando a flexibilidade prometida pela abordagem SOA.</p>
<p>Já trabalhei em empresas que utilizam o Broker e o que acontece é que a complexidade das integrações passa para dentro dessa ferramenta. Por um lado isso é bom porque o ESB / Broker passa a ser um ponto comum de comunicação, gera uma padronização e outros ganhos.</p>
<p>Mas se o que está dentro do ESB / Broker não estiver muito bem projetado, ficará quase impossível dar manutenção e suporte. <strong>Usar ESB assim é equivalente a pegar a integração espaguete e dar um nó no meio, este nó é o ESB. </strong>Para desatar o nó apenas serviços bem projetados.</p>
<p>Vídeo interessante relacionado com SOA sem ESB: <a href="http://www.infoq.com/presentations/soa-without-esb" rel="nofollow" target="_new">Does My Bus Look Big in This?</a>, Martin Fowler &amp; Jim Webber, QCon London 2008. Um post também interessante relacionado: <a href="http://blog.objectmentor.com/articles/2007/10/03/soa-cuts-the-gordian-knot-not" rel="nofollow" target="_new">SOA, cuts the Gordian Knot — Not</a>, Uncle Bob.</p>
<p>Apenas por curiosidade, desenhamos as figuras que ilustram o post utilizando Java e a API para desenho <a href="http://www.jmonkeyengine.com/" rel="nofollow" target="_new">3D Java Monkey Engine</a>.</p>
<p><a href="http://www.sinis.com.br/material/Espaguete.java" rel="nofollow" target="_new">Espaguete.java</a></p>
<p><a href="http://www.sinis.com.br/material/EspagueteComNo.java">EspagueteComNo.java</a></p>
<img src="http://feeds.feedburner.com/~r/soacorporativa/~4/qIpzSXLibww" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.soacorporativa.com.br/2008/10/22/realidade-do-esb-sem-soa/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.soacorporativa.com.br/2008/10/22/realidade-do-esb-sem-soa/</feedburner:origLink></item>
		<item>
		<title>Front de batalha, continuação</title>
		<link>http://feedproxy.google.com/~r/soacorporativa/~3/7BAm0TTHouI/</link>
		<comments>http://www.soacorporativa.com.br/2008/10/10/front-de-batalha-continuacao/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 18:42:05 +0000</pubDate>
		<dc:creator>Gustavo S. Sinis</dc:creator>
		
		<category><![CDATA[Fundamentos]]></category>

		<category><![CDATA[CBD]]></category>

		<category><![CDATA[DbC]]></category>

		<category><![CDATA[DDD]]></category>

		<category><![CDATA[ESB]]></category>

		<category><![CDATA[OOP]]></category>

		<category><![CDATA[Processo de Negócio]]></category>

		<category><![CDATA[Serviço]]></category>

		<guid isPermaLink="false">http://www.soacorporativa.com.br/?p=52</guid>
		<description><![CDATA[Segunda parte do artigo foi publicada. Conta com uma analogia para conceituar SOA sobre a ótica do Serviço:  serviço de organização de grandes eventos. 
Front de batalha:
&#8220;Aquele blog de SOA publicou um post meu. Este blog reúne consultores SOA com experiências distintas, atuando fortemente no mercado.
No post procurei conceituar SOA sobre a ótica do Serviço, contando com citações [...]]]></description>
			<content:encoded><![CDATA[<p>Segunda parte <a href="http://www.aqueleblogdesoa.com.br/2008/10/anatomia-do-servico-parte-2/" rel="nofollow" target="_new">do artigo</a> foi publicada. Conta com uma analogia para conceituar SOA sobre a ótica do Serviço:  serviço de organização de grandes eventos. </p>
<p><a href="http://www.soacorporativa.com.br/2008/09/24/front-de-batalha/" rel="nofollow" target="_new">Front de batalha:</a></p>
<blockquote><p>&#8220;Aquele blog de SOA publicou um post meu. Este blog reúne consultores SOA com experiências distintas, atuando fortemente no mercado.</p>
<p>No post procurei conceituar SOA sobre a ótica do Serviço, contando com citações de autores como: Jim Webber, Uncle Bob e Thomas Erl.&#8221;</p></blockquote>
<img src="http://feeds.feedburner.com/~r/soacorporativa/~4/7BAm0TTHouI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.soacorporativa.com.br/2008/10/10/front-de-batalha-continuacao/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.soacorporativa.com.br/2008/10/10/front-de-batalha-continuacao/</feedburner:origLink></item>
		<item>
		<title>Front de batalha</title>
		<link>http://feedproxy.google.com/~r/soacorporativa/~3/PgRcQiG9wCA/</link>
		<comments>http://www.soacorporativa.com.br/2008/09/24/front-de-batalha/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 18:43:10 +0000</pubDate>
		<dc:creator>Gustavo S. Sinis</dc:creator>
		
		<category><![CDATA[Fundamentos]]></category>

		<category><![CDATA[CBD]]></category>

		<category><![CDATA[DbC]]></category>

		<category><![CDATA[DDD]]></category>

		<category><![CDATA[ESB]]></category>

		<category><![CDATA[OOP]]></category>

		<category><![CDATA[Processo de Negócio]]></category>

		<category><![CDATA[Serviço]]></category>

		<guid isPermaLink="false">http://www.soacorporativa.com.br/?p=51</guid>
		<description><![CDATA[Aquele blog de SOA publicou um post meu. Este blog reúne consultores SOA com experiências distintas, atuando fortemente no mercado.
No post procurei conceituar SOA sobre a ótica do Serviço, contando com citações de autores como: Jim Webber, Uncle Bob e Thomas Erl.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.aqueleblogdesoa.com.br/" rel="nofollow" target="_new">Aquele blog de SOA </a>publicou um <a href="http://www.aqueleblogdesoa.com.br/2008/09/anatomia-do-servico-parte-1/" rel="nofollow" target="_new">post meu</a>. Este blog reúne consultores SOA com experiências distintas, atuando fortemente no mercado.</p>
<p>No <a href="http://www.aqueleblogdesoa.com.br/2008/09/anatomia-do-servico-parte-1/" rel="nofollow" target="_new">post </a>procurei conceituar SOA sobre a ótica do Serviço, contando com citações de autores como: Jim Webber, Uncle Bob e Thomas Erl.</p>
<img src="http://feeds.feedburner.com/~r/soacorporativa/~4/PgRcQiG9wCA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.soacorporativa.com.br/2008/09/24/front-de-batalha/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.soacorporativa.com.br/2008/09/24/front-de-batalha/</feedburner:origLink></item>
		<item>
		<title>Grandes Civilizações e Jazz ( EPF WIKI )</title>
		<link>http://feedproxy.google.com/~r/soacorporativa/~3/YgpE4fBsH64/</link>
		<comments>http://www.soacorporativa.com.br/2008/08/24/grandes-civilizacoes-e-jazz/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 02:13:38 +0000</pubDate>
		<dc:creator>Gustavo S. Sinis</dc:creator>
		
		<category><![CDATA[Artigos]]></category>

		<category><![CDATA[Ferramenta]]></category>

		<category><![CDATA[Governança]]></category>

		<category><![CDATA[eclipse]]></category>

		<category><![CDATA[EPF]]></category>

		<category><![CDATA[ESM]]></category>

		<category><![CDATA[IBM Development Conference]]></category>

		<category><![CDATA[Jazz]]></category>

		<category><![CDATA[RTC]]></category>

		<category><![CDATA[Tem concert]]></category>

		<category><![CDATA[WIKI]]></category>

		<guid isPermaLink="false">http://www.soacorporativa.com.br/?p=45</guid>
		<description><![CDATA[A tecnologia torna grandes civilizações possíveis. Desde a antigüidade, grandes populações tornaram ferramentas e técnicas indispensáveis. Desde 1.000 a.C, as civilizações já contavam com o arado, construções em arco, aqueduto, e com o carrinho de mão. Civilizações são organizadas, por exemplo, em cidades e acrópoles, possibilitando lidar com a complexidade que envolve administrar e suportar [...]]]></description>
			<content:encoded><![CDATA[<p>A tecnologia torna grandes civilizações possíveis. Desde a antigüidade, grandes populações tornaram ferramentas e técnicas indispensáveis. Desde 1.000 a.C, as civilizações já contavam com o arado, construções em arco, aqueduto, e com o carrinho de mão. Civilizações são organizadas, por exemplo, em cidades e acrópoles, possibilitando lidar com a complexidade que envolve administrar e suportar grandes populações.</p>
<p>Grandes corporações também precisam de ferramentas, e algumas são importantes para apoiar a <a rel="nofollow" href="http://en.wikipedia.org/wiki/SOA_Governance" target="_new"><strong>governança</strong></a>. Encontramos desafios em coordenar e gerenciar várias equipes simultâneas, que estão freqüentemente desenvolvendo sistemas para automatizar partes distintas do mesmo sistema e processo de negócio, algumas trabalhando remotamente.</p>
<p>Isto resulta na necessidade de uma abordagem fácil de planejar, divulgar e reaproveitar processos de governança como, por exemplo, no caso de SOA, políticas de propriedades de serviço (“com quem eu reclamo?”) e de incentivos ao reuso. Esses processos de governança podem ser publicados, reutilizados e compostos com ajuda do <a rel="nofollow" href="http://www.eclipse.org/epf/" target="_new">EPF</a> (Eclipse Process Framework).</p>
<p>A publicação pode ser feita em HTML, WAR (recursos mais avançados) e PDF. <strong>Além disso, pode ser transformada em um WIKI, montando um ambiente mais colaborativo. </strong></p>
<blockquote><p>“EPF Wiki is Wiki technology designed to be used together with Eclipse Process Framework (EPF). This offers the best of two distinct worlds: the worlds of powerful process frameworks and Wikis. It offers an process engineering infrastructure that combines a modular method construction approach and the flexibility and ease of use that is the defining characteristic of a Wiki. ” Site do <a rel="nofollow" href="http://epf.eclipse.org/" target="_new">EPF Wiki</a>.</p></blockquote>
<p>Grandes corporações possuem uma vasta quantidade de processos de negócio - muitos são complexos e em constante mudança. SOA ajuda a lidar com a complexidade, uma vez que organiza, indexa e encapsula o código, tornando as mudanças aceitáveis. <strong>Alguns <em>vendors</em> sustentam que ferramentas ESB são essenciais para SOA, mas acredito que práticas para representar e apoiar processos de negócio são mais importantes. O EPF pode ajudar a consolidar e divulgar corporativamente essas práticas. </strong><strong><a rel="nofollow" href="http://www.infoq.com/presentations/soa-without-esb" target="_new">Does My Bus Look Big in This?</a>,  Martin Fowler &amp; Jim Webber, QCon London 2008</strong></p>
<p>A maior parte das pessoas não lê livros, especialmente descrições longas de processo, por isso, práticas ágeis e processos de governança simples e flexíveis - <a rel="nofollow" href="http://rupinho.blogspot.com/2008/04/agilidade-e-governaa.html" target="_new">governança ágil </a>– são essenciais. <a rel="nofollow" href="http://www.ivarjacobson.com/home.cfm" target="_new">Ivar Jacobson </a>defende esse novo paradigma em <a rel="nofollow" href="http://www.ddj.com/java/198000264" target="_new">Enough of Processes: Let&#8217;s Do Practices</a>. Ivar é um dos &#8220;pais&#8221; da arquitetura de componentes, caso de uso, UML e do RUP.</p>
<p>Jacobson sustenta que um processo é apenas uma composição de Práticas. Uma prática é um elemento reutilizável/essencial destacado do método/processo que pode ser usado separadamente de outras práticas. EPF fornece suporte para manter, compor e divulgar práticas de diferentes origens (<a rel="nofollow" href="http://epf.eclipse.org/wikis/epfpraclib/" target="_new">EPF Practices</a>, <a rel="nofollow" href="http://epf.eclipse.org/wikis/xppt/" target="_new">XP</a>, <a rel="nofollow" href="http://epf.eclipse.org/wikis/scrum/" target="_new">SCRUM</a>, <a rel="nofollow" href="http://epf.eclipse.org/wikis/openuppt/" target="_new">OpenUP</a>, <a rel="nofollow" href="http://www.eclipse.org/epf/openup_component/mdd.php" target="_new">OpenUP/MDD </a>, FDD, EssUP&#8230;).</p>
<p>Alguns anos atrás, em uma grande corporação, nós utilizamos o EPF para facilitar o acesso de equipes a uma vasta gama de informações. Precisavam adquirir informações sobre desenvolvimento em tecnologias específicas (JEE e . NET), práticas e processos de desenvolvimento, bem como guia para ferramentas em diferentes ambientes e também políticas internas.</p>
<p>Até então, o conhecimento estava distribuído em vários PDFs, dificultando o acesso e o processo de atualização de diversas publicações inter-relacionadas (muito trabalho braçal para manter os links). O processo de desenvolvimento não poderia ser alterado (isto é, ele é rigorosamente controlado para finalidade de auditoria), então restava apenas trabalhar com a “arquitetura de informação”. O EPF forneceu um meta-modelo e um meio de publicação para manter e criar uma grande variedade de processos de TI, como processos de governança SOA e processos de desenvolvimento de Software.</p>
<p>Alguns, já acostumados com os endereços dos PDFs, alegaram dificuldades com a publicação gerada, pois esta exigia algum treinamento básico (mesmo existindo ferramentas de buscas eficientes); para outros, o acesso a novas informações ficou mais intuitivo. O ponto crítico foi a reengenharia da informação, um processo que deve ser contínuo. Com o conhecimento organizado/indexado, foi possível evidenciar vários problemas no processo de desenvolvimento.  <strong>O EPF contribui com evolução do conhecimento, facilitando a inclusão de novas práticas e a supressão das antigas. </strong></p>
<p>Além disso, o EPF permite que sua experiência em uma determinada abordagem seja armazenada e mantida de forma coesa e independente. Você pode criar um núcleo SOA, por exemplo, com processos, papéis e práticas para apoiar o desenvolvimento de aplicações em uma estratégia SOA e incrementar o processo de um cliente (se publicado com EPF) de forma não invasiva, ou seja, sem alterar fisicamente os processos, apenas usando os mecanismos de extensão (Herança, Descritores e outros) ou, ainda, publicar uma versão nova adaptada para a realidade do cliente (se ainda não utiliza o EPF).</p>
<p><strong>Como o EPF pode ajudar?</strong></p>
<p>O EPF é uma ferramenta de código aberto (Tecnologia Eclipse), baseado no <a rel="nofollow" href="http://www.omg.org/spec/SPEM/2.0/ " target="_new">SPEM/OMG </a>(Software &amp; Systems Process Engineering Metamodel specification), que  fornece uma terminologia comum para documentar processos (governança) e práticas; mecanismos para adaptar e estender o conhecimento para projetos diferentes; e um ambiente central de publicação para facilitar a disseminação da base de conhecimento (navegação gráfica em todo o processo publicado).</p>
<p>Os conceitos do SPEM norteiam todas as funcionalidades do EPF. Todo método e prática/processo pode ser representado usando a seguinte estrutura básica:</p>
<p><img class="alignnone size-full wp-image-47" title="epf-uma" src="http://www.soacorporativa.com.br/wp-content/uploads/2008/08/epf-uma.jpg" alt="" /></p>
<p><strong>Elementos principais</strong></p>
<p><strong>Produto de Trabalho</strong> - Um Produto de Trabalho é algo significativo, resultante da execução de uma tarefa. Não precisa ser formal, pode ser uma idéia em um quadro branco, ou algo mais formal como, por exemplo, código ou um documento de arquitetura.</p>
<p><strong>Função (Papel)</strong> - Uma Função define um conjunto de habilidades, competências e responsabilidades relacionadas;</p>
<p><strong>Tarefa </strong>- Uma Tarefa descreve uma unidade de trabalho. Cada Tarefa é desempenhada por Funções específicas. A granularidade de uma Tarefa geralmente é algumas horas em poucos dias.</p>
<p><strong>Processo </strong>-  pode agrupar tarefas em atividades, e as relaciona em seqüências ordenadas.</p>
<p><strong>Orientação </strong>- é um conceito abstrato que generaliza o conteúdo, cuja finalidade principal é fornecer explicações e ilustrações adicionais aos elementos anteriores. Exemplos de orientações especializadas: Mentor de Ferramentas, Conceito, White Paper, Exemplo, Diretriz.</p>
<p>Existem diversos processos disponíveis nesse modelo, organizados em plugins (mecanismo que organiza os processos e métodos fisicamente no EPF), por exemplo, <a rel="nofollow" href="http://www.eclipse.org/epf/downloads/xp/xp_downloads.php" target="_new">XP </a>e <a rel="nofollow" href="http://www.eclipse.org/epf/downloads/scrum/scrum_downloads.php" target="_new">SCRUM</a>. Temos, ainda, <a href="http://epf.eclipse.org/wikis/epfpraclib/">uma coleção de práticas para serem acrescentadas em seu processo de desenvolvimento de software</a> ( <a rel="nofollow" href="http://www.eclipse.org/epf/downloads/praclib/praclib_downloads.php" target="_new">EPF Practices</a> ), quais sejam: Continuous Integration; Iterative Development; Two Level Project Planning; Concurrent Testing; Evolutionary Design; Use Case Driven Development; Test Driven Developmen; Evolutionary Architecture. Uma metodologia para criar governança SOA da IBM também está disponível neste formato.</p>
<p>O EPF fornece mecanismos de “herança e polimorfismos” para o Conteúdo do Método (Tarefa, função, Produto) e para os Processos, ajudando a compor ou a combinar práticas e processos distintos.</p>
<p>O EPF também separa o Conteúdo do Método (Tarefa, Tarefa, Produto) - o núcleo - dos Processos. Isso assegura a reutilização do núcleo em processos diferentes. Um dos mecanismos utilizados para a separação é o Descritor.</p>
<p>Um Descritor representa uma ocorrência de um Elemento de Conteúdo concreto (como, por exemplo, Tarefa, Função, Produto de Trabalho) em um Processo. Os Descritores fornecem uma representação tipo proxy para esses Elementos de Conteúdo. Além de apenas fazer referência, permitem substituir os relacionamentos estruturais de Elementos de Conteúdo, definindo seus próprios conjuntos de associações, acrescentado mais orientações ou trocando papeis em uma tarefa.</p>
<p>O EPF permite que diferentes metodologias relacionadas como, por exemplo, desenvolvimento unificado e práticas para apoiar SOA (identificação, especificação de serviços) sejam mantidos independentemente (separação física com plugins) e ainda relacionadas, ou seja, usadas de forma combinada e não intrusiva, apenas usando os recursos de extensão do EPF.</p>
<p><strong>Abordagem com WIKI</strong></p>
<p>A ferramenta <a rel="nofollow" href="http://www.eclipse.org/epf/downloads/epfwiki/downloads.php" target="_new">EPF WIK </a>, é uma estratégia interessante para disseminação de novas práticas.</p>
<p><a rel="nofollow" href="http://epf.eclipse.org/images/epfwiki_infra_overview.jpg" target="_new"><img class="alignnone size-full wp-image-49" title="epfwiki_infra_overview" src="http://www.soacorporativa.com.br/wp-content/uploads/2008/08/epfwiki_infra_overview.jpg" alt="" width="500" height="308" /></a></p>
<p>Segundo <a rel="nofollow" href="http://www.infoq.com/interviews/per-kroll-OpenUp-EFP" target="_new">Per Kroll</a> (EPF Project Lead), o EPF WIK pode ajudar:</p>
<blockquote><p>&#8221; 1.Rapidly gather useful feedback by writing comments associated around content (lock content from editing)</p>
<p>2.Build communities around key content areas (lock editing to be centered around dedicated topics);</p>
<p>3.Rapidly gather useful feedback by directly editing process content</p>
<p>4.Improve process content without learning the metamodel or Composer</p>
<p>5.Capture process related experiences through harvesting &#8220;</p></blockquote>
<p><a rel="nofollow" href="http://www.soacorporativa.com.br/wp-content/uploads/2008/08/epfwiki.jpg" target="_new"><img class="alignnone size-full wp-image-48" title="epfwiki" src="http://www.soacorporativa.com.br/wp-content/uploads/2008/08/epfwiki.jpg" alt="" width="500" height="223" /></a></p>
<p><strong>Outras considerações</strong></p>
<p>A plataforma <a rel="nofollow" href="https://jazz.net/pub/index.jsp" target="_new">JAZZ </a>tem como promessa fornecer ferramentas para apoiar um desenvolvimento mais colaborativo e ágil.</p>
<blockquote><p>“ Developing software in a team is much like playing an instrument in a band. Both require a balance of collaboration and virtuosity. Jazz defines a vision for the way products can integrate to support this kind of collaborative work, and a technology platform to deliver on this vision. ”</p></blockquote>
<p>Em julho participei do <a rel="nofollow" href="http://www.newsletterti.com.br/materia.jsp?CodMateria=435" target="_new">IBM Development Conference</a>, onde foi promovido o <a rel="nofollow" href="http://www-01.ibm.com/software/awdtools/rtc/" target="_new">Team concert</a>, criado com base na plataforma Jazz, que incorpora tecnologias de colaboração e um motor de processos, em que podemos “executar” um processo de governança definido com o EPF, por exemplo.<br />
<strong><br />
Revista ESM</strong></p>
<p>Foi publicado recentemente um artigo meu com uma <a rel="nofollow" href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=9881" target="_new">introdução da ferramenta</a>.</p>
<p><img class="alignnone" src="http://www.devmedia.com.br/loja/img/capaES4_G.jpg" alt="" /></p>
<img src="http://feeds.feedburner.com/~r/soacorporativa/~4/YgpE4fBsH64" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.soacorporativa.com.br/2008/08/24/grandes-civilizacoes-e-jazz/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.soacorporativa.com.br/2008/08/24/grandes-civilizacoes-e-jazz/</feedburner:origLink></item>
		<item>
		<title>DDD, SOA</title>
		<link>http://feedproxy.google.com/~r/soacorporativa/~3/DkEHX7wU6lA/</link>
		<comments>http://www.soacorporativa.com.br/2008/08/13/ddd-soa/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 03:08:57 +0000</pubDate>
		<dc:creator>Gustavo S. Sinis e Leonardo Nicolás</dc:creator>
		
		<category><![CDATA[Fundamentos]]></category>

		<category><![CDATA[DDD]]></category>

		<category><![CDATA[Distillation]]></category>

		<category><![CDATA[Strategic Design]]></category>

		<guid isPermaLink="false">http://www.soacorporativa.com.br/?p=44</guid>
		<description><![CDATA[SOA promove flexibilidade ao negócio - foco corporativo, processos - , no entanto, utilizar uma filosofia em que os conceitos do negócio ficam explícitos - DDD, programar para o domínio -, aumenta dramaticamente o nível de flexibilidade possível.
“Fundamentally, DDD is the principle that we should be focusing on the deep issues of the domain our [...]]]></description>
			<content:encoded><![CDATA[<p>SOA promove flexibilidade ao negócio - <a rel="nofollow" href="http://www.soacorporativa.com.br/2008/07/15/separar-a-logica-do-processo-de-negocio/" target="_new">foco corporativo, processos</a> - , no entanto, utilizar uma filosofia em que os conceitos do negócio ficam explícitos - <a rel="nofollow" href="http://www.infoq.com/minibooks/domain-driven-design-quickly" target="_new">DDD</a>, programar para o domínio -, aumenta dramaticamente o nível de flexibilidade possível.</p>
<p>“Fundamentally, DDD is the principle that we should be focusing on the deep issues of the domain our users are engaged in, that the best part of our minds should be devoted to understanding that domain, and collaborating with experts in that domain to wrestle it into a conceptual form that we can use to build powerful, flexible software.” -  <a rel="nofollow" href="http://www.infoq.com/articles/eric-evans-ddd-matters-today" target="_new">Eric Evans, infoq.</a><br />
<strong><br />
“&#8230;SOA, when it is used well, provides us a very useful way of isolating the domain.” </strong>-  <a rel="nofollow" href="http://www.infoq.com/articles/eric-evans-ddd-matters-today" target="_new">Eric Evans, infoq.</a></p>
<p>Artigo interessante: <a rel="nofollow" href="http://blog.fragmental.com.br/2008/05/22/domain-driven-design-e-simples/" target="_new">Domain-Driven Design</a></p>
<p>[ Temos neste blog uma<a rel="nofollow" href="http://www.soacorporativa.com.br/2008/06/03/anatomia-do-servico-taxonomia-basica/" target="_new"> taxonomia de referencia</a>, facilitando a exploração de conceitos, pois existem muitas abordagens conflitantes no mercado. ]</p>
<p>Os serviços básicos de negócio (parecidos com “serviços corporativos” para Erl), por exemplo, encapsulam um domínio, expondo funcionalidades básicas e mais atômicas do negócio (regras de negócio), são coesos e pouco acoplados, normalmente representam um conceito principal do negócio. (Em corporações complexas, dificilmente teremos total controle de duplicação de regras, mas podemos usar algumas abordagens, por exemplo, serviços compostos, para encapsular essas redundâncias.)</p>
<p>Algumas abordagens do livro de <a rel="nofollow" href="http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215" target="_new">Eric Evans</a> podem ajudar na organização desses serviços básicos negócio, por exemplo, distillation na parte de Strategic Design <strong>(apenas os serviços importantes para o negócio serão publicados, os serviços essenciais)</strong>. “Distillation  is  the  process  of  separating  the  substances composing a mixture. The purpose of distillation  is  to extract a particular  substance  from  the  mixture.  During  the  distillation process, some byproducts may be obtained, and they can also be of interest. ”, Eric Evans. <a rel="nofollow" href="http://www.domainlanguage.com/services/strategicdesign/strategicdistillation.html" target="_new">Strategic Distillation.</a></p>
<p>Essas abordagens se destinam, na maioria das vezes, a superar limitações humanas, como gerenciar complexidade. Não são incomuns empresas com várias equipes (ou consultorias) desenvolvendo sistemas para automatizar partes diferentes do mesmo subprocesso de negócio.</p>
<p>&#8230;.</p>
<p>Serviços, em muitos casos, são construídos utilizando objetos. O domínio é “instanciado” também usando objetos (por exemplo, POJOS), objetos devem garantir seu estado consistente (<a rel="nofollow" href="http://www.amazon.com/Fundamentals-Object-Oriented-Design-Addison-Wesley-Technology/dp/020169946X/ref=sr_1_12?ie=UTF8&amp;s=books&amp;qid=1218595498&amp;sr=1-12 target=">Page Jones</a>) e muitos devem ser persistidos. Neste ponto, começam as dificuldades técnicas, por isso usamos AOP (por exemplo, Spring Framework), EJB 3.0, hibernate; possibilitando focar esforços no domínio (camada de negócio). Algumas abordagens e experiências com uma aplicação JPA e Spring estarão em um próximo post.</p>
<img src="http://feeds.feedburner.com/~r/soacorporativa/~4/DkEHX7wU6lA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.soacorporativa.com.br/2008/08/13/ddd-soa/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.soacorporativa.com.br/2008/08/13/ddd-soa/</feedburner:origLink></item>
	<media:rating>nonadult</media:rating></channel>
</rss>
