Governança SOA com Mule Galaxy parte 1

A TI nos dias de hoje passa cada vez mais por dificuldades. Dentre eleas poço citar a falta de alinhamento com o negocio sendo o maior dos males.Com a globalização e alta competitividade cada vez mais é importante se adaptar as mudanças nos negocios e responder de forma efetiva as necessidades do negocio. Esta resposta muitas vezes não é rapida e muito menos fácil.

Nos dias de hoje é extremamente comum, ver TIs bagunçadas com zero de governança, com sistemas defasados, pessoas destreinadas, processos pouco eficientes e claro muitos sistemas. Estes sistemas muitas vezes tem sérios problemas de acoplamento e integração.



Mas por que SOA afinal?

Por que com SOA você vai deixar o seu negocio mais ágil e fazer com que as mudanças do mundo, das leias, dos socios, das pessoas acontecem de forma mais rapida e menos dolorida. Toda empresa consegue mudar, a questão é o quanto isso é fácil e qual o custo envolvido em cada mundaça.

Poder realizar mudanças nos sistemas de sua empresa não é mais um diferencial competitivo, mas conseguir efetuar isso com custo baixo e de forma mais tranquila evitando sustos e imprevisto é sim algo que precisamos atingir hoje em dia.

Você deve transformar sua TI em ativos(assets), estes ativos(serviços) devem ter granularidade alta, ou seja, não estou falando de funções especificas para um trabalho muito focado. Neste ponto você pode notar um desafio, quando construimos aplicações visuais na web com RIA por exemplo estamos na outra extremidade, ou seja, a granularidade baixa, então neste caso deve existir uma certa conciliação para juntar estes dois mundos.

Uma vez que você decide adotar SOA para ajudar o seu negocio, você deve bolar um plano estrategico de adoção de SOA visando o longo prazo, coisa de anos, mais que 2 com certeza. As coisas devem ser feitas de forma incremental, não tente atingir a perfeição de cara, isso só vai levar ao fracaço, usar a estrategio de para o mundo e congelar a TI para os negocios só afunda a sua empresa, não é uma abordagem viavél e pode quebrar a empresa antes de você ter os primeiros serviços.


Etou indo no caminho certo na minha adoção de SOA



Se este é seu caso, você já tem um plano focando nas necessidades de negocio e o que você quer atingir visando um curto, medio e longo prazo, você já deve ter alguns serviços funcionando e alguns comsumidor para este serviço.

Ok e como vai a sua governança? Bom se você me disser que já tem um plano de governança definido com certas decisões de design como: contratos, versionamento, metadados, escolhas de design e decisões arquiteturais, eu diria que bom. Por que toda governança deve começar com o design primeiro, depois disso você pode começar a pensar em aspectos de runtime e na sua solução de repositório.


Por que eu preciso de uma solução de Repositório em SOA?


Você tem serviços, diversos, você precisa saber onde estão estes serviços, quais são as suas dependências, quais as versões do serviços que existem. Além disso você precisa ser capaz de governanr os serviços colocando QoS, SLAs e policies em tempo de runtime. Existem diversas soluções de governança SOA mas todas elas sempre vão focar no aspecto de runtime, logo você deve pensar em design primeiro e definir o seu caminho, isso deve ser feito antes de você pensar em uma ferramenta.

Mule Galaxy

É uma solução open source da MuleSoft. Este produto tem duas versões, uma paga e outro open source, a versão paga tem mais funcionalidades, mas você consegue viver bem com a versão open source. O Galaxy lhe ajuda em diversos aspectos como por exemplo:
  • Gestão de Contratos
  • Descoberta de Serviços
  • Deploy estagiado
  • Integração com Mule ESB, Apache CXF e Spring Framework
  • Pesquisa, Tag, Monitoramento de ativos
O legal do Galaxy é que ele transforma os seus artefatos em ativos, já existem uma serie de ativos pre cadastrados como por exemplos:
  • Configuração do Spring (xml)
  • Documento de Policies (CXF)
  • Schemas de XML (XML, XSD)
  • Arquivos Jar (jar)
  • WebServices(WSDL)
E você ainda pode definir outros tipos de ativos, entçao você pode definir os seus outros ativos como por exemplo um pom.xml do maven ou um arquivo de properties com configurações, além disso é possivel recuperar estes ativos através de uma API REST usando Atom pub api.

Com o Galaxy você pode recuprar estas informações e ativos usando o Spring por exemplo, existe um ApplicationContext personalizado para o Galaxy que você pode usar para buscar as configurações do Spring, claro que você deve ter as classes no seu classpath.

Ainda é possivel registrar os seus serviços/ativos durante o seu processo de build, usando maven e uma solução de integração contínua como o Hudson. Em um próximo post vou mostrar como fazer esta tarefa de forma detalhada e com um exemplo prático.

Caso você tenha interesse eu tenho uma apresentação no meu slideshare sobre o Governança SOA e Mule Galaxy, você pode conferir a apresentação no link a baixo:



Abraços e até a próxima.

Popular posts from this blog

Kafka Streams with Java 15

Rust and Java Interoperability

HMAC in Java