Posts

Showing posts from February, 2009

Um Arquitetura EDA parte 1: Esper e Spring

No ultimo post fiz uma breve introdução de uma séria de coisas como CEP, EDA e BAM. A idéia é que em mais 4 posts eu venha a publicar aqui uma arquitetura EDA completa. Essa arquitetura seria uma possibilidade de uso de várias tecnologias e soluções para alcançarmos uma arquitetura EDA.

Meu foco será mostrar como as tecnologias funcionam e como elas podem ser integradas com o mínimo de esforço e desenvolvimento. Gostaria que todos se sentissem a vontade para perguntar e/ou melhorar a solução de arquitetura.

Então vamos começar com o Esper, neste post vou falar um pouco mais sobre o Esper que é uma implementação de Engine de CEP tanto para Java como para .NET. Meu foco aqui é Java é claro :)

O Framework Esper

O Esper é uma engine de CEP escrita em Java que é muito poderoso e escalável! Como um pouquinho de esforço vou mostrar como podemos integrar o Esper com o Spring Framework e assim ganharmos mais flexibilidade e produtividade.



Nota: O Spring é carro chefe da arquitetura pois vamos …

Publicação no iMasters: OpenUP/Basic: Um framework Ágil e Unificado

Hoje(26/02/2009) saiu minha 2ª publicação OpenUP/Basic: Um framework Ágil e Unificado no UOL(iMasters) no canal de Gerência de Projetos. Esta publicação foi um post que fiz no meu blog em 21/06/2008.

Respondendo a Mudanças Rapidamente com CEP

Image
Com a globalização e o aumento da competitividade no mercado local e global é comum que empresas multi nacionais comprem outros empresas e assim alcancem uma fatia de mercado maior. Por questões de riscos e custos nem sempre é possível ou viável re-escrever os sistemas que essas empresas já possuem. Esse é o clássico cenário para integração de sistemas.

CEP não é um técnica para integração de sistemas, não da maneira tradicional. CEP é um outro paradigma que se baseia no modelo de sistemas baseados em eventos. Suponha que você tem um sistema de aviação logo será necessário avaliar a previsão do tempo em diversos locais do mundo a medida que o tempo passa e o avião avança em sua rota. Para isso é necessário que sempre exista uma avaliação sobre essas condições climáticas e a partir do resultado disso (tudo em real-time) novas ações devem ser tomadas. Esse é o cenário ideal para utilizarmos uma técnica de CEP.

Para que Serve CEP?

As aplicações para CEP são muitas dentre elas gostaria de …

Futurologia ou algo esta cheirando mal quando falamos em Agile?

Image
Fazem quase 10 anos que o movimento 'agile' apareceu, isso foi por volta de 2000. O que começou de uma maneira discreta hoje toma conta do mercado. Se fizermos uma consulta no site indeeed, sobre metodologias agíeis o resultado é o seguinte(pesquisa feita em 22/02/2009):



















Pesquisa por ofertas de emprego no site indeed (22/02/2009)

Como podem ver é esmagadora a diferença do Scrum para os outros métodos. Muitos atribuem isso ao fato de Scrum ter um conjunto de certificações. Não tenho dúvidas de que esse é um dos principais fator de popularização do movimento através do famoso *pega-gerente*! Mas o que parecia ser muito bom para evangelizar sobre agile agora se torna contra os próprios. Pessoas estão culpando o Scrum pelo fracasso de projetos ditos 'agile'. Já vi vários agilistas falarem mais de certificações e da certificação de Scrum master mas o detalhe é que muitos deles tem essa certificação, quando não um botão grande no blog para mostrar isso!



Veio a tona nos últimos …

Novidades no Blog

