14 de fevereiro de 2026

SOA se encaixa na minha empresa?

<p style="text-align: left;">Porém, não podemos nos esquecer que uma Arquitetura Orientada a Serviços vai requerer um esforço maior em Análise, Modelagem, Design e Operação. Se os Serviços puderem ser re-utilizados, este esforço será recompensado, pois no futuro, novos requisitos serão atendidos através de composições de Serviços já existentes no Inventário de Serviços da Empresa. Portanto, podemos deduzir que, embora todas as aplicações possam ser desenvolvidas em uma Arquitetura Orientada a Serviços, nem sempre vale à pena se valer desta possibilidade.</p>
<p style="text-align: left;">Naturalmente surge a pergunta: Em que tipo de ambiente SOA pode ser útil?</p>
<p style="text-align: left;">Podemos responder a esta questão através das respostas a algumas outras questões:</p>
<p style="text-align: left;">Qual a expectativa de ocorrência de mudanças nos Processos de Negócio? Esta questão está relacionada à necessidade de agilidade e flexibilidade. Se já sabemos de antemão que mudanças deverão ocorrer, isolar as partes sujeitas a mudanças pode resultar em uma manutenção mais ágil. Por exemplo, novas regulamentações podem exigir adaptações nas aplicações. Ao invés de desenvolvermos aplicações específicas para cada caso, podemos isolar estas diferenças através da construção de Serviços, protegendo a aplicação das constantes mudanças.</p>
<p style="text-align: left;">Existem funcionalidades que atendem a várias aplicações (ou vários Processos)? Este é um caso típico de reuso. Já me deparei com inúmeros casos em que a mesma funcionalidade é repetida em muitas aplicações, como, por exemplo, “Buscar Dados de Cliente”. <br /><br />A presença deste “pedaço” de código em várias aplicações redunda em um maior esforço de manutenção e, portanto, de Governança. Outro exemplo bastante comum é a “Consulta a Produtos”, que pode estar presente em aplicações das áreas de Vendas, Estoques, Compras, Logística, Custos, etc.</p>
<p style="text-align: left;">Os Processos são executados de uma forma mais procedural (com muita intervenção humana)? Se uma aplicação requer muita intervenção humana, como por exemplo, cadastrar um pedido, construindo a aplicação na forma de Serviços pode ser interessante, pois novas maneiras de entrar com os dados, (via um Portal, celular, etc.) não acarretarão mudanças nas aplicações. Novas demandas de clientes também poderão ser facilmente acomodadas. Ao contrário, uma aplicação que se relacione diretamente com outras aplicações, como no caso de autorização de crédito para uma compra com cartão, pode exigir alta performance. Neste caso não seria recomendada a utilização de Serviços.</p>
<p style="text-align: left;">Os processos devem ser adaptados para atender a particularidades? Um exemplo disto é quando a empresa tem Processos que devem ser ajustados às diferentes regiões onde atua. Neste caso estas variações podem ser isoladas, construindo-as como Serviços, facilitando sua manutenção e provendo reuso das aplicações.</p>
<p style="text-align: left;">Vamos colocar mais algumas, encerrando esta série com questões sobre tecnologia.</p>
<p style="text-align: left;">Regras de Negócio e/ou determinados eventos podem determinar o Fluxo do Processo que deve ser seguido? Neste caso é conveniente a criação de Serviços, pois os mesmos Serviços podem ser arranjados de diferentes formas de modo a executar as partes do processo que devem ser acionadas em cada caso. Um exemplo pode ser a Análise de Crédito, que dependendo da situação do requerente, a instituição financeira solicitará mais ou menos garantias, ou até diferentes formas de garantias.</p>
<p style="text-align: left;">Existe a necessidade de mostrar uma visão única de dados que são obtidos de múltiplas fontes, por vezes redundantes e inconsistentes? Um exemplo típico desta situação é a famosa Visão Única do Cliente (VUC). Através da utilização de Serviços, os dados podem ser obtidos de diferentes fontes e tratados de modo a fornecer uma visão única. Tratar os dados pode implicar em decisões sobre que dados são válidos quando os mesmos dados são encontrados em mais de uma fonte. Pode também significar a reparação de algum dado antes de mostrá-lo. A estes Serviços damos o nome de Serviços de Informação.</p>
<p style="text-align: left;">Quando existe a necessidade de promover a integração entre vários sistemas, e esta necessidade tende a crescer ao longo do tempo, o uso de Serviços para promover estas integrações pode ser interessante, principalmente quando a complexidade das interfaces é alta. Outro fator a considerar quanto à necessidade de integrações é o ambiente heterogêneo (uso de diferentes tecnologias). A adoção de SOA facilita as integrações e respectivas manutenções. Levantar o custo das integrações e manutenções ao longo do tempo pode servir de uma justificativa para a implementação de SOA.</p>
<p style="text-align: left;">Devemos considerar também a longevidade dos sistemas que pretendemos desenvolver. Não se deve considerar a adoção de SOA para sistemas que se prevê de curta duração. Como dito na primeira parte deste artigo, uma Arquitetura Orientada a Serviços vai requerer um esforço maior em Análise, Modelagem, Design e Operação.</p>
<p style="text-align: left;">(*) Diretor da Soa Master Educação e Consultoria, certificado como SOA-Professional, SOA-Consultant e SOA-Architect pela SOASchool</p>