Acessibilidade / Reportar erro

Benefícios da arquitetura de software orientada a serviços para as empresas: análise da experiência do ABN AMRO Brasil

Benefits of software-oriented architecture to corporate services: an analysis of ABN AMRO bank experience in Brazil

Resumos

A arquitetura de software é um dos principais habilitadores em proporcionar ganhos efetivos em agilidade e eficiência na manutenção e evolução dos sistemas de informação corporativos, fator preponderante para ambientes competitivos. Os benefícios proporcionados pela adoção da arquitetura de software orientada a serviços são evidenciados neste artigo por meio da análise de um caso prático de sua implementação na instituição financeira ABN AMRO Brasil. O caso apresenta como a instituição conseguiu resolver um dilema tradicional das instituições financeiras: a composição e integração dos serviços financeiros, entregues por meio de software nos diferentes canais de comunicação disponíveis aos clientes.

Arquitetura de Software; Integração entre Sistemas; Orientação a Serviços; Bancos; Serviços Bancários


Software architecture is a major enabler in providing effective profits related to agility and efficiency in corporate information systems maintenance and evolution: a key factor in competitive environments. The benefits resulting from the adoption of software- oriented architecture (SOA) are demonstrated in this article through the analysis of a practical case of its implementation in the financial institution: ABN AMRO, in Brazil. The case describes how the institution solved a traditional dilemma faced by financial institutions: the composition and integration of financial services delivered through software to different communications channels made available to clients.

Software Architecture; Integration between Information Systems; Service Orientation; Banks; Banking Services


Benefícios da arquitetura de software orientada a serviços para as empresas: análise da experiência do ABN AMRO Brasil

Benefits of software-oriented architecture to corporate services: an analysis of ABN AMRO bank experience in Brazil

Prof. Dr. José Osvaldo De SordiI; Profa. Dra. Bernadete de Lourdes MarinhoII; Marcio NagyIII

IUniversidade Católica de Santos

IIUniversidade de São Paulo

IIIABN AMRO Bank Brasil

Endereço para correspondência Endereço para correspondência: Prof. Dr. José Osvaldo De Sordi Universidade Católica de Santos Depto Pesq. Mestrado em Gestão de Negócios Rua Dr. Carvalho de Mendonça, 144 Santos/SP, CEP 11070-906 Tel.: (13) 3226-0504 Fax: (13) 3226-0500 e-mail: de.sordi@terra.com.br

RESUMO

A arquitetura de software é um dos principais habilitadores em proporcionar ganhos efetivos em agilidade e eficiência na manutenção e evolução dos sistemas de informação corporativos, fator preponderante para ambientes competitivos. Os benefícios proporcionados pela adoção da arquitetura de software orientada a serviços são evidenciados neste artigo por meio da análise de um caso prático de sua implementação na instituição financeira ABN AMRO Brasil. O caso apresenta como a instituição conseguiu resolver um dilema tradicional das instituições financeiras: a composição e integração dos serviços financeiros, entregues por meio de software nos diferentes canais de comunicação disponíveis aos clientes.

Palavras-chave: Arquitetura de Software; Integração entre Sistemas; Orientação a Serviços; Bancos; Serviços Bancários.

ABSTRACT

Software architecture is a major enabler in providing effective profits related to agility and efficiency in corporate information systems maintenance and evolution: a key factor in competitive environments. The benefits resulting from the adoption of software- oriented architecture (SOA) are demonstrated in this article through the analysis of a practical case of its implementation in the financial institution: ABN AMRO, in Brazil. The case describes how the institution solved a traditional dilemma faced by financial institutions: the composition and integration of financial services delivered through software to different communications channels made available to clients.

Keywords: Software Architecture; Integration between Information Systems; Service Orientation; Banks; Banking Services.

1 - INTRODUÇÃO

Este texto descreve os resultados de uma pesquisa que teve como objeto central de estudo a arquitetura de software orientada a serviços (SOA). O objetivo da pesquisa foi discutir os benefícios e a importância da SOA às organizações.

A apresentação do tema e sua justificativa são realizadas nos dois próximos capítulos.

No segundo capítulo, são apresentados e conceituados os diversos termos necessários ao entendimento da SOA, como: arquitetura de software, serviço dentro do contexto da arquitetura de software, tipificação de serviços e a caracterização dos estágios de maturidade da SOA. No terceiro capítulo, justifica-se a relevância da presente pesquisa, analisando-se a importância da SOA ao atendimento dos principais requisitos dos atuais e dinâmicos ambientes de negócios.

Conceituado e justificado o objeto da pesquisa, tem-se no quarto capítulo a caracterização deste trabalho: a descrição da oportunidade, dos objetivos, do método empregado e do universo da pesquisa realizada. Como o método de pesquisa adotado foi o estudo de caso, no quinto capítulo há a apresentação e descrição do caso analisado.

Os principais conhecimentos com a pesquisa estão retratados nos dois últimos capítulos: no sexto capítulo se discutem as lições aprendidas a partir da experiência do caso analisado e, no sétimo e último capítulo, são apresentadas as conclusões finais, discutindo de forma abrangente o potencial de agregação de valor da SOA aos negócios.

2 - CONCEITOS SOBRE A ARQUITETURA DE SOFTWARE ORIENTADA A SERVIÇOS

Pesquisadores e praticantes da área de administração de sistemas de informação têm desenvolvido muitas definições para o termo "arquitetura de software" ao longo dos últimos anos, o que demonstra um interesse saudável não apenas das organizações, mas também das academias. Descrevemos, a seguir, algumas dessas definições:

"A arquitetura de software de um programa ou de um sistema computacional é a estrutura ou as estruturas do sistema, que compreende elementos de software, as propriedades visíveis e externas desses elementos, e as relações entre eles." (BASS, CLEMENTS e KAZMAN, 2003, p. 14, tradução nossa);

"Arquitetura é o termo que muitas pessoas tentam definir com pouca concordância. Há dois elementos comuns: um deles trata do mais alto nível de quebra de um sistema em partes; o outro trata de uma decisão difícil de ser mudada." (FOWLER, 2002, p. 27, tradução nossa);

