Artigo do tipo Tutorial
Recursos especiais neste artigo:
Conteúdo sobre boas práticas.
Arquitetura Orientada a Serviços
O artigo trata da SOA (Arquitetura Orientada a Serviços), mais presente em organizações de médio a grande porte, ou empresas que buscam assumir uma posição em ascensão no mercado competitivo com a adoção de boas práticas que essa arquitetura oferece. Neste artigo será contextualizado SOA, considerando conceitos e práticas na modelagem de serviços. Serão também apresentadas formas de interação entre TI e negócios, diminuindo dificuldades existentes no desenvolvimento e na adaptação de implementações e regras de negócios em sistemas corporativos. Por fim apresentaremos um exemplo prático de aplicação de SOA com WCF.


Em que situação o tema é útil
Essa arquitetura é útil em organizações que utilizam variados tipos de sistemas, com diferentes tecnologias e fornecedores, sendo imprescindível o atendimento a requisitos como escalabilidade, flexibilidade e interoperabilidade.

Há divergências de comunicação entre setores de negócios e de TI. O que é solicitado nem sempre condiz com o que realmente os usuários imaginavam. Para corporações que buscam liderança no mercado competitivo, há caminhos a serem traçados e para ser competitivo não basta ter tecnologia de ponta. É necessário aperfeiçoar processos de negócios, ter união entre os setores, e compreensão de todos os processos envolvidos na atividade empresarial.

A SOA (Arquitetura Orientada a Serviços) ajuda as empresas a estarem preparadas para evoluir em tecnologia e em rentabilidade, diminuindo restrições da tecnologia para os líderes de negócio. Com a ajuda de SOA é possível assegurar uma estrutura flexível e reutilizável.

De maneira simples, SOA é uma abordagem de negócios para criar sistemas de TI que permitem alavancar recursos existentes, criar novos recursos e, principalmente, estar preparado para inevitáveis alterações exigidas pelo mercado. SOA é uma abordagem tanto para negócios quanto para TI. Ambos obtêm um melhor processo de negócio, consequentemente, mais produtividade e lucro para a empresa.

SOA não é aplicada da noite para o dia. Para usufruir dos benefícios desta arquitetura, é necessário investimento de tempo e aprendizado. Com SOA é possível melhorar o processo de aprendizado e notar melhorias quando os líderes de negócios caminharem juntos com líderes de TI.

O principal item do SOA são os serviços que servem para denominar o relacionamento entre um provedor e um consumidor, que possuem o objetivo de solucionar uma determinada atividade em comum.

Cada serviço pode ser definido como uma atividade específica. Aplica-se esse conceito para identificação dos serviços encontrados na corporação, sendo que o mesmo pode ser comparado com o famoso brinquedo "Lego", onde se podem utilizar as mesmas peças para inúmeras ocasiões. De fato, podem-se mencionar exemplos como: "um serviço para consulta de produtos...", onde o serviço é criado apenas uma vez e pode ser utilizado em todo sistema.

Utilizando serviços é possível estar preparado para inúmeras alterações no decorrer dos anos. E como a tecnologia está em constante mudança, é essencial ter interoperabilidade. A tecnologia muda rapidamente e as empresas não podem ficar paradas.

Neste contexto, SOA pode ajudar a responder e melhorar um conjunto de cenários refletidos nas seguintes questões: O negócio é amplo e complexo? O nicho muda rapidamente? Nosso legado é o centro do nosso negócio? Nossos sistemas são flexíveis? Podem ser atribuídas mudanças? As regras de negócios estão organizadas? Existe qualidade em nossos dados?

Governança SOA

Toda empresa necessita de governança, pois é através dela que conseguem levantar, planejar, executar, controlar e aperfeiçoar processos e, consequentemente, gerar melhores resultados. Governança significa garantir que as pessoas façam o que é certo. Além disso, “controlar o desenvolvimento e a operação de software” também está no contexto de governança.

Alguns pontos cruciais associados à governança SOA são:

· Políticas: definem o que é certo;

· Processos: reforçam as políticas;

· Métricas: fornecem visibilidade e possíveis reforços para políticas;

· Organização: estabelece uma cultura que suporta o processo de governança.

Processos têm que ser flexíveis o suficiente para poderem suportar atualizações frequentes. Além disso, eles devem ser os mais explícitos possíveis, pois é necessário que a equipe acompanhe sua execução.

Os aspectos técnicos de um processo podem ser classificados como documentação, gerenciamento de serviços, monitoramento e gestão de mudanças.

Como é apresentado na Figura 1, existem duas formas para implantação de governança SOA:

· top-down: onde as requisição surgem dos presidentes, gerentes e executivos da empresa;

· bottom-up: onde as requisição surgem de usuários analistas, programadores, técnicos.

Figura 1. Abordagem Bottom-up e Top-down.

Maturidade SOA

Como mostra a Figura 2, existe um modelo de maturidade SOA desenvolvido pela Sonic Software. O nível 1 representa a aprendizagem inicial e fase do projeto de implementação SOA. No nível 2 são fornecidos serviços que utilizam padrões que são definidos como governança técnica de implementação SOA.

Já o nível 3 fornece serviços dentro da parceria entre organizações tecnológicas e de negócio para garantir que o uso de fornecedores SOA esclareça de forma apropriada responsabilidades de negócio. No nível 4 é focada a implementação de processos de negócios internos / externos. Por fim, no nível 5 temos processos de negócios de SOA otimizados de tal forma que o sistema de informação utilizando SOA se torna o principal sistema da organização.

Figura 2. Modelo de Maturidade SOA da Sonic Software.

Além deste modelo de maturidade, temos também a opção desenvolvida pela IBM e conhecida comoServiceMaturity ModelIntegration (SIMM).Este modelo é composto por sete níveis, sendo eles:

· Silo: integração de dados;

· Integrado: integração de aplicativos;

· Modular: integração funcional;

· Serviços simples: processo de integração;

· Composto serviços: integração de cadeia de fornecimento;

· Serviços virtualizados: infraestrutura virtual;

· Dinamicamente configuráveis: escalabilidade automática.

Os níveis de maturidade SOA indicam o quanto a empresa já está apta com processos para levantar, planejar, implantar e controlar SOA. Através destes níveis é possível identificar a qualidade e o sucesso que se terá em iniciativas para implantação SOA.

Serviços

Assim como para o termo SOA, é difícil encontrar uma definição exata para “serviço”. O principal objetivo de um serviço é representar um passo natural da funcionalidade de negócio.

Ao trazer essa afirmação para negócios, pode ser identificado que os passos de uma atividade de uma corporação podem ser classificados como serviços. Fazendo com que todos os passos sejam executados em sincronia, tem-se um processo gerando resultados para outros processos.

Serviço é a definição de um ou mais passos que usam mensagens para troca de dados entre um fornecedor e um consumidor. Para que a existência de um serviço tenha sentido, é necessário que o mesmo seja consumido, sendo este outro serviço ou até mesmo um consumidor.

...
Quer ler esse conteúdo completo? Tenha acesso completo