Category Archives: soa-opensource

SOA precisa ser cara?

opensourcesoa(fonte: Mike Davis, IT Toolbox)

Não ! Primeiramente é importante lembrar que não existe uma solução única, seja ela open-source ou não, que seja o “best of breed“, ou seja, felizmente sua empresa não precisa ficar “refém” de nenhum fornecedor.

Como já afirmei acima, mesmo as soluções open-source não são a solução para toda e qualquer iniciativa em direção a arquitetura orientada a serviços (SOA). Não existe a “bala de prata” e nem um fornecedor único que tenha a solução para todos os seus problemas, com um preço que você pode pagar.

A questão que apresento aqui é que existem alternativas que podem devem ser avaliadas.

O que eu sempre falava nos seminários sobre SOA é que a utilização de produtos open-source tem algumas vantagens. Algumas delas são:

  • Validação da arquitetura proposta: uma espécie de prova de conceito da macro-arquitetura proposta
  • Custo: solução de baixo custo antes de realizar grandes investimentos em soluções proprietárias
  • “Hands-on”: em geral é preciso “colocar a massa” para instalar os softwares… …não espere “Next->Next->Finish“… Isto permite que sua equipe conheça como as soluções funcionam de verdade

Algumas soluções opensource disponíveis

A lista a seguir apresenta algumas soluções open-source para auxilia-lo a adotar uma estratégia SOA:

Cases de Sucesso

logo-nespresso

Fornecedor de vendor machines de cafés, a empresa utilizou o Mule ESB para integrar sua central de voz (Nortel), seu ERP, seu sistema de controle de estoque etc. Case detalhado aqui

lazokytoyota2 Lakozy é uma subsidiária da Toyota na Índia, o case é da implantação de um workflow opensource para agilizar os processos internos – sem mais a utilização de formulários em papel – e algumas funcionalidades interessantes como integração com serviços de short message (SMS)

inep Órgão do Ministério da Educação do Brasil. O case detalhado aqui comenta a utilizacão de alguns produtos da JBoss/Red Hat: JBoss Enterprise Application Platform, JBoss Enterprise Portal Platform, JBoss Operations Network (JON) e JBoss Seam Framework

Como estes existem centenas de cases de sucesso.

Conclusão

A mensagem mais importante é que SOA é uma mudança de “estilo de vida”, de pensar em soluções como aplicações compostas, em serviços, padrões abertos, objetivos de negócio, com ganhos de longo prazo (que são os mais sustentáveis). Não ter orçamento para iniciar SOA é uma daquelas desculpas que damos quando queremos perder peso e não temos como pagar uma academia. Para a maioria de nós, se faz necessário pagar uma academia para perder peso ou basta mudar o estilo de vida? Responda você mesmo…

Implementar esta abordagem de arquitetura passa por :

  • Mudanças culturais: como gestor, arquiteto esta é uma tarefa sua; você precisa estudar, conhecer, evangelizar
  • Planejamento inicial: é necessario tempo para a construção da arquitetura de alto nível, da “big picture”. Porém é este “blueprint” que irá guiar todas as modificações propostas. Se necessário peça ajuda de terceiros mas, não esqueça de colocar a visão da sua empresa. Isto ninguém pode fazer, apenas você
  • “Quick Wins”:  para os mais crédulos, resultados práticos. A utilização da abordagem SOA+Metodologia Ágil pode ajudá-lo a conseguir resultados rápidos (viva o SCRUM!)
  • Prova de Conceito da sua Arquitetura: é neste ponto que soluções open source vão ajudar você; o investimento inicial é baixo, os ganhos de conhecimento para a sua equipe  ”não tem preço”… …o restante o Mastercard corporativo compra :-)
  • Padrões abertos:  lembre-se que sua solução open source pode ser substituída por middlewares proprietários – seja por questões de performance, missão crítica, volume a ser processado etc – utilizando padrões abertos de integração, Web Services, REST, sua migração para soluções fechadas será suave
  • Pensar Grande, começar pequeno: construa a “big picture”, inicie com resultados de curto prazo, faça uma análise de “Visibilidade da Solução X Tempo de Desenvolvimento”, divida em quatro quadrantes e escolha aqueles projetos com maior Visibilidade/Retorno e com menor tempo de desenvolvimento

