tag:blogger.com,1999:blog-15150398173673807092024-02-20T16:07:53.785-03:00Blog do Breno BarrosEste blog tem como objetivo compartilhar algumas experiências, implementações e tendências em diversos seguimentos: Métodos de desenvolvimento de software (ágeis ou não); Governança; Gerenciamento de projetos (PMBok e Scrum); Plataforma Java EE; SOA; EAI e EDA.Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.comBlogger19125tag:blogger.com,1999:blog-1515039817367380709.post-19437369707633778442010-06-28T22:50:00.003-03:002010-06-28T22:55:28.752-03:00Nosso novo local de encontro - http://www.brenobarros.netResolvi me profissionalizar e dedicar ainda mais na escrita dos meus pensamentos, opiniões, experimentos e trabalhos. E lógico, receber as opiniões de vocês.<br /><br />Para isto, resolvi registrar um domínio. Agora, já a $$$ está saíndo do meu bolso, vou procurar achar mais tempo para dedicar ao meu novo site. Segue ele:<br /><br /><a href="http://www.brenobarros.net">http://www.brenobarros.net</a><br /><br />Vejo vocês por lá.<br /><br />Um grande abraço a todos.Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0tag:blogger.com,1999:blog-1515039817367380709.post-86273129422900801412009-07-04T16:50:00.011-03:002009-07-04T17:23:15.278-03:00Adobe AIR e Java: Comunicação via Socket<div style="text-align: justify;">Há um tempo atrás, comecei uma busca por uma forma de desenvolver uma aplicação desktop que me permitisse reaproveitar meus conhecimentos no desenvolvimento de aplicações web. Foi aí que me deparei com o Adobe AIR, alvo do exemplo deste post, onde vou deixar para fazer um post mais introdutório depois.<br /></div><div style="text-align: justify;"><br /><div style="text-align: justify;">Neste post, estarei abordando o desenvolvimento de uma simples aplicação front-end em Adobe Air Java Script/HTML que integrará com um código Java, através de Socket.<br /><br />A utilização de Socket com Adobe AIR é bem recomendado quando você precisar integrar suas aplicações Adobe AIR com linguagens, até o momento, não suportada diretamente pelo Adobe AIR.<br /><br />Por se tratar de uma aplicação para demonstrar os conceitos básicos do desenvolvimento Adobe AIR JS/HTML, iremos partir de algo bem simples.<br /><br />A aplicação front-end terá apenas um campo texto de entrada e um botão de ação (Veja o código abaixo).<br /><br />Repare que todo o código é escrito em HTML e Java Script, apenas.<br /></div><br /><script src="http://gist.github.com/140688.js"></script><br /><span style="font-weight: bold;">Nota:</span> Como podemos ver, importei uma biblioteca Java Script: AIRAliases.js. Esta biblioteca visa simplificar o desenvolvimento AIR atribuindo "aliases" mais simples para referenciarmos os objetos da AIR API. Por exemplo, ao invés de digitar:<br /><div style="text-align: left;"><br />var desktop = window.runtime.flash.filesystem.File.desktopDirectory;<br /><br />Você digitará apenas:<br /><br />var desktop = air.File.desktopDirectory;<br /></div><br />Para trabalhar com Socket no Adobe AIR, utilizaremos a classe Socket na própria AIR API.<br /><br />Para o envio e recebimento de mensagens com o Socket AIR, precisamos registrar dois eventos: air.Event.CONNECT e air.ProgressEvent.SOCKET_DATA, respectivamente.<br /><br />O evento air.Event.CONNECT nos informa quando a conexão com o servidor Socket é iniciada e possível. E quando isto acontecer, a engine AIR irá acionar a função onSocketConnectionOpen, definida no Java Script.<br /><br />O evento air.ProgressEvent.SOCKET_DATA, nos informa quando um dado é retornado pelo servidor Socket.<br /><br />Neste exemplo, a engine AIR irá acionar a função onSocketDataReceiver.<br /><br />No código abaixo, temos um exemplo da classe Java que desempenhará o papel de um servidor Socket, que escutará as solicitações na porta 9999.<br /><br /><script src="http://gist.github.com/140703.js"></script><br />Por fim, segue abaixo o descritor da nossa aplicação de exemplo.<br /><br /><script src="http://gist.github.com/140687.js"></script><br /><span style="font-weight: bold;">Dica:</span> Para simplicar a execução das aplicações Adobe AIR via prompt-console, acrescente o diretório ...\AdobeAIRSDK\bin na variável de ambiente PATH do seus sistema operacional.</custom_path><br /><custom_path></custom_path><br /><custom_path>Para executar a aplicação, entre com o seguinte comando:</custom_path><br /><custom_path></custom_path><br /><custom_path>> adl AirSocketClient-app.xml</custom_path><br /><custom_path></custom_path><br /><custom_path>Agora, execute a classe que representa o servidor Socket. Neste exemplo, eu estou usando o Eclipse.</custom_path><br /><custom_path></custom_path><br /><custom_path>Na interface da aplicação Adobe AIR, entre com qualquer texto e logo após clique no botão Enviar.</custom_path><br /><custom_path></custom_path><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BYdKcg_14nQ/Sk-16hu7-SI/AAAAAAAAAhs/XCbk-50kIOA/s1600-h/Untitled.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 100px;" src="http://3.bp.blogspot.com/_BYdKcg_14nQ/Sk-16hu7-SI/AAAAAAAAAhs/XCbk-50kIOA/s200/Untitled.jpg" alt="" id="BLOGGER_PHOTO_ID_5354698499059087650" border="0" /></a><custom_path></custom_path><custom_path><imagem>Após isso, no console Java, você irá ver seu texto impresso pela classe Java (servidor Socket).</imagem></custom_path><br /><custom_path><imagem></imagem></custom_path><br /><custom_path><imagem><imagem></imagem></imagem></custom_path><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BYdKcg_14nQ/Sk-2pOgia8I/AAAAAAAAAh8/Vr6kVj8WOWU/s1600-h/Untitled2.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 38px;" src="http://4.bp.blogspot.com/_BYdKcg_14nQ/Sk-2pOgia8I/AAAAAAAAAh8/Vr6kVj8WOWU/s400/Untitled2.jpg" alt="" id="BLOGGER_PHOTO_ID_5354699301352270786" border="0" /></a><custom_path><imagem><imagem>Espero ter consigo passar um pouco a idéia. Em breve voltarei com mais novidades sobre o Adobe AIR.</imagem></imagem></custom_path><br /><br /><custom_path><imagem><imagem></imagem></imagem></custom_path><custom_path><imagem><imagem></imagem></imagem></custom_path></div>Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0tag:blogger.com,1999:blog-1515039817367380709.post-55354772289271969442009-06-23T09:42:00.006-03:002009-06-23T17:01:22.381-03:00SOA e o Mundo da Moda<div align="justify">Olá meus amigos. Até que enfim tive tempo para voltar a escrever para o blog.<br /><br /><a href="http://4.bp.blogspot.com/_BYdKcg_14nQ/SkDPjmTL7AI/AAAAAAAAAhk/_nn6qG4BfCI/s1600-h/mages.jpg"><img style="MARGIN: 0px 10px 10px 0px; WIDTH: 105px; FLOAT: left; HEIGHT: 128px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5350504567799540738" border="0" alt="" src="http://4.bp.blogspot.com/_BYdKcg_14nQ/SkDPjmTL7AI/AAAAAAAAAhk/_nn6qG4BfCI/s200/mages.jpg" /></a>Bem, durante esse tempo ausênte, tive a oportunidade de participar de eventos e provas de conceitos com algumas plataformas (que no momento não vou citar nomes) ditas "milagrosas", que não convém comentar neste momento, que estão na boca de todos desde o ano passado. E é aí, que vem o título deste novo post.<br /><br />Este título refere a uma analogia entre o que se vende e o que se implementa da arquitetura SOA com o os grandes desfiles e eventos do mundo da moda (o que se vende) e as roupas que compramos no dia-a-dia (o que se implementa).<br /><br />Percebo que, assim como no mundo da moda, as grandes fornecedoras de softwares recriam um cenário facilitador, glamuroso, cheio de estilo, com idéias inovadoras, ditando novos comportamentos e maneiras de pensar. Porém, na prática não é isso que vem acontecendo com elas próprias, muito menos é o que chega em nossas mãos em curto e médio prazo.<br /><br />Tudo isso fica evidente quanto vemos que desde do ano passado estas novas plataformas sendo idealizadas, onde seus alicerces estão centrados nas milhares de siglas que compõe o universo SOA. Porém, releases são anunciadas mas nunca cumpridas. E isso serve de alerta para todos nós, na aquisição e utilização imediata do que estão vendendo. Pois nem eles (os deuses que referencio) estão conseguindo ter sucesso fácil com essas tecnologias.<br /><br />Mas de todo esses esforço, algumas idéias, maneiras de pensar e comportamentos ficam. Contribuindo muito na nossa evolução.<br /><br />Porém, devemos ter cuidado ao ver uma tendência e já sair implementando em um projeto real. E, isso na minha visão, é um dos principais motivos do porque muitas iniciativas, não somente em SOA, não obtiveram o sucesso esperado.<br /><br />Lembrem-se: Se você ver em algum evento ou consultor visitando sua empresa falando de algo muito inovador, praticamente te colocando em situação desconfortante de que se você não usar aquilo, você não estará sendo uma pessoa moderna e estilosa. Isso é uma cilada. Saiba que, o cenário atual da TI e não apenas o seu, ainda não está preparado para aquilo. Nem mesmo os próprios fornecedores estão. Portanto, não coloque sua cabeça a prêmio tão facilmente.<br /><br />No próximo post, eu estarei falando de um elemento essêncial, e que não está sendo levando em consideração na adoção SOA, e que está fazendo com que muitos projetos fracassem: "A tal da Governança".</div>Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com3tag:blogger.com,1999:blog-1515039817367380709.post-49954682136859542252009-03-26T14:41:00.002-03:002009-03-26T14:43:28.776-03:00RUP e Scrum de mãos dadas<div align="justify">Já escutei e li muitas coisas sobre RUP (Rational Unified Process) e Scrum. Principalmente no sentido em que um é melhor que outro, em algum aspecto. </div><div align="justify"><br />Esta comparação, ao meu ver, pode ser extremamente pertinente ou completamente incoerênte, dependendo do que irá ser abordado. Vou procurar me explicar.<br /></div><div align="justify">O RUP, em resumo, representa um framework de melhores práticas para orientar a criação, ou adaptação de processos de engenharia de sofware. Ou seja, como o próprio RUP prega em seu primeiro dos seis princípios, o Adapt the Process, você deve ser capaz de identificar as áreas em que a cobertura na estrutura do processo RUP é considerada insuficiente para o seu projeto e balancear os níveis de cerimônia, precisão e controle, de acordo com uma variedade de fatores, incluindo o tamanho e a distribuição de equipes, a quantidade de restrições externamente impostas e a fase na qual o projeto se encontra.<br /></div><div align="justify">E é justamente na questão de controle que eu vejo que o Scrum pode apoiar, e muito, já que ele não é um processo de engenharia de software, mas sim, um framework empírico de Gerenciamento de Projetos que busca prover maior visibilidade sobre os sucessos, insucessos, impedimentos, comprometimentos das equipe e satistação do cliente ao longo do projeto.<br /></div><div align="justify">Portanto, fica claro que apesar de Scrum ter algumas práticas que auxiliariam em diversas disciplinas do RUP, a disciplina que ele poderia, em um primeiro momento ser mais utilizado, é na disciplina de Gerência de Projeto, como forma de se ter maior controle e visibilidade de como o projeto está andando (reuniões, quadro kanban); Priorizar de requisitos e planejar as iterações de forma a produzir entregáveis com maior valor (ROI) para o cliente; Possibilitar a criação de uma equipe auto-gerenciada, facilitando ainda mais o trabalho do Gerente de Projeto; Obter estimativas mais realistas com práticas como o plannig poker.<br /></div><div align="justify">Podemos perceber inclusive que muitas das práticas que o Scrum prega, já fazem parte dos princípios do RUP, tais como: Balance Competing Stakeholders Priorities, Demonstrate Value Iteratively e Focus Continuously on Quality.<br /></div><div align="justify">Da mesma forma que já vi muitos projeto que disseram ter usado RUP falharem, principalmente pelo não entendimento de seus princípios e por tentar utilizar tudo, eu estou vendo muitos projetos que dizem usar o Scrum falharem ou indo para o mesmo caminho de fracasso, pois acreditam que Scrum é um processo de engenharia, que terá respostas para tudo, e não é verdade.<br /></div><div align="justify">Devemos sempre lembrar que o próprio Manisfesto Ágil informa que por exemplo “Indivíduos e interações são mais importantes que processos e ferramentas”, mas não que devemos descartar os processos e ferramentas.<br /></div><div align="justify">Com isso, o RUP sendo uma estrutura de processo adequada para uma grande variedade de tipos de projetos, podemos com toda certeza, obter nele alguma boas práticas em nossos processos ágeis que utilizam o Scrum como gerenciamento.<br /></div><div align="justify">Em suma, com as poucas características ditas acima sobre o RUP e Scrum, vejo claramente que ambos possam ser usados em conjunto, como forma de si complementarem. Então, vamos usar os dois o máximo que possível e contruir projetos com qualidade.<br /></div><div align="justify">Bons processos e projetos. ;D</div>Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com3tag:blogger.com,1999:blog-1515039817367380709.post-11533464832814952222008-12-01T01:00:00.000-02:002008-12-01T01:00:00.549-02:00Curiosidade: Você sabe porque a IDE Eclipse tem esse nome?<div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BYdKcg_14nQ/SRojoIhgx8I/AAAAAAAAAFU/fgO4I0FOETQ/s1600-h/eclipse_lunar.jpeg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 162px;" src="http://1.bp.blogspot.com/_BYdKcg_14nQ/SRojoIhgx8I/AAAAAAAAAFU/fgO4I0FOETQ/s200/eclipse_lunar.jpeg" alt="" id="BLOGGER_PHOTO_ID_5267561886552999874" border="0" /></a>Ao que tudo indica, o nome Eclipse foi dado pela IBM como um provocação à SUN. Pois a IBM já imaginando o sucesso dessa IDE, quis mandar um recado para a SUN: Você é "detentora" da linguagem Java, mas a IDE mais usada para a mesma, é minha.<br /></div><br />Você ainda não captou a mensagem? SUN quer dizer sol em inglês. Logo, a IBM como Eclipse, oculta a SUN.<br /><br />Será que é por isso que a SUN investe tanto na utilização Netbeans?Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0tag:blogger.com,1999:blog-1515039817367380709.post-49300248277255051302008-11-14T13:56:00.006-02:002008-11-14T14:03:54.805-02:00Fique de Olho: SOA e SaaS - Revitalizando o Outsourcing.<div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BYdKcg_14nQ/SR2hGo5rqDI/AAAAAAAAAFc/ItZmrMBhCg4/s1600-h/soainsaas-274x300.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 183px; height: 200px;" src="http://1.bp.blogspot.com/_BYdKcg_14nQ/SR2hGo5rqDI/AAAAAAAAAFc/ItZmrMBhCg4/s200/soainsaas-274x300.jpg" alt="" id="BLOGGER_PHOTO_ID_5268544274523990066" border="0" /></a>Atualmente, cada vez mais, cresce o número de empresas que bsucam adaptar suas arquiteturas atuais para uma arquitetura orientada a serviços (SOA). As infra-estruturas para a arquitetura orientada a serviços possibilitam o "rompimento" das barreiras físicas e tecnológicas, para os provedores de outsourcing.<br /><br />Além disso, devida a alta padronização das tecnologias de componentização (desenvolvimento de serviços) envolvidas na aquitetura orientada a serviços, a mesma permitirá um outsourcing menos oneroso em relação aos aspectos de integração dos serviços dentro da corporação alvo, além de uma melhor verificação e garantia da aderência destes serviços nos processos de negócios.<br /><br />Fique de olho.<br /></div>Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0tag:blogger.com,1999:blog-1515039817367380709.post-58926475905673758112008-11-13T15:48:00.003-02:002008-11-13T16:02:18.023-02:00Aceitação do Modelo Ágil para Obtenção do CMMiOlá meus amigos.<br /><br /><div style="text-align: justify;">Clique <a href="http://www.sei.cmu.edu/publications/documents/08.reports/08tn003.html">aqui</a> para ter acesso a um artigo oficial direto do site da SEI (Software Engineering Institute) sobre a aceitação do modelo Ágil para obtenção do CMMi.<br /><br />E logo abaixo, uma apresentação do grande mestre Boris Gloger com o título <span style="font-weight: bold; font-style: italic;">CMMi = Scrum</span><span style="font-style: italic;">.</span> <span style="font-weight: bold; font-style: italic;">A Provocation to See the Truth.</span><br /></div><br /><div style="width: 425px; text-align: left;" id="__ss_424883"><a style="margin: 12px 0pt 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline;" href="http://www.slideshare.net/borisgloger/cmmi-scrum-keynote-recife-may-08?type=powerpoint" title="CMMi = Scrum, Keynote, Recife May 08">CMMi = Scrum, Keynote, Recife May 08</a><object style="margin: 0px;" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=cmmscrumrecifemay08-1211587683804149-8&stripped_title=cmmi-scrum-keynote-recife-may-08"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=cmmscrumrecifemay08-1211587683804149-8&stripped_title=cmmi-scrum-keynote-recife-may-08" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View SlideShare <a style="text-decoration: underline;" href="http://www.slideshare.net/borisgloger/cmmi-scrum-keynote-recife-may-08?type=powerpoint" title="View CMMi = Scrum, Keynote, Recife May 08 on SlideShare">presentation</a> or <a style="text-decoration: underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration: underline;" href="http://slideshare.net/tag/scrum">scrum</a> <a style="text-decoration: underline;" href="http://slideshare.net/tag/cmmi">cmmi</a>)</div></div><br /><br />Um grande abraço.Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0tag:blogger.com,1999:blog-1515039817367380709.post-38768397990902070512008-11-12T12:30:00.000-02:002008-11-12T12:30:00.283-02:00Curiosidade: Você conhece a origem do nome Scrum?<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BYdKcg_14nQ/SRn3LXrjGbI/AAAAAAAAAFM/It6uMduZb1Y/s1600-h/Rugby+Scrum.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 143px; height: 165px;" src="http://4.bp.blogspot.com/_BYdKcg_14nQ/SRn3LXrjGbI/AAAAAAAAAFM/It6uMduZb1Y/s200/Rugby+Scrum.jpg" alt="" id="BLOGGER_PHOTO_ID_5267513013893798322" border="0" /></a>O nome <span style="font-weight: bold;">Scrum</span> foi inspirado em uma jogada de Rugby.<br /><div style="text-align: justify;"><br />Após uma <span style="font-weight: bold; font-style: italic;">reunião</span> (jogadores reunidos em torno da bola), o objetivo é retirar os obstáculos à frente do jogador que correrá com a bola, para que o mesmo possa avançar o máximo possível no campo e marcar pontos.<br /><br />Um grande abraço.<br /></div>Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0tag:blogger.com,1999:blog-1515039817367380709.post-22411156869171814832008-11-11T18:00:00.001-02:002008-11-11T18:00:00.510-02:00Dica de Post: Quatro super dicas para escolher um bom ESB!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BYdKcg_14nQ/SRnKps4UejI/AAAAAAAAAFE/48b4LKOoFbc/s1600-h/para_onde_ir.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 138px; height: 183px;" src="http://2.bp.blogspot.com/_BYdKcg_14nQ/SRnKps4UejI/AAAAAAAAAFE/48b4LKOoFbc/s200/para_onde_ir.png" alt="" id="BLOGGER_PHOTO_ID_5267464056957336114" border="0" /></a>Recentemente, o meu amigo Ricardo Ferreira publicou um post em seu blog Architecture Journal, com 4 super dicas para escolher um bom ESB.<br /><br />Para conferir, clique <a href="http://architecture-journal.blogspot.com/2008/11/quatro-super-dicas-para-escolher-um-bom.html">aqui</a>.<br /><br />Parabéns Ricardo,pelo post e pelo excelente blog.<br /><br />Um grande abraço a todos.Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0tag:blogger.com,1999:blog-1515039817367380709.post-31795388556912655092008-11-11T15:13:00.002-02:002008-11-11T15:17:42.739-02:00Palestra MGJUG - 08/03/2007 - JBoss Rules<div style="text-align: justify;">Em março do ano passado, eu fiz uma apresentação sobre o JBoss Rules no MGJug - Grupo de Usuários Java de Minas Gerais. O vídeo dessa apresentação encontra-se na Recomendações de Vídeo na barra lateral desse blog.<br /><br />Com o surgimento do site SlideShare, eu decidi publicar aqui o slide dessa apresentação, para quem interessar.<br /></div><br /><div style="width:425px;text-align:left" id="__ss_742177"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/brenobarros/j-boss-rules-mgjug-v2-presentation?type=powerpoint" title="J Boss Rules Mgjug V2">J Boss Rules Mgjug V2</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=jbossrulesmgjugv2-1226423126643623-9&stripped_title=j-boss-rules-mgjug-v2-presentation"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=jbossrulesmgjugv2-1226423126643623-9&stripped_title=j-boss-rules-mgjug-v2-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View SlideShare <a style="text-decoration:underline;" href="http://www.slideshare.net/brenobarros/j-boss-rules-mgjug-v2-presentation?type=powerpoint" title="View J Boss Rules Mgjug V2 on SlideShare">presentation</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own.</div></div><br /><br /><div style="text-align: justify;">O <span class="nfakPe">JBoss</span> <span class="nfakPe">Rules</span> consiste em uma ferramenta open-source e standards-based business <span class="nfakPe">rules</span> <span class="nfakPe">engine</span> que facilita o acesso, gerenciamento, avaliações e manutenções de políticas de negócios (regras de negócios) de forma simples, rápida e eficiente. Com isto, analistas de negócios e processos, auditores e até mesmo gerentes corporativos podem gerenciar estas políticas de negócios independente das aplicações em que foram utilizadas, com o objetivo de garantir alinhamento desta políticas, com os objetivos estratégicos da corporação.<br /><br />Além disto, o <span class="nfakPe">JBoss</span> <span class="nfakPe">Rules</span> simplifica o desenvolvimento de aplicações corporativas, separando as políticas ou regras de negócios dos processo, infra-estruturas e lógicas de apresentação de informações. Assim, <span class="nfakPe">JBoss</span> <span class="nfakPe">Rules</span> é uma excelente opção para prover um modo de agrupar complexas lógicas para tomadas de decisão.<br /><br />Com isto, esta solução é bastante utilizada no segmento de Telecom e de Finanças para controle financeiro, detecção de fraudes, sistemas de billing e também na área de compliance de assets management.</div>Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0tag:blogger.com,1999:blog-1515039817367380709.post-9812784125154123202008-11-11T08:00:00.000-02:002008-11-11T08:00:00.943-02:00Teste de Certificação de Scrum<div style="text-align: justify;">O que era de se esperar, realmente aconteceu. Vai existir agora, uma prova de certificação de Scrum. Clique <a href="http://www.infoq.com/news/2008/11/scrum-certification-test">aqui</a> para ver mais detalhes em um post da InfoQ.<br /><br />Como eu falei: Já era de se esperar. Porém, eu não concordo.<br /><br />Acho o modelo de certificação da ScrumAlliance interessante. Onde a pessoa se prepara em um treinamento oficial, ou para adquirir conhecimento para COMEÇAR a atuar como Scrum Master, ou para ser um bom Product Owner.<br /><br />Após esse treinamento, essa pessoa está apenas apta a praticar o Scrum, pois teve contato com os conceitos principais. E não que ela já participou de um projeto Scrum de sucesso. Para isto que serve a certificação de Practioner. Ou seja, após uma avaliação de todo o material enviado pelo candidato a CSP, uma banca de integrates da Scrum Alliance avaliar de forma cautelosa, se aquele candidato merece ou não receber o título.<br /><br />Em suma, não acredito que uma prova vai resolver o problema. Creio, que a Scrum Alliance deveria apenas, achar um jeito de diferenciar estas certificações para o mercado.<br /><br />Enfim, é a minha opinião.<br /><br />Um grande abraço a todos.</div>Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com1tag:blogger.com,1999:blog-1515039817367380709.post-41033742917750180442008-11-10T17:34:00.001-02:002008-11-10T17:41:59.910-02:00Governança SOA com ITIL v3<div style="text-align: justify;">Já há algum tempo, eu venho estudando práticas de governança para projetos SOA, em especial o ITIL na versão 3 para definição das cadeias de responsabilidades, processos, políticas e métricas a serem adotadas em um projeto do governo federal.<br /></div><div style="text-align: justify;"><br />Dessa forma, eu gostaria de compartilhar um pouco do meu aprendizado, e quem puder contribuir com algo mais, é sempre bem vindo.<br /><br />Então, para quem não conhece, o ITIL (Information Technology Infrastructure Library) consiste em uma coleção de "Melhores Práticas", integradas, baseadas em processos, para gerenciamento de serviços em TI.<br /><br />Não confunda: Serviços em ITIL não quer dizer a mesma coisa que serviços na SOA. Porém, serviços na SOA também serão entregados via TI, e consequentemente, o ITIL pode ajudar.<br /><br />Na sua versão 3, o ITIL foi estruturado em cinco pilares básicos:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BYdKcg_14nQ/SRiOSRiFlkI/AAAAAAAAAE8/tIBnYpjEmsI/s1600-h/itilv3-ciclo-800.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_BYdKcg_14nQ/SRiOSRiFlkI/AAAAAAAAAE8/tIBnYpjEmsI/s200/itilv3-ciclo-800.jpg" alt="" id="BLOGGER_PHOTO_ID_5267116208804959810" border="0" /></a>1. Service Strategy: Que tem como foco a visão de negócio (estratégica) dos serviços. Alguns aspectos chaves: Portifólio de Serviços, Cadeia de Responsabilidades e Gestão Financeira para orientar a construção, entrega e manutenção de serviços.<br /><br />2. Service Design: Que tem como foco o projeto de soluções em termos arquiteturais, tecnológicos, pessoas e processos. Alguns aspectos chaves: Gerenciamento do Catálogo de Serviços, Continuidade, Segurança, Definição de SLAs, dentre outros.<br /><br />3. Service Transition: Que inclui processos como gerenciamento de mudanças, gerenciamento de configurações, releases, planejamento de testes.<br /><br />4. Service Operation: Que tem seu foco em manter os serviços “rodando”, isto inclui Gestão de Incidentes, Gereciamento de problemas e Gestão de acesso.<br /><br />5. Continual Service Improvement: Melhoria Continua. Isto inclui, Mensuração de Serviços e SLAs.<br /><br />Com um estudo mais aprofundado do ITIL v3, podemos perceber que ele tem compartilhado para a disciplina de Service Strategy e Continual Service Improvement, boas práticas do BPM (Business Process Management), e para as demais disciplinas, a gestão do potifólio de serviços que irão compor as Composite Applications na visão de uma arquitetura SOA.<br /><br />Abraços.<br /></div>Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0tag:blogger.com,1999:blog-1515039817367380709.post-92223801413908130972008-11-10T16:10:00.000-02:002008-11-10T16:42:40.408-02:00Configurando o Oracle SOA Suite no Weblogic 9.2<div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BYdKcg_14nQ/SRh_sgPNqXI/AAAAAAAAAEs/0RTGkpwU84s/s1600-h/wl-install1.png"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 144px;" src="http://2.bp.blogspot.com/_BYdKcg_14nQ/SRh_sgPNqXI/AAAAAAAAAEs/0RTGkpwU84s/s200/wl-install1.png" alt="" id="BLOGGER_PHOTO_ID_5267100166754511218" border="0" /></a>Há um pouco mais de 2 meses, eu precisei configurar o Oracle SOA Suite no BEA WebLogic App Server, em um projeto que estou atuando, seguindo as próprias recomendações da Oracle.<br /></div><div style="text-align: justify;"><div style="text-align: justify;"><br />Portanto, vou deixar aqui o passo-a-passo que fiz para esta configuração funcionar.<br /></div><br />Para instalar o Oracle SOA Suite no Weblogic 9.2 você precisará do(a)s:<br /></div><ul style="text-align: justify;"><li>Oracle SOA Suite 10.1.3.x, do Patch 10.1.3.4 (este pode ser obtido do Oracle Metalink) e do SOA Suite for WebLogic 10.1.3.4 (obtido via OTN);</li><li>Weblogic 9.2;<br /></li></ul><div style="text-align: justify;">Com tudo isso em mãos, você deverá:<br /></div><ol style="text-align: justify;"><li>Instalar o Oracle SOA Suite 10.1.3.x em um dado diretório;</li><li>Instalar o patch Oracle SOASuite 10.1.3.4 patch;</li><li>Fazer um upgrade dos Schemas SOA;<br /></li><li>Aplicar o patch para o bug 7337034;<br /></li><li>Instalar o Weblogic 9.2;</li><li>Extrair os arquivos do pacote SOA Suite for WebLogic 10.1.3.4, que estão contidos na pasta WL_SOA10134_Installables;</li><li>Aplicar as mudanças no SOADomain.properties, criando um novo domínio;<br /></li><li>Instalar o SOA Suite for WebLogic 10.1.3.4.</li></ol><div style="text-align: justify;">Feita a instalação. Você precisa agora iniciar o Weblogic (WL). Para isso, você deve primeiramente iniciar o Node Manager do WL, que pode ser comparado com OPMN do SOA Suite rodando no Oracle App Server. Para isto, execute o seguinte comando:<br /><br /><weblogic_install>#weblogic_install_path/server/bin/startNodeManager.sh<br /><br />Logo após, você deve iniciar o domínio no WL. Um domínio no WL consiste de um conjunto de um ou mais servidores de aplicações. Ou seja, pelo menos um nós teremos executando (que é comparado com a instância 'home' do OC4J. Para isto, execute o seguinte comando:<br /><br /><weblogic_install></weblogic_install></weblogic_install>#weblogic_install_path<weblogic_install><weblogic_install>/</weblogic_install></weblogic_install>#seu_dominio_soa<weblogic_install><weblogic_install><yoursoadomain>/bin/startWebLogic.sh<br /><br />Nota: Os arquivos de logs serão encontrados nos seguintes paths:<br /><br /><weblogic_install></weblogic_install></yoursoadomain></weblogic_install></weblogic_install>#weblogic_install_path<weblogic_install><weblogic_install><yoursoadomain><weblogic_install>/<yoursoadomain></yoursoadomain></weblogic_install></yoursoadomain></weblogic_install></weblogic_install>#seu_dominio_soa<weblogic_install><weblogic_install><yoursoadomain><weblogic_install><yoursoadomain>/servers/</yoursoadomain></weblogic_install></yoursoadomain></weblogic_install></weblogic_install>#seu_servidor_soa<weblogic_install><weblogic_install><yoursoadomain><weblogic_install><yoursoadomain><yoursoaserver>/logs<br /></yoursoaserver></yoursoadomain></weblogic_install></yoursoadomain></weblogic_install></weblogic_install><ul><li><weblogic_install><weblogic_install><yoursoadomain><weblogic_install><yoursoadomain><yoursoaserver>OracleSOAServer.log;</yoursoaserver></yoursoadomain></weblogic_install></yoursoadomain></weblogic_install></weblogic_install></li><li><weblogic_install><weblogic_install><yoursoadomain><weblogic_install><yoursoadomain><yoursoaserver></yoursoaserver></yoursoadomain></weblogic_install></yoursoadomain></weblogic_install></weblogic_install>OracleSOAServer.out.<br /></li></ul><weblogic_install><weblogic_install><yoursoadomain><weblogic_install><yoursoadomain><yoursoaserver><br />Um abraço a todos.<br /></yoursoaserver></yoursoadomain></weblogic_install></yoursoadomain></weblogic_install></weblogic_install></div>Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0tag:blogger.com,1999:blog-1515039817367380709.post-15259581048592476712008-11-10T11:49:00.000-02:002008-11-10T12:00:18.666-02:00Algumas Informações do Mundo SOA Obtidas no Oracle Fusion Middleware Fórum<div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BYdKcg_14nQ/SRg-P-dxcgI/AAAAAAAAAEk/z2wdwvB3qTE/s1600-h/20508_oracle_fusion_middleware.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 61px;" src="http://3.bp.blogspot.com/_BYdKcg_14nQ/SRg-P-dxcgI/AAAAAAAAAEk/z2wdwvB3qTE/s200/20508_oracle_fusion_middleware.jpg" alt="" id="BLOGGER_PHOTO_ID_5267028208396628482" border="0" /></a>Eu estive no último Oracle Fusion Middleware Forum, em SP, e a Oracle posicionou claramente que seu produto ESB a partir de 2009 será o Oracle Service Bus (OSB), onde dizem trazer o melhor dos dois mundos Oracle e BEA ("antigo" Oracle ESB e o Aqualogic Service Bus).<br /></div><div style="text-align: justify;"><div style="text-align: justify;"><br />Porém, na minha visão e experiência com ambos, vejo que deverá ter muito mais coisas do BEA Aqualogic Service Bus do que do atual ESB da Oracle.<br /></div><br />O Oracle ESB ("antigo"), é bom quanto a facilidade de configuração, quando se trabalha com o JDev. Entretanto, coisas do tipo: Não suportar WS-Addressing, criando uma thread para cada requisição e segurando-as até o término gerando uma sobrecarga no servidor, é complicado (Sim, sei que existem diversas contigências). Mas enfim, foi apenas um dos problemas que tive com o mesmo.<br /><br />Além disso, até o momento a informação que eu tenho é que do Oracle SOA Suite atual, apenas o Oracle BPEL, Web Services Management e o Oracle BAM, serão mantidos. O restante dos componentes da suíte serão incorporados pelos produtos da BEA.<br /><br />Da mesma forma, a Oracle está montando uma suíte específica para Governança SOA, onde seu principal componente será o ALER da BEA, que eles vão chamar de Oracle Enterprise Repository, em conjunto com o atual Oracle Service Registry.<br /><br />Outro ponto é que a fundação do OSB será o Weblogic e que a JVM recomendada continuará sendo o BEA JRockit.<br /><br />Na área de modelagem de processos de negócios, a Oracle contará com duas suíte o atual Oracle BPA Suite com o foco na automação de processos e modelagens que precisam de mais formalismos e o Oracle BPM Suite, que é a antiga suíte BPM da BEA, para modelagens com menos formalismos, buscando apenas maior controle, visibilidade e rápida implementação.<br /><br />Um ponto que eu gostaria de expressar para todos é que, o WLI não será mais atualizado, a Oracle dará suporte ao mesmo durante os próximos 9 anos, sem que nenhuma evolução corretiva ou evolutiva seja feita. E, acreditem se quiser, a IDE padrão será o JDev, onde a Oracle não irá trabalhar mais para prover plugins para o Eclipse. Esses dois pontos, eu acredito que não ser uma boa opção estratégica.<br /><br />Espero ter ajudado com essas informações. Abs.<br /></div>Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0tag:blogger.com,1999:blog-1515039817367380709.post-24210259056354588912008-11-10T11:15:00.000-02:002008-11-10T11:36:12.505-02:00Jogo da IBM para Aprender BPM: Até rimou ;D<div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BYdKcg_14nQ/SRg4Bd7ObFI/AAAAAAAAAEU/sZKSPj7jc68/s1600-h/img3.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 155px; height: 122px;" src="http://2.bp.blogspot.com/_BYdKcg_14nQ/SRg4Bd7ObFI/AAAAAAAAAEU/sZKSPj7jc68/s200/img3.jpg" alt="" id="BLOGGER_PHOTO_ID_5267021362073857106" border="0" /></a>A IBM lançou um jogo gratuíto*, denominado Innov8, com o objetivo de demonstrar as práticas do BPM (Business Process Management), onde você atuará como um analista de processos de negócio, tendo como objetivo eliminar um gargalo em um dado processo de negócio que não apresenta KPIs adequadas. Você terá apenas poucas horas para contornar este problema, e deixar a empresa funcionando conforme esperado.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BYdKcg_14nQ/SRg4NzSJ4YI/AAAAAAAAAEc/peFqL9OPbU0/s1600-h/img1.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 182px; height: 142px;" src="http://3.bp.blogspot.com/_BYdKcg_14nQ/SRg4NzSJ4YI/AAAAAAAAAEc/peFqL9OPbU0/s200/img1.jpg" alt="" id="BLOGGER_PHOTO_ID_5267021573965603202" border="0" /></a></div>Clique <a href="http://www-304.ibm.com/jct01003c/software/solutions/soa/innov8.html">aqui</a> para saber de mais detalhes sobre esse jogo.<br /><br />* Você precisará estar registrado no programa Academic da IBM, para efetuar o download desse jogo.<br /><br />Boa diversão ;)Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0tag:blogger.com,1999:blog-1515039817367380709.post-64248092047144882872008-11-10T09:27:00.000-02:002008-11-10T11:10:28.860-02:00AgileDraw: Em que momento eu precisei usá-la.<div style="text-align: justify;">Recentemente, durante o início das atividades de levantamento de requisitos e esboço inicial da arquitetura da solução em um projeto de integração de aplicações corporativas (sendo mais claro, aplicações bem legadas), eu obtive muita dificuldade em extrair da equipe do cliente, responsáveis por estes sistemas "de longa data", as informações que eu precisava para começar a esboçar a arquitetura inicial. Foi aí que me veio a seguinte idéia: Já que eles não entendem UML, ou seja, tudo que está desenhado no meu documento inicial não servia para nada. Eu decidi experimentar na prática a notação agíl para modelagem, denominada de <a href="http://www.agiledraw.org/">AgileDraw</a>.<br /></div><br /><div style="text-align: justify;">Até esse momento, eu tinha uma certa resistência sobre essa notação. Porém, percebi como aquela simples notação estava facilitando a compreensão de todos os membros da equipe técnica (incluindo membros do cliente), durante a tal reunião para tomadas de decisões arquiteturais.</div><div style="text-align: justify;"><br />Por ser uma notação simples, com poucas regras e formalizmos, vários dos envolvidos assimilaram seus conceitos em apenas 5 minutos de explanação, e já estavam dando suas opiniões e sugestões, desenhando-os no quadro-branco.<br /><br />Na minha visão, a AgileDraw simplifica bastante a comunicação, dando ênfase em conceitos e contéudo, e não em formatação e regras rígidas de notação, o que é o caso da UML.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BYdKcg_14nQ/SRglVZOhUbI/AAAAAAAAADk/yrLe6rNIcFc/s1600-h/agiledraw-and-uml.gif"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 176px; height: 200px;" src="http://1.bp.blogspot.com/_BYdKcg_14nQ/SRglVZOhUbI/AAAAAAAAADk/yrLe6rNIcFc/s200/agiledraw-and-uml.gif" alt="" id="BLOGGER_PHOTO_ID_5267000813689065906" border="0" /></a>Sempre utilizei a UML, e vejo que continuarei utilizando-a. Porém, desde sempre, busco não trabalhar com ela seguindo totalmente suas regras, mas sim, tentando expressar nos diagramas confeccionados, algo entendível por qualquer membro da equipe. Entretanto, isso é uma tarefa difícil, pois a própria UML vai te "influênciando" a desenhar seguindo suas própria regras, sem contar com as ferramentas de modelagem que não permitem qualquer "desvio", por mais que seja intencional.<br /><br />A AgileDraw é muito boa para as primeiras fases do projeto, onde estamos levantando e entendendo os reguisitos, fazendo uma visão conceitual da arquitetura, com diagramas simples e qua facilitem o entendimento por todos, inclusive para validar se nosso entendimento está coerênte. Após essa fase, a UML entra em ação novamente.<br /><br />A semântica da AgileDraw é composta por 3 elementos básicos:</div><br /><div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BYdKcg_14nQ/SRgdvlvAH8I/AAAAAAAAADc/Yd1ccc7qMFE/s1600-h/agiledraw-and-coretechniques.gif"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 48px;" src="http://1.bp.blogspot.com/_BYdKcg_14nQ/SRgdvlvAH8I/AAAAAAAAADc/Yd1ccc7qMFE/s200/agiledraw-and-coretechniques.gif" alt="" id="BLOGGER_PHOTO_ID_5266992467630104514" border="0" /></a>O círculo, representa algo dinâmico que reage a eventos tanto internos quanto externos. Basicamente, seu uso é aplicado para representar servidores de aplicações, servidores de mensageria, banco de dados, classes/componentes com comportamento de listeners. Por outro lado, o retângulo, representa algo mais rígido, que não sofre tantas variações, tal como uma classe, uma entidade, um hardware, uma tabela no banco de dados e etc.<br /><br />A linha, por sua vez, representa uma associação, podendo ser de dois tipos: Sólida ou Pontilhada. A linha sólida representa relacionamentos concretos, síncronos e/ou alto acoplamento. Já a linha pontilhada, representa relacionamentos abstratos, assíncronos e/ou com baixo acoplamento.</div><br />Caso você se interessa nessa notação. Segue abaixo, um exemplo de diagrama, onde muito mais podem ser encontrados no site da <a href="http://www.agiledraw.org/">AgileDraw</a>.<br /><br /><div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BYdKcg_14nQ/SRgm2Bx5TEI/AAAAAAAAAD8/SOQwNXxyENU/s1600-h/agiledraw-architecture.gif"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 147px;" src="http://4.bp.blogspot.com/_BYdKcg_14nQ/SRgm2Bx5TEI/AAAAAAAAAD8/SOQwNXxyENU/s200/agiledraw-architecture.gif" alt="" id="BLOGGER_PHOTO_ID_5267002473842297922" border="0" /></a></div>Abraço a todos.Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0tag:blogger.com,1999:blog-1515039817367380709.post-17018904499882400082008-11-08T13:06:00.001-02:002008-11-09T16:17:09.100-02:00Context Delivery Architecture (CoDA). A próxima evolução da SOA?<div style="text-align: justify;">No último Gartner Application Architecture, Development, and Integration (AADI) Summit, realizado em outubro/2007 na cidade de Orlando/EUA. O Gartner a apresentou o conceito Context Delivery Architecture (CoDA), como uma terceira etapa da evolução da arquitetura orientada a serviços (SOA). A segunda etapa, seria com a combinação do Event-Driven Architecture (EDA), que o Gartner chama de SOA Advanced. (Veja figura abaixo)<br /></div><br /><div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BYdKcg_14nQ/SRWsCGqaZGI/AAAAAAAAACs/VK_SfS7GGjY/s1600-h/soa.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 142px;" src="http://2.bp.blogspot.com/_BYdKcg_14nQ/SRWsCGqaZGI/AAAAAAAAACs/VK_SfS7GGjY/s200/soa.jpg" alt="" id="BLOGGER_PHOTO_ID_5266304491427882082" border="0" /></a>De forma simples, o CoDA é uma arquitectura que tem conhecimento sobre o contexto dos usuários finais, tais como: localização, preferências, identidade, dentre outros. Proporcionando para estes, as informações mais adequadas. Ou seja, o componente principal nesta arquitetura seria os serviços WYNIWYG (what you need is what you get - o que você precisa é o que você tem) .<br /><br />Vamos analisar um pequeno exemplo onde eu imagino que a CoBA poderá ter grande aplicabilidade.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BYdKcg_14nQ/SRXJE7TyOXI/AAAAAAAAAC8/Uf09zkQMQfQ/s1600-h/_42853799_cokaap203jpg.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_BYdKcg_14nQ/SRXJE7TyOXI/AAAAAAAAAC8/Uf09zkQMQfQ/s200/_42853799_cokaap203jpg.jpg" alt="" id="BLOGGER_PHOTO_ID_5266336425756998002" border="0" /></a>Imaginem um vendedor de produtos da Coca-Cola, que irá realizar entregas para determinados clientes, e durante seu deslocamento conecta-se em seu blackberry diretamente na central de serviços, que recupera suas credenciais e localização de forma automática, retornando os dados de todos os cliente daquela área, que são de sua responsabilidade. Logo após, este vendendor seleciona o cliente mais próximo, e a central de serviço já lhe devolve todas as informações do relacionamento daquele cliente com a Coca-Cola, tais como: Produtos mais comprados; Situações de Pagamento; Créditos para aquel cliente; Promoções para aquela localização; E por aí vai.<br /><br />E onde entra a CoDA no cenário acima? Primeiramente da entrega de informações certas e suficientes para o vendedor de acordo com o contexto inicial recuperado (credenciais de segurança e localização). Depois, com a entrega de tudo que ele precisava para negociar com o cliente através do terceiro atributo de contexto (o cliente alvo).<br /><br />Entretanto, tenho algumas dúvidas em relação ao CoDA, no sentido de ser uma próxima evolução da SOA. Vejo mais a SOA como sendo uma base ou um pilar, para que o conceito da CoDA seja atingido. Por que isso? Porque vejo a CoDA com o objetivo de melhorar a experiência do usuário através do conhecimento de seu contexto e de adaptar o comportamento das aplicações envolvidas, com base nesse contexto. Ou seja, tornar as aplicações mais inteligentes, para prover o que o usuário realmente precisa. Onde, a SOA entraria para prover serviços reutilizáveis que irão entregar estas informações certas no momento certo.<br /><br />Claro que a CoDA ainda é uma visão matura, e que muitos desafios culturais, pessoas, tecnológicos, dispositivos e de infra-estrutura deverão ser quebrados, para que a mesma seja alcançada. Mas assim como SOA, que já teve sua visão imatura e duvidosa no início, vale a pena ficar de olho nessa possível nova tendência.<br /><br /><br />Sugestões de Referências:<br /></div><ul style="text-align: justify;"><li><a href="http://www.gartner.com/DisplayDocument?id=788034&ref=g_sitelink">Fundamentals of Context Delivery Architecture: Introduction and Definitions</a> </li><li><a href="http://www.gartner.com/DisplayDocument?id=535313">Context Delivery Architecture: Putting SOA in Context</a></li><li><a href="http://www.w3.org/TR/di-dco/">Delivery Context Overview for Device Independence</a><br /></li></ul><div style="text-align: justify;"><br /><br /></div>Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0tag:blogger.com,1999:blog-1515039817367380709.post-83594411630906888252008-11-07T14:39:00.000-02:002008-11-07T14:47:13.990-02:00Case SOA da Oracle com a Marvel<div style="text-align: justify;">Olá amigos.<br /><br />Eu estive no último Oracle Fusion Middleware Forum em São Paulo, onde a Oracle apresentou um grande case SOA e demais produtos como: Portals, Identity Management e etc, com a Marvel. E quem não conhece a Marvel?<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BYdKcg_14nQ/SRRwm8tCaMI/AAAAAAAAACk/d9v-aWG9b64/s1600-h/marvel.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 144px;" src="http://4.bp.blogspot.com/_BYdKcg_14nQ/SRRwm8tCaMI/AAAAAAAAACk/d9v-aWG9b64/s200/marvel.jpg" alt="" id="BLOGGER_PHOTO_ID_5265957678735321282" border="0" /></a>Enfim, ambas fizeram algumas animações em três episódios, misturando o mundo em quadrinhos do super heróis com a implementação deste grande case.<br /><br />Para que quiser saber de detalhes, segue um link abaixo onde vocês poderão ver essas animações, e como cada produto do Oracle Fusion Middleware foi aplicado.<br /><br /><a href="http://www.oracle.com/marvel/index.html?orclad=marvel_hp_campaign">http://www.oracle.com/marvel/index.html?orclad=marvel_hp_campaign</a><br /><br />Boa diversão ;)</div>Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0tag:blogger.com,1999:blog-1515039817367380709.post-17601222071455877772008-11-07T13:43:00.000-02:002008-11-07T13:58:14.612-02:00Certified Scrum Master (CSM)<div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BYdKcg_14nQ/SRRlAyxC5hI/AAAAAAAAACc/cct8PUMJPPg/s1600-h/ScrumMaster.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 233px; height: 66px;" src="http://4.bp.blogspot.com/_BYdKcg_14nQ/SRRlAyxC5hI/AAAAAAAAACc/cct8PUMJPPg/s320/ScrumMaster.png" alt="" id="BLOGGER_PHOTO_ID_5265944928604841490" border="0" /></a><br />Recentemente, nos dias 27 e 28/10, eu tive a oportunidade de fazer o treinamento oficial da Scrum Alliance em Certified Scrum Master (CSM) na Caelum/SP, e no balanço das avaliações, eu obtive a certificação CSM.<br /><br />Em suma, foi ótimo. O instrutor foi o <a href="http://amagno.blogspot.com/">Alexandre Magno</a>, que demonstrou ter um excelente conhecimento/experiência.<br /><br />Acredito que todos que tiverem a oportunidade de fazer este treinamento, faça-o. Pois vários conceitos, não somente do Scrum mas de gerenciamento de projetos em si, são avaliados e confrontados.<br /><br />Além disso, o grande diferencial deste curso são as atividades práticas, onde temos a oportunidade de aplicar todas as práticas do Scrum, inclusive com o feedback do instrutor em relação a como evitarmos nossas influências do modelo comando-controle qua adquirimos ao longo dos anos.<br /><br />O ponto que mais me deixou motivado foi em ter a oportunidade de aplicar o Scrum of Scrums, para escalar projetos com várias equipes independentes para atender um único backlog do cliente. Valeu mesmo.<br /><br />Também, o que deixa muito evidente no treinamento sobre o Scrum, é que o mesmo é um framework e não um processo que deve ser rigidamente seguido. Na verdade, ele é um processo impírico. Onde, o Scrum não resolve os problemas de gerenciamento de projetos, mas sim nos dar a visibilidade de como está o projeto, seus sprints (iterações), custos, prazos e etc.<br /><br />Enfim, apenas quis destacar a importância e validade deste treinamento, e incentivar que o façam, quem desejar.<br /><br />Um grande abraço a todos.</div>Breno Barroshttp://www.blogger.com/profile/14307563635991570175noreply@blogger.com0