KEYWORDS: Software Architecture; Integration between Information Systems; Service Orientation; Banks; Banking Services. - PDF
KEYWORDS: Software Architecture; Integration between Information Systems; Service Orientation; Banks; Banking Services.
Download "KEYWORDS: Software Architecture; Integration between Information Systems; Service Orientation; Banks; Banking Services."
Talita Cavalheiro Gameiro
1 Revista de Gestão da Tecnologia e Sistemas de Informação Journal of Information Systems and Technology Management Vol. 3, No. 1, 2006, p ISSN online: 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 Sordi Universidade Católica de Santos Profa. Dra. Bernadete de Lourdes Marinho Universidade de São Paulo Marcio Nagy ABN AMRO Bank Brasil ABSTRACT RESUMO 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. 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. Recebido em/manuscript first received: 19/12/2005 Aprovado em/manuscript accepted: 30/04/2006 Endereço para correspondência/ Address for correspondence 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, Santos/SP, CEP Tel.: (13) Fax: (13) 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 Fone e Fax: (11) Marcio Nagy ABN AMRO Bank Brasil - Departamento de Arquitetura e Infra-estrutura Corporativa Av. Paulista, São Paulo/SP, CEP Tel.: (11) Fax: (11) ISSN online: Publicado por/published by: TECSI FEA USP 2006
2 20 Sordi, J., Marinho, B., Nagy, M. Palavras-chave: Arquitetura de Software; Integração entre Sistemas; Orientação a Serviços; Bancos; Serviços Bancários. 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). A finalidade 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, 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, encontra-se no quarto capítulo a caracterização do 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, são discutidas 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, debatido, 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 Revista de Gestão da Tecnologia e Sistemas de Informação/Journal of Information Systems and Technology Management
3 Benefícios da Arquitetura de Software Orientada a Serviços para as Empresas: Análise da Experiência do ABN AMRO Brasil 21 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-se 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. Mesmo 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 final (web applications, GUI applications, CICS applications etc) 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: Quadro 1 Tipificação de serviços encontrados na SOA ATRIBUTOS DOS SERVIÇOS Serviço Básico TIPOS DE SERVIÇOS Serviço Intermediário Serviço Centrado em Processo Serviço Empresarial Descrição Serviço simples centrado em dados ou lógica Conectores e adaptadores tecnológicos e serviços para adição de funcionalidades Encapsula a lógica do processo Serviço compartilhado com outras empresas ou parceiros Complexidade da implementação De baixa a moderada De moderada a alta Alta Específica de cada serviço Gerenciamento de Estado Não Não Sim Específica de cada serviço Reusabilidade Alta Baixa Baixa Alta Freqüência da Mudança Baixa De moderada a alta Alta Baixa Elemento Requerido ao SOA Sim Não Não Não Fonte: adaptado de Krafzig, Banke e Slama (2004) Vol. 3, No. 1, 2006, p
4 22 Sordi, J., Marinho, B., Nagy, M. 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. Seus maiores benefícios são os ganhos de manutenção com as aplicações internas de departamentos e com as aplicações entre departamentos; 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, independentemente das restrições tecnológicas. O application frontend torna-se menor e menos complexo que no SOA fundamental. Suas maiores vantagens 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 para 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. Ele 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 uma 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 Revista de Gestão da Tecnologia e Sistemas de Informação/Journal of Information Systems and Technology Management
5 Benefícios da Arquitetura de Software Orientada a Serviços para as Empresas: Análise da Experiência do ABN AMRO Brasil 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, colocando fim a mais de quarenta anos de desenvolvimento de software tradicional e suas arquiteturas de software monolítico (GARTNER, 2003) 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 com a chegada 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 é uma das principais habilitadoras 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 deles é 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, Vol. 3, No. 1, 2006, p
6 24 Sordi, J., Marinho, B., Nagy, M. 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 exigem 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 redigitação de dados de uma base ou de um sistema de informação para outra base ou sistema; Lentidão na 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, no momento da alteração destes meios legados de integração. 4 OPORTUNIDADE, OBJETIVO, MÉTODO E UNIVERSO DA PESQUISA Ao considerar: 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 da SOA no contexto de uma grande organização brasileira. Da percepção da oportunidade, derivou-se o objetivo primário da pesquisa: analisar uma experiência de implementação da SOA em uma grande corporação brasileira, com reconhecida tradição de investimentos de vanguarda na área de tecnologia da informação. Para assim, identificar aspectos importantes de serem observados durante a introdução da SOA em uma organização. A opção por escolher uma organização com reconhecida tradição em investimentos em tecnologia da informação deve-se 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. Ao ponderar o universo da pesquisa, apenas uma organização, definiu-se como objetivo secundário: a composição de um conjunto de informações suficientemente detalhados e significantes para que, não apenas se compreendam os conceitos básicos da SOA, mas também possam servir de comparação e extrapolação da realidade do caso estudado, para o contexto de outras Revista de Gestão da Tecnologia e Sistemas de Informação/Journal of Information Systems and Technology Management
7 Benefícios da Arquitetura de Software Orientada a Serviços para as Empresas: Análise da Experiência do ABN AMRO Brasil 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 em que haja poucos dados e teorias (YIN, 1994). Neste aspecto, o estudo de caso se aplica de forma muito oportuno ao estudo da SOA no contexto das organizações brasileiras, uma vez que pouco se conhece sobre seus fundamentos e 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 em 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$ e encerrou este mesmo ano com: clientes, agências e postos de atendimentos bancários, máquinas de auto-atendimento e 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 da instituição. 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 Com o objetivo de 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 ( 25 Vol. 3, No. 1, 2006, p
8 26 Sordi, J., Marinho, B., Nagy, M. 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 oferecidos 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 usados 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 de 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 em 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. Por exemplo, ao desenvolver a solução de software do Internet banking, em 1999, construíram, 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 oferecidos 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. Revista de Gestão da Tecnologia e Sistemas de Informação/Journal of Information Systems and Technology Management
9 Benefícios da Arquitetura de Software Orientada a Serviços para as Empresas: Análise da Experiência do ABN AMRO Brasil Construção da SOA fundamental Uma premissa importante adotada pelo ABN AMRO Brasil, em 1999, época em que se planejou e construiu a SOA fundamental, é quando 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 com o uso da 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, usá-los via os modernos e práticos recursos do ambiente Internet. A visão geral da estrutura JAS/MCI está descrita na Figura CANAIS DISPONÍVEIS (application frontends) MIDDLEWARE JAS/MCI (barramento de serviços) SISTEMAS DE INFORMAÇÃO (serviços básicos) Auto Atendimento Caixa de Agência REDE PRIVADA Conta Corrente Call Center Banking Gerente Volante Internet Banking REDE PÚBLICA J A S M C I Poupança Investimentos Pagamentos Empréstimos WAP outras plataformas computacionais plataforma computacional de grande porte (mainframe) Figura 1 Barramento de serviços JAS/MCI conectando diversos sistemas de informação, na forma de serviços básicos, a diversos canais de comunicação. Vol. 3, No. 1, 2006, p
10 28 Sordi, J., Marinho, B., Nagy, M. O barramento de serviços JAS/MCI entrou em operação em A tecnologia de integração anterior 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 o 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 da 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 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 sub-processos: autorizar a transação e efetivar transferência. A seguir são descritas as atividades realizadas nestes dois sub-processos: Sub-processo 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 Revista de Gestão da Tecnologia e Sistemas de Informação/Journal of Information Systems and Technology Management
11 Benefícios da Arquitetura de Software Orientada a Serviços para as Empresas: Análise da Experiência do ABN AMRO Brasil limite específico para o Internet banking, outro para transferências via call center e um terceiro para transferências realizadas junto ao caixa da agência. Sub-processo 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 sub-processo 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 sub-processo; 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. applications frontend 29 Caixa de Caixa de Agência Agência (CICS) (CICS) Call center Call center (CICS) (CICS) Gerente Gerente volante volante (HTML) (HTML) Internet Internet banking banking (HTML) (HTML) serviços intermediários Conector transfer. Conector transfer. valores p/ canais valores p/ canais Mainframe (MCI) Mainframe (MCI) Conector transfer. Conector transfer. valores p/ canais valores p/ canais Internet (JAS) Internet (JAS) Autorizador de Autorizador de transação transação transfer. (MCI) transfer. (MCI) serviços básicos Gerador de Gerador de código código transação transação Verificador de Verificador de saldo conta saldo conta corrente corrente Verificador de Verificador de status da status da conta corrente conta corrente Autorizador de Autorizador de limites para limites para transferência transferência Consultar Consultar limites limites permitidos permitidos Obter valores Obter valores já já transferidos transferidos no dia no dia Figura 2 Serviços acionados para execução da transação de negócio transferência de valor entre contas 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 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; Vol. 3, No. 1, 2006, p
12 30 Sordi, J., Marinho, B., Nagy, M. 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 a 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, independentemente 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 de arquitetar seus novos sistemas de informação, salientando a predileção dessas pela SOA. Indicam 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. Revista de Gestão da Tecnologia e Sistemas de Informação/Journal of Information Systems and Technology Management
13 Benefícios da Arquitetura de Software Orientada a Serviços para as Empresas: Análise da Experiência do ABN AMRO Brasil 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 destaca- se 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, com intuito de 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 resultou, 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 que requerem mais tempo para resultar em ganhos perceptíveis aos negócios. 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 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 31 Vol. 3, No. 1, 2006, p
14 32 Sordi, J., Marinho, B., Nagy, M. 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 foi desenvolvida 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, excetuandose apenas alguns applications frontends, que residiam em outras plataformas. Estas lições aprendidas com a experiência do ABN AMRO Brasil constituem aspectos relevantes 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 tratar-se de um cenário compreensível ao público leitor que, em sua grande maioria, utiliza-se cotidianamente de tais recursos. Segundo, apresenta uma demanda de integração muito bem definida. Terceiro, trata-se 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: Revista de Gestão da Tecnologia e Sistemas de Informação/Journal of Information Systems and Technology Management
15 Benefícios da Arquitetura de Software Orientada a Serviços para as Empresas: Análise da Experiência do ABN AMRO Brasil 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. Neste 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, considerandose 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. 33 Vol. 3, No. 1, 2006, p
16 34 Sordi, J., Marinho, B., Nagy, M. REFERÊNCIAS BASS, Len; CLEMENTS, Paul; KAZMAN, Rick. 2. ed. Software Architecture in Practice. Addision-Wesley, BANCO REAL. Quem somos. Banco Real Portal Brasil. Disponível em: < Acesso em: 4 out BIELSKI, Lauren. Breakout systems and applications give bankers new options. American Bankers Association: ABA Banking Journal, New York; v. 97, n. 6, p , jun BUTLER Group. Application integration management guide. Butler Group, Disponível em: < Acessado em: jan CARR, Nicholas G. IT doesn t matter. Harvard Business Review, Boston, v.81, n.5, p.41-49, May CUMMINS, Fred A. Enterprise integration: an architecture for enterprise application and systems integration. Nova York: John Wiley & Sons, DE SORDI, José O. Gestão por processos: uma abordagem da moderna administração. São Paulo: Saraiva, DEVARAJ, Sarv; KOHLI, Rajiv. The IT payoff: measuring the business value of information technology investments. New Jersey: Prentice Hall, FOWLER, Martin. Patterns of Enterprise Architecture. Addision-Wesley, GARTNER. Service-Oriented Architecture: Mainstream Straight Ahead. Gartner, apr Disponível em: < Acessado em: nov GHEZZI, Carlo; JAZAYERI, Mehdi; MANDRIOLI, Dino. Fundamentals of Software Engineering. 2. ed. Indianapolis: Prentice Hall, sep 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 , mai 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 PRESSMAN, Roger S. Software Engineering: a practitioner s approach. 6. ed. New York: McGraw-Hill, RUH, A.William; MAGINNIS, Francis X. BROWN, William J. Enterprise application integration. Nova York: John Wiley & Sons, YIN, Robert K. Case study research: design and methods. 2. ed. California: Sage Publications Inc., Revista de Gestão da Tecnologia e Sistemas de Informação/Journal of Information Systems and Technology Management
JISTEM: Journal of Information Systems and Technology Management E-ISSN: 1807-1775 tecsi@usp.br Universidade de São Paulo Brasil Sordi, José Osvaldo De; Marinho, Bernadete de Lourdes; Nagy, Marcio Benefícios
Integração de Sistemas: um estudo de caso do Sistema de Agendamento de Relatórios de uma Instituição Financeira RESUMO
Integração de Sistemas: um estudo de caso do Sistema de Agendamento de Relatórios de uma Instituição Financeira Luiz Henrique Santana 1 Leandro Libério da Silva 2 RESUMO Este artigo apresenta um estudo