segunda-feira, 1 de dezembro de 2008

Curiosidade: Você sabe porque a IDE Eclipse tem esse nome?

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.

Você ainda não captou a mensagem? SUN quer dizer sol em inglês. Logo, a IBM como Eclipse, oculta a SUN.

Será que é por isso que a SUN investe tanto na utilização Netbeans?

sexta-feira, 14 de novembro de 2008

Fique de Olho: SOA e SaaS - Revitalizando o Outsourcing.

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.

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.

Fique de olho.

quinta-feira, 13 de novembro de 2008

Aceitação do Modelo Ágil para Obtenção do CMMi

Olá meus amigos.

Clique aqui 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.

E logo abaixo, uma apresentação do grande mestre Boris Gloger com o título CMMi = Scrum. A Provocation to See the Truth.



Um grande abraço.

quarta-feira, 12 de novembro de 2008

Curiosidade: Você conhece a origem do nome Scrum?

O nome Scrum foi inspirado em uma jogada de Rugby.

Após uma reunião (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.

Um grande abraço.

terça-feira, 11 de novembro de 2008

Dica de Post: Quatro super dicas para escolher um bom ESB!

Recentemente, o meu amigo Ricardo Ferreira publicou um post em seu blog Architecture Journal, com 4 super dicas para escolher um bom ESB.

Para conferir, clique aqui.

Parabéns Ricardo,pelo post e pelo excelente blog.

Um grande abraço a todos.

Palestra MGJUG - 08/03/2007 - JBoss Rules

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.

Com o surgimento do site SlideShare, eu decidi publicar aqui o slide dessa apresentação, para quem interessar.

J Boss Rules Mgjug V2
View SlideShare presentation or Upload your own.


O JBoss Rules consiste em uma ferramenta open-source e standards-based business rules engine 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.

Além disto, o JBoss Rules 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, JBoss Rules é uma excelente opção para prover um modo de agrupar complexas lógicas para tomadas de decisão.

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.

Teste de Certificação de Scrum

O que era de se esperar, realmente aconteceu. Vai existir agora, uma prova de certificação de Scrum. Clique aqui para ver mais detalhes em um post da InfoQ.

Como eu falei: Já era de se esperar. Porém, eu não concordo.

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.

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.

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.

Enfim, é a minha opinião.

Um grande abraço a todos.

segunda-feira, 10 de novembro de 2008

Governança SOA com ITIL v3

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.

Dessa forma, eu gostaria de compartilhar um pouco do meu aprendizado, e quem puder contribuir com algo mais, é sempre bem vindo.

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.

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.

Na sua versão 3, o ITIL foi estruturado em cinco pilares básicos:

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.

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.

3. Service Transition: Que inclui processos como gerenciamento de mudanças, gerenciamento de configurações, releases, planejamento de testes.

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.

5. Continual Service Improvement: Melhoria Continua. Isto inclui, Mensuração de Serviços e SLAs.

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.

Abraços.

Configurando o Oracle SOA Suite no Weblogic 9.2

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.

Portanto, vou deixar aqui o passo-a-passo que fiz para esta configuração funcionar.

Para instalar o Oracle SOA Suite no Weblogic 9.2 você precisará do(a)s:
  • 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);
  • Weblogic 9.2;
Com tudo isso em mãos, você deverá:
  1. Instalar o Oracle SOA Suite 10.1.3.x em um dado diretório;
  2. Instalar o patch Oracle SOASuite 10.1.3.4 patch;
  3. Fazer um upgrade dos Schemas SOA;
  4. Aplicar o patch para o bug 7337034;
  5. Instalar o Weblogic 9.2;
  6. Extrair os arquivos do pacote SOA Suite for WebLogic 10.1.3.4, que estão contidos na pasta WL_SOA10134_Installables;
  7. Aplicar as mudanças no SOADomain.properties, criando um novo domínio;
  8. Instalar o SOA Suite for WebLogic 10.1.3.4.
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:

#weblogic_install_path/server/bin/startNodeManager.sh

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:

#weblogic_install_path/#seu_dominio_soa/bin/startWebLogic.sh

Nota: Os arquivos de logs serão encontrados nos seguintes paths:

#weblogic_install_path/#seu_dominio_soa/servers/#seu_servidor_soa/logs
  • OracleSOAServer.log;
  • OracleSOAServer.out.

Um abraço a todos.

Algumas Informações do Mundo SOA Obtidas no Oracle Fusion Middleware Fórum

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).

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.

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.

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.

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.

Outro ponto é que a fundação do OSB será o Weblogic e que a JVM recomendada continuará sendo o BEA JRockit.

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.

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.

Espero ter ajudado com essas informações. Abs.

Jogo da IBM para Aprender BPM: Até rimou ;D

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.

Clique aqui para saber de mais detalhes sobre esse jogo.

* Você precisará estar registrado no programa Academic da IBM, para efetuar o download desse jogo.

Boa diversão ;)

AgileDraw: Em que momento eu precisei usá-la.

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 AgileDraw.

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.

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.

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.

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.

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.

A semântica da AgileDraw é composta por 3 elementos básicos:

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.

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.

Caso você se interessa nessa notação. Segue abaixo, um exemplo de diagrama, onde muito mais podem ser encontrados no site da AgileDraw.

Abraço a todos.

sábado, 8 de novembro de 2008

Context Delivery Architecture (CoDA). A próxima evolução da SOA?

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)

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) .

Vamos analisar um pequeno exemplo onde eu imagino que a CoBA poderá ter grande aplicabilidade.

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.

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).

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.

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.


Sugestões de Referências:


sexta-feira, 7 de novembro de 2008

Case SOA da Oracle com a Marvel

Olá amigos.

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?

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.

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.

http://www.oracle.com/marvel/index.html?orclad=marvel_hp_campaign

Boa diversão ;)

Certified Scrum Master (CSM)


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.

Em suma, foi ótimo. O instrutor foi o Alexandre Magno, que demonstrou ter um excelente conhecimento/experiência.

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.

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.

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.

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.

Enfim, apenas quis destacar a importância e validade deste treinamento, e incentivar que o façam, quem desejar.

Um grande abraço a todos.