Padrões Abertos, Componentização e SOA A chave para a evolução e criação de uma nova geração de sistemas de gestão comercial Sindo V. Dias Antônio C. Mosca Rogério A. Rondini
Agenda Cenário do Setor de Energia Padrões Abertos de Software Componentização de Software Arquitetura Orientada a Serviços Aplicação em um Caso Real
Cenário do Setor de Energia Processo de Desregulamentação Clientes x Qualidade de Serviço Adequação dos Processos de Negócio Impacto nos Sistemas de Suporte a Negócio Atendimento a Clientes Faturamento
Cenário do Setor de Energia Sistemas Legados de Gestão Comercial Baseados em padrões proprietários Desenvolvidos nas últimas décadas Apresentam estabilidade funcional Dificuldades Encontradas Manutenção e evolução Escassez/falta de documentação Monolíticos Tecnologias obsoletas ou em desuso
Cenário de Evolução Aplicações Cada Vez Mais Complexas Comunicação Via Rede Usando Internet Menor Tempo de Desenvolvimento Exigência Antagônica Maior qualidade Menor custo Aproveitamento do legado
Padrões Abertos São padrões disponíveis para livre acesso e implementação, que independem de royalties e outras taxas, e sem discriminação de uso. Disponibilidade Especificações públicas Acessíveis a todos os desenvolverdores e organizações Sem discriminação Não devem estabelecer nenhum critério de favorecimento ou discriminação por parte dos implementadores Extensibilidade Devem permitir extensões ou Oferecer apenas um subset Sem Royalties Não devem ser cobrados royalties ou outras taxas para implementação e uso Vantagens INTEROPERABILIDADE Aplicações Plataformas Hardware Liberdade de Escolha Fornecedor HW Fornecedor SW
Padrões Abertos Especificação JavaEE Iniciativa da Sun Microsystems Independência: Mantida pela JCP Java Community Process Implementada pelos fornecedores de servidores de aplicação Especif. WebServices (SOAP,WSDL,XML) Padrão de Interoperabilidade
Cenário Estruturado Dependências Função B Função A Função C Tabela_4 Tabela_1 0..1 0..* Tabela_3 0..* 0..1 BD Tabela_2 8
Cenário Estruturado VANTAGENS Metodologia amplamente conhecida e exercitada Bom uso da estrutura de armazenamento modelo relacional funções e sistemas enxergam todo o esquema de banco de dados DESVANTAGENS Modelo fortemente acoplado modelo relacional único Difícil atualização alterações no esquema de banco de dados requerem mudanças na lógica de acesso de diferentes partes do sistema 9
Quebra de Paradigma Estruturado Componentizado Função A Função B Função C Componente A Componente B Ta b e la _ 4 Ta b ela _ 1 0..1 0..* Ta b e la _ 3 Tabela_4 Tabela_1 0..1 0..* Tabela_3 0..* 0..* 0..1 0..1 Ta b ela _ 2 Tabela_2 10
Arquitetura Componentes Definição Unidades de software com alto grau de independência e especialização que provêem uma interface de serviços (contrato) bem definida que representa a única forma de acesso às funcionalidades e dados que o mesmo representa
Arquitetura Componentes Componente de Localização Provê serviços de armazenamento, recuperação e manutenção de logradouros, municípios, localidades, estados, países e demais informações referentes a endereço / localização Independente, especializado e provê uma interface de serviços bem definida para acesso a suas informações e funcionalidades Consultas Alterações Localização Inclusões
Arquitetura Componentes VANTAGENS Reuso de lógicas de negócio Maior facilidade de manutenção e evolução de partes do sistema menor impacto Encapsulamento dos dados e regras de negócio DESVANTAGENS Necessária análise contínua de dependências evitar ciclos Dependendo da divisão de componentes, sub aproveitamento da capacidade de consulta relacional do banco de dados 13
Arquitetura Orientada a Serviços (SOA) Empresa Desafios TI Negócios Agilidade Flexibilidade dos Processos Inovação Contínua Fusões e Aquisições Fazer Mais com Menos Alinhamento TI x Negócios Qualidade Tempo de Entrega Independ. Tecnológica Integração de Processos Terceirização de Atividades B2B em Tempo Real Abordagem arquitetural que permite a criação de serviços de negócio interoperáveis que podem facilmente ser reutilizados e compartilhados entre aplicações e empresas
SOA Estrutura Básica Aplicações Serviço 1 Serviço 2 Repositório ESB (Enterprise Service Bus) CRM Sistemas da Empresa Faturamento
Arquitetura SOA SOA não é um produto SOA não é uma tecnologia SOA não é uma plataforma SOA # WebServices # XML # BPM # SOAP SOA não é Puro Marketing
Maturidade das Tecnologias Hype Cycle for Emerging Technologies, 2005 J2EE Fonte http://www.gartner.com/displaydocument?doc_cd=130115
Aplicação Real Gerência de Serviço de Portal Web ANEEL Rede Campo Interfaces Externas Work Flow Atendimento a Clientes Medidores Entradas Faturamento Arrecadação Controle de Contabilização Operações Plataforma Secretaria Agente RH Empreiteiras da Fazenda Arrecadador Fraude Cobrança Outros... Diferenciais da Solução CPqD Energia Arquitetura em Camadas: Apresentação, Negócio, Dados Desenvolvimento baseado em Componentes Interface com usuário 100% Web Integração com sistemas legados via WebServices (conceitos SOA) Orquestração de Processos de Negócio via WorkFlow Aderente às melhores práticas e regras regulatórias Parametrização flexível (usuário independente da TI e do fornecedor
Atendimento Integrado Componentes SOA 19
Flexibilidade de Negócio Regras configuráveis
Plataforma USUÁRIO Internet Explorer BILLING & CUSTOMER CARE OS LINUX JBOSS ORACLE Websphere DB2 Solaris/AIX/HPUX Main Frame Intel RISC
Diferenciais da Plataforma Independência de plataforma computacional Permite o aproveitamento da plataforma atual Tecnologia atual e padrões abertos Escalabilidade Elevado desempenho
Conclusão Os resultados práticos obtidos com o uso deste novo paradigma de tecnologia e arquitetura formam a base da concepção e do desenvolvimento de sistemas computacionais: Flexibilidade na definição de regras de negócio Agilidade na implementação Reutilização de componentes Facilidade de integração com sistemas legados 23