Você está na página 1de 27

Ministério da Justiça

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
cd Arquitetura SINDEC
Parte I - A Arquitetura
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