Escrito por Ricardo de Castro Barbosa    Qui, 22 de Julho de 2010 19:03    PDF Imprimir E-mail
Afinal, o que é SOA?
A Tecnologia da Informação vem evoluindo ao longo do tempo, por um lado viabilizando novas maneiras de tratar os negócios, por outro tentando dar suporte às mudanças constantes que acontecem no mercado.

Muitas ondas tecnológicas aconteceram nos últimos 20 anos, o que possibilitou às empresas o uso da TI como apoio aos negócios. Porém o que se verifica como resultado é uma série de camadas tecnológicas que aumentaram consideravelmente as complicações quando se deseja evoluir os sistemas para acompanhar as mudanças dos negócios.

A internet abriu infinitas possibilidades em todas as áreas de negócio. Junto com a internet vieram os padrões de comunicação/Web Sevices, que começaram simplesmente trocando mensagens (SGML). Seguiu-se uma evolução que permitiu a troca de documentos (HTML). Hoje a tecnologia permite a troca de informações (XML), ou seja, documentos são transmitidos junto com o descritivo do seu conteúdo.

Este último padrão (XML) permite que as empresas “quebrem” seus sistemas monolíticos (legados, corporativos, etc.) em partes (serviços) de modo que seus Processos de Negócios funcionem através da composição destas partes, permitindo a re-utilização destes serviços. Desta forma novos Processos de Negócio podem ser rapidamente suportados pela TI através de diferentes composições destes serviços. A esta arquitetura de serviços se dá o nome de SOA-Service Oriented Architecture.

As empresas que estão buscando projetos de SOA se enquadram nas que estão enfrentando morosidade por parte da TI em responder às diversas solicitações das áreas de negócio, decorrentes das mudanças constantes que acontecem no mercado, notadamente os seguimentos de Telecomunicações e Bancos.
No caso do seguimento de Telecomunicações o mercado brasileiro está altamente competitivo, o que leva as áreas de negócio a estar constantemente inovando suas ofertas. Além disto o seguimento experimentou recentes movimentos de fusões e aquisições. Os sistemas que foram herdados formaram uma “colcha de retalhos”  com diferentes tecnologias e muita redundância de funcionalidades.
No caso dos Bancos também se nota as recentes fusões e aquisições que provocam os mesmos efeitos em seus sistemas. Particularmente os Bancos Internacionais procuram evitar redundâncias em seus sistemas, além de buscar com que novas funcionalidades sejam usadas em todas as partes do mundo, evitando multiplicar os esforços em desenvolvimento de sistemas.

A grandes empresas internacionais já entenderam os benefícios da adoção de SOA e criaram um consórcio, o SOA-Consortium, que tem como missão a disseminação do SOA entre as 1.000 maiores empresas do mundo. Outras entidades (W3C, OASIS), que já existem há algum tempo, estão apoiando a criação de padrões para a construção desta arquitetura.

Os grandes “players” do mercado de TI – HP, IBM, SAP, BEA, ORACLE – também estão se preparando para tornar seus sistemas compatíveis com esta arquitetura. Isto significa que, queiram ou não os CIOs vão se deparar com SOA mais cedo ou mais tarde.

Apesar dos movimentos do mercado neste sentido, o SOA ainda é confundido com tecnologia, quando na verdade é um conceito. A tecnologia é importante enquanto suporte a este conceito. Alguns dos grandes “players” e os potenciais clientes ainda não têm claro que SOA é um conceito.

O conceito SOA é fortemente baseado em Serviços. Um Processo de Negócios pode ser decomposto em uma série de Serviços, sendo que cada um destes Serviços executa uma parte do Processo. Um Serviço é, portanto, uma Unidade Independente de Lógica. É um módulo de funcionalidade de Negócio (ou de Aplicação) com interfaces expostas, executado a partir de uma chamada de uma mensagem.

Ainda não temos uma definição concisa de SOA. Entretanto podemos definir SOA através da declaração de seus 8 Princípios da Orientação a Serviços que são:

1. Serviços são REUTILIZÁVEIS:  Esta talvez seja a característica que mais comumente está associada a SOA. Quanto mais genérico o Serviço maior a probabilidade de reutilização. Isto permite que a área de TI forneça respostas rápidas a novos requerimentos das áreas de negócio da empresa, desde que estes Serviços sejam definidos em conjunto: TI e área de negócios. Fica claro que um Serviço não é propriedade de uma equipe de desenvolvimento. O Serviço passa a ser um ativo da empresa.
2. Serviços compartilham um CONTRATO FORMAL: Todo serviço possui um “contrato” entre o requisitante e o provedor deste serviço. O “contrato”, informa o que o Serviço faz e como se comunica (o que deve receber e o que deve entregar). Desnecessário dizer que a empresa deve definir seus padrões de descrição e que isto requer muita disciplina.
3. Serviços possuem BAIXO ACOPLAMENTO: O acoplamento se refere a uma medida de dependência. Um baixo acoplamento significa que implementações específicas de um Serviço podem ser substituídas, modificadas e evoluídas sem que os consumidores deste Serviço sintam qualquer descontinuidade. Fica claro que Serviços não devem expressar a lógica (regras) de negócio.
4. Serviços ABSTRAEM A LÓGICA: Serviços são como “caixas pretas”, o que significa que a lógica não precisa nem deve ser exposta, simplificando o contrato formal. Guardando os detalhes também permite que possamos modificar a lógica evoluindo-a ao longo do tempo sem comprometer as “obrigações” do Serviço publicadas em seu contrato formal.
5. Serviços são CAPAZES DE SE COMPOR: Separar um grande problema em vários pequenos não é uma novidade. Este mesmo princípio pode ser utilizado na construção dos Serviços. Assim, um Serviço pode “chamar” outro(s) para executar a sua tarefa. A composição também é uma forma de reutilização.
6. Serviços são AUTÔNOMOS: Autonomia significa a capacidade de se auto-governar. Um Serviço autônomo é aquele que independe de um elemento externo para executar sua lógica.
7. Serviços evitam ALOCAÇÃO DE RECURSOS (Evitam informação de Estado) por longos períodos: Devido ao fato de que um Serviço será reutilizado, deve-se tomar o cuidado de não se criar muitas instâncias deste Serviço onerando a infra-estrutura. Isto significa que para um Serviço ter disponibilidade, ele deve evitar reter informações específicas a uma determinada atividade.
8. Serviços devem possuir a CAPACIDADE DE SEREM DESCOBERTOS (Visibilidade): Um contrato formal bem descrito e padronizado evita que novos requerimentos resultem em Serviços redundantes. Além disto a arquitetura deve prover mecanismos que facilitem o descobrimento dos Serviços através de Diretórios e Registros.

