SlideShare uma empresa Scribd logo
1 de 33
1 Desenv. Soluções Corporativas Java
Projeto Java– TCC
Aluno:
Victor Yuji Maehira
Prof. Eduardo Endo
Dez/2013
2 Desenv. Soluções Corporativas Java
• Motivação: Por que monitorar uma CRL?
• O que é uma CRL (Certificate Revoked List)?
• O que é um certificado digital?
• Como monitorar uma CRL?
• Tecnologias utilizadas
• Um pouco de código
• Navegando no Sistema
• Links
• Agradecimentos
Agenda
3 Desenv. Soluções Corporativas Java
Motivação
• Por que monitorar uma Lista de Certificados Revogados (CLR)?
• Mas, o que é uma Lista de Certificados Revogados?
• O que é um certificado digital?
4 Desenv. Soluções Corporativas Java
Certificado Digital
O que é um certificado digital?
“Um certificado digital é um arquivo de computador que contém um conjunto de
informações referentes a entidade para o qual o certificado foi emitido (seja
uma empresa, pessoa física ou computador) mais a chave pública referente a
chave privada que se acredita ser de posse unicamente da entidade
especificada no certificado”.
Fonte: wikipedia (http://pt.wikipedia.org/wiki/Certificado_digital)
5 Desenv. Soluções Corporativas Java
Certificate Revoked List
Uma pessoa pode se identificar como outra, caso tenha acesso ao
certificado e senha desta, inclusive com validade jurídica.
Por isso, caso o certificado digital tenha a chave privada comprometida, é
preciso revogá-lo imediatamente. A lista “negra” dos certificados
revogados (CRL) é pública e tem um endereço na web.
Exemplo:
http://www.certificadodigital.com.br/repositorio/lcr/serasarfbv2.crl
6 Desenv. Soluções Corporativas Java
Certificate Revoked List
Cada Autoridade Certificadora tem sua CRL.
Exemplo:
http://www.certificadodigital.com.br/repositorio/lcr/serasarfbv2.crl
7 Desenv. Soluções Corporativas Java
Autoridades Certificadoras ICP-Brasil
http://www.iti.gov.br/icp-brasil/certificados
8 Desenv. Soluções Corporativas Java
Certificate Revoked List
• Votando à pergunta: Por que monitorar uma Lista de Certificados
Revogados (CLR)?
• Resposta: custo de credenciamento/descredenciamento
• Se CRL não estiver satisfazer SLA, a autoridade certificadora é
descredenciada.
• Se descredenciada, todo o investimento é perdido.
9 Desenv. Soluções Corporativas Java
Como monitorar uma CRL?
Já existem softwares que monitoram CRL:
• Exemplo: sistema de monitoramento Nagios (open source) mas com
plugin proprietário
• As soluções mais comuns são de ferramentas de monitoramento
integradas com softwares desenvolvido “in-house”
Solução: desenvolvimento de monitoramento em nuvem pública
10 Desenv. Soluções Corporativas Java
Escolha da solução de cloud
Fonte: http://www.infoq.com/br/articles/paas_comparison/ jan/2012
11 Desenv. Soluções Corporativas Java
Tecnologias utilizadas
12 Desenv. Soluções Corporativas Java
Tecnologias utilizadas (arquitetura)
13 Desenv. Soluções Corporativas Java
Tecnologias utilizadas
• Openshift (cloud)
• Maven (gestão de dependências e build)
• Android (interface mobile)
• Java EE 6 (Jboss AS 7)
• Ejb 3.1
• Ejb Timer
• Jsf
• Jpa
• Restful web services
• Json
• Gson (Json do Google)
• PrimeFaces (gráficos)
• Git (repositório de fontes)
• MySql mysql-5.1 (banco de dados)
14 Desenv. Soluções Corporativas Java
Um pouco de código
Fonte Android:
Fonte Java EE
15 Desenv. Soluções Corporativas Java
Um pouco de código
Principais entidades do banco:
16 Desenv. Soluções Corporativas Java
Um pouco de código
O JDK já tem uma API nativa para fazer parse de CRL:
java.security.cert.X509CRL
A CRL pode estar:
• INDISPONÍVEL
• DISPONÍVEL mas desatualizada
• DISPONÍVEL e atualizada (OK)
17 Desenv. Soluções Corporativas Java
Um pouco de código
O coração do monitoramento é um EJB Timer que monitora as CRLs
de minuto em minuto.
18 Desenv. Soluções Corporativas Java
Um pouco de código
O último resultado da consulta das CRLs é exposto via restful web service
a ser consumido pela interface Android.
19 Desenv. Soluções Corporativas Java
Um pouco de código
No Android está o client do web service Restful. Foi utilizada a API GSON
do Google para tratar o Json:
20 Desenv. Soluções Corporativas Java
Um pouco de código
No Java EE 6 não é preciso declarar interfaces Locais ou Remotas para
EJB e é possível injetar o EntityManager.
21 Desenv. Soluções Corporativas Java
Um pouco de código
No Openshift, é feito o restart automático do Jboss, build e deploy da
aplicação via Maven logo após fazer o upload do código no Git.
git add .
git commit –m “Fazendo commit”
git push
Found pom.xml... attempting to build with 'mvn -e clean package -
Popenshift -DskipTests'
22 Desenv. Soluções Corporativas Java
Navegando no sistema
Tela principal: https://crlmonitor-victormaehira.rhcloud.com/
23 Desenv. Soluções Corporativas Java
Navegando no sistema
Login: https://crlmonitor-victormaehira.rhcloud.com/login.jsf
24 Desenv. Soluções Corporativas Java
Navegando no sistema
Menu principal
25 Desenv. Soluções Corporativas Java
Navegando no sistema
Cadastro de Autoridade Certificadora
26 Desenv. Soluções Corporativas Java
Navegando no sistema
Cadastro de URL de Lista de Certificados Revogados (CRL)
27 Desenv. Soluções Corporativas Java
Navegando no sistema
Consulta de Status Atual das CRLs (Auto-refresh cada minuto)
28 Desenv. Soluções Corporativas Java
Navegando no sistema
Gráfico de Disponibilidade (PrimeFaces)
29 Desenv. Soluções Corporativas Java
Navendo no Sistema
Restful Web Service: https://crlmonitor-victormaehira.rhcloud.com/rest/monitoredurls/status
30 Desenv. Soluções Corporativas Java
Navegando no Sistema (Android)
Tela principal
31 Desenv. Soluções Corporativas Java
Navegando no Sistema (Android)
Lista Status CRLs
(consome web
service restful)
32 Desenv. Soluções Corporativas Java
Links
• https://www.openshift.com/
• https://crlmonitor-victormaehira.rhcloud.com/
• http://www.iti.gov.br/
• http://www.mysql.com/
• https://code.google.com/p/google-gson/
• http://maven.apache.org/
33 Desenv. Soluções Corporativas Java
Assunto
OBRIGADO !!!

Mais conteúdo relacionado

Mais procurados

WSO2 - Visão Geral - Update 2015
WSO2 - Visão Geral - Update 2015WSO2 - Visão Geral - Update 2015
WSO2 - Visão Geral - Update 2015Edgar Silva
 
Grafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCPGrafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCPRobert Silva
 
O que é certificação itil foundation e quanto custa?
O que é certificação itil foundation e quanto custa?O que é certificação itil foundation e quanto custa?
O que é certificação itil foundation e quanto custa?Marco Andrade
 
Economia das APIs - Uma visão de negócios
Economia das APIs - Uma visão de negóciosEconomia das APIs - Uma visão de negócios
Economia das APIs - Uma visão de negóciosEdgar Silva
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?Thiago Ganzarolli
 
Palestra sobre automação de testes em APIs Rest com Rest-Assured
Palestra sobre automação de testes em APIs Rest com Rest-AssuredPalestra sobre automação de testes em APIs Rest com Rest-Assured
Palestra sobre automação de testes em APIs Rest com Rest-AssuredJúlio de Lima
 
Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveisQualister
 
Impacto do DevOps nos negócios
Impacto do DevOps nos negóciosImpacto do DevOps nos negócios
Impacto do DevOps nos negóciosRamon Durães
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Ramon Durães
 
Primeira certificação microsoft – como se preparar para o exame?
Primeira certificação microsoft – como se preparar para o exame? Primeira certificação microsoft – como se preparar para o exame?
Primeira certificação microsoft – como se preparar para o exame? Marco Andrade
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
TDC 2008 Spring Framework
TDC 2008 Spring FrameworkTDC 2008 Spring Framework
TDC 2008 Spring FrameworkDr. Spock
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - IntroduçãoRodrigo Branas
 

Mais procurados (13)

WSO2 - Visão Geral - Update 2015
WSO2 - Visão Geral - Update 2015WSO2 - Visão Geral - Update 2015
WSO2 - Visão Geral - Update 2015
 
Grafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCPGrafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCP
 
O que é certificação itil foundation e quanto custa?
O que é certificação itil foundation e quanto custa?O que é certificação itil foundation e quanto custa?
O que é certificação itil foundation e quanto custa?
 
Economia das APIs - Uma visão de negócios
Economia das APIs - Uma visão de negóciosEconomia das APIs - Uma visão de negócios
Economia das APIs - Uma visão de negócios
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?
 
Palestra sobre automação de testes em APIs Rest com Rest-Assured
Palestra sobre automação de testes em APIs Rest com Rest-AssuredPalestra sobre automação de testes em APIs Rest com Rest-Assured
Palestra sobre automação de testes em APIs Rest com Rest-Assured
 
Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveis
 
Impacto do DevOps nos negócios
Impacto do DevOps nos negóciosImpacto do DevOps nos negócios
Impacto do DevOps nos negócios
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
 
Primeira certificação microsoft – como se preparar para o exame?
Primeira certificação microsoft – como se preparar para o exame? Primeira certificação microsoft – como se preparar para o exame?
Primeira certificação microsoft – como se preparar para o exame?
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC 2008 Spring Framework
TDC 2008 Spring FrameworkTDC 2008 Spring Framework
TDC 2008 Spring Framework
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - Introdução
 

Semelhante a TCC MBA Desenvolvimento de Aplicações Java - SOA 2013

Open4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourceOpen4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourcetdc-globalcode
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)Walanem Figueiredo
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122Bruno Souza
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoAlvaro Viebrantz
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAmazon Web Services LATAM
 
Netbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesNetbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesRodrigo Peleias
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceGlobalcode
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaAmazon Web Services LATAM
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAmazon Web Services LATAM
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosThiago Soares
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSAmazon Web Services LATAM
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
The twelve factor apps and openruko
The twelve factor apps and openrukoThe twelve factor apps and openruko
The twelve factor apps and openrukoÉverton Ribeiro
 
Application Insights
Application InsightsApplication Insights
Application InsightsCDS
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasAmazon Web Services LATAM
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaCleber Dantas
 
Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011Frederico Maia Arantes
 
TDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud nativeTDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud nativeAndré Paulovich
 

Semelhante a TCC MBA Desenvolvimento de Aplicações Java - SOA 2013 (20)

Open4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourceOpen4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSource
 
DevOps
DevOpsDevOps
DevOps
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em Go
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
 
Netbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesNetbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 Portugues
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open Source
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínua
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãos
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWS
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
The twelve factor apps and openruko
The twelve factor apps and openrukoThe twelve factor apps and openruko
The twelve factor apps and openruko
 
Application Insights
Application InsightsApplication Insights
Application Insights
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
 
Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011
 
TDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud nativeTDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud native
 

TCC MBA Desenvolvimento de Aplicações Java - SOA 2013

  • 1. 1 Desenv. Soluções Corporativas Java Projeto Java– TCC Aluno: Victor Yuji Maehira Prof. Eduardo Endo Dez/2013
  • 2. 2 Desenv. Soluções Corporativas Java • Motivação: Por que monitorar uma CRL? • O que é uma CRL (Certificate Revoked List)? • O que é um certificado digital? • Como monitorar uma CRL? • Tecnologias utilizadas • Um pouco de código • Navegando no Sistema • Links • Agradecimentos Agenda
  • 3. 3 Desenv. Soluções Corporativas Java Motivação • Por que monitorar uma Lista de Certificados Revogados (CLR)? • Mas, o que é uma Lista de Certificados Revogados? • O que é um certificado digital?
  • 4. 4 Desenv. Soluções Corporativas Java Certificado Digital O que é um certificado digital? “Um certificado digital é um arquivo de computador que contém um conjunto de informações referentes a entidade para o qual o certificado foi emitido (seja uma empresa, pessoa física ou computador) mais a chave pública referente a chave privada que se acredita ser de posse unicamente da entidade especificada no certificado”. Fonte: wikipedia (http://pt.wikipedia.org/wiki/Certificado_digital)
  • 5. 5 Desenv. Soluções Corporativas Java Certificate Revoked List Uma pessoa pode se identificar como outra, caso tenha acesso ao certificado e senha desta, inclusive com validade jurídica. Por isso, caso o certificado digital tenha a chave privada comprometida, é preciso revogá-lo imediatamente. A lista “negra” dos certificados revogados (CRL) é pública e tem um endereço na web. Exemplo: http://www.certificadodigital.com.br/repositorio/lcr/serasarfbv2.crl
  • 6. 6 Desenv. Soluções Corporativas Java Certificate Revoked List Cada Autoridade Certificadora tem sua CRL. Exemplo: http://www.certificadodigital.com.br/repositorio/lcr/serasarfbv2.crl
  • 7. 7 Desenv. Soluções Corporativas Java Autoridades Certificadoras ICP-Brasil http://www.iti.gov.br/icp-brasil/certificados
  • 8. 8 Desenv. Soluções Corporativas Java Certificate Revoked List • Votando à pergunta: Por que monitorar uma Lista de Certificados Revogados (CLR)? • Resposta: custo de credenciamento/descredenciamento • Se CRL não estiver satisfazer SLA, a autoridade certificadora é descredenciada. • Se descredenciada, todo o investimento é perdido.
  • 9. 9 Desenv. Soluções Corporativas Java Como monitorar uma CRL? Já existem softwares que monitoram CRL: • Exemplo: sistema de monitoramento Nagios (open source) mas com plugin proprietário • As soluções mais comuns são de ferramentas de monitoramento integradas com softwares desenvolvido “in-house” Solução: desenvolvimento de monitoramento em nuvem pública
  • 10. 10 Desenv. Soluções Corporativas Java Escolha da solução de cloud Fonte: http://www.infoq.com/br/articles/paas_comparison/ jan/2012
  • 11. 11 Desenv. Soluções Corporativas Java Tecnologias utilizadas
  • 12. 12 Desenv. Soluções Corporativas Java Tecnologias utilizadas (arquitetura)
  • 13. 13 Desenv. Soluções Corporativas Java Tecnologias utilizadas • Openshift (cloud) • Maven (gestão de dependências e build) • Android (interface mobile) • Java EE 6 (Jboss AS 7) • Ejb 3.1 • Ejb Timer • Jsf • Jpa • Restful web services • Json • Gson (Json do Google) • PrimeFaces (gráficos) • Git (repositório de fontes) • MySql mysql-5.1 (banco de dados)
  • 14. 14 Desenv. Soluções Corporativas Java Um pouco de código Fonte Android: Fonte Java EE
  • 15. 15 Desenv. Soluções Corporativas Java Um pouco de código Principais entidades do banco:
  • 16. 16 Desenv. Soluções Corporativas Java Um pouco de código O JDK já tem uma API nativa para fazer parse de CRL: java.security.cert.X509CRL A CRL pode estar: • INDISPONÍVEL • DISPONÍVEL mas desatualizada • DISPONÍVEL e atualizada (OK)
  • 17. 17 Desenv. Soluções Corporativas Java Um pouco de código O coração do monitoramento é um EJB Timer que monitora as CRLs de minuto em minuto.
  • 18. 18 Desenv. Soluções Corporativas Java Um pouco de código O último resultado da consulta das CRLs é exposto via restful web service a ser consumido pela interface Android.
  • 19. 19 Desenv. Soluções Corporativas Java Um pouco de código No Android está o client do web service Restful. Foi utilizada a API GSON do Google para tratar o Json:
  • 20. 20 Desenv. Soluções Corporativas Java Um pouco de código No Java EE 6 não é preciso declarar interfaces Locais ou Remotas para EJB e é possível injetar o EntityManager.
  • 21. 21 Desenv. Soluções Corporativas Java Um pouco de código No Openshift, é feito o restart automático do Jboss, build e deploy da aplicação via Maven logo após fazer o upload do código no Git. git add . git commit –m “Fazendo commit” git push Found pom.xml... attempting to build with 'mvn -e clean package - Popenshift -DskipTests'
  • 22. 22 Desenv. Soluções Corporativas Java Navegando no sistema Tela principal: https://crlmonitor-victormaehira.rhcloud.com/
  • 23. 23 Desenv. Soluções Corporativas Java Navegando no sistema Login: https://crlmonitor-victormaehira.rhcloud.com/login.jsf
  • 24. 24 Desenv. Soluções Corporativas Java Navegando no sistema Menu principal
  • 25. 25 Desenv. Soluções Corporativas Java Navegando no sistema Cadastro de Autoridade Certificadora
  • 26. 26 Desenv. Soluções Corporativas Java Navegando no sistema Cadastro de URL de Lista de Certificados Revogados (CRL)
  • 27. 27 Desenv. Soluções Corporativas Java Navegando no sistema Consulta de Status Atual das CRLs (Auto-refresh cada minuto)
  • 28. 28 Desenv. Soluções Corporativas Java Navegando no sistema Gráfico de Disponibilidade (PrimeFaces)
  • 29. 29 Desenv. Soluções Corporativas Java Navendo no Sistema Restful Web Service: https://crlmonitor-victormaehira.rhcloud.com/rest/monitoredurls/status
  • 30. 30 Desenv. Soluções Corporativas Java Navegando no Sistema (Android) Tela principal
  • 31. 31 Desenv. Soluções Corporativas Java Navegando no Sistema (Android) Lista Status CRLs (consome web service restful)
  • 32. 32 Desenv. Soluções Corporativas Java Links • https://www.openshift.com/ • https://crlmonitor-victormaehira.rhcloud.com/ • http://www.iti.gov.br/ • http://www.mysql.com/ • https://code.google.com/p/google-gson/ • http://maven.apache.org/
  • 33. 33 Desenv. Soluções Corporativas Java Assunto OBRIGADO !!!