Reunião SouJava BSB - 2005 - Java a favor do consumidor brasileiro

Rafael Benevides
Rafael BenevidesDirector of Developer eXperience at Red Hat
Java a favor do consumidor brasileiro




          Novembro/2005
Objetivo
• Apresentar o SINDEC e sua arquitetura;
• Mostras as tecnologias utilizadas;
• Ilustrar o resultado para consumidor brasileiro;



• Duração estimada: 60 minutos.
Assuntos Abordados


• Parte I – O que é o Sindec
• Parte II – O Agente de Coleta (Procon)
• Parte III – O Concentrador Estadual (Estado) e o
  Mapa de Situação
• Parte IV – O Receptor Nacional (MJ)
• Parte V – Portal Sindec
Palestrantes
• Gabriel Viragine – é Bacharel em Ciência da Computação
  pela UNESP, certificado SCJP e consultor do Grupo e-Gen
  (www.egen.com.br), atuando como Líder de Célula no Ministério
  da Justiça.
• Rafael Benevides – é Bacharel em Processamento de
  dados pela UEG e Pós Graduado em TI pela Universo. Detém as
  certificações SCJP e SCWCD, é colaborador da Politec e atua
  como Líder de Célula no Ministério da Justiça.
Parte I – O que é o Sindec
• O que vem a ser o Sindec ?
• Desafios:
   – Centralizar os dados dos Procons no MJ
   – Como trazer estes dados ?
   – Não deveria ser complexo para os operadores dos Procons
   – Heterogeneidade dos ambientes
   – Evitar problemas com os firewalls/proxy dos Procons
   – Garantir a integridade dos dados
   – Evitar fraudes
   – Controle de versões do sistema
Parte I - A Arquitetura
cd Arquitetura SINDEC

    Name:       Arquitetura SINDEC
    Package:    Ambiente
    Version:    1.0
    Author:     Felipe Garcia




               PROCON - Municipio                                Estado                                    Ministério da Justiça


                                                                                        Em lote
                                               Diário             «java»
               «ASP»                 «Java»                                             «http»         «java»            «SQLServer»
                                               «http»           Serv iço
               SINDEC                Agente                   Concentrador                           Serv iço           Base Nacional
                                     Coletor                    Estadual                             Receptor
                                                                                                     Nacional




                                                                «HSQLDB»                                                       «Web»
           «SGBD»                                               Banco de                                                 Aplicação de
                                                                 Pacotes                                                   consulta
            MySQL




    - Operacionaliza o Procon                           - Mapa de Situação Municipal              - Mapa de Situação Federal
    - Gera dados                                        - Pacotes dos munícipios para             - Base Nacional
    - Envia dados                                       envio                                     - Serviço de consulta
                                                        - Envio para Nacional
Parte II – O Agente de coletas
• Responsável por coletar o movimento do dia, de acordo com o mapa de
  situação no concentrador;
• Implementado em Java/SWING;
• Implementado de maneira a ser executado interativamente ou agendada
  no SO.
O Agente de coletas - WSDL
• Utiliza WebServices para comunicação com o Concentrador, através de
  conexão SSL;
• Utiliza o Log4J para rastreabilidade e depuração da aplicação
O Agente de coletas - Segurança

• Utiliza um certificado digital próprio
  para se autenticar perante o
  Concentrador;
• Segurança contra fraudes –
  Criptografia da configuração
O Agente de coletas - Dados
• Monta o pacote a ser enviado, transformando as tabelas em Objetos
  através do Hibernate.
• Um pequeno método carrega todas as tabelas necessárias! Como?
  Através de reflection!
Parte III - O Concentrador Estadual
• Recebe os pacotes através de um EJB exposto como WebServices
• Autêntica o Agente de Coleta através de Certificado Digital
• Serializa e armazena os pacotes temporariamente em disco
• Envia ao Receptor Nacional, também através de WebServices e
  usando SSL
• Gerencia o mapa de situação:
   – Relação dos pacotes recebidos de cada agente
    – Gestão de quais agentes ainda possuem pendências
Parte III – O Mapa de Situação
• Necessário para gerenciar as pendências, centralizando o controle no
  concentrador e no receptor
• Permite consultar e determinar uma data base para as pendências de
  cada Procon
• Remove do agente, a responsabilidade do que será enviado
Parte IV- O Receptor Nacional
• Componente EJB;
• Recebe grupos de pacotes dos concentradores
  estaduais, através de WebServices;
• Integra estes pacotes á base nacional, caso
  sejam válidos;
• Informa aos concentradores quais pacotes estão
  inválidos, para reenvio posterior.
O Receptor Nacional - Dados
Parte V - Portal SINDEC
• Aplicação Web (J2EE) que publica informações
  baseadas na base nacional, de acordo com o
  perfil de acesso de cada um;
• Cada consulta pode ser realizada em um estado
  ou em um conjunto de estados presentes no
  repositório;
Portal Sindec
Portal Sindec
Portal Sindec
Portal Sindec
Portal Sindec
Portal Sindec
Portal Sindec
Portal Sindec
Portal Sindec WAP
Principais características
• Arquitetura robusta visando obter um repositório
  nacional integro, qualquer ponto de falha
  provoca um alerta e paralisa o envio de dados;
• A segurança é mantida em todos os níveis,
  através do uso de certificação digital e protocolos
  seguros (SSL);
• Uso quase total de software livre.
Principais dificuldades
• Distância física dos Procons onde os agentes
  estão instalados, dificultando a comunicação;
