Objetos Distribuídos - Um caso de sucesso

Autor: Vidal Martins - GPT  
 

As novas tecnologias que surgem no mercado geralmente não são aplicadas de imediato pela maioria dos seus usuários potenciais. Muitos preferem aguardar o amadurecimento dessas tecnologias antes de investir nelas. Uma boa maneira de observar esse processo de amadurecimento é conhecer as experiências das empresas mais arrojadas, sejam elas bem ou mal sucedidas. Descrições de experiências envolvendo objetos distribuídos podem ser encontradas em livros [1] e sites Internet [2]. Apresentaremos neste artigo o caso do Wells Fargo Bank, uma das 8 experiências descritas no livro 3-Tier Client/Server At Work [1].

Um dos motivos que levou o Wells Fargo Bank a tornar-se líder em tecnologia bancária foi o uso pioneiro da tecnologia de objetos distribuídos [1]. Essa tecnologia ajudou a companhia a atingir diversos objetivos de negócio, entre eles, mudar o perfil do atendimento que era focado em contas e passou a ser focado no cliente.

No final da década de 80 uma tendência crescente era o extrato composto de transações bancárias (compound statement banking), onde os clientes esperavam receber apenas um extrato unificado listando os saldos e as transações de todas as suas contas, incluindo conta corrente e poupança, hipotecas, cartões de crédito, corretagem e aposentadoria. Os clientes queriam que suas atividades bancárias fossem estruturadas em função da sua relação completa com o banco ao invés das suas contas individuais.

Usando o ORB da BEA, ObjectBroker, o sistema CRS (Customer Relationship System) atingiu exatamente esse objetivo. Agora, quando um cliente que possui diversas contas chama o banco ele não precisa mais informar diversos números de contas, ele precisa fornecer apenas seu número de seguro social (SSN – Social Security Number), ou seu número de identificação de empregador (EIN – Employer Identification Number) no caso de conta de empresa.

Atualmente, os procedimentos necessários para obter o perfil das contas de um cliente através do CRS são os seguintes: o agente de serviço informa apenas o SSN correspondente; em seguida, o aplicativo interroga diversos sistemas de armazenamento, incluindo aplicações que rodam em ambiente IBM MVS/CICS, Digital VAX/VMS, e UNIX; finalmente, o sistema retorna ao usuário uma visão organizada do relacionamento do cliente com o banco, a qual é apresentada por meio de interface gráfica.

Assim como na maioria dos bancos, o sistema computacional do Wells Fargo era otimizado para processamento de contas ao invés de oferecer uma visão integrada dos dados do cliente. Contas de depósito direto eram gerenciadas por mainframe; fundos comuns (mutual funds) eram rastreados por um sistema Digital VAX/VMS; o processamento de contas de corretagem (brokerage) era terceirizado para um vendedor que usava um sistema Tandem. O resultado disso é que os empregados do banco necessitavam logar em diversos computadores diferentes para obter uma visão completa da situação do cliente. Uma simples pergunta como: "Quanto eu tenho em todas as minhas contas combinadas?" poderia exigir que o atendente navegasse por três ou mais sistemas, dentre os quais nenhum oferecia interface gráfica.

O sistema CRS foi a primeira aplicação do Wells Fargo baseada em tecnologia ORB. Em virtude do seu sucesso surgiram novos projetos utilizando ObjectBroker, com o objetivo de oferecer inovações aos clientes do banco. Entre as novas aplicações estão as seguintes:

  • Wells Fargo’s Internet Banking Solution:

Oferece aos clientes acesso em tempo real aos saldos das suas contas através da Web;

  • IVRU (Interactive Voice Response Unit):

Oferece serviço automatizado aos clientes que fazem chamadas telefônicas. A interface com o usuário baseia-se em um equipamento que interpreta sinais de discagem (touch-tone dialing equipment). Por exemplo, o sistema de resposta automática poderia solicitar: "Digite 1 para serviços ao cliente, 2 para saldos de contas correntes, ou 3 para transferência de valores".

  • ATM (Automated Teller Machine):

Oferece informações sobre as contas de corretagem do cliente por meio de conexões com mainframes.

  • Stock Market Data Aplication:

Torna disponível dados sobre quotas de ações e outros a qualquer aplicação do Wells Fargo através de uma simples requisição para o ObjectBroker.