Não deixe de aproveitar o feriado! Abraços,

Davi

Eclipse ESB SwordFish 0.8 Liberado

Para quem acompanha o desenvolvimento do ESB open-source Eclipse Swordfish, a Eclipse Foundation anunciou no último dia 23/Março/2009 a liberação do primeiro release do framework (v 0.8).

A proposta, já anunciada aqui em Jan/2008, é disponibilizar um framework para que sua empresa possa construir seu ESB, adicionando componentes como service registry, um sistema de messaging etc, construindo um “ambiente SOA” a partir de padrões abertos e open-source.

Em resumo, Swordfish é um framework baseado no Apache ServiceMix e Apache CXF, que extende as funcionalidades deste para contrução de um ESB corporativo.

Abaixo veja onde o “papel” do Swordfish em um pattern de “ESB Distribuído” (Federated ESB):

Mais detalhes? Recomendo a leitura deste whitepaper (PDF, 3 páginas).

Open-source SOA nas Empresas (by FUSE/Progress)

IONA é subsidiária da Progress Software que “empacota” os produtos da Apache e disponibiliza um conjunto de soluções open-source para arquitetura orientada a serviços (SOA).

Algumas semanas atrás (Outubro/2008) eles disponibilizaram um PDF com o título “Como Utilizar Open Source SOA de forma Segura nas Empresas” (10 pags). É necessário registro (gratuito) no site da InfoQ.com (o que eu recomendo fortemente devido à qualidade dos artigos do tipo “de desenvolvedor para desenvolvedor”).

Bom, vencida a via crucis do registro você pode baixar o documento da IONA e ter maiores detalhes do conjunto de soluções “empacotadas” com a marca “FUSE”:

  • FUSE ESB – baseado no Apache ServiceMix. Suporta a especificação JBI (JSR 208)
  • FUSE Message Broker – baseado no Apache ActiveMQ
  • FUSE Services Framework – baseado no Apache CXF. Desenvolvedores Java podem utilizar JAX-WS, JavaScript, REST ou POJOs para criar web services
  • FUSE Mediation Router – baseda no Apache Camel
  • FUSE Integration Designer – ferramenta de desenvolvimento baseada no Eclipse com algumas funcionalidades adicionais para a suite SOA da IONA

Em http://fusesource.com/ você pode fazer o download, testar, ler a documentação, ter acesso ao Wiki, F.A.Q, whitepapers, vídeos com passo-a-passo de implementações etc.

Clique na imagem abaixo e veja um destes vídeos que mostra como uma EIP (Enterprise Integration Pattern) é criado.

EIP at Eclipse

EIP at Eclipse

Open-Source SOA: JBoss vai liberar versão 4.3 da sua SOA Suite

Quase 10 meses depois de lançar a versão 4.2 de seu “JBoss Enterprise SOA Plataform” (Fev, 2008), a RedHat/JBoss libera a versão 4.3 da sua SOA suite.

(clique aqui para ver o PDF com as principais funcionalidades)

O que temos de novo nesta versão (de acordo com documentos de liberação):

Protocolos de Transporte

Além dos já existentes JMS, eMail, FTP, foram incluidos:

  • InVM: protocolo local utilizado dentro da mesma virtual machine
  • Secure FTP
  • Secure HTTP
  • Transactional: garante as transações atômicas (ACID transactions)

Segurança e Autenticação

Adição do OpenSSO para autenticação. Veja figura abaixo (provided by RedHat):

 
Governança

Nesta versão 4.3 eles trabalhartam na integração da “JBoss Operations Network (JON)” como solução de Governança em tempo real. Veja figura abaixo (provided by RedHat):

Além de outras melhorias para quem utiliza Web Services e registry (com UDDI). O PDF tem apenas 04 páginas e se você se interessa por soluções open-source de SOA, a leitura vale a pena.

