<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>marcuscavalcanti.net &#187; TI</title>
	<atom:link href="http://www.marcuscavalcanti.net/blog/tag/ti/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marcuscavalcanti.net/blog</link>
	<description>Software, tecnologia e etc.</description>
	<lastBuildDate>Sun, 22 Jan 2012 21:18:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Existe SOA sem BPM?</title>
		<link>http://www.marcuscavalcanti.net/blog/2009/10/14/existe-soa-sem-bpm/</link>
		<comments>http://www.marcuscavalcanti.net/blog/2009/10/14/existe-soa-sem-bpm/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 15:35:11 +0000</pubDate>
		<dc:creator>Marcus Cavalcanti</dc:creator>
				<category><![CDATA[BPM]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[BAM]]></category>
		<category><![CDATA[BPEL]]></category>
		<category><![CDATA[BPMN]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://www.marcuscavalcanti.net/blog/?p=1199</guid>
		<description><![CDATA[Recentemente fiz uma apresentação sobre BPM na empresa onde eu trabalho e o meu foco foi explicar o que são processos de negócio, o que é BPM e para que serve, quais são seus benefícios, além de mostrar todo o suporte que BPM dá para uma organização migrar e utilizar SOA, que é exatamente sobre [...]]]></description>
			<content:encoded><![CDATA[<p>Recentemente fiz uma apresentação sobre BPM na empresa onde eu trabalho e o meu foco foi explicar o que são processos de negócio, o que é BPM e para que serve, quais são seus benefícios, além de mostrar todo o suporte que BPM dá para uma organização migrar e utilizar SOA, que é exatamente sobre o que eu vou falar neste tópico.</p>
<p>BPM pode muito bem existir sem SOA, já que BPM é uma modalidade que foca na aplicação de práticas e conceitos para melhoria e absorção de processos de negócios por parte de uma organização, mas e SOA, pode existir sem BPM?</p>
<p>SOA é um modelo arquitetural de construção de <em>software</em> que possui alguns pilares, dentre eles:<br />
<br/></p>
<ul>
<li>Interoperabilidade</li>
<li>Flexibilidade e agilidade a mudanças</li>
<li>Alinhamento entre TI e negócio</li>
<li>Redução de custos</li>
<li>Exposição no formato de serviços das principais atividades/operações da empresa</li>
<li>Reutilização e re-aproveitamento</li>
<li>Baixo acoplamento</li>
</ul>
<p>Dentre os pilares citados acima, é fácil perceber que SOA gera valores semelhantes ao que aplicação adequada de uma solução BPM geraria, entretanto BPM não é uma maneira de se construir <em>software</em>, BPM está muito além disso, está no topo, mas deve atuar lado-a-lado a SOA para produzir resultados mais duráveis, que gerem mais valor ao negócio, que sejam mais fáceis de manterem e de darem manutenção. E o somatório disso tudo proporciona resultados mais efetivos.</p>
<p>Certa vez li uma analogia sobre uso de SOA sem BPM e que de certa forma ajuda a esclarecer a importância da aplicação de BPM junto a SOA. Era mais ou menos assim: &#8220;Usar SOA sem BPM seria como um malabarista com uma mão atada atrás das costas. Ele poderia ainda fazer alguns malabarismos, mas não seria tão eficaz e nem tão rápido como poderia ser&#8221;.</p>
<h3>E na prática como BPM complementa SOA?</h3>
<p>Um dos pilares citados em uma arquitetura SOA é a possibilidade do alinhamento entre TI e negócio, e BPM ajudaria isso de forma efetiva através de uma notação para mapeamento de processos, no caso BPMN. Existe forma mais efetiva do que representar ações no formato de desenhos e diagramas? Dessa forma analistas de negócio e analistas de processos conseguem trabalhar juntos com times de TI na implantação e implementação de uma arquitetura SOA, onde através do mapeamento dos processos de negócio, conseguiriam identificar serviços que agreguem e tenham importância para o negócio de uma organização, identificando assim a necessidade de implementá-los.</p>
<p>Em relação a possibilidade de mudanças, BPM oferece todo suporte e facilidade para mudanças através da visão holística que o mapeamento de um processo de negócio proporciona, dando a possibilidade de visualização de papéis, atividades, setores, departamentos e parceiros de uma organização, ou seja, todos os <em>stakeholders</em>, além do conhecimento de todo fluxo da informação.</p>
<p>Do ponto de vista da automatização de processos de negócio, através dos <em>softwares</em> BPMS, BPM oferece adaptadores e conectores para realizar a integração entre sistemas legados através da exposição de serviços e atuando na composição e orquestração desses serviços, BPM proporciona uma &#8220;API visual&#8221; de toda as integrações e uma facilidade maior de manutenção e mudança.</p>
<h3>BPM no topo de uma arquitetura SOA</h3>
<p>BPM deve atuar no topo de uma arquitetura orientada a serviços, pois uma arquitetura SOA deve focar de ponta-a-ponta no negócio, e dessa forma BPM atuaria do ínicio ao fim em uma arquitetura SOA.</p>
<p>BPM proporciona o melhor uso de serviços de negócio oferecidos por SOA gerenciando a relação entre eles sob o ponto de vista de processos de negócio.</p>
<h3>BPM ajuda na Governança de SOA</h3>
<p>Numa arquitetura SOA, consumidores e fornecedores de serviço são executados em diferentes processos de negócio, são desenvolvidos e gerenciados por diferentes departamentos e exigem um grande número de coordenação para trabalhar juntos com sucesso.</p>
<p>Para SOA ter êxito, múltiplas aplicações precisam compartilhar serviços comuns, o que significa que eles precisam ser coordenados para tornarem estes serviços comuns e reutilizáveis (olha o BPM aí!). Estes são os problemas de governança e eles são muito mais complexos do que problemas de aplicações monolíticas ou mesmo problemas de componentes e códigos reutilizáveis.</p>
<h3>Exemplo real</h3>
<p>Fiz um rascunho simples de uma arquitetura em camadas que utiliza BPM, SOA e BPEL e que estará exemplificada logo abaixo. O processo é para um banco e o intuito é fornecer o empréstimo de uma quantia em dinheiro para um cliente, que no caso é quem faz essa solicitação. Tudo começa e termina no BPM, que atua como um orquestrador de serviços.</p>
<p>Nesse exemplo temos serviços em um nível mais baixo, que no caso são serviços expostos por sistemas de terceiros, módulos de ERP, CRM, etc. Temos nível intermediário com um processo de negócio BPEL que faz a composição de alguns serviços presentes no nível mais baixo e no topo de tudo temos o BPM orquestrando todos os serviços e controlando todo o processo.</p>
<p><div class="wp-caption aligncenter" style="width: 330px"><a href="http://img70.imageshack.us/img70/586/bpmsoabpela.png" target="_blank" border="0"><img alt="Diagrama de uma arquitetura SOA com BPM" src="http://img70.imageshack.us/img70/2392/bpmsoabpel.png" title="Diagrama de uma arquitetura SOA com BPM" width="320" height="222" /></a><p class="wp-caption-text">clique para ampliar</p></div><br />
Para finalizar, é importante ressaltar que através do uso de BPM e de BPMS, é possível definir métricas e indicadores, comos os <a href="http://pt.wikipedia.org/wiki/KPI" target="_blank" style="text-decoration: underline">KPI&#8217;s</a> (<em>Key Performance Indicators</em>) e utilizar ferramentas que dão todo suporte para acompanhamento de nossos processos de negócio, como as ferramentas de <a href="http://en.wikipedia.org/wiki/Business_activity_monitoring" target="_blank" style="text-decoration: underline">BAM</a>, onde o intuito seria fornecer relatórios em tempo real que podem servir como caráter estratégico e  para tomadas de decisão, além também da possibilidade de usar as informações geradas para alimentar ferramentas de <a href="http://pt.wikipedia.org/wiki/Business_intelligence" target="_blank" style="text-decoration: underline">BI</a> (<em>Business Inteligence</em>) e consequentemente obter resultados mais completos para a organização.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcuscavalcanti.net/blog/2009/10/14/existe-soa-sem-bpm/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>O paradoxo de(a) TI</title>
		<link>http://www.marcuscavalcanti.net/blog/2009/02/25/o-paradoxo-de-ti/</link>
		<comments>http://www.marcuscavalcanti.net/blog/2009/02/25/o-paradoxo-de-ti/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 18:30:35 +0000</pubDate>
		<dc:creator>Marcus Cavalcanti</dc:creator>
				<category><![CDATA[Tecnologia, Software & Desenvolvimento]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[mercado ti]]></category>
		<category><![CDATA[Ondas de TI]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://www.marcuscavalcanti.net/blog/?p=399</guid>
		<description><![CDATA[Semana passada rolou uma apresentação sobre TDD muito interessante na empresa que eu trabalho, onde foram apresentados desde os conceitos básicos de TDD, até os tipos de testes existentes e finalizando com uma aplicação exemplo. No final rolou uma rodada de perguntas, onde foram questionados assuntos como BDD, programação defensiva, contract by domain, dentre outras [...]]]></description>
			<content:encoded><![CDATA[<p>Semana passada rolou uma apresentação sobre <a href="http://en.wikipedia.org/wiki/Test-driven_development" target="_blank" style="text-decoration: underline">TDD</a> muito interessante na empresa que eu trabalho, onde foram apresentados desde os conceitos básicos de TDD, até os tipos de testes existentes e finalizando com uma aplicação exemplo.</p>
<p>No final rolou uma rodada de perguntas, onde foram questionados assuntos como <a href="http://behaviour-driven.org/" target="_blank" style="text-decoration: underline">BDD</a>, <a href="http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_defensiva" target="_blank" style="text-decoration: underline">programação defensiva</a>, contract by domain, dentre outras metodologias e padrões. Nesse ponto da apresentação, a maioria das pessoas que estavam presentes ficaram meio perdidas com as milhares de <a href="http://en.wikipedia.org/wiki/Buzzword"  target="_blank" style="text-decoration: underline"><em>buzzwords</em></a> associadas com as perguntas que foram feitas. O pessoal mais antigo ficou mais perdido ainda e até brincaram sobre a questão do &#8220;estamos ficando velho&#8221;.</p>
<p>Paralelamente a isso, começei a ler essa semana um livro do <a href="http://www.trcr.com.br" target="_blank" style="text-decoration: underline">Tadeu Cruz</a> sobre <a href="http://www.trcr.com.br/index.php/biblioteca/" target="_blank" style="text-decoration: underline">BPM e BPMS</a>, onde no primeiro capítulo ele fala sobre a questão da desorganização informacional, muitas vezes causadas pelo excesso de informação e as novas ondas de TI que surgem a todo momento. Outra coisa que o autor do livro cita e crítica é que existem muitos casos de determinadas organizações, que forçam o uso de determinado software sem obter o real benenfício que esse software deveria oferecer, na maioria dos casos, por questões comerciais ou de interesse próprio dessas organizações. Questões como: para que determinada tecnologia foi criada, como deveria ser corretamente usada, como efetivamente está sendo usada, quais deveriam ser os resultados esperados do seu uso e quais são os resultados que estão sendo obtidos com sua utilização, orientariam de forma efetiva o profissional ou a organização com o intuito de medir se a adoção de determinada tecnologia está realmente sendo benéfica. Esse tipo de situação tem ocorrido muito com BPM, que é o novo <a href="http://en.wikipedia.org/wiki/Hype_cycle" target="_blank" style="text-decoration: underline"><em>hype</em></a> do momento tratando-se de TI.</p>
<p>O que as duas histórias tem em comum e onde estou querendo chegar?</p>
<p>O que eu quero dizer é o seguinte: até onde vale apena conhecer N conceitos diferentes e até onde não vale a pena? Nos casos citados acima tem um pouco das duas coisas, bem como suas respostas. No caso específico do TDD, deveríamos considerar que o melhor a ser feito seria debater sobre as <em>buzzwords</em> que o assunto levantou, ou o melhor seria não conhecer muitos desses novos padrões e metodologias? Eu fico com a primeira opção, mas a segunda opção pode contradizer a primeira. Explico logo abaixo.</p>
<p>Vale a pena usar TDD e BDD em um projeto sem conhecer seus benefícios, o resultado a ser esperado e os possíveis obstáculos a serem vencidos? Não. Pois nesse caso tudo de positivo que TDD traria sendo usada da forma correta, traria inversamente em dobro no caso do seu mal uso, pois nesse caso o projeto acabaria tendo novos percalços (além dos já conhecidos), como: prazos atrasados, código mal estruturado, equipe perdida e etc. E isso acontece em larga escala em TI, não apenas no caso específico do TDD, já que o mais se vê são empresas gastando milhões em &#8220;soluções&#8221; de TI (CRM, ERP, BI, etc) &#8211; muitas vezes empurradas pelos ótimos vendedores dos grandes players do mercado &#8211; sem obter benefício algum sobre aquilo (ou até mesmo desconhecendo o porquê do seu uso). Na verdade muito pelo contrário, pois como muito desses processos são feitos sem estruturação alguma e demoram meses, anos&#8230; no final das contas a dor de cabeça e o custo envolvido não atingem nem de perto o <a href="http://www.artigonal.com/gestao-artigos/a-famosa-relacao-custo-x-beneficio-602803.html" target="_blank" style="text-decoration: underline">custo x benefício</a> esperado sobre aquele investimento.</p>
<p>Outro fênomeno interessante a ser observado e que de certa maneira ligam as duas histórias é a infobia. Infobia é uma palavra que o Tadeu Cruz usa para definir o medo por informação, ou seja, em determinado momento, com a enxurrada de tantas <em>buzzwords</em>, as pessoas acabam ficando reativas em absorver novas tecnologias e entender o seu significado,  com isso de certa forma ficam estagnadas, pois deixam de absorver novos conhecimentos. Mas em compensação não adianta em nada conhecer várias palavrinhas mágicas superficialmente só para dizer que &#8220;domina&#8221; aquela tecnologia do momento. Por isso, acredito que dependendo do contexto, é válido ou não conhecer uma nova tecnologia. Esta aí mais um caso do <strong>paradoxo de TI</strong>. De certa forma, mas sem generalizar, a infobia consegue explicar a frase &#8220;estamos ficando velho&#8221;.</p>
<p>Devemos considerar que TI não irá salvar o mundo, TI pode ajudar de forma efetiva qualquer negócio de qualquer natureza, desde que seja aplicada da forma correta, e aplicar de forma correta envolve antes de mais nada: estruturação, disciplina, educação, mudança e planejamento. Ao mesmo tempo que sabemos de diversos casos onde TI trouxe um real benefício as organizações, sabemos de tantos outros onde TI acabou com negócios, projetos e sonhos. A <a href="http://www1.folha.uol.com.br/folha/informatica/ult124u19223.shtml" target="_blank" style="text-decoration: underline">bolha da internet</a> talvez seja o melhor exemplo que ilustra essa situação das ondas de TI.</p>
<p>Muitas vezes as ondas de TI trazem a tona novas tecnologias que surgem apenas com o objetivo de remediar uma tecnologia já existente. O que as vezes é considerado como inovação, nada mais é que uma evolução de algo que tenha tido insucesso no passado, dessa forma uma tecnologia X surge apenas com o intuito de servir como &#8220;curativo&#8221; da tecnologia Y, que prometeu maravilhas e na verdade devido ao seu mal uso (ou não) só trouxe dores de cabeça.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcuscavalcanti.net/blog/2009/02/25/o-paradoxo-de-ti/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