"A arquitetura de software é um conjunto de declarações, que descreve os componentes de software e atribui funcionalidades de sistema para cada um deles. Ela descreve a estrutura técnica, limitações e características dos componentes, bem como as interfaces entre eles. A arquitetura é o esqueleto do sistema e, por isso, torna-se o plano de mais alto-nível da construção de cada novo sistema." (KRAFZIG, BANKE e SLAMA, 2004, p. 56, tradução nossa).

Para conceituar o objeto central do estudo, a - arquitetura de software orientada a serviços (SOA) - faz necessário desenvolver o termo "serviço" dentro do contexto da arquitetura de software. O "serviço básico" é o mais comumente encontrado em quantidade nas organizações; ele apresenta um nível de especificidade bastante pontual e restrita. Um exemplo seriam os algoritmos para validação de números ou de status, como os utilizados na validação do número do CPF e na averiguação da situação de crédito de uma pessoa. Um serviço também pode ser um algoritmo mais abrangente em termos de funcionalidades, sendo assim denominado de "serviço centrado em processo".

No ambiente computacional, há diversas outras variações de serviços; no Quadro 1 é apresentada uma tipificação de serviços desenvolvida por Krafzig, Banke e Slama (2004).


Outra entidade importante na SOA é o application frontend. Embora não sendo um serviço, trata-se de um elemento ativo da SOA. É ele que inicia todos os processos de negócios e recebe seus resultados. Na prática, esta entidade é caracterizada pelas diversas aplicações que interagem com o usuário funal (web applications, GUI applications, CICS applications, ...) ou mesmo os programas que processam lotes de dados (sistemas batch).

A análise e compreensão do application frontend é fundamental para o entendimento dos estágios de maturidade da SOA nas organizações e que serão analisados a seguir.

Krafzig, Banke e Slama (2004) identificaram três estágios de maturidade da SOA nas organizações: a fundamental, a em rede e a habilitadora de processos assim descritos:

  • SOA fundamental: é o melhor ponto de partida para as organizações que pretendem implantar a SOA. A maior parte da complexidade e da responsabilidade continua existindo ainda no

    application frontend, que aciona os diversos

    serviços básicos. Este estágio já proporciona ganhos significativos pelas facilidades de reutilização de serviços básicos. Seu maior benefício são os ganhos de manutenção com as aplicações internas de departamentos e com as aplicações interdepartamentais;

  • SOA em rede: há o uso intensivo de

    serviços intermediários; estes agregam serviços básicos na forma de serviços mais sofisticados. Os serviços intermediários são amplamente utilizados para atender deficiências técnicas e funcionais dos softwares disponíveis na arquitetura. Os serviços intermediários, enquanto desempenham o papel de conectores e adaptadores, oferecem muita flexibilidade para integração entre softwares, independente das restrições tecnológicas. O

    application frontend torna-se menor e menos complexo que no SOA fundamental. Seu maior benefício são os ganhos de flexibilidade ao utilizar aplicações entre unidades de negócios e entre diferentes organizações;

  • SOA habilitadora de processos: neste estágio, os

    application frontend são utilizados apenas para interação com o usuário. Toda complexidade dos processos de negócios é delegada à SOA, mais especificamente aos

    serviços centrados em processos. Há uma forte separação entre as regras para gestão do processo de negócio, desempenhada pelos serviços centrados em processos, e os códigos fontes de programas necessários a sua execução, disponibilizados na forma de serviços básicos para execução dos algoritmos e na forma de

    application frontend para as interações requeridas.

Os estágios de maturidade divergem, sobretudo, na distribuição de responsabilidades entre o application frontend e os serviços. Quanto mais evoluído o estágio da SOA, mais e mais responsabilidades são transferidas aos serviços, tornando os softwares aplicados aos negócios cada vez mais diferentes dos sistemas monolíticos predominantes há décadas nas organizações.

Uma organização pode vivenciar simultaneamente dois ou três estágios de maturidade da SOA. Isto se explica devido aos diferentes escopos e necessidades de integração, requeridos entre áreas de negócios, empresas e integrações complexas de processos.

Antes de concluir com os conceitos, há a necessidade de se definirem mais dois componentes fundamentais para o entendimento da arquitetura SOA: o repositório de serviços e o barramento de serviços. O repositório de serviços é a entidade que provê facilidades para o descobrimento dos serviços disponíveis na arquitetura, sobretudo daqueles fora do escopo temporal e funcional do sistema de informação, ou melhor, do processo de desenvolvimento do nosso sistema. O repositório de serviços fornece informações como: localização virtual, provedor, taxas, limitações técnicas, aspectos de segurança, entre outras. O barramento de serviços é o meio utilizado para conexão entre todos os participantes da SOA: serviços e application frontends e engloba grande diversidade de produtos e conceitos.

Apresentados todos os conceitos necessários para entendimento do SOA, pode-se agora trabalhar sua definição:

"A arquitetura de software orientada a serviços (SOA) está fundamentada nos conceitos-chave de application frontend, serviço, repositório de serviço e barramento de serviço." (KRAFZIG, BANKE e SLAMA, 2004, p. 57, tradução nossa).

Institutos de pesquisas conceituados na área de tecnologia da informação indicam que a arquitetura de software orientada a serviços (SOA) terá grande influência no processo de desenvolvimento dos sistemas de informação. O Instituto Gartner, por exemplo, divulga que, até 2008, com 70% de probabilidade, teremos a SOA como prática predominante de engenharia de software, pondo fim a mais de quarenta anos de desenvolvimento de software tradicional e suas arquiteturas de software monolítico (GARTNER, 2003).

3 - IMPORTÂNCIA DA ARQUITETURA DE SOFTWARE PARA A GESTÃO DAS EMPRESAS