• Problemas referentes a integridade de dados nas
  bases locais (mySQL);
• Problemas referentes à conectividades dos
  Procons;
• Coordenação de versões de forma a garantir a
  compatibilidade das informações.
Dúvidas?
 gabriel.vicente@mj.gov.br
rafael.benevides@mj.gov.br
1 of 27

More Related Content

Similar to Reunião SouJava BSB - 2005 - Java a favor do consumidor brasileiro (20)

Reunião SouJava BSB - 2005 - Java a favor do consumidor brasileiro

  • 1. Java a favor do consumidor brasileiro Novembro/2005
  • 2. Objetivo • Apresentar o SINDEC e sua arquitetura; • Mostras as tecnologias utilizadas; • Ilustrar o resultado para consumidor brasileiro; • Duração estimada: 60 minutos.
  • 3. Assuntos Abordados • Parte I – O que é o Sindec • Parte II – O Agente de Coleta (Procon) • Parte III – O Concentrador Estadual (Estado) e o Mapa de Situação • Parte IV – O Receptor Nacional (MJ) • Parte V – Portal Sindec
  • 4. Palestrantes • Gabriel Viragine – é Bacharel em Ciência da Computação pela UNESP, certificado SCJP e consultor do Grupo e-Gen (www.egen.com.br), atuando como Líder de Célula no Ministério da Justiça. • Rafael Benevides – é Bacharel em Processamento de dados pela UEG e Pós Graduado em TI pela Universo. Detém as certificações SCJP e SCWCD, é colaborador da Politec e atua como Líder de Célula no Ministério da Justiça.
  • 5. Parte I – O que é o Sindec • O que vem a ser o Sindec ? • Desafios: – Centralizar os dados dos Procons no MJ – Como trazer estes dados ? – Não deveria ser complexo para os operadores dos Procons – Heterogeneidade dos ambientes – Evitar problemas com os firewalls/proxy dos Procons – Garantir a integridade dos dados – Evitar fraudes – Controle de versões do sistema
  • 6. Parte I - A Arquitetura cd Arquitetura SINDEC Name: Arquitetura SINDEC Package: Ambiente Version: 1.0 Author: Felipe Garcia PROCON - Municipio Estado Ministério da Justiça Em lote Diário «java» «ASP» «Java» «http» «java» «SQLServer» «http» Serv iço SINDEC Agente Concentrador Serv iço Base Nacional Coletor Estadual Receptor Nacional «HSQLDB» «Web» «SGBD» Banco de Aplicação de Pacotes consulta MySQL - Operacionaliza o Procon - Mapa de Situação Municipal - Mapa de Situação Federal - Gera dados - Pacotes dos munícipios para - Base Nacional - Envia dados envio - Serviço de consulta - Envio para Nacional
  • 7. Parte II – O Agente de coletas • Responsável por coletar o movimento do dia, de acordo com o mapa de situação no concentrador; • Implementado em Java/SWING; • Implementado de maneira a ser executado interativamente ou agendada no SO.
  • 8. O Agente de coletas - WSDL • Utiliza WebServices para comunicação com o Concentrador, através de conexão SSL; • Utiliza o Log4J para rastreabilidade e depuração da aplicação
  • 9. O Agente de coletas - Segurança • Utiliza um certificado digital próprio para se autenticar perante o Concentrador; • Segurança contra fraudes – Criptografia da configuração
  • 10. O Agente de coletas - Dados • Monta o pacote a ser enviado, transformando as tabelas em Objetos através do Hibernate. • Um pequeno método carrega todas as tabelas necessárias! Como? Através de reflection!
  • 11. Parte III - O Concentrador Estadual • Recebe os pacotes através de um EJB exposto como WebServices • Autêntica o Agente de Coleta através de Certificado Digital • Serializa e armazena os pacotes temporariamente em disco • Envia ao Receptor Nacional, também através de WebServices e usando SSL • Gerencia o mapa de situação: – Relação dos pacotes recebidos de cada agente – Gestão de quais agentes ainda possuem pendências
  • 12. Parte III – O Mapa de Situação • Necessário para gerenciar as pendências, centralizando o controle no concentrador e no receptor • Permite consultar e determinar uma data base para as pendências de cada Procon • Remove do agente, a responsabilidade do que será enviado
  • 13. Parte IV- O Receptor Nacional • Componente EJB; • Recebe grupos de pacotes dos concentradores estaduais, através de WebServices; • Integra estes pacotes á base nacional, caso sejam válidos; • Informa aos concentradores quais pacotes estão inválidos, para reenvio posterior.
  • 15. Parte V - Portal SINDEC • Aplicação Web (J2EE) que publica informações baseadas na base nacional, de acordo com o perfil de acesso de cada um; • Cada consulta pode ser realizada em um estado ou em um conjunto de estados presentes no repositório;
  • 25. Principais características • Arquitetura robusta visando obter um repositório nacional integro, qualquer ponto de falha provoca um alerta e paralisa o envio de dados; • A segurança é mantida em todos os níveis, através do uso de certificação digital e protocolos seguros (SSL); • Uso quase total de software livre.
  • 26. Principais dificuldades • Distância física dos Procons onde os agentes estão instalados, dificultando a comunicação; • Problemas referentes a integridade de dados nas bases locais (mySQL); • Problemas referentes à conectividades dos Procons; • Coordenação de versões de forma a garantir a compatibilidade das informações.