Autor: João Santos

Process Improvement

É cada vez mais frequente ver organizações a adoptarem Arquitecturas Orientadas a Serviços (SOA), paradigma que se traduz no desenvolvimento de serviços de negócio interoperáveis que facilmente são partilhados e reutilizados por aplicações dentro e fora das organizações. A adopção deste tipo de arquitectura além de facilitar e tornar mais célere o desenvolvimento de aplicações, faz com que as alterações ao nível do negócio sejam apenas efectuadas ao nível dos serviços, sendo estas na maioria dos casos, totalmente transparentes para as aplicações que consomem esses mesmos serviços.

No entanto, é crítico que as organizações que optem por uma arquitectura SOA, tenham orientações e regras bem definidas no que toca ao desenvolvimento e reutilização de serviços e, é neste contexto que surge o SOA Governance. Esta metodologia tem como finalidade prevenir riscos e ajudar a organização a ter sucesso e a tirar o máximo proveito da adopção do paradigma SOA.

Pode dizer-se que o Governance está focado em três simples questões: “O quê?”, “Quem?” e “Como?”.  No caso das arquitecturas SOA há que definir princípios e regras relativas ao desenvolvimento e reutilização de serviços, devendo existir um portfólio de serviços bem definido e documentado, de forma a que quando surja uma nova necessidade aplicacional, a equipa de Governance consiga indicar se já existe algum serviço ou se existe a possibilidade de alterar algum dos já existentes de forma a responder a essa necessidade. Outro aspecto importante do Governance é a definição de métricas que permitam avaliar o sucesso do programa e de que forma poderá ser reajustado, e também a prevenção e identificação de situações de risco e comportamentos desviantes, devendo fornecer indicações de como proceder em cada uma destas situações. É extremamente importante incutir esta abordagem aos membros da organização, devendo estar bem definido o papel de cada elemento no processo, nomeadamente de quem tem autoridade, quem é responsável e quem deverá ser responsabilizado por desvios, fornecendo-lhe orientações de como proceder nas diversas situações com que se possam deparar.

Assim, uma boa política de Governance associada à implementação de arquitecturas SOA, poderá trazer muitas vantagens para as organizações que a decidam adoptar, uma vez que a existência de regras e políticas bem definidas e documentadas e de um portfólio de serviços consistente, impede a duplicação de serviços e incute às equipas a sua reutilização, o que reduz riscos e torna mais rápido o desenvolvimento de aplicações. Assim, é possível responder de forma mais eficaz aos desafios que são colocados à organização, reduzindo o time-to-market e os custos, sendo o retorno do investimento também muito mais rápido. Por sua vez, organizações que adoptem arquitecturas SOA sem qualquer política de Governance associada, acabam por correr riscos que podem levar ao fracasso do programa, nomeadamente no que toca à duplicação de serviços, já que ao existir mais que um serviço com a mesma finalidade, ao surgir uma alteração, esta terá de ser reflectida em mais que um sítio e muitas vezes existem replicações desconhecidas onde a alteração acaba por não ser efectuada, o que poderá trazer graves consequências para o negócio. Por exemplo, uma organização em que várias aplicações utilizem os dados de Clientes, ao existirem vários serviços que forneçam esses mesmos dados, uma simples alteração de morada ou telefone terá de ser efectuada em todos esses serviços, o que obriga a mais burocracia, a um esforço extra, o que inevitavelmente aumenta o tempo de desenvolvimento e sua disponibilização.

Em suma, quando uma organização pensa em adoptar uma arquitectura SOA, deverá imediatamente começar a pensar em ter uma política de Governance associada à mesma, pois só assim, poderá garantir o sucesso desta abordagem.