Na mesma proporção em que os sistemas de informação tornam-se cada vez mais complexos e abrangentes, cresce em importância e em dificuldade o trabalho de organização e estruturação de seus componentes. Assim, algoritmos e estruturas de dados deixaram de ser o ponto mais crítico do projeto de construção de sistema de informação em função da diversidade de modelos aplicáveis quando da definição da arquitetura de software. Por ser uma das primeiras fases do ciclo de desenvolvimento de software, com forte influência nos trabalhos posteriores de construção, integração e modificação dos componentes do software, a arquitetura de software mostra-se capaz de proporcionar grande variação no retorno do investimento realizado em software, considerando-se: qualidade, prazos e custos (BASS, CLEMENTS e KAZMAN, 2003, p. 12).

A arquitetura de software das corporações deve ser: simples, para que todos seus intervenientes possam entendê-la e utilizá-la; flexível, para que possa acomodar em tempo as dinâmicas alterações requeridas pelo ambiente de negócios; geradora de reutilização, sobretudo dos blocos de softwares; e ser capaz de desvincular funcionalidades do negócio das tecnologias utilizadas para sua execução.

A arquitetura de software é um dos principais habilitadores em termos de proporcionar ganhos efetivos em agilidade e eficiência na manutenção e evolução dos sistemas de informação corporativos, fator preponderante para ambientes competitivos.

Uma arquitetura de software inadequada gera diversos problemas tecnológicos que refletem diretamente na gestão das organizações. Um dos principais problemas é a forte integração que se estabelece entre: programas, tabelas, filas de mensagens e demais componentes dos diversos sistemas de informação da corporação.

Na abordagem tradicional de desenvolvimento de software, em que se discute superficialmente a arquitetura de software, o trabalho de integração entre sistemas de informação é realizado pontualmente como uma fase do projeto. Cada nova necessidade de integração é considerada como um problema local e único (RUH, MAGINNIS e BROWN, 2001, p. 12).

O engenheiro de software, responsável pelo desenvolvimento do novo sistema de informação, analisa, especifica e gerencia o desenvolvimento das integrações requeridas. Estas são entregues, na maioria das vezes, na forma de adaptação nos softwares dos sistemas de informação a serem integrados, estabelecendo um forte vínculo entre estes. Esse método de integrar sistemas gera uma situação indesejada que se denomina "perpetuação dos sistemas de informação legados". Cada novo sistema, que referencia diretamente a um antigo sistema, torna mais custoso, trabalhoso e arriscado o processo de substituição deste sistema legado, devido ao impacto em todos os demais sistemas, inclusive nos mais recentes (BUTLER, 1999, p. 19).

Considerando-se apenas a falta ou inadequação das integrações entre sistemas de informação proporcionados pela arquitetura de software tradicional, pode-se identificar diversas situações desconfortáveis à gestão das organizações conforme indicado por Cummins (2002) e De Sordi (2005):

  • A perda de competitividade em função da incapacidade de reduzir o tempo dos processos pelas limitações das integrações empregadas, por exemplo, pelo uso de conexões assíncronas que ocorrem através de transmissão de pacotes de dados em períodos de tempo pré-estabelecidos;

  • Restringe a capacidade da organização em se habilitar como fornecedor ou parceiro estratégico de redes e ambientes colaborativos que exijam das entidades participantes o domínio de modernas tecnologias de integração;

  • Eleva custos e aumenta o risco de exposição a erros em decorrência do trabalho humano intensivo na re-digitação de dados de uma base de dados ou sistema de informação para outra base ou sistema;

  • Lentidão da organização em identificar e tratar eventos do negócio possíveis de serem percebidos pela comunicação de ocorrências registradas em outros sistemas de informação, limitando a capacidade de inovação e pró-atividade da empresa;

  • Dificulta a evolução e aprimoramento dos processos de negócios em função de se evitar a alteração das tradicionais integrações de sistemas existentes ao longo do processo, postura justificada pelos altos custos e pelos receios de se gerar novos problemas quando da alteração destes meios legados de integração.

4 - OPORTUNIDADE, OBJETIVO, MÉTODO E UNIVERSO DA PESQUISA

Considerando-se: 1) a flexibilidade e demais ganhos proporcionados às organizações pela arquitetura de software orientada a serviços; 2) a falta de estudos da Academia Brasileira de Administração sobre o tema arquitetura de software na perspectiva do administrador de sistemas de informação; e 3) do pouco conhecimento de como as grandes corporações brasileiras estão lidando com a SOA; identificou-se uma oportunidade de pesquisa: investigar uma experiência significativa de implementação de SOA no contexto de uma grande organização brasileira.

Da percepção da oportunidade se derivou o objetivo primário da pesquisa: analisar uma experiência de implementação de SOA em uma grande corporação brasileira, com reconhecida tradição de investimentos de vanguarda na área de tecnologia da informação, identificando aspectos importantes de serem observados durante a introdução da SOA em uma organização.

A opção por se escolher uma organização com reconhecida tradição de investimentos em tecnologia da informação se deve ao fato dos pesquisadores considerarem os ambientes de negócios mais familiares ou divulgados, como também os mais atrativos e compreensíveis aos praticantes e pesquisadores da área de administração de sistemas de informação. Considerando o universo da pesquisa, apenas uma organização, definiu como objetivo secundário: compor um conjunto de informações suficientemente detalhadas e significantes para que não apenas se compreendam os conceitos básicos do SOA, mas também para que possam servir para comparação e extrapolação da realidade do caso estudado para o contexto de outras organizações ou de outros segmentos de negócios, colaborando, assim, para um processo de melhor compreensão da SOA no contexto das corporações brasileiras.

Para atender os objetivos propostos, optou-se por desenvolver uma pesquisa predominantemente qualitativa, utilizando o método descritivo e exploratório, baseado em um estudo de caso. O método de estudo de caso é particularmente adequado para geração e construção de teorias, sobretudo em áreas de estudos onde haja poucos dados e teorias (YIN, 1994). Neste aspecto, o estudo de caso se aplica de forma muito adequada ao estudo da SOA no contexto das organizações brasileiras, uma vez que pouco se conhece sobre seus fundamentos e sobre seus benefícios proporcionados à gestão das empresas que a adotam.

