|
SOA - viabilizando Redes de Negócios e Redes de Empresas
A nova realidade das organizações empresariais impõe mecanismos de colaboração e network analysis na gestão operacional dos seus negócios. O desenvolvimento das comunicações e a concorrência não envolvem mais atualmente, apenas os aspectos de preços e custos, mas também abrangem a criação de novos mercados, diversificação dos modelos, produtos altamente customizáveis e personalizáveis, etc.. Estas mudanças estão induzindo a uma vasta gama de alianças entre as empresas, com diversos modelos de parcerias formalizadas contratualmente ou de caráter puramente informais.
Essas relações consorciadas e cooperativadas vão assumindo novo papel e adquirindo grande importância no panorama econômico contemporâneo para as empresas manterem suas posições no mercado e ao mesmo tempo crescerem. Uma empresa pode expandir-se por via interna ou por via externa. O caminho do crescimento interno requer investimentos em áreas estratégicas, reestruturação, reorganização interna, racionalização da produção, desenvolvimento de novos produtos, modernização dos equipamentos, reforço da gestão de conhecimento interno, etc.
Tudo isso pode tornar-se extremamente oneroso e arriscado porque pode deixar de gerar um retorno satisfatório no curto e médio prazo. Como alternativas à organização interna, surgem para as empresas possibilidades de vincularem-se a organizações externas independentes tais como institutos e centros de pesquisas, laboratórios especializados, pesquisadores individuais e outros, ou aliarem-se de forma cooperativa a outras empresas complementares ou até mesmo concorrentes.
Neste contexto de grandes desafios, a aplicação de Arquiteturas Orientadas a Serviços – SOA (Service-Oriented Architecture) pode ser amplamente empregada para possibilitar integrações e comunicações entre as diversas soluções de softwares internos de cada empresa, e principalmente, com outros sistemas externos específicos das empresas parceiras, fornecedores e clientes, criando-se assim um novo paradigma de organização utilizando-se ao máximo as capacidades distribuídas de TI em aplicações coorporativas e supra-coorporativas através do “empacotamento” de funções de negócios, de novas aplicações ou aplicações pré-existentes, viabilizando-se e potencializando-se estes negócios consorciados ou cooperativados.
Um caso de sucesso de aplicação SOA, que está em pleno processo de implantação em larga escala no Brasil, e cuja solução tem se mostrado bastante eficiente é o processo de implementação das Notas Fiscais Eletrônicas (NFe), Escrituração Contábil Digital e Escrituração Fiscal Digital (SPED Fiscal e Contábil), integrando-se através de uma arquitetura de colaboração, empresas de todos os portes com as diversas Secretarias de Fazendas dos governos estaduais e com a Receita Federal.
Podemos fazer uma analogia entre SOA com o dia-a-dia da realidade de cada um de nós, onde não somos auto-suficientes e precisamos a cada momento de buscar serviços em fornecedores ou provedores especializados, desde uma companhia telefônica, até um encanador quando nos deparamos com um vazamento de uma tubulação, ou um técnico de conserto de uma máquina de lavar-roupa, um eletricista, um cabeleireiro ou uma corretora de bolsa de valores para aplicarmos nossas economias em renda variável. Estes provedores nos fornecem os serviços especializados de cada uma de suas áreas, suprindo-nos dos diversos serviços conforme nossas necessidades a cada uma das circunstancias do dia-a-dia.
Da mesma forma, os sistemas de informações por mais que possam ser integrados e tidos como “auto-suficientes”, carecem de mudanças freqüentes, quer por alteração de legislação, quer por novas políticas e estratégias empresariais, criação de novas linhas de produtos, análises da concorrência, etc. A utilização de SOA, com certeza, se tratada com toda a atenção necessária, vai minimizar os custos e impactos futuros de mudanças em uma ou mais áreas críticas das empresas, dando as elas maior agilidade e capacidade de realização de novos negócios.
Com a informação adequada no momento certo, as chances de sucesso de uma nova iniciativa podem crescer de maneira gigante, e podem levar a que ações tomadas de formas rápidas e ágeis, não obriguem as empresas necessariamente terem também ações de custos exorbitantes.
O conceito de Arquitetura Orientada a Serviços pode ser entendido como uma visão integrada e colaborativa da organização como um todo, passando pelos seus processos, sistemas de informação, gestão e ambiente, visando suportar todas as operações da empresa em um processo contínuo de alinhamento com seus negócios e estratégias;
Pode-se dizer que SOA é uma arquitetura para computação distribuída que trata o software como serviços disponibilizados através de redes, e em especial a Internet.
Os conceitos de SOA não são grandes novidades e já são utilizados há bastante tempo, pois já havia padrões de arquiteturas distribuídas antes do mesmo ser concebido, tais como RMI, CORBA, DCOM e outros com arquiteturas proprietárias ou não. Mas foi a simplicidade e os padrões abertos do SOA, que está possibilitando implementações cada vez mais freqüentes de computação distribuída nos mais diferentes segmentos da indústria, comércio e serviços. Conforme uma síntese de diversos autores publicada em trabalhos por Leonardo Gonçalves Silva e Rogério Rondini, pode-se dizer que SOA é uma arquitetura de sistemas distribuídos caracterizada pelas seguintes propriedades:
Visão Lógica: O serviço é uma visão abstrata e lógica de programas, bancos de dados, processos de negócio, entre outros, definido em termos do que ele faz, tipicamente executando uma operação de negócio.
Orientação à mensagem: O serviço é formalmente definido em termos das mensagens trocadas entre agentes fornecedores e agentes consumidores. A estrutura interna e a implementação são propositalmente abstraídas. Usando a disciplina de SOA, um usuário não pode e não deveria precisar conhecer detalhes de implementação de um agente.
Orientação à descrição: Um serviço é descrito por meta-dados processáveis por máquinas. Apenas os detalhes expostos ao público que são importantes para o uso do serviço devem ser descritos. A semântica do serviço deve ser documentada direta ou indiretamente por sua descrição.
Granularidade: Os serviços tendem a usar um número pequeno de operações com uma complexidade relativamente grande nas operações realizadas.
Orientação à rede: Os serviços podem ser usados através de uma rede, embora isso não seja obrigatório.
Neutralidade da plataforma: As mensagens são enviadas em formato padronizado independente de plataforma através das interfaces. XML é o formato mais óbvio que atende a essa restrição.
MSc. Geraldo José Cecilio: é Mestre em Engenharia da Computação pela USP/IPT, 2004; Especialista em Electronic Commerce pela Carnegie Mellon University Pittsburgh, PA - USA, 2001; Software Engineering Process Quality Improvement e CMMI Staged and Continuous, ITS e LIVEWARE, INC (Austin, Texas, USA), 2004-2005. Possui mais de 20 anos de experiência em Desenvolvimento de Software e Gerenciamento de Projetos, incluindo o desenvolvimento de diversos softwares de missão crítica e P&D em importantes companhias (Philips, Itautec-Philco, Compaq, Alcatel, Consist e Grupo Abril), e Institutos de Pesquisas onde atuou como Pesquisador Sênior na área de software: IPT - Instituto de Pesquisas Tecnológicas (em São Paulo e Manaus) e ITS - Instituto de Tecnologia de Software. Entre os principais softwares desenvolvidos destacam-se: Sistemas de Automação Bancária, Automação Comercial, Automação Industrial, ERPs e Sistema de Loterias da Caixa Econômica Federal, entre outros. Atualmente é Diretor-Presidente da W3PRO S/A PROFESSIONAL SOFTWARE SOLUTIONS e consultor do ITS.
|