quarta-feira, 30 de setembro de 2009

Governança SOA fracassa na maior parte das empresas

Notícia Velha...

Quase nove entre dez grandes empresas têm práticas insuficientes de governança sobre implantações de arquitetura orientada a serviços, revelou uma pesquisa recente conduzida pelo SOA Forum.

Fonte: Computeworld, http://www.computerworld.com.br/


Essa matéria é de 2007. Estamos em 2009 e eu acredito (pelo menos, vendo a realidade brasileira) que nada mudou! Em quantas empresas que eu vou a governança é deixada de lado, tratada de maneira simplista ou “sabemos da necessidade mas vamos deixar para pensar nisto mais na frente”.

Pra que utilizar um Broker?

É muito comum, em conversas que tenho com equipes de áreas de TI de diversas empresas eu ser questionado do porque utilizar um broker de integração (seja para pura integração de sistemas ou para compor a estratégia SOA). Em geral, são argumentos das equipes de desenvolvimento, onde colocam que o desenvolvimento de integrações e/ou serviços é feito de maneiras simples, rápidas, baixo acoplamento, etc.

Um dos argumentos que eu encontrei e que em geral é bem aceito e convincente foi o seguinte:

Para que você utiliza um banco de dados para armazenar as informações? Você poderia criar o seu próprio banco de dados, performático, sobre o seu controle, etc., mas não, você utilizar um SQL Server ou Oracle. O mesmo se aplica para um broker. Você pode construir um ou utilizar parte do código fonte do seu sistema com funcionalidades de integração. A diferença básica é que você tem um ganho ao utilizar uma ferramenta “especializada” para tal função, seja um SGDB, Broker, etc. (nem preciso entrar em detalhes de suporte, continuidade da ferramenta, novas tecnologias...).

Acho que a figura abaixo pode ajudar:

terça-feira, 29 de setembro de 2009

SOA Facts

Essa é para os nerds, digo geeks (palavra da moda) de plantão:


Tem gente que até acha "engraçado"... (não é a minha opnião... na verdade achei bem sem graça, mas gosto não se discute, correto?!?!)

Hype Cycle - Uma outra visão

Uma outra visão do Hype Cycle (versão 2)





Fonte: Geek and Poke, http://geekandpoke.typepad.com

segunda-feira, 28 de setembro de 2009

Hype Cycle for Emerging Technologies, 2009

O Hype Cycle é um estudo realizado anualmente pelo Gartner que indica as tendências de uma determinada tecnologia através de estágios. Os gráficos do estudo que estão representados neste post são sobre  as “Tecnologias Emergentes” (existem vários estudos de "Hype Cycles" para diferentes tecnologias e abordagens).





 




sexta-feira, 25 de setembro de 2009

SOA e BPM são melhores juntos



Fonte: BPM and SOA, Better Together, Paolo Malinverno, Janelle B. Hill, Gartner, Feb 2007.

O que é SOA? Uma analogia pode ajudar!

Service Oriented Architecture (Arquitetura Orientada a Serviços) é um estilo de arquitetura de TI que suporta a integração de negócios, através de serviços. Estes serviços são repetições de tarefas de negócios, como: verificar crédito do cliente, abrir conta corrente, etc. Tudo baseado em padrões abertos.

Ok. Acredito que quase todas as pessoas que já estudaram algo sobre SOA já leram algo parecido (ou igual) ao que está escrito na frase acima. Mas, afinal, como traduzir isso para as pessoas que não estão habituadas com esta abordagem? Realmente, o que é SOA?

Uma maneira que eu encontrei para explicar SOA foi de fazer uma analogia entre esta arquitetura com a comunicação entre as pessoas no mundo... Vou tentar explicar:

Há diferentes idiomas e dialetos espalhados pelo mundo. Mas como uma pessoa que fala japonês pode se comunicar com outra pessoa que fala português?

Há algumas alternativas:


  1. Mímica. Vai ser complicado, mas em conversas simples, como saber que horas são ou qual a direção de tal rua as duas partes vão se entender. Agora, complique um pouco. Explique a teoria da relatividade em mímica... Eu não quero nem tentar.
  2. A utilização de uma pessoa como tradutor. A conversa vai ter os seus gaps (pois uma pessoa fala, o tradutor compreende e fala no idioma da outra pessoa e vice-versa). Há pequenos riscos neste método de comunicação, pois o tradutor tem que ser fluente nas duas línguas (e ter bom caráter). Traduções erradas podem levar a conseqüências não muito agradáveis.
  3. Utilização de uma linguagem mais “universal”, com o inglês. Quantas vezes você já não se viu (ou viu alguém) falando em inglês com uma pessoa que falava outra língua, como o japonês e para ambos a língua inglesa não era o idioma nativo. Nesta conversa também temos os riscos de traduções erradas ou mesmo um não conseguir entender o outro (mesmo ambos achando que tem o inglês fluente... sic)

Mas existe uma língua universal para resolver estes problemas? Se formos céticos a resposta vai ser não. Porem ao abrir um pouco mais a mente, temos sim uma linguagem mundial: a “matemática”. Em qualquer lugar do mundo 2 + 2 = 4. e equações de 1º Grau são equações de 1º Grau.

Já que temos uma linguagem universal, podemos dizer que SOA é igual a matemática.

