Back-End

Publicidade

Baseado na premissa: “é preciso oferecer produtos mais criativos e inovadores, com maior rapidez e menores custos” , a nova “onda” SOA -Service Oriented Architecture ou Arquitetura Orientada à Serviços, vem agitando o mercado de TI, invocando antigos argumentos dos vendedores de solução da área de tecnologia (software; hardware e consultorias): maior flexibilidade; redução dos custos de TI: maior agilidade no “time to market”: maior competitividade: maior valor agregado pela reutilização do legado; etc…

A proposta de SOA é proporcionar maior flexibilidade e integração entre tecnologia e estratégia de negócio. Um dos princípios que regem esse modelo de arquitetura é a integração dos sistemas já existentes por meio de uma camada de integração. O modelo SOA, propõe uma espécie de barramento corporativo (ESB – Enterprise Service Bus), através da qual, aplicações antigas possam ser agregadas e compartilhadas. A finalidade é fazer com que funcionalidades comuns a mais de um sistema possam ser reutilizadas independentemente da tecnologia em que foram construídas, mas para tal deverá ser traduzida para uma linguagem ou protocolo padrão, o XML.

Já é conceito comum que uma funcionalidade tratada e encapsulada como um serviço ou componente, possibilita que seu desenvolvimento e manutenção seja realizado em apenas um lugar, beneficiando todos as aplicações que utilizam esse serviço ou componente. As funcionalidades elegíveis para serem tratadas como serviço, requerem um alto nível de componentização (executam uma função específica), o que permite que possam ser utilizadas por mais de uma aplicação, entretanto, nem todas as aplicações de negócio são candidatas a operar como um serviço. Ex: As funções matemáticas, estatísticas ou financeiras implementadas em uma calculadora por meio de um botão, respondem sempre da mesma forma. O desejo implícito no modelo SOA, é que os aplicativos de negócio possam, um dia, ser tratados como uma “função”.

Além da reutilização de funcionalidades já existentes, o modelo SOA apregoa a possibilidade de agrupar funções em uma determinada ordem de execução, de tal forma que possibilite a criação de uma nova funcionalidade de negócio como se fosse a montagem de um “Lego”. Essa atividade de montagem do workflow dá origem a um novo conceito (orquestração) e a necessidade de uma ferramenta visual que permita operacionalizar essa organização. Seria assim realizado o sonho de consumo dos executivos de TI que vislumbram reduzir o tempo de resposta às demandas de mercado, simplificando as fases de desenvolvimento de aplicações, o que se refletiria em um diferencial competitivo.

Para isso reuniu-se nesse modelo o melhor da tecnologia atual, no entanto, no curto prazo, os benefícios esperados com implementação de SOA devem ser encarados com mais reserva que entusiasmo; os fornecedores, certamente irão enaltecer as vantagens do modelo, focando com maior ênfase os seus benefícios. Cabe aos usuários e consumidores da tecnologia, racionalizar e pesar os custos, as dificuldades e as complexidades envolvidas, entendo SOA como uma estratégia e não como uma solução e aderir ao modelo com cautela.

Imagine-se criando um automóvel totalmente novo a partir de componentes avulsos de outros automóveis: chassi de Fiat Siena, motor de Honda Civic, rodas de Toyota Corolla e assim por diante. OK, temos um novo carro e ele funciona, mas será que haverá uma perfeita harmonia em seus traços ? Haverá perfeito desempenho e funcionamento impecável? Como será a vida útil, a estabilidade, o consumo? É possível abrir mão de um projeto para se ter um carro novo?

É sempre bom ter em mente que, antes de tudo, SOA é uma grande oportunidade de negócios, uma “nova onda” que pode ser medida em milhões de dólares, uma vez que, para viabilizar o modelo SOA, são necessárias ferramentas e tecnologias para operacionalizar sua implementação e estes softwares necessitam interagir com outros softwares que compõe o modus operandi da organização.

Cada fornecedor tem a sua própria concepção de implementação do modelo SOA, obviamente baseada nos produtos que comercializa e suporta. A solução para o modelo SOA de um determinado fornecedor pressupõe o reaproveitamento de sua própria família de produtos para preservar a compatibilidade com os demais softwares desse mesmo fornecedor, o que nos remete a necessidade de um estudo de viabilidade e a uma análise de custos e benefícios para dar maior visibilidade das alternativas e restrições de solução.

Por se tratar de um projeto de longo prazo não se deve perder de vista as possibilidades de surgimento de outras novas tecnologias, obsolescência ou consolidação dos softwares e padrões de mercado.

SOA é um conceito de arquitetura e não um produto específico, implementar SOA envolve uma certa complexidade; é um projeto corporativo. O projeto estrutural de implementação de SOA requer mudanças profundas de infra-estrutura; cultura da empresa; metodologia. É um projeto incremental que deve ser planejado e executado passo a passo, evoluindo em estágios ou níveis de adequação ao modelo. Como na construção de um edifício, primeiro o projeto arquitetônico; depois a fundação e a estrutura de concreto; em seguida as camadas de infra-estrutura elétrica e hidráulica; e por último a fase de acabamento, decoração e urbanização. Só então estará pronto para ser utilizado, e então desfrutar seus benefícios.

É possível identificar 3 abordagens básicas para adoção do modelo SOA:

1- Adquirir todo o ferramental oferecido pelo fornecedor tradicional da organização (ou o melhor capacitado) e com seu suporte estabelecer a fundação tecnológica sobre a qual será desenvolvido e implementado o modelo SOA.

2- Solicitar auxílio de consultoria especializada isenta e desvinculada dos grandes fornecedores de hardware e software, para a realização de estudo das possibilidades de implementação do modelo SOA.

3- Encaminhar programa interno de estudos visando identificar com maior visibilidade a melhor estratégia a ser adotada, incluindo as duas abordagens anteriores.