SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
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

Mais conteúdo relacionado

Destaque

JavaOne 2016: The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B...
JavaOne 2016: The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B...JavaOne 2016: The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B...
JavaOne 2016: The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B...Rafael Benevides
 
TDC2016POA | Trilha Empreendedorismo - Faça mais, reclame menos.
TDC2016POA | Trilha Empreendedorismo - Faça mais, reclame menos.TDC2016POA | Trilha Empreendedorismo - Faça mais, reclame menos.
TDC2016POA | Trilha Empreendedorismo - Faça mais, reclame menos.tdc-globalcode
 
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...tdc-globalcode
 
Microservices with Kubernetes, Docker, and Jenkins
Microservices with Kubernetes, Docker, and JenkinsMicroservices with Kubernetes, Docker, and Jenkins
Microservices with Kubernetes, Docker, and JenkinsRafael Benevides
 
Application Deployment and Management at Scale at 1&1
Application Deployment and Management at Scale at 1&1Application Deployment and Management at Scale at 1&1
Application Deployment and Management at Scale at 1&1Matt Baldwin
 
ElasticKube, a Container Management Platform for Kubernetes
ElasticKube, a Container Management Platform for KubernetesElasticKube, a Container Management Platform for Kubernetes
ElasticKube, a Container Management Platform for KubernetesMatt Baldwin
 
2016 - Continuously Delivering Microservices in Kubernetes using Jenkins
2016 - Continuously Delivering Microservices in Kubernetes using Jenkins2016 - Continuously Delivering Microservices in Kubernetes using Jenkins
2016 - Continuously Delivering Microservices in Kubernetes using Jenkinsdevopsdaysaustin
 
TDC2016POA | Trilha Empreendedorismo - Mulheres Empreendedoras: Porque a Igua...
TDC2016POA | Trilha Empreendedorismo - Mulheres Empreendedoras: Porque a Igua...TDC2016POA | Trilha Empreendedorismo - Mulheres Empreendedoras: Porque a Igua...
TDC2016POA | Trilha Empreendedorismo - Mulheres Empreendedoras: Porque a Igua...tdc-globalcode
 
Continuous Deployment with Jenkins on Kubernetes
Continuous Deployment with Jenkins on KubernetesContinuous Deployment with Jenkins on Kubernetes
Continuous Deployment with Jenkins on KubernetesMatt Baldwin
 
Running Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWSRunning Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWSDoiT International
 

Destaque (11)

JavaOne 2016: The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B...
JavaOne 2016: The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B...JavaOne 2016: The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B...
JavaOne 2016: The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B...
 
TDC2016POA | Trilha Empreendedorismo - Faça mais, reclame menos.
TDC2016POA | Trilha Empreendedorismo - Faça mais, reclame menos.TDC2016POA | Trilha Empreendedorismo - Faça mais, reclame menos.
TDC2016POA | Trilha Empreendedorismo - Faça mais, reclame menos.
 
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
 
Microservices with Kubernetes, Docker, and Jenkins
Microservices with Kubernetes, Docker, and JenkinsMicroservices with Kubernetes, Docker, and Jenkins
Microservices with Kubernetes, Docker, and Jenkins
 
Application Deployment and Management at Scale at 1&1
Application Deployment and Management at Scale at 1&1Application Deployment and Management at Scale at 1&1
Application Deployment and Management at Scale at 1&1
 
ElasticKube, a Container Management Platform for Kubernetes
ElasticKube, a Container Management Platform for KubernetesElasticKube, a Container Management Platform for Kubernetes
ElasticKube, a Container Management Platform for Kubernetes
 
2016 - Continuously Delivering Microservices in Kubernetes using Jenkins
2016 - Continuously Delivering Microservices in Kubernetes using Jenkins2016 - Continuously Delivering Microservices in Kubernetes using Jenkins
2016 - Continuously Delivering Microservices in Kubernetes using Jenkins
 
TDC2016POA | Trilha Empreendedorismo - Mulheres Empreendedoras: Porque a Igua...
TDC2016POA | Trilha Empreendedorismo - Mulheres Empreendedoras: Porque a Igua...TDC2016POA | Trilha Empreendedorismo - Mulheres Empreendedoras: Porque a Igua...
TDC2016POA | Trilha Empreendedorismo - Mulheres Empreendedoras: Porque a Igua...
 
Continuous Deployment with Jenkins on Kubernetes
Continuous Deployment with Jenkins on KubernetesContinuous Deployment with Jenkins on Kubernetes
Continuous Deployment with Jenkins on Kubernetes
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 
Running Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWSRunning Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWS
 

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

Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouJose Wilker
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começouJose Wilker
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começouJose Wilker
 
2018 - Software Livre no Diretório Brasileiro de Dados Geoespaciais - passado...
2018 - Software Livre no Diretório Brasileiro de Dados Geoespaciais - passado...2018 - Software Livre no Diretório Brasileiro de Dados Geoespaciais - passado...
2018 - Software Livre no Diretório Brasileiro de Dados Geoespaciais - passado...George Porto Ferreira
 
Palestra na QConSP com Peixe Urbano sobre Arquiteturas Cloud
Palestra na QConSP com Peixe Urbano sobre Arquiteturas CloudPalestra na QConSP com Peixe Urbano sobre Arquiteturas Cloud
Palestra na QConSP com Peixe Urbano sobre Arquiteturas CloudAmazon Web Services LATAM
 