Para definição da organização a se pesquisar por intermédio do método de estudo de caso considerou-se: a) haver alguma experiência significativa com SOA em andamento na organização; b) atuar em um segmento de mercado que houvesse conhecimento da academia quanto ao comportamento de investimentos com relação aos recursos de tecnologia da informação; e, finalmente, c) ter viabilidade organizacional para realização da pesquisa, ou seja, disponibilidade e interesse da organização em participar da pesquisa.

A empresa pesquisada

Da aplicação dos critérios para definição do caso a ser pesquisado, chegou-se ao segmento bancário, mais especificamente à instituição financeira ABN AMRO Brasil.

A instituição ABN AMRO está presente no Brasil desde 1917, quando iniciou suas operações como Banco Holandês da América do Sul, com escritórios nas cidades de Santos e Rio de Janeiro. Em 1998, o ABN AMRO Brasil adquiriu o Banco Real, uma das maiores instituições financeiras do Brasil na época.

Em 2004, o ABN AMRO Brasil apresentou um lucro líquido de R$ 1.237.000.000 e encerrou esse mesmo ano com: 9.200.000 clientes, 1.890 agências e postos de atendimentos bancários, 8.179 máquinas de auto-atendimento e 28.571 funcionários (BANCO REAL, 2005).

Os trabalhos de pesquisa junto ao ABN AMRO Brasil consistiram em diversas entrevistas e reuniões presenciais e não-presenciais com os profissionais da área de Arquitetura e Infra-estrutura Corporativa do ABN AMRO Brasil. Esta área não só é a responsável pela definição de padrões da SOA, como também pela construção e evolução do barramento de serviços, a serem discutidos na próxima seção.

Houve intensa pesquisa documental, tanto de relatórios técnicos como de documentos de negócios, tanto do período de estruturação e concepção da idéia, do business plan utilizado para convencimento da organização, até as diretrizes atuais para operação e evolução da SOA.

5 - INTRODUÇÃO DA SOA NO ABN AMRO BRASIL

Objetivando atender a diversidade de preferências e necessidades de seu grande contingente de clientes, o ABN AMRO Brasil foi, ao longo dos últimos anos, disponibilizando seus serviços financeiros por intermédio de diversos canais de comunicação. São ainda pioneiros nos sistemas de informação na rede de caixas das agências bancárias para uma diversidade de outros canais: pontos de auto-atendimento (quiosques) em locais de conveniência aos usuários, páginas na Internet (Internet banking), correio eletrônico (e-mail banking), telefone (call center), mensagem de texto via celular (WAP) e gerentes que se deslocam até a localidade do cliente (gerente volante).

Nem todos os canais disponibilizam todos os tipos de serviços, como também há diferentes agrupamentos destes num mesmo canal, em função do tipo de cliente que os utilizam, por exemplo, se pessoa física ou jurídica.

Os serviços financeiros ofertados apresentam um histórico de forte envolvimento do uso de softwares. Os serviços mais utilizados foram os primeiros a receberem investimentos em termos de desenvolvimento de sistemas de informação para sua operação e gerenciamento. Assim, os serviços financeiros mais utilizados hoje são os que empregam os sistemas de informação mais amplamente testados, revisados e também de maior longevidade; há sistema em operação cujo desenvolvimento inicial data do início da década de 70. Cabe ressaltar que a arquitetura destes sistemas é composta por um grande e complexo application frontend, que coordena chamadas às diversas funções, todas "empacotadas" dentro do próprio application frontend, constituindo um grande bloco de código fonte (sistema monolítico).

Devido aos requisitos de alto volume de transação, segurança e desempenho computacional, já demandados três décadas atrás, fizeram com que os principais serviços financeiros tivessem seus sistemas de informação desenvolvidos na plataforma computacional de grande porte (mainframe). As tecnologias empregadas para construção dos sistemas de informação foram: linguagem de programação COBOL e PL1, ambiente transacional CICS e armazenamento de dados em DB2 e ADABAS. Ao longo dos anos foram sendo desenvolvidos e aprimorados diversos sistemas de informação que passaram a implementar todos os serviços financeiros do banco, entre estes, destacam-se os seguintes sistemas: conta-corrente, poupança, investimentos, pagamentos e empréstimos.

O amplo uso dos principais serviços financeiros nos diversos canais de comunicação fez com que os sistemas de informação utilizados em suas operações tivessem que estar disponíveis e operantes junto aos diferentes canais de interação com os clientes do banco.

Os diferentes canais de comunicação foram sendo disponibilizados aos clientes gradativamente ao longo do tempo. À medida que cada novo canal de comunicação era disponibilizado, repetiam-se os esforços de integração dos diversos sistemas de informação, que implementavam cada um dos principais serviços financeiros, com o software de interatividade específico do novo canal de interação que vinha sendo disponibilizado. Exemplificando, ao desenvolver a solução de software do Internet banking, em 1999, construiram-se, além das páginas para interação de usuários via web (application frontend), diversos recursos de software necessários para integrar a solução com cada um dos diversos sistemas de informação que executam cada um dos serviços ofertados no Internet banking.

Esta repetição de esforços para integrar múltiplos sistemas de informação a múltiplos canais foi um dos motivadores para implementação da SOA no ABN AMRO Brasil. Neste primeiro momento, prevaleceu a necessidade de compartilhar recursos - sistemas de informação - com baixo acoplamento e de fácil reutilização destes perante os diversos canais. Assim, desenvolveu-se um projeto inicial para construção de uma SOA fundamental, em que os sistemas de informação foram compreendidos como serviços básicos e os softwares desenvolvidos para cada canal como sendo os application frontend.

5.1 - Construção da "SOA fundamental"

Uma premissa importante adotada pelo ABN AMRO Brasil em 1999 quando do planejamento e construção da SOA fundamental é que os sistemas críticos do banco continuariam operando no ambiente computacional de grande porte (mainframe) com ambiente transacional CICS e que, portanto, o barramento de serviços também deveria, por essa razão, ser disponibilizado no ambiente computacional de grande porte.

