Como sabemos, SOA (services oriented architecture) é definido como “um conjunto flexível de princípios de design utilizados durante as fases de desenvolvimento e integração de sistemas de informação. Um sistema baseado em SOA empacota funcionalidades em um conjunto de serviços interoperáveis que podem ser usados em diversos sistemas diferentes de vários domínios de negócios”. O desafio é fornecer uma função de negócios para chamar serviços de arquiteturas diferentes e variadas, não simplesmente, por quaisquer meios.
A experiência de muitas empresas que passam por SOA tem sido repleta de tensões e pode dar uma sensação de ter voltado no tempo com preocupações focadas em:
– granularidade dos serviços como função
– orquestração (liberação, atribuição e gerenciamento do serviço)
– empacotar ou substituir aplicações legadas
– quão intuitiva é a interface do usuário e quão uniforme ela é
Estes problemas podem levar a quem adotar a SOA a um processo muito moroso de discussão e deliberação, que por sua vez, pode estender o projeto por semanas ou mesmo meses. Isso se ele chegar a bom termo.
Mas, e se houver uma abordagem alternativa que tenha como efeito o inverso do citado acima? Esta abordagem inversa iria começar com a pergunta sobre ‘qual funcionalidade é necessária para cada processo de negócio para abordá-la o mais rápido possível’. Em outras palavras “o que” precisamos atingir, em vez de “o modo como” podemos alcançá-lo. O desafio com esta abordagem, que separa lógica de negócios das discussões técnicas, é que precisa haver uma perfeita integração que permita a comunicação entre todos os aplicativos necessários, sendo assim capaz de “orquestrar” a migração desde componentes até serviços.
É necessário um projeto que permita a orquestração a partir de soluções tecnológicas capazes de realizar a integração a partir da modulação, gerenciamento, acompanhamento e execução das mudanças propostas, partindo de um ambiente de aplicações monolíticas para uma instituição de processos de negócio orientada a serviços.
Estas discussões são extremamente interessantes, pois mostram que em muitas empresas, SOA ainda é um tema muito quente e que é necessário abordar mais cedo ou mais tarde, reforçando o ponto de que qualquer projeto de SOA começa e termina bem com uma boa ferramenta de integração.
Mas, o que a computação na nuvem tem a ver com SOA e a integração dos processos de negócios e serviços?
Quando se fala em computação na nuvem estamos falando de soluções que são executadas nas nuvens e que são utilizados em parte dos processos de negócios. A comunicação entre as informações armazenadas na nuvem e os sistemas legados e instalados localmente, na rede corporativa, exige o mesmo raciocínio proposto para a integração no ambiente SOA. Isto porque estamos falando de realizar o acesso e a troca de informações entre ambientes distintos, criados em tecnologias diferentes, que não possuem como principal característica a facilidade de comunicação.
Soluções nas nuvens (Cloud Computing) já são uma realidade no mundo corporativo, mas vemos ainda muitas dificuldades devido a não consideração de princípios e tecnologias adequadas para o devido tratamento que a parte de integração deve ter. O discurso de SOA não pode se limitar a cada lado oferecer serviços, pois fica faltando sempre um elemento que integra esses serviços e orquestra de forma gerenciada o fluxo de informações.
Vemos o elemento de integração como chave para o sucesso de projetos SOA e Cloud Computing.
Rodney Antonio Repullo, CEO da Magic Software Brasil