Arquitectura SOA
Artigo publicado por Jorge Pereira em 20 de Setembro de 2010
SOA – Service Oriented Architecture
O que é a SOA?
A SOA – Service Oriented Architecture, é uma nova filosofia de desenvolvimento de sistemas de informação. O objectivo do SOA é a publicação de um conjunto alargado de serviços disponíveis para evocação num Service Bus. O SOA é indispensável para entregar a agilização de negócio e flexibilidade dos SIs prometidos pelos Web Services. Estes benefícios são entregues não apenas vendo a arquitectura de serviços de um ponto de vista tecnológico ou adoptando um protocolo de Web Services, mas também exigindo a criação de um Service Oriented Environment que é baseado num conjunto de princípios chave.
Princípios envolvidos no SOA
O SOA foi desenhado com base num conjunto de princípios chave que deverão servir de base também ao desenho dos sistemas de informação. Estes princípios envolvem temas como:
- Interligação Fraca
- Perspectivas de Provedor de Serviços e Consumidor de Serviços
- Princípios de Concepção
- Abstracção
- Generalização
- Concordância com Standards
- Granularidade
- Granularidade varia com Camadas Aplicacionais
- Providenciar Serviços Alternativos; Usar Agregação e Composição
Talvez a diferença conceptual mais importante de SIs desenhados segundo a filosofia SOA, é que eles foram desenhados segundo dois princípios base:
Cada aplicação sabe que tem de disponibilizar, trocar e receber informação e “viver” num ambiente que não controla e altamente dinâmico. Isto é, nas empresas é impossível neste momento desenhar uma aplicação monolítica que responda a todas as necessidades do negócio. Ao invés, é necessário garantir que cada aplicação tem o seu papel e que consegue importar e exportar informação online com outras aplicações
Cada aplicação não sabe, nem tem de saber o uso que a informação que disponibiliza vai ter. Antes, tem de ser capaz de publicitar os serviços que disponibiliza de forma transparente e que pode ser aproveitada por outras aplicações.
SOA – Tecnologia vs Negócio
Esta aproximação é radicalmente diferente do que tem vindo a ser seguido até aqui. O desenho das aplicações deve agora ter em conta que deverá disponibilizar um conjunto alargado de Web Services que permitam aceder às funcionalidades e informação resultante dessa aplicação.
Muitas vezes o SOA é visto do lado tecnológico, conduzindo a implementações distorcidas. Para que os benefícios do SOA sejam entregues, as equipes de negócio devem trabalhar activamente com as equipas de SI. Cada unidade de negócio quer projecta e pede uma aplicação deverá pensar que é não só uma consumidora de informação, mas que a aplicação que está a pedir é ela própria potencial fornecedora de informação a outras unidades de negócio. Desta forma a empresa tornar-se-á mais ágil ao interligar-se mais rapidamente, mas também ao reutilizar e reaproveitar esforços e investimentos já realizados.
Convidamo-lo a falar connosco sobre o tema SOA e de como poderemos mais rapidamente agilizar o seu negócio.
Português