Os serviços são as equações (que utilizam números e operações). As mesmas equações são utilizadas em diversos cálculos para trazer diferentes resultados para diferentes propósitos. A utilização e a
reutilização das equações equivale a uma arquitetura orientada a serviços.

Assim como na matemática, em uma arquitetura orientada a serviços também temos estágios que temos que passar, por exemplo, uma criança não aprende nas suas primeiras aulas de matemática como calcular uma Diferencial. Primeiro ela aprende as operações básicas, depois equações, trigonometria e por ai em diante. Há um grau de maturidade que ela tem que passar.

Importante: Como qualquer analogia, não se deve levar ao pé da letra, ok?

quinta-feira, 24 de setembro de 2009

SOA - Service Oriented Architecture?

How to get a SOA? (Como "ter" SOA?)



O pior, é que tem gente que realmente acredita que SOA é igual ao cenário acima...rs

Achei bem legal e estou usando em minhas apresentações..

Fonte: Geek and Poke, http://geekandpoke.typepad.com/

Primeiro Post... Uma reflexão

Há muito, venho lutando com a vontade de criar um blog para compartilhar as experiências do meu trabalho com a falta de tempo que a vida moderna nos traz (pelo menos pra mim, traz muitas coisas... boas e ruins). Mas hoje eu acordei embalado e deixei a preguiça de lado.

O problema que temos para fazer as atividades que queremos são as velhas e boas desculpas: “falta de tempo”, “tenho outros compromissos”, “tenho muitas outras coisas para fazer”, etc. Esse é o mesmo argumento que utilizamos para não ir à academia, a uma festa... Mas, vale a pena trabalhar tanto (mesmo o trabalho sendo um prazer como no meu caso) se não podemos desfrutar dos pequenos prazeres que a vida nos traz? Se não podemos investir, nem que seja um pouco do nosso tempo em projetos pessoais? Na nossa família? Ajudar o próximo? Este blog vai ser uma espécie de experiência para mim. Será que vou conseguir manter o mesmo ou o trabalho vai fazer com que este seja mais uma atividade pessoal minha que ficará para traz?

Deixando as desculpas de lado, minha intenção aqui é compartilhar opiniões e experiências do meu trabalho!!! Tenho ciência que nem sempre as pessoas vão concordar (o que com toda a certeza será ótimo, pois assim terei chances de aprender um pouco mais). O foco inicial (falo inicial porque sei que as coisas mudam) serão assuntos relacionados a SOA, BPM, governança, colaboração e gerenciamento de pessoas. Trabalho há muito tempo com essas abordagens e realmente acredito (e já vi) os benefícios que as mesmas trazem para o mundo empresarial.

Falando do meu trabalho, por eu atuar em uma empresa de tecnologia e com as obrigações que eu tenho, grande parte do meu tempo é gasto com reuniões, eventos, palestras (que faço ou assisto), ou seja, estou sempre em contato com pessoas. Por isso muitas vezes consigo ter visões bem diferentes sobre um mesmo assunto (das quais eu concordo ou não). Mas dessas diferentes visões, só uma coisa eu consigo ver claramente: É muito fácil julgar os outros. Quantas vezes eu vejo uma pessoa falando: Tal empresa fez X coisa errada, a área X não sabe de nada, o diretor daqui só atrapalha, entre varias outras opiniões e reclamações. Utilizando uma metáfora: Como é fácil ser engenheiro de uma obra construída não?

Eu me lembro que tempos atrás um funcionário veio conversar comigo e colocar um monte de críticas do trabalho, da empresa, da postura do gerente dele, de tudo! Naquele momento usei o que Deus nos deu: “dois ouvidos e uma boca”... Escutei muito até que em certo momento comecei a falar também, concordando com algumas das coisas que me foram ditas e colocando também o meu ponto de vista. Utilizei somente um argumento para justificar que certas coisas que ele havia me falado não estavam tão corretas assim como ele estava pensando.

Se você está tão correto, e tudo está tão errado, porque a empresa está crescendo (o que era um fato)? Todo mundo concorda com você? Será que não tem nada dessas coisas que você falou que você não faria igual? Ele simplesmente olhou para mim, soltou um sorriso e conseguimos terminar o nosso bate papo, que começou com um pedido de demissão, de maneira agradável e construtiva para ambos os lados.

O que eu quero dizer com o “causo” acima é que antes de criticar alguém ou algo, estude realmente o assunto, veja os motivos que levaram a pessoa a tomar certa decisão e quem sabe, no fundo você não teria feito o mesmo? Por isso hoje, antes de criticar algo eu tento me colocar no lugar da pessoa, ver as variáveis da época e do ambiente para emitir as minhas opiniões.

Abraços!

PS 1: Trabalho com o funcionário que reclamou até hoje e ele é uma das pessoas que eu mais admiro.

PS 2: Durante o meu processo de escrever este post, meu celular tocou 2 vezes (em 3 minutos), 1 pessoa veio falar comigo sobre umas dúvidas no trabalho (e tive que parar tudo para atende-la). Não vou contar os e-mails porque isso é covardia, mas confesso que parei para olhar um que era muito importante... Será que era? Pensando bem, podia esperar um pouco.

PS 3: Dos meu projetos pessoais, não abandonei a academia que estou fazendo a cerca de 1 ano, então, tenho boas chances de continuar escrevendo neste blog.