O Wells Fargo precisou desenvolver uma técnica de integração entre aplicações baseadas em mainframe e aplicações baseadas em CORBA porque não existia ORB para mainframe em 1993. Objetos CORBA se comunicavam com aplicações mainframe através de mecanismos não-CORBA. A figura a seguir [1] apresenta a arquitetura 3-camadas do Wells Fargo.

A semântica de comunicação entre os clientes Windows e o servidor de objetos HP-UX baseia-se em definições de interface CORBA. As aplicações de mainframe não foram forçadas a mudar sua semântica para se adequar à nova definição de interface dos objetos, ou seja, elas funcionam baseadas na semântica do seu projeto original. Inconsistências e disparidades entre as aplicações mainframe são escondidas pelo servidor da camada intermediária. Em teoria, os sistemas de armazenamento podem ser completamente reestruturados e até mesmo reimplementados em diferentes plataformas sem a necessidade de modificar ou recompilar as aplicações cliente.

Para viabilizar aplicações missão-crítica nesse ambiente, o sistema precisava ser gerenciado e controlado. Aqui estão algumas das características que deveriam ser suportadas:

  • Mecanismos automatizados de monitoramento dos servidores ORB que rodavam em diversos computadores diferentes;

  • Se um processo servidor falhasse um mecanismo automático teria que reiniciar o servidor, talvez em outro nó da rede;

  • Os clientes do servidor que falhasse teriam que ser redirecionados para um servidor alternativo;

  • O sistema deveria ser capaz de avisar alguém sobre problemas que não pudessem ser automaticamente resolvidos e que exigissem intervenção humana;

  • A demanda dos clientes pelos servidores tinha que ser atendida por diversos nós da rede, mediante mecanismos de balanceamento de carga e de rastreamento de uso;

  • Instrumentos de gestão do sistema como um todo precisavam ser implementados para identificar gargalos e permitir que o ambiente fosse sintonizado no sentido de otimizar a eficiêcia.

O Cushing Group, grupo consultor do projeto, avaliou os ORBs comerciais com base nesses requisitos e, naquele momento, (1993), nenhum deles oferecia todas as características necessárias. Conseqüentemente, o Wells Fargo projetou seu próprio sistema de gerenciamento (OSM – ORB System Management), que era uma aplicação distribuída baseada na implementação CORBA ObjectBroker.

Resumidamente os marcos do projeto foram os seguintes. Em outubro de 1993 a Digital, o Wells Fargo e o Cushing Group se reuniram para iniciar o projeto da aplicação CRS. No final de dezembro de 1993 um piloto do CRS começou a funcionar. Em janeiro de 1994 o CRS entrou totalmente em produção. Em março de 1995 iniciou-se a solução de Internet Banking [3] e em maio do mesmo ano ela entrou em produção.

Um fator chave para o sucesso desse projeto foi a preparação da organização. O Wells Fargo fez os seguintes investimentos:

  • Treinamento formal: desde 1993, o Cushing Group treinou mais de 100 empregados do Wells Fargo no uso de CORBA e ObjectBroker;

  • Mentoring: consultores do Cushing Group e empregados experientes do Wells Fargo repassaram formalmente conhecimento para outros grupos do banco sobre como projetar aplicações baseadas em ORB e como tirar vantagens das características do ObjectBroker;

  • Coordenação de reuso formal: implementada através do ORB Coordination Group.

No verão de 1997 o serviço de Internet Banking já havia ultrapassado 400.000 clientes e na mesma época já estavam disponíveis outras aplicações. Os servidores ObjectBroker estavam processando cerca de 900.000 invocações de objetos de negócio por dia em ambiente de produção. Isto significa, na realidade, mais de 3.000.000 de invocações de métodos CORBA por dia, pois cada transação de negócio consiste de diversas interações entre objetos.

REFERÊNCIAS BIBLIOGRÁFICAS

[1] EDWARDS, J.; DEVOE D. 3-tier client/server at work. New York, J. Wiley : 1997.

[2] OMG. Web site of Object Management Group. Disponível na Internet. http://www.omg.org.

[3] WELLS FARGO. Web site of Wells Fargo Bank. Disponível na Internet. http://www.wellsfargo.com.