Estas características se relacionam de uma forma interdependente. Podemos deduzir várias frases que mostram esta interdependência, como por exemplo:

 BAIXO ACOPLAMENTO promove a DISPONIBILIDADE
 CONTRATO forma as bases para o DESCOBRIMENTO
 DISPONIBILIDADE maximiza oportunidades de REUTILIZAÇÃO
 DESCOBRIMENTO fornece meios para promover REUTILIZAÇÃO
 AUTONOMIA aumenta a DISPONIBILIDADE
 BAIXO ACOPLAMENTO permite AUTONOMIA

Muitas outras frases podem ser construídas para expressar esta interdependências.

Assim, a empresa que usa Serviços com as características descritas nestes 8 Princípios Básicos pode considerar que utiliza uma arquitetura orientada a serviços.  Isto certamente servirá de base a algum modelo de maturidade que deve ser elaborado pelas organizações que suportam o SOA.

Outros elementos são importantes na adoção do SOA:

TECNOLOGIA: Embora SOA, como já mencionamos, não seja tecnologia, ela é essencial para suportar qualquer iniciativa SOA. A tecnologia deve atender aos seguintes objetivos:
 Permitir que os Serviços operem de forma confiável e segura
 Promover a evolução da Arquitetura de TI
 Explorar os legados de forma a suportar SOA
A tecnologia provavelmente será a área mais fácil de implementar.

POLÍTICAS e GOVERNANÇA: Devem ser utilizados como ferramenta de comunicação entre usuário, desenvolvedores, arquitetos, analistas, podendo até incluir alguns fornecedores e clientes mais próximos. Políticas e Governança dirigem as ações para manter a conformidade. SOA não é uma implantação do tipo “Big Bang” como experimentamos nos ERP´s. A disciplina e os padrões devem ser rigorosamente adotados de forma a criar um ambiente SOA.

MÉTRICAS SOA: Cada Serviço possuirá seu SLA, além de índices de utilização e conformidade. Embora o objetivo maior de uma adoção SOA seja o de promover agilidade aos negócios, não podemos esquecer do ROI, que também deve ser acompanhado.

MODELO ORGANIZACIONAL e CULTURAL:
A adoção de SOA implica em muitas questões que a empresa deve se preparar para tratar, tais como responder a algumas perguntas: A quem pertence um determinado serviço? Quem pode requisitar/executar uma mudança em um Serviço? Quem paga o desenvolvimento de um Serviço? Estas e muitas outras perguntas nos mostram que as questões organizacionais e culturais devem ser consideradas durante uma iniciativa SOA.

Diante de tantas considerações fica claro que o caminho recomendado para empresas que pretendem iniciar um projeto SOA deve ser o de prover, como passo inicial, a Educação/Treinamento de modo a difundir estes conceitos de maneira uniforme.

Não podemos esquecer que projetos para levar uma empresa à adoção de práticas que viabilizem esta arquitetura são longos e consomem muitos recursos. Portanto projetos desta natureza exigem que a empresa adote metodologias comprovadas de Gestão de Projetos que garantam um resultado positivo.

Ricardo de Castro Barbosa é Diretor da Soa Master, empresa dedicada a Educação, Treinamento e Consultoria em SOA.

 
Última atualização ( Sex, 26 de Julho de 2013 16:13 )
 

Endereço

Avenida Sagitário, 138, Torre 1, Sala 301 - Alphaville Conde II 

Barueri – São Paulo  CEP 06473-073

(11) 4191-6051 / (11) 4191-3970

Fotos dos Cursos         

Your are currently browsing this site with Internet Explorer 6 (IE6).

Your current web browser must be updated to version 7 of Internet Explorer (IE7) to take advantage of all of template's capabilities.

Why should I upgrade to Internet Explorer 7? Microsoft has redesigned Internet Explorer from the ground up, with better security, new capabilities, and a whole new interface. Many changes resulted from the feedback of millions of users who tested prerelease versions of the new browser. The most compelling reason to upgrade is the improved security. The Internet of today is not the Internet of five years ago. There are dangers that simply didn't exist back in 2001, when Internet Explorer 6 was released to the world. Internet Explorer 7 makes surfing the web fundamentally safer by offering greater protection against viruses, spyware, and other online risks.

Get free downloads for Internet Explorer 7, including recommended updates as they become available. To download Internet Explorer 7 in the language of your choice, please visit the Internet Explorer 7 worldwide page.