Natureza dos Dados e SOA


Acabei de ler um artigo excelente (http://msdn2.microsoft.com/en-us/library/ms954587.aspx ) que trata da natureza dos dados e seu impacto na definição de um serviço.


Há cerca de quatro anos Pat Helland começou uma séria de artigos e apresentações que comparavam a Arquitetura de TI com a urbanização de cidades. SOA seria semelhante aos nossos cabeamentos elétricos, telefônicos e encanamentos, que visam conectar outros sistemas, mas sempre com acoplamento fraco. Vale a pena ver (http://beta.channel9.msdn.com/Media/982/ ).


O fraco acoplamento da SOA favorecem transações de longa duração e estas, por sua vez, pedem que uma mesma operação possa ocorrer repetidas vezes ou que possa ser desfeita em um futuro. Isto muitas vezes impacta na lógica do nosso legado L. Nem toda operação de negócio, como implementada atualmente, satisfaz estas demandas.


SOA é uma promessa. Mas (cuidado) é também uma força de marketing e venda de serviços.

Comments (3)
  1. Olá Otávio, tudo certo?

    Você abordou no post a questão sobre compensação, recuperação, transações de longa duração e o impacto nos sistemas legados.

    Gostaria de adicionar um novo tema: o reuso de serviços.

    Concordo sobre o impacto na lógica de negócio, muitas vezes não preparada para compensação ou a longa duração devido a exposição para consumo numa arquitetura SOA.

    Outro aspecto que surge é o reuso, devido a composição. Uma das máximas da orientação a serviços é o foco nas “necessidades de negócio”. O reuso de serviços não seria um foco principal de SOA, mas sim consequência de uma correta abstração de processos de negócio para a composição do Agile Business.

    Porém, sou levado a crer que essa máxima não é de todo correta. Ou seja, as necessidade do negócio e as funcionalidades que serão disponibilizadas na forma de serviços é importante, mas considerar o reuso de serviços é muito importante. Ele tem impacto direto nos sistemas legados, assim como a compensação.

    O que você acha?

    []s

    Waldemir.

  2. Otavio says:

    Waldemir,

    Depois de muitos anos participando de projetos OO, aprendi que o reuso é possível, mas maximizá-lo custa bons recursos e, creio, que na SOA não será diferente.

    Na minha visão, reuso é uma meta interessante de se ter. Isto é, ter este objetivo pode levar a bom código e  manutenção – mas isto não é certo.

    De fato, imagino que uma "necessidade de negócio" é a Agilidade e o reuso aumenta este objetivo. O valor da Agilidade determinará o quanto podemos ou iremos gastar de planejamento e design para reuso.

    Parece existir um axioma de negócio anterior a tudo: se houver Retorno de Investimento (ROI) então agilidade, reuso, arquitetura "upfront", etc. sobreviverão em TI. Caso o refactoring tenha maior ROI, será ele o ganhador. AS apostas estão na mesa.

    O problema é que cada projeto é único em sí e existem poucos dados para garantir qual tática tem o melhor ROI. Um prato cheio para o consultor de plantão com a sua misteriosa resposta: "Depende!"

  3. Olá Otávio,

    Já ouvi que consultor de plantão tem basicamente 2 respostas possíveis: "Depende!" ou "Tudo!". E na verdade, "Tudo Depende!"… 🙂

    Entendo então que "Agilidade" é um dos motivadores primários numa arquitetura SOA, do mesmo modo que o ROI responde o quanto de recursos podemos gastar para obter os ganhos da agilidade.

    Então, cada organização deve avaliar suas reais necessidades de negócio, identificando o quanto de esforço é viável em busca de reuso de serviços, para suportar uma arquitetura para o "Agile Business". E com certeza outro aspecto nessa equação é a vertical envolvida.

    Seja finanças, manufatura, bens e consumo ou óleo e gás, cada indústria possui agilidades de negócio específicas. Assim, faz sentido pensar em cenários de SOA característicos de cada vertical, assim como graus de reuso. O ROI também será diferente.

    Enfim, continua valendo aquela frase:

    "SOA é como flocos de neve – não existem dois iguais."

    …já ouvi isso em algum lugar! 🙂

    Waldemir.

Comments are closed.

Skip to main content