O ABN AMRO Brasil optou por construir seu próprio barramento de serviços, o qual recebeu o nome de JAS/MCI, acrônimos de Java Application Server e Multi Channel Interface. Na época, analisou-se a opção de compra de barramento de serviços na forma de soluções prontas, "pacotes" de software, ferramentas denominadas de middleware ou EAI (Enterprise Application Integration) pela indústria de software.

No entanto, as soluções analisadas foram identificadas como sendo muito orientadas à plataforma baixa, em especial aos sistemas operacionais Windows e UNIX, com muito direcionamento para aplicações no ambiente Internet, o que não era o foco do ABN AMRO Brasil, cujo desafio era integrar um conjunto de sistemas de informação totalmente residente na plataforma alta (mainframe).

O MCI foi construído utilizando a linguagem de programação COBOL e o sistema de controle de transações CICS, enquanto que o JAS foi desenvolvido inicialmente em C++ e posteriormente desenvolvido na linguagem de programação JAVA, seguindo o padrão J2EE. O MCI é o barramento de serviços, principal meio de acesso a todos os serviços básicos (sistemas de informação) residentes no mainframe, enquanto que o JAS conecta os diversos application frontend, construídos em plataforma baixa e disponibilizados via ambiente Internet. A proposta desse conjunto de softwares, muito bem sucedida, foi de reutilizar e compartilhar os sistemas de informação do banco em diferentes canais, permitindo, inclusive aos usuários finais, utilizá-los via os modernos e práticos recursos do ambiente Internet. A visão geral da estrutura JAS/MCI está descrita na Figura 1.


O barramento de serviços JAS/MCI entrou em operação em 2000. A tecnologia de integração predecessora era bastante simplificada, uma vez que todos os sistemas de informação que implementavam os serviços bancários e dois dos três softwares de canais existentes até então - caixa e auto atendimento - estavam hospedados na mesma plataforma computacional e utilizavam do mesmo protocolo de comunicação: SNA LU2, o que proporcionava muitas facilidades como, por exemplo, terminais emularem o ambiente mainframe. O terceiro canal disponível na época, o call center, já acedia aos diversos serviços por intermédio de componentes de integração.

O fato que definiu a necessidade da construção de um barramento de serviços, que pudesse interligar de forma eficaz todos os serviços bancários a todos os atuais e futuros canais disponíveis aos clientes, surgiu pela necessidade da introdução de mais um novo canal de comunicação com clientes: o canal Internet, denominado de Internet Banking. Este exigia a comunicação bi-direcional entre a baixa plataforma, onde operavam os clientes por intermédio de seus computadores pessoais conectados à Internet, e o ambiente mainframe, em que residiam os sistemas de informação, que implementavam os serviços bancários. Desde então, o barramento de serviços JAS/MCI tem evoluído constantemente, fundamentado nos princípios da reutilização defendidos pela orientação a serviços.

Atendendo ao propósito de apresentar os estágios evolutivos do ABN AMRO Brasil com relação à adoção da SOA, apresenta-se na seção seguinte, um exemplo de reutilização de serviços básicos por outros serviços, compondo um serviço intermediário. É importante lembrar que a presença dos serviços intermediários caracteriza o segundo estágio de maturidade da SOA, denominado de SOA em rede.

5.2 - Evolução para "SOA em rede"

Para ilustrar a agregação entre serviços básicos compondo serviços mais sofisticados, rotulados de "serviços intermediários", característica típica do segundo estágio de maturidade da SOA, denominada "SOA em rede", apresentar-se-á nessa seção a descrição da lógica operacional exigida para uma transação de negócio do ABN AMRO Brasil e, na seqüência, a descrição de como os serviços básicos disponíveis na SOA se compõem para operacionalizar tal transação.

A transação de negócio a ser analisada é a "transferência de valor entre contas" que caracteriza um dos serviços disponíveis na SOA. A transação como um todo pode ser subdividida em dois subprocessos: "autorizar a transação" e "efetivar transferência". A seguir são descritas as atividades realizadas nestes dois subprocessos.

Subprocesso "autorizar transação":

1ª atividade - verificar saldo da conta-corrente a ser debitada, ou seja, da conta-corrente origem do recurso financeiro a ser transferido;

2ª atividade - verificar status da conta-corrente a ser debitada, se há algum bloqueio de movimentação de valores assinalado naquela conta-corrente, por exemplo, conta bloqueada judicialmente, conta paralisada por mais de 180 dias, entre outras situações que possam bloquear a movimentação de valores de uma conta-corrente;

3ª atividade - verificar os limites de transferências; há um limite máximo para o total a ser transferido no dia como também há limites específicos para cada um dos tipos de canais utilizados por questão de segurança. Assim, há um limite específico para o Internet banking, um limite para transferências via call center e outro limite para transferências realizadas junto ao caixa da agência.

Subprocesso "efetivar transferência":

1ª atividade - gravar em um arquivo os dados necessários para execução da transferência autorizada; este arquivo no final do dia será o insumo ("input") para um sistema que processa lotes de dados (sistema batch);

2ª atividade - realizar transferência, ou seja, executar o sistema batch que transmite às demais instituições financeiras os dados sobre transferências solicitadas pelos correntistas do ABN AMRO Brasil.

Os serviços da SOA utilizados para operacionalização do subprocesso "autorizar transação" estão descritos na Figura 2.


Note que há um serviço básico para cada uma das três atividades descritas textualmente para o subprocesso; o serviço básico "gerador de código transação" é especifico para o acompanhamento e segurança da transação, essencial para futuras auditorias que se façam necessárias.

