[Esta tradução foi adaptada pelo InfoQ Brasil]
Em seu novo artigo, Arquitetando tecnologias orientadas a serviços, Philip Wik apresenta três obstáculos principais para a criação de soluções baseadas em tecnologias de arquiteturas de serviços (Service Technology Architectures - STA):
- Complexidade: Como podemos modelar a complexidade com o nível correto de detalhes e de abstração?
- Comunicação e Elementos de Design: Quais são as principais componentes do STA?
- Execução e Organização para o Sucesso: Como aumentar a velocidade e a qualidade na construção de soluções STA?
De acordo com Wik, o item mais importante a ser considerado ao lidar com problemas da vida real é que:
Precisamos aceitar que há questões sem respostas e que será difícil um entendimento verdadeiro de qualquer entidade, pois há limites para as simbologias e o pensamento, e precisamos lidar com grandes incógnitas. Mas mesmo nesse domínio de mistérios, precisamos agir, e fazemos isto com a ajuda dos frameworks. Um framework nos traz um plano técnico que permite vislumbrar, planejar, desenvolver, testar, publicar e firmar arquiteturas.
Na opinião de Wik, os dois frameworks mais importantes para implementar soluções de STA são o Open Group Service Integration Maturity Model (OSIMM) e o The Open Group Architecture Framework (TOGAF).
A importância do OSIMM vem de sua definição de um processo para criar um roteiro de adoção incremental do SOA, que fornece benefícios de negócios claros em cada etapa. O OSIMM também fornece um modelo quantitativo para apoiar a avaliação dos estados atual e futuro da maturidade do SOA. Já o valor do TOGAF vem de fornecer um framework de arquitetura corporativa, que ajuda a responder a questão de como construir sistemas para alcançar os objetivos do negócio.
Continuando, Wik introduz dois elementos de design fundamentais para o STA. De acordo com ele:
Um princípio é um padrão imperativo. [...] Ele vem do senso comum e do conhecimento humano compartilhado. Princípios são também proposições, talvez razoáveis, mas que não podem ser provadas. [...] Se não seguirmos completamente o princípio, o princípio permanece, mas falhamos.
Em relação aos princípios fundamentais que podem guiar as tecnologias de arquitetura de serviços, Wik usa os bem conhecidos princípios de design SOA, que incluem baixo acoplamento entre serviços, padronização de contratos, autonomia, serviços que não mantêm estados, agregação de serviços e outros. Ao usar esses princípios, Wik alerta:
É um erro construir arquiteturas baseadas na aplicação de princípios em vez de nos princípios em si. Isso traz um enfoque em tecnologia, ao invés de nos guiar na direção dos objetivos de negócio.
Quando se trata de padrões de projeto, Wik novamente sugere aproveitar amplamente a adoção dos padrões de projeto SOA.
Finalmente, o autor sugere a adoção de práticas do Desenvolvimento Ágil, destacando a maior responsabilidade e a maior comunicação obtida com as reuniões diárias do Scrum, e a qualidade e velocidade alcançadas com a programação em pares do XP. Ele defende que essas práticas são fundamentais para atingir princípios de mais alto nível, como a transparência, que possibilitam o sucesso do STA.
Wik conclui seu artigo dizendo que:
O desenvolvimento de serviços se resume à simplificação dos sistemas para alcançar objetivos do negócio, e também simplificar os processos em busca desses objetivos. Não desmerecemos o esforço necessário para dominar ferramentas que podem nós ajudar a criar um STA; mas para chegar aonde queremos, pode ser necessário abandonar velhas ferramentas.
Os padrões TOGAF, UML e Agile/XP têm valor inestimável, mas há momentos em que precisamos jogá-los fora para enxergar o mundo dos serviços corretamente.