Fiz algumas alterações no layout do blog. Agora o título ficou centralizado em cima. Nunca gostei do jeito que era o título original deste template :(. Além disso modifiquei as configurações de ccs para links, agora os links tem um backgorund azul em tom claro.

Adicionei mais duas widgets ao blog. Sendo uma delas é um lista de livros que recomendo. Estarei aumentando ela com o tempo agora, recomendo que vocês olhem a lista os livros são muito bons! Também adicionei o widget do slideshare o qual deu trabalho para acertar com o layout!

Por sinal adicionei ao slideshare uma apresentação antiga que eu tinha feito sobre testes.

Publicações no iMasters: RUP - Verdade e mitos

Ontem(18/02/2009) saiu minha publicação RUP - Verdade e mitos no UOL(iMasters) no canal de Gerência de Projetos. Esta foi a minha publicação para o UOL a idéia é que eu publique para eles uma vez por semana.

Esta publicação foi um post que fiz no meu blog em 05/07/2008. Vou continuar publicando nos dois lugares. Mas os comentários ficam separados, ou sejá, comentários aqui não são os mesmo comentário de lá :(!

Até a próxima.

Proxy/Interceptor à la carte com Groovy

Groovy é uma linguagem de script fantástica, tem um poder e facilidade assombrosa. Muitas dessas facilidades não existem quando trabalhamos com Java. Algumas existem mas não são para meros mortais e em muitas vezes temos que envolver diversos outros frameworks para executar o que queremos.

O Groovy possui diversas maneiras de se trabalhar com proxy/interceptors e vou mostrar algumas dessas maneiras nesse post. Considere então a seguinte interface Java.

package com.blogspot.diegopacheco.groovy.proxy; /** * Interface que representa o contrato de OrdemCompra * * @author Diego Pacheco * @since 17/02/2009 * @version 1.0 * */ public interface OrdemCompra { public void comprar(); }
Vamos aplicar o proxy Groovy em cima de uma interface Java, a interface OrdemCompra. Você poderia aplicar esse proxy em uma interface Groovy também. Vou mostrar a primeira fora de proxy com o proxy-o-mate que é um dos módulos do Groovy.



package com.blogspot.diegopacheco.groovy.proxy import static org.kordamp.gro…

Será que Certificações não provam nada mesmo?

Image
Já não é nova a conversa sobre o valor das certificações. Existem opiniões para todos os gostos. Alguns acham que uma certificação realmente não prova nada, outros dizem que prova alguma coisa.

Há alguns anos atrás nos vínhamos em uma grande onda crescente de certificações, não digo só quanto a Java mas em outras linguagens e tecnologias/processos também. Muitas das críticas vem de pessoas ditas do movimento 'agile'. Eu não acredito que uma certificação possa dizer se você é um profissional ou não é, muitos pensam assim também.

É só uma prova?

Muitos dizem é só uma prova e provas não provam nada. Será que as certificações não provam nada afinal? Eu não acredito nisso. Como já tinha dito antes uma certificação não prova que você é um bom profissional por que para ser um bom profissional você precisa de certas habilidades, muitas dessas habilidades as certificações não conseguem captar como relacionamento interpessoal, comunicação, capacidade de resolver conflitos e entre outras ta…

SOA sem BPMN e WebServices

Image
Nestes 3 últimos anos vem se falando muito de SOA. Todos querem ter um projeto SOA, não tenho dúvidas que SOA virou um buzzword. Muitos vendors tentam vender SOA como uma tecnologia, mas facto não é. Ainda existe muita confusão quando se fala do assunto.

Todos querem SOA mas muito poucos sabem o que de facto SOA é e quando deve ser utilizada. Os acadêmicos já não aguentam mais trabalhos de conclusão sobre SOA. Não era de se esperar o contrário. Eu gosto de SOA e particularmente acredito ser uma boa solução em alguns cenários, porem cada vez mais SOA é banalizado e empacotado por vendedores como a ultima solução para todos os seus problema de software.

Fazem mais de 30 anos e ainda não conseguimos fazer sistemas que tenham baixo acoplamento e alta coesão. Mas cada vez mais soluções prontas são vendidas com a promessa de resolver todos os seus problemas.

O que é SOA?

SOA é um estilo de arquitetura corporativa. Quero frisar o corporativa aqui, por que se você vai desenvolver uma loja virtua…

Blog no Celular com o mofuse

O mofuse é um serviço gratuito que converte o seu site/blog para um formato do tipo texto puro para que possa ser lido em celulares e outros dispositivos moveis. Não resisti e criei uma conta para mim e coloquei o meu blog no serviço.

Os códigos ainda ficam ruins de visualizar, mas o texto é perfeito para a leitura no celular. Vocês podem o conferir nesse link a baixo que no caso simula um celular para visualização do conteúdo.

http://pacheco.mofuse.mobi/

JOSSO o Single Sign On que funciona!

Image
Construir uma tela de login é um operação relativamente simples que os desenvolvedores passam pelo menos uma vez na vida. Já vi empresas gastarem muito dinheiro em consultorias e soluções de autenticação que não funcionavam.

Autenticar não é o suficiente. Autenticar é só a ponta do iceberg, o bixo pega mesmo quando falamos de autorização. Mas antes de que eu avance muito no assunto, vou definir o que é e o que um SSO deve fazer:
Centralizar o acesso aos dadosMétodo padronizado de se autenticar em um sistemaLogin em 1, acesso em todos os sistemasAuditoriaAutorização de acesso a recursosO que as ferramentas de mercado apresentam?

Problemas. Falando de Java agora. As ferramentas Open Source Java de SSO tem diversos problemas começando pela documentação os exemplos são deveras simples e muito incompletos. Depois vem as dependências. Uma solução de SSO é por natureza complicada. Por que envolve diversos protocolos, componentes e plataformas.

Nenhuma ferramenta de SSO hoje no mercado open sourc…

Uma visão diferente sobre o papel do BDA

Hoje no Brasil posso dizer que estamos transcendendo já aos poucos a faze da orientação a Dados. Não que isso seja necessariamente uma coisa ruim. Para certas situações o bom e velho ORACLE Designer e conjunto com o ORACLE FORMS produzem uma solução viável. Mas o ponto que eu quero chegar com isso é que nos estávamos em um paradigma orientado a dados.

Não digo por si só um paradigma orientado a dados mas estruturado também. Não tenho como objetivo neste post falar sobre OO. Mas sim falar em paradigmas. Utilizar uma linguagem como Java ou C# não deixa o sistema OO por si só. Utilizar classes ou até mesmo interfaces também não deixam o seu sistema OO?

O que deixa um sistema OO?

É a maneira que você pensa. É como você faz o Design da coisa toda. Uma coisa que me marca muito é que uma prova cabal sobre a transadencia da faze de dados a uma outra faze é a questão do banco de dados. Muitas vezes é lá que o bixo pega. Muitos sistemas quando são colocados em produção geram diversos problemas e m…