Para que se possa ter uma análise estruturada e fundamentada dos ganhos aferidos ao ABN AMRO Brasil pelo alcance do segundo estágio de maturidade da SOA - "SOA em rede" - é necessário se resgatar alguns dos princípios da qualidade de software. Das percepções inicias de Pressman (2004) sobre qualidade de software, aos atuais pesquisadores, como Ghezzi, Jazayeri, Mandrioli (2002), é possível derivar alguns importantes fundamentos da engenharia de software: decomposição do software, permitindo lidar com toda complexidade; generalização, para reutilização e redução de custos; flexibilização, para permitir mudanças e a evolução do software; formalismo, útil para redução de inconsistências; e abstração, para se considerar o que é importante descartando detalhes.

No caso do ABN AMRO Brasil, atingir o estágio de maturidade "SOA em rede" proporcionou o alcance de alguns benefícios inerentes ao software de qualidade, conforme depoimentos, observações e constatações realizadas durante a pesquisa. Seguem descrições de alguns dos fatos que corroboram com essa afirmação:

  • Os serviços básicos apresentam um nível de generalização bastante apropriado, proporcionando aos desenvolvedores de sistemas de informação fácil compreensão da função e finalidade de cada um deles, o que resulta em ampla reutilização desses. Como exemplo, podemos citar o serviço básico "verificador de saldo de conta-corrente" utilizado por todos os serviços que gerem débito em Conta-corrente, como: transferências, docs, aplicações, pagamentos, entre outros. Este serviço apresenta mais de 100 milhões de acessos durante o mês. O serviço intermediário "autorizador de transação" é o mesmo utilizado pelas transações de: transferência de valor entre contas, pagamentos de contas, aplicações, resgates, ou seja, todos os serviços que geram movimentação financeira nas contas dos clientes. O serviço básico "gerador de código transação" também é utilizado pelos diversos sistemas de informação do banco que geram transações;

  • A flexibilização quanto à manutenção e evolução do sistema está assegurada por várias razões, seja por ter compartimentos bem definidos (boa decomposição), que facilitam a pesquisa e alteração somente dos objetos pertinentes, seja por isolar tais compartimentos entre si, ou seja, não gerar impedância entre eles. No caso da "transferência de valor entre contas", ilustrada pela

    Figura 2, os serviços intermediários "conector transferências para canais Internet" e "conector transferências para canais Mainframe" retratam bem essa característica. Caso a organização substitua o serviço "autorizador de transação", ou seja, troque o software que o implementa, tal mudança não seria percebida pelos quatro

    applications frontend que os acionam. Os únicos objetos a serem alterados seriam os dois conectores representados como serviços intermediários.

6 - LIÇÕES APRENDIDAS COM A EXPERIÊNCIA DA SOA NO ABN AMRO BRASIL

O histórico de aplicação dos recursos de tecnologia da informação na entrega de um conjunto de serviços bancários por meio de diferentes canais de comunicação é um desafio típico das instituições financeiras, independente de continente ou de aspectos culturais, conforme pode se observar no texto de Homann, Rill e Wimmer (2004, p. 34, tradução nossa):

"O segmento bancário tem sido tradicionalmente um negócio altamente integrado, onde as instituições financeiras distribuem exclusivamente produtos desenvolvidos por si mesmas, através de canais proprietários, com todo suporte e operacionalização das transações de negócios realizadas dentro dos seus limites."

Os autores apontam que nos últimos anos ocorreu uma profunda alteração na forma das instituições financeiras em arquitetar seus novos sistemas de informação, salientando a predileção dessas pela SOA. Apontam como principal razão a desagregação de suas cadeias de valor ("desverticalização") ocorrida pelo foco em suas atividades fins, pela terceirização das demais atividades e pela criação de várias unidades funcionais autônomas que acabam por envolver diferentes softwares operando em diferentes plataformas computacionais.

Para ter flexibilidade para conexão dos softwares de terceiros aos seus processos de negócios, a maioria das instituições bancárias adotou a SOA como meio de substituição das tradicionais tecnologias para integração entre sistemas de informação, ou seja, introduziram a SOA fundamental (BLUMBERG, apud BIELSKI, 2005, p. 62).

As instituições bancárias com maior experiência na utilização da SOA a compreendem e a utilizam de forma mais ampla e estratégica; entre elas se destaca o ABN AMRO:

"... bancos como Wells Fargo, Citigroup, Bank of America, Washington Mutual, e ABN AMRO deram saltos tecnológicos maiores, adotando a SOA como um sistema mais amplo, como uma estratégia de operação bem-organizada." (BLUMBERG, apud BIELSKI, 2005, p. 62).

Os conteúdos das pesquisas de BIELSKI (2005), HOMANN, RILL e WIMMER (2004) evidenciam a vanguarda da arquitetura de software corporativo do ABN AMRO Brasil, considerando que, desde o ano de 2000, a instituição já integrava seus serviços bancários aos diferentes canais de acesso disponíveis aos seus clientes por meio de um barramento de serviços.

A análise da experiência do ABN AMRO Brasil com a construção e operação do JAS/MCI caracteriza vários aspectos importantes de serem observados pelos gestores dos recursos de tecnologia da informação que desejam implementar a arquitetura de software orientada a serviços (SOA). Alguns desses aspectos são descritos a seguir.

Observou-se que a implementação da SOA no ABN AMRO Real seguiu os estágios evolutivos definidos por Krafzig, Banke e Slama (2004). Inicialmente, introduziu-se a SOA fundamental, objetivando resolver problemas de integração entre sistemas de informação. Posteriormente, evolui para SOA em Rede, obtendo ganhos de flexibilidade na construção de softwares por intermédio da reutilização de componentes já disponíveis. Esta ação resulta, inclusive, em applications frontends menores em tamanho e complexidade, por ter parte do seu software original transformando-se em serviços disponíveis a todos os demais sistemas de informação.

A introdução da SOA, seguindo essa ordem, é interessante por gerar resultados rapidamente (resolução de problemas relativos à integração entre sistemas de informação), dando maior respaldo e tranqüilidade à equipe de implementação para evoluir aos estágios seguintes da SOA (SOA em Rede e SOA Habilitadora de Processos). Estágios estes que requerem mais tempo para resultar em ganhos perceptíveis ao negócio. Assim, temos como lição aprendida: a SOA fundamental é um estágio que deve ser percorrido por aqueles que se iniciam na SOA, não só por mostrar resultados em um curto espaço de tempo e dar respaldo à iniciativa como um todo, mas também por ser um bom estágio para aprendizagem e vivência nos principais fundamentos da arquitetura SOA.

