Resolvi escrever este post depois de conversar com algumas pessoas sobre SOA. Mais especificamente, depois de ouvir de um executivo de TI que "SOA é uma repaginação dos conceitos de análise orientada a objetos".
Antes de entrar no assunto propriamente dito, olhem o que achei outro dia ... Geek and Poke é um site de tiras de quadrinho voltadas para tecnologia. Tem algumas geniais, inclusive uma interessante sobre SOA.
Mas, voltando ao assunto: eu já vi muitas definições para SOA (Services Oriented Architecture, ou simplesmente Arquitetura Orientada a Serviços). A que mais gosto é esta:
"SOA é um estilo de arquitetura de TI que suporta o negócio como um conjunto de serviços conectados entre si."
Só que para entender corretamente esta definição é preciso definir o que é serviço. No contexto de SOA, um serviço é uma tarefa de negócio repetitiva. O "de negócio" é o fundamental aqui.
Em uma empresa que adota SOA os serviços são expostos para os usuários em abstrações que fazem sentido para eles. Isto é fundamentalmente diferente de uma arquitetura orientada o objetos, onde as classes e objetos representam componentes em abstrações que fazem sentido para os times de TI, especialmente os times de desenvolvimento.
Não é que uma coisa substitua a outra ... mas SOA é voltado para o negócio como um todo, enquanto Orientação a Objetos é voltado para TI.
Existem diferentes pontos de entrada para o caminho de uma empresa rumo a implementação de SOA. A IBM propõe basicamente três: Pessoas, Processos e Informações. Todos levam ao mesmo lugar, mas com prioridades diferentes. Mas um aspecto é fundamental a todos os caminhos: Governança.
Governança é um tema complexo. Para simplificar imagine o seguinte: de que adianta componentizar todos os seus sistemas de TI numa arquitetura técnica impecável e alinhada com o conceito de SOA se seus usuários não tiverem um catálogo de serviços de fácil acesso e manipulação?
Fazendo uma comparação simples: em São Paulo existem milhares de serviços de delivery ... mas não adianta nada ter isso tudo a disposição se você não souber onde procurar por um serviço quando precisa dele.
Ou, melhor ainda, pense na internet ... o mundo de páginas ... o que você faria sem um grande índice ou mecanismo de buscas de páginas? Só acessaria as páginas das quais tivesse anotado o endereço? Seria algo viável?
Pois é. Pensar em SOA sem pensar em Governança vai te levar a este caminho: tecnicamente pode estar perfeito, mas o efeito prático será virtualmente nulo.
Se quiser saber mais sobre os aspéctos técnicos de SOA, acesse o developerWorks.
Se quiser saber mais sobre os conceitos e soluções IBM, acesse nosso portal na internet.
Se alguém tiver algum exemplo para comaprtilhar ... comente!
Recent Comments