Artigos

Tecnologia

Web Services na Integração de Sistemas Corporativos

O cenário de TI nas corporações

Já faz alguns anos que os gerentes de TI se vêem frente ao desafio de integração das diferentes aplicações corporativas que suportam os processos de negócio nas empresas. Nos últimos anos observou-se um crescimento, sem precedentes, do número de aplicações, sistemas, repositórios de informações que coexistem dentro de uma corporação. Por outro lado, intensificou-se o esforço de integração desses diferentes ativos de sistemas e dados provocados pelos movimentos de integração e racionalização dos processos de negócio, pelas estratégias de relacionamento com clientes e pela necessidade de geração de informações de apoio a tomadas de decisão.

Analisemos o cenário da TI nas empresas na segunda metade dos anos 90. A corrida contra o relógio fez com que as empresas reavaliassem seus antigos sistemas (legados) e os adaptassem ao fantasma do “Ano 2000”. Além disso, as novas tendências batiam à porta das corporações: milhões de dólares foram gastos no redesenho dos processos e implantação dos grandes sistemas de gestão empresarial (ERP) e de gerenciamento do relacionamento com clientes. Esses novos conceitos migraram o foco do “gerenciamento de dados” para o “gerenciamento dos processos e clientes”. Nesse contexto, a necessidade de integração dos diferentes ambientes, sistemas, plataformas, bases de dados e todos os demais ativos de informação ocupou as mentes dos gerentes de TI. Surgiram com enorme força os conceitos de EAI (Enterprise Application Integration) e as grandes e caras soluções de sistemas de middleware.

No entanto, uma revolução ainda maior ocorria, adicionado mais variáveis à complexa equação da integração de sistemas: a Internet. A possibilidade (ou necessidade) de disponibilizar parte das informações corporativas a usuários ou sistemas que extrapolavam as fronteiras corporativas, fez com que o paradigma se alterasse novamente. O nirvana das aplicações cliente-servidor parecia estar com os dias contados. Novos modelos de acesso às informações foram criados, todos baseados em transações leves, através dos novos protocolos da Web. Além disso, novos sistemas foram adicionados ao caldo, entre eles, sistemas mais sofisticados de segurança, aplicativos diversos para intranet e extranet, etc.

É nesse cenário que as empresas se inserem hoje. A diversidade de sistemas coexistindo nas empresa é enorme, indo de grandes pacotes comerciais a aplicações desenvolvidas sob-medida por diferentes “software houses”, com diferentes tecnologias (host-centric, cliente-servidor, n-tier, etc), em diferentes plataformas (mainframes, Unix, Windows, etc). Já se verificou que a estratégia mais adequada para as empresas é efetuar uma integração dessas aplicações já existentes ao invés de se tentar uma unificação de ambientes, plataformas e tecnologias, dados ao alto custo, tempo e aos investimentos já realizados com os atuais sistemas. O desafio agora é definir o caminho mais adequado para os projetos de EAI.

O conceito de Web Services

Nos dois primeiro anos do novo milênio, quando a euforia em torno do e-commerce começou a dar lugar a experiências bem mais modestas do que alardeavam as previsões do final dos anos 90, um novo coro de promessas sobre o potencial da Internet começou a ganhar volume. No entanto, os protagonistas desse novo barulho não foram as ponto-coms e seus “marketeiros”, mas grandes fornecedores de hardware, software e serviços. O que eles vêm promovendo ultimamente é uma nova abordagem para os sistemas de informação corporativos e que vem sendo proclamada através de uma série de nomes diferentes: a Microsoft a chama de “.NET”; Oracle associa-a aos “network services”; IBM identifica-a por “web services”; Sun fala sobre um “ambiente de rede aberto”. No entanto, a idéia central dessa nova abordagem é que as corporações logo irão comprar suas tecnologias de informação como serviços providos através da Internet.

Esses serviços, que são genericamente conhecidos por “web services”, têm alguns atributos peculiares. Diferentemente dos “web sites” tradicionais, projetados para as pessoas interagirem com informação, os web services conectam aplicações diretamente com outras aplicações. E a idéia básica é que essa conexão se dê sem que seja necessário efetuar grandes customizações nas próprias aplicações. Além disso, uma das premissas fundamentais é que o padrão usado pelas conexões seja aberto e independente de plataforma tecnológica ou linguagens de programação.