Outro aspecto importante a se destacar é que a introdução da arquitetura de software orientada a serviços não implica na obrigatoriedade de se comprar um software que implemente o barramento de serviços, ou seja, na aquisição de um middleware ou EAI. A organização pode construir seu próprio barramento de serviços, como o fez o ABN AMRO Brasil. Entre as vantagens dessa abordagem estão: (a) a redução de custo total da solução, em função da não compra da ferramenta (licenças de uso) e dos custos inerentes ao treinamento e consultoria para implementação da mesma; (b) maior compreensão da organização quanto às funcionalidades e características requeridas a um barramento de serviços, uma vez que ela irá desenvolvê-la; (c) melhor adequação da ferramenta ao ambiente computacional da organização, uma vez que será construído sob-medida às necessidades da empresa.

Quanto menor a diversidade tecnológica dos sistemas de informação a serem integrados e das plataformas tecnológicas onde estes estão sendo processados, mais atrativa se torna a opção pela construção de um barramento de serviços próprio. No caso do ABN AMRO Brasil, a maior parte dos sistemas de informação foram desenvolvidos internamente, utilizando-se de um conjunto de tecnologias padronizadas pela área de Arquitetura e Infra-estrutura Corporativa: COBOL, PL1, CICS, DB2 e ADABAS. Além disso, a grande maioria destes sistemas era processada na plataforma mainframe, excetuando-se apenas alguns applications frontends que residiam em outras plataformas.

Estas lições aprendidas com a experiência do ABN AMRO Brasil constituem aspectos importantes de serem observados pelas instituições que pretendam iniciar-se na SOA, o que remete ao objetivo primário da pesquisa, descrito no capítulo quatro, plenamente atingido pela presente pesquisa.

A forte demanda por integração entre sistemas de informação no ambiente bancário, caracterizada por um conjunto de serviços entregues em diferentes canais, constitui um contexto apropriado para discussão da introdução e evolução da SOA nas organizações. Primeiro, por se tratar de um cenário compreensível ao público leitor, que em sua grande maioria utiliza-se cotidianamente de tais recursos; segundo, por apresentar uma demanda de integração muito bem definida; terceiro, por se tratar de um segmento com um nível de maturidade tecnológica, em termos de arquitetura de software, acima da média dos demais segmentos. Desta forma, o caso analisado - de introdução e evolução da SOA no ABN AMRO Brasil - é aplicável à comparação e extrapolação da realidade estudada para o contexto de outras organizações ou de outros segmentos de negócios, colaborando, assim, para um processo de melhor compreensão da SOA no contexto das corporações brasileiras. Vale relembrar que este era o objetivo secundário da presente pesquisa e que também foi plenamente atingido.

7 - CONCLUSÕES FINAIS

Para que se possa concluir esse texto com um entendimento abrangente sobre o potencial da SOA em termos de agregação de valor aos negócios, entendendo-a como recurso estratégico ao aumento da competitividade das organizações, descreve-se uma polêmica recente, ocorrida nos meios acadêmicos e organizacionais, sobre a importância estratégica da tecnologia da informação (TI) aos negócios.

A discussão foi motivada pela publicação do artigo de Nicholas Carr (2003): IT doesn't matter. Neste artigo, o autor define os recursos de TI como commodity, ou seja, recurso não estratégico em função destes estarem disponíveis a todas as organizações. Muitos questionaram essa posição, Keen, por exemplo, refutou-a afirmando:

"Quando todas as empresas têm, essencialmente, acesso aos mesmos recursos de tecnologia da informação, a diferença competitiva e os benefícios econômicos que as empresas possam ganhar reside no gerenciamento da TI e não nas diferenças tecnológicas" (KEEN, apud DEVARAJ e KOHLI, 2002, p. 20, tradução nossa).

Analisando a posição de Carr e de seus detratores, nota-se que não há discordância na essência das idéias. Há de se considerar e ressaltar a definição utilizada por Carr para TI, declarada em uma pequena nota de rodapé, apresentada na última página do seu polêmico artigo:

"'Tecnologia da informação' é um termo confuso. Nesse artigo, ele é utilizado em seu senso comum, denotando as tecnologias utilizadas para processar, armazenar e transportar informações no formato digital." (CARR, 2003, p.49, tradução nossa).

Como o próprio Carr aponta, a definição do termo TI é bastante confusa e pode ser entendida de muitas formas conforme a experiência de cada leitor. Muitos dos reacionários não devem ter lido a discreta nota de rodapé do artigo de Carr ou, se a leram, não a interpretaram conforme o autor.

Muitos autores já vinham trabalhando com a mesma idéia de Carr, o simples fato das organizações investirem na compra de tecnologias de processamento (CPUs embarcadas em computadores servidores ou clientes), meios de armazenamento (unidades de discos, fitotecas robotizadas) e meios para o transporte de informações (rede de dados, serviços de transporte como o EDI) não resolve mais os grandes desafios destas, muito menos apresenta potencial para ser considerada um recurso estratégico.

O entendimento de Keen, que o valor estratégico da TI está na forma de gerenciar os seus diversos componentes, é o mesmo de outros autores. Meehan (2002), por exemplo, entende que a missão principal das áreas de TI das grandes corporações deslocou-se da entrega de novos sistemas de informação para integração dos diversos sistemas de informação já existentes. Muitos destes novos sistemas foram introduzidos ao longo dos últimos anos, parte deles motivados pelo temor ao "bug do milênio". O fato é que nunca se presenciou tanta quantidade e diversidade de sistemas de informação nas organizações.