SOA: Ferramenta Avaliação Estágio de sua Iniciativa SOA

A idéia desta ferramenta disponibilizada pela JBoss.org é fazer uma rápida avaliação (menos de 10 min.) do status atual de implementação SOA da sua empresa.

São questões simples que irão medir como está posicionada sua empresa em relação à 06 capabilidades (capabilities):

  1. Business process understanding
  2. IT assessment
  3. SOA design
  4. SOA enablement
  5. Infrastructure
  6. Orchestration

O link direto para iniciar o questionário está aqui. Ao final é gerado um report com alguns gráficos que pode ser impresso ou enviado por e-mai.

Sem Orçamento para SOA?

Orçamento limitado para investir em SOA? Welcome aboard! Junte-se a nós que “suamos a camisa” para demonstrar todos os benefício desta nova arquitetura.

Nas paletras e conversas sobe SOA sempre enfatizo algumas vantagens do open-source quando você precisa validar e até mesmo, dependendo do volume e do risco, utilizar as opções de software livre, em um ambiente de produção.

Existem excelentes opções de soluções que você pode testar e utilizar. Alguns softwares dos grandes fornecedores são baseados nestas soluções. Claro, o processo de configuração é, por vezes, um pouco mais difícil mas, acreditem, todo o esforço compensa.

É importante ter um plano, planejamento de como será a implementação de sua arquitetura:

  • Iniciar expondo alguns serviços do meu legado?
  • Implementar alguns web Services primeiramente e utilizar o ESB para integração gradual?
  • Implantar um Portal Corporativo como “agregador” das informações de todos os meus sistemas?
  • “Descontruir” os “silos” aos poucos e utilizar uma ferramenta de Integração (ESB)?

São várias alternativas, porém é importante que você e não o fornecedor dite as regras! A arquitetura é você quem define! Se ainda não tem idéia, pare, pense em como estão seus sistemas atuais e como você imagina que eles irão evoluir em direção à arquitetura orientada e serviços. Só depois chame seus parceiros (também conhecidos como vendedores).

Engraçado como todos eles tem uma “solução” para SOA! Incrível não? Por que será? Será que porque discutir arquitetura é mais difícil, mais “chato”, mais complicado… …e mostrar apresentações e catálogos de produtos que se integram com tudo que você conhece e não conhece é muito mais legal! Pense nisto.

Existem Alternativas? Por que SOA open source?

Sim. Um artigo da CIO da semana passada resume o que venho escrevendo neste blog a vários anos. Algumas vantagens:

1. Tente Antes de Utilizar: como falar para o seu chefe que aquele middleware de alguns milhares de R$ não funcionou de acordo com o planejado? Mesmo que você planeje comprar o software (e acho que você deve), por que não validar e amadurecer sua arquitetura utilizando uma opção open source? Se você tiver a sorte de receber o software sem custo para testar em seu ambiente, ótimo, não perca a rara oportunidade.

2. Baixo “custo de entrada”: sem custo direto de aquisição e de manutenção (não esqueça dos 20% de manutenção que você precisa pagar todo ano!). Novamente, tente uma solução com menor custo, valide e decida (ou não) a compra.

3. Baixo custo de suporte: um projeto deste porte é composto de hardware+software+serviços. E serviço é caro. Se você tem um pessoal com conhecimento suficiente para testar soluções open source, você vai eliminar o custo inicial de serviço.

4. Criação de Competência: lembra-se de quando citei o fato de você não se tornar dependente do seu vendedor, digo, fornecedor? Quando seu time tem acesso a soluções que estão “fora da caixa” eles poderão entender melhor o que está, de fato, por trás da arquitetura, porque na fase inicial um componente da arquitetura é mais importante que outro.

5. Produtos específicos: as soluções open-source são, via de regra, implementadas para resolver uma demanda específica da stack SOA. Seja ESB, seja monitoramento de processos de negócio, seja governança etc. Alguns fornecedores “reempacotam” antigas soluções de software que fazem tudo e mais um pouco e irão tentar te vender como “a solução mais completa do mercado para SOA”. Be careful!