Um web service, portanto, é um componente de software, ou uma unidade lógica de aplicação, que se comunica através de tecnologias padrões de Internet. Esse componente provê dados e serviços para outras aplicações. Essa tecnologia combina os melhores aspectos do desenvolvimento baseado em componentes e a Web. Como componentes, representam uma funcionalidade implementada em uma 'caixa-preta', que pode ser reutilizada sem a preocupação de como o serviço foi implementado. As aplicações acessam os Web Services através de protocolos e formatos de dados padrões, como HTTP, XML e SOAP.

A integração de sistemas através de web services

As soluções tradicionais de EAI provêem uma máquina de integração centralizada e monolítica, que usa tecnologias proprietárias para integrar os sistemas, e adaptadores especializados para conectar fontes de dados e sistemas legados. Essa abordagem monolítica tem as seguintes desvantagens:

  • É dependente de plataforma requerendo uma nova versão tanto da máquina de integração quanto dos adaptadores para cada plataforma a ser suportada ou integrada;

  • Introduz uma linguagem proprietária no “core” da integração;

  • Resulta num único ponto de falha;

  • Provê um método de integração que baseia-se na replicação dos dados dos diversos sistemas ao invés de consolidar os dados das várias fontes.

Além disso, as soluções tradicionais de EAI requerem um investimento inicial substancial, que quando combinado com a complexidade da tecnologia proprietária, gera um alto grau de dependência do fornecedor. Como resultado, o próprio EAI se transforma em mais um sistema legado.

Na verdade, a abordagem dos sistemas tradicionais de EAI, monolíticas e centralizadas, não levam em conta a atual dinâmica imposta pela Internet, onde os sistemas de uma empresa não podem ser isolados do resto do mundo. E nesse contexto, os requisitos de integração se alteram constantemente fazendo com que as soluções tradicionais tornem-se pouco ágeis e caras diante de qualquer alteração demandada. Qualquer nova tentativa de se integrar uma nova tecnologia é quase tão difícil e cara quanto a integração inicial.

No modelo de web services, cada sistema da organização atua como um componente independente na arquitetura de integração. Todas as interfaces, transformações de dados e comunicações entre componentes são baseados em padrões abertos e vastamente adotados, independentes de fornecedores e plataformas.

As vantagens de se utilizar essa abordagem são:

  • Simplicidade: é mais simples de se implementar que as soluções tradicionais que utilizam CORBA ou DCOM;

  • Padrões abertos: utilizam padrões abertos como HTTP, SOAP, UDDI, ao invés de tecnologias proprietárias;

  • Flexibilidade: alterações nos componentes são muito mais simples para o sistema como um todo do que alterações nos adaptadores tradicionais;

  • Custo: as soluções tradicionais são muito mais caras;

  • Escopo: cada sistema pode ser tratado de maneira individual, já que para “componentizá-lo” basta implementar uma camada que o encapsule. Na abordagem tradicional, todos os sistemas devem ser tratados ao mesmo tempo, já que farão parte da mesma solução monolítica de integração.

Conclusão

Apesar do grande apelo dos web services seja o de disponibilizar funcionalidades de sistemas de informação através de serviços na Internet, essa visão de utilizá-lo como mecanismo de integração tem ganho espaço nas discussões sobre o tema. No entanto, ainda é necessário que um conjunto de evoluções nessa abordagem se consolide para se conseguir níveis de integração excelentes para grandes corporações com um grande número de sistemas, como a consolidação de padrões de fato, incorporação de funcionalidades transacionais e sofisticação dos mecanismos de segurança, entre outros.

A Dextra vem acompanhando muito de perto essas discussões e já tem aplicado muitos desses conceitos em seus projetos de integração de sistemas, acreditando fortemente no potencial da tecnologia de web services.

Links úteis

http://www.ws-i.org
http://www.developer.com/services
http://www.webservicesarchitect.com
http://www.w3c.org/2002/ws
http://www.webservices.org