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.