CDNs – Introdução
CDNs – IntroduçãoCDNs – Introdução
CDNs – Introduçãoelliando dias
 
"Desmistificando o Java ME" CCT-CEJUG Maio 2008
"Desmistificando o Java ME" CCT-CEJUG Maio 2008"Desmistificando o Java ME" CCT-CEJUG Maio 2008
"Desmistificando o Java ME" CCT-CEJUG Maio 2008Vando Batista
 
Desmistificando o Java Me Cejug Maio2008 Vando
Desmistificando o Java Me Cejug Maio2008 VandoDesmistificando o Java Me Cejug Maio2008 Vando
Desmistificando o Java Me Cejug Maio2008 Vandogueste1a639
 
Big data e mineração de dados
Big data e mineração de dadosBig data e mineração de dados
Big data e mineração de dadosElton Meira
 
Escalando aplicações de grande volume na nuvem
Escalando aplicações de grande volume na nuvemEscalando aplicações de grande volume na nuvem
Escalando aplicações de grande volume na nuvemFernando Lemes
 
Apresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãApresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãCarlos Serrao
 
NGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação webNGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação webernaniaz
 
Sap Comunity Day Brasil 2009 - SAP NWDI
Sap Comunity Day Brasil 2009 - SAP NWDISap Comunity Day Brasil 2009 - SAP NWDI
Sap Comunity Day Brasil 2009 - SAP NWDImarlosimon
 
Apresentacao Zabbix Conference LatinAmerica 2018
Apresentacao Zabbix Conference LatinAmerica 2018Apresentacao Zabbix Conference LatinAmerica 2018
Apresentacao Zabbix Conference LatinAmerica 2018LucianoRamos63
 
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslidesharePalestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslidesharepccdias
 
Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)Wellington Silva
 
Onix, uma plataforma de desenvolvimento para controle distribuído
Onix, uma plataforma de desenvolvimento para controle distribuídoOnix, uma plataforma de desenvolvimento para controle distribuído
Onix, uma plataforma de desenvolvimento para controle distribuídowelingtonms
 

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

Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começou
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começou
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
 
2018 - Software Livre no Diretório Brasileiro de Dados Geoespaciais - passado...
2018 - Software Livre no Diretório Brasileiro de Dados Geoespaciais - passado...2018 - Software Livre no Diretório Brasileiro de Dados Geoespaciais - passado...
2018 - Software Livre no Diretório Brasileiro de Dados Geoespaciais - passado...
 
Palestra na QConSP com Peixe Urbano sobre Arquiteturas Cloud
Palestra na QConSP com Peixe Urbano sobre Arquiteturas CloudPalestra na QConSP com Peixe Urbano sobre Arquiteturas Cloud
Palestra na QConSP com Peixe Urbano sobre Arquiteturas Cloud
 
CDNs – Introdução
CDNs – IntroduçãoCDNs – Introdução
CDNs – Introdução
 
"Desmistificando o Java ME" CCT-CEJUG Maio 2008
"Desmistificando o Java ME" CCT-CEJUG Maio 2008"Desmistificando o Java ME" CCT-CEJUG Maio 2008
"Desmistificando o Java ME" CCT-CEJUG Maio 2008
 
Desmistificando o Java Me Cejug Maio2008 Vando
Desmistificando o Java Me Cejug Maio2008 VandoDesmistificando o Java Me Cejug Maio2008 Vando
Desmistificando o Java Me Cejug Maio2008 Vando
 
Big data e mineração de dados
Big data e mineração de dadosBig data e mineração de dados
Big data e mineração de dados
 
Escalando aplicações de grande volume na nuvem
Escalando aplicações de grande volume na nuvemEscalando aplicações de grande volume na nuvem
Escalando aplicações de grande volume na nuvem
 
Entendendo a computação em nuvem
Entendendo a computação em nuvemEntendendo a computação em nuvem
Entendendo a computação em nuvem
 
Apresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãApresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, Covilhã
 
NGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação webNGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação web
 
Sap Comunity Day Brasil 2009 - SAP NWDI
Sap Comunity Day Brasil 2009 - SAP NWDISap Comunity Day Brasil 2009 - SAP NWDI
Sap Comunity Day Brasil 2009 - SAP NWDI
 
Asa cpbr4
Asa cpbr4Asa cpbr4
Asa cpbr4
 
SQL SAT Salvador - Arquitetando Data Lake Multicloud
SQL SAT Salvador - Arquitetando Data Lake MulticloudSQL SAT Salvador - Arquitetando Data Lake Multicloud
SQL SAT Salvador - Arquitetando Data Lake Multicloud
 
Apresentacao Zabbix Conference LatinAmerica 2018
Apresentacao Zabbix Conference LatinAmerica 2018Apresentacao Zabbix Conference LatinAmerica 2018
Apresentacao Zabbix Conference LatinAmerica 2018
 
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslidesharePalestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
 
Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)
 
Onix, uma plataforma de desenvolvimento para controle distribuído
Onix, uma plataforma de desenvolvimento para controle distribuídoOnix, uma plataforma de desenvolvimento para controle distribuído
Onix, uma plataforma de desenvolvimento para controle distribuído
 

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.