Uma análise detalhada dos autores que discutem o futuro da TI nas organizações aponta para duas linhas bastante distintas, porém coerentes: (a) os investimentos realizados na compra de recursos de TI ao longo dos últimos anos, sobretudo sistemas de informação, geram, sob a perspectiva de negócios, resultados cada vez mais pontuais e de menor importância, sendo essa uma abordagem a ser desconsiderada pelas organizações; (b) há muito mais a fazer do que simplesmente comprar e disponibilizar recursos de TI à organização; há um grande e difícil trabalho de harmonizar todos esses recursos, de forma que eles sejam capazes de acompanhar a evolução e o dinamismo das organizações.

Resumindo, a abordagem tradicional para gestão da TI não é mais capaz de produzir vantagens estratégicas à organização. A vantagem estratégica, fortemente fundamentada em recursos de TI, ainda pode ser alcançada, desde que se adote uma outra abordagem para sua gestão. Nesse aspecto, a discussão da arquitetura de software, em especial da SOA, é bastante apropriada. Ela direciona a atenção gerencial, historicamente dedicada à construção de software, para a harmonização, para arquitetura de cada sistema de informação considerando-se o todo.

O entendimento dos conceitos, dos componentes e da importância da arquitetura de software aos negócios é fundamental aos administradores de sistemas de informação, tanto para que eles tenham o conhecimento necessário, quanto para se motivarem na adoção de uma nova abordagem para gestão dos recursos de TI. Neste contexto, a pesquisa sobre a implementação da SOA no ABN AMRO Brasil é prodigiosa na discussão e apresentação de conhecimentos capazes de provocar nos administradores de sistemas de informação e nos pesquisadores da área de administração de sistemas de informação o insight necessário para se considerar uma nova abordagem para gestão dos recursos de TI.

Profa. Dra. Bernadete de Lourdes Marinho

Universidade de São Paulo (USP)

Depto de Administração FEA-USP

Av. Prof. Luciano Gualberto, 908

São Paulo/SP, CEP 05508-900

Fone e Fax: (11) 3815-6189

e-mail: marinhoy@usp.br

Marcio Nagy

ABN AMRO Bank Brasil

Departamento de Arquitetura e Infra-estrutura Corporativa

Av. Paulista, 1374

São Paulo/SP, CEP 01310-916

Tel.: (11) 4523-1419

Fax: (11) 4523-1419

e-mail: marciog@br.abnamro.com

Recebido em: 19/12/2005

Aprovado em: 30/04/2006

  • BASS, Len; CLEMENTS, Paul; KAZMAN, Rick. 2. ed. Software Architecture in Practice Addision-Wesley, 2003.
  • BANCO REAL. Quem somos. Banco Real Portal Brasil Disponível em: <http://www.bancoreal.com.br>. Acesso em: 4 out. 2005
  • BIELSKI, Lauren. Breakout systems and applications give bankers new options. American Bankers Association: ABA Banking Journal, New York; v. 97, n. 6, p. 61-65, jun. 2005.
  • BUTLER Group. Application integration management guide Butler Group, 1999. Disponível em: < http://www.researchandmarkets.com/reports/>. Acessado em: jan. 2001.
  • CARR, Nicholas G. IT doesn't matter. Harvard Business Review, Boston, v.81, n.5, p.41-49, May 2003.
  • CUMMINS, Fred A. Enterprise integration: an architecture for enterprise application and systems integration Nova York: John Wiley & Sons, 2002.
  • DE SORDI, José O. Gestão por processos: uma abordagem da moderna administração São Paulo: Saraiva, 2005.
  • DEVARAJ, Sarv; KOHLI, Rajiv. The IT payoff: measuring the business value of information technology investments New Jersey: Prentice Hall, 2002.
  • FOWLER, Martin. Patterns of Enterprise Architecture Addision-Wesley, 2002.
  • GARTNER. Service-Oriented Architecture: Mainstream Straight Ahead Gartner, apr. 2003. Disponível em: <http://www.gartner.com/pages/story.php.id.3586.s.8.jsp>. Acessado em: nov. 2005.
  • GHEZZI, Carlo; JAZAYERI, Mehdi; MANDRIOLI, Dino. Fundamentals of Software Engineering. 2. ed. Indianapolis: Prentice Hall, sep. 2002.
  • HOMANN, Ulrich; RILL, Michael; WIMMER, Andreas. Flexible Value Structuers in Banking, Association for Computing Machinery: Communications of the ACM, New York; v. 47, n. 5, p. 34-36, mai. 2004.
  • KRAFZIG, Dirk; BANKE, Karl; SLAMA, Dirk. Enterprise SOA: Service-Oriented Architecture Best Practices Indianapolis: Prentice Hall, 2004
  • MEEHAN, Michael. IT Managers Make EAI Projects a Top Priority. ComputerWorld, fev. 2002.
  • PRESSMAN, Roger S. Software Engineering: a practitioner's approach 6. ed. New York: McGraw-Hill, 2004.
  • RUH, A.William; MAGINNIS, Francis X. BROWN, William J. Enterprise application integration Nova York: John Wiley & Sons, 2001.
  • YIN, Robert K. Case study research: design and methods 2. ed. California: Sage Publications Inc., 1994.
  • Endereço para correspondência:

    Prof. Dr. José Osvaldo De Sordi
    Universidade Católica de Santos
    Depto Pesq. Mestrado em Gestão de Negócios
    Rua Dr. Carvalho de Mendonça, 144
    Santos/SP, CEP 11070-906
    Tel.: (13) 3226-0504
    Fax: (13) 3226-0500
    e-mail:
  • Datas de Publicação

    • Publicação nesta coleção
      21 Fev 2011
    • Data do Fascículo
      2006

    Histórico

    • Aceito
      30 Abr 2006
    • Recebido
      19 Dez 2005
    TECSI Laboratório de Tecnologia e Sistemas de Informação - FEA/USP Av. Prof. Luciano Gualberto, 908 FEA 3, 05508-900 - São Paulo/SP Brasil, Tel.: +55 11 2648 6389, +55 11 2648 6364 - São Paulo - SP - Brazil
    E-mail: jistemusp@gmail.com