Quais as opções?

Temos três empresas (citadas várias vezes aqui) que tem propostas interessantes: Mule, WSO2 e JBOSS (Red Hat). Especificamente, veja as opções:

  • Portals: Liferay Portal, Apache Jetspeed
  • BPM: Intalio, jBPM
  • Business rules: jBoss Rules
  • SOA governance: Centrasite, freebXML
  • Testing tools: SoapUI, PushToTest
  • Integration: Snaplogic

Linux Magazine de Maio/08: SOA


A Linux Magazine deste mês de Maio/08 (edição 42) trata da Arquitetura Orientada a Serviços (SOA) como tema principal. São vários artigos sobre esta arquitetura e, claro, o artigo da capa é sobre uma solução open source SOA (“Bem Arquitetado”, SOA sobre JBoss).

JBOSS e sua Plataforma SOA (open-source)

JBOSS SOA Plataform

Red Hat JBOSS anunciou sua plataforma open-source SOA que estará disponível (provavelmente) no final do mês de Fevereiro, 2008.

JBoss Enterprise Middleware inclui 4 (quatro) platformas:

1. JBoss Application Platform: host services, JEE, e web applications
2. JBoss Portal Platform
3. JBoss SOA Platform: integra serviços e applicações
4. JBoss Data Services Platform (MetaMatrix): o futuro open source JBoss Enterprise Middleware
Platform que irá permitir fácil acesso (sic) aos dados em um “ambiente” SOA

Veja a figura abaixo que detalha o JBOSS Enterprise Middleware. Aconselho a leitura deste PDF (4 pags):

JBOSS Enterprise Middleware

Category: soa-opensource, vendors

Mais um SOA Framework Open-Source

O Framework é chamado de “SwordFish”. De acordo com este artigo da InfoWorld, o projeto está sendo desenvolvido a 6 anos (!) pela Deutch Post (Alemanha), e agora faz parte da Eclipse Foundation. Está fortemente baseado em:

A empresa Sopera, também da Alemanha, já “empactou” este framework e desenvolveu o “SOPERA Advanced Services Framework (ASF)”:


De acordo com este post do Joe McKendrick eles tem como alvo as pequenas e médias companhias que não tem “budget” para investimento em plataformas do mercado.

Na minha opinião estas iniciativas são excelentes pois possibilitam às companhias realizarem validações práticas das iniciativas de arquitetura orientada a serviços, sem a necessidade de grandes investimentos.

Outras plataformas SOA open source são: Red hat JBoss, MuleSource, FUSE e Glassfish.

Category: soa-opensource

SOA e Open Source

David S. Linthicum faz uma interessante abordagem sobre SOA e as alternativas open source para implementar a arquitetura orientada a serviços. Neste artigo ele coloca de forma simples como a discussão deve ser conduzida.

Vou tentar resumir:

  1. SOA é uma arquitetura: você como arquiteto ou líder técnico de um projeto SOA tem que ficar atento às tecnologias corretas para a arquitetura proposta; sejam elas open source ou não.
  2. Open Source custa menos: não há discussão. Sou um fervoroso defensor do software livre e acho, sim, que ele pode ser aplicado em algumas situações. Considere esta alternativa para, no mínimo, validar a sua arquitetura.
  3. Open Source SOA é mais simples: reconheço que, às vezes, pode ser mais difícil de configurar, porém, concordo com o autor que esta abordagem simples e “rústicas” das opções de software livre facilitam o entendimento da arquitetura.

Em um cenário onde você precisa integrar uma aplicação departamental utilizando esta arquitetura, você acha razoável investir milhares de dólares ($$$) em um ESB? SOA pressupõe padrões abertos e está relacionado com uma nova forma de “pensar” os sistemas. Não há porque temer, a menos que seus requisitos de performance tenham um grande peso. Neste caso se faz necessária uma avaliação mais criteriosa.

SOA é um “estilo de vida” e, na minha humilde opinião, “estilo de vida” não pode estar baseado em poder de compra.

Category: SOA, soa-opensource