palestra joomla day brasil 2014 - extensão de webservice para joomla 3
DESCRIPTION
Palestra apresentada em 02/05/2014 no Joomla Day Brasil sobre a extensão de Webservice desenvolvida pela No Boss Tecnnologia.TRANSCRIPT
EXTENSÃO DE WEBSERVICE PARA JOOMLA 3
QUEM SOU EU?
• Johnny Salazar Reidel
• Gaúcho, morador do Rio Grande do Sul
• Sócio fundador da “No Boss Tecnologia”
• GERENTE DE PROJETOS WEB NA TI ASAV
• Desenvolvedor Joomla desde 2006
O que é um Webservice?
• Solução que integra e comunica aplicações de diferentes plataformas
• Recebe REQUISIÇÕES HTTP para Retornar DADOS UTILIZANDO LINGUAGENS UNIVERSAIS
WEBSERVICE
BASE DE DADOS
CLIENTE X
CLIENTE Y
REQUISIÇÃO HTTP
XML, JSON, HTML
Nosso Webservice
• Desenvolvido 100% pela “No Boss TECNOLOGIA”
• Permite integrar sistemas
• Gera relatórios
• APLICA CONCEITOS DA ARQUITETURA rest
Por que REST?
• Facilidade no desenvolvimento
• Popular
• Funciona sobre protocolo HTTP
Motivadores
• Necessidade de integrar um portal EDUCACIONAL com ERP E APLICAÇÃO MOBILE.
• Dificuldade de liberação de acessos para aplicações de terceiros acessarem bases DE DADOS de aplicações internas.
• Dificuldade de encontrar no mercado uma ferramenta DE INTEGRAÇÃO que seja flexível, FÁCIL de administrar E com VALOR ACESSÍVEL.
Vantagens
• integrações centralizadas entre sistemas
• Interface simples para administração
• ACL para aplicações e serviços
• PADRONIZAÇÃO NOS FORMATOS DE SAÍDA DOS SERVIÇOS (xml, json E RELATÓRIO)
• Informações podem ser consumidas sem programação server-side
FUNCIONALIDADES
• Cadastro de bases de dados
• Conexões MYSQL e MSSQL (SQL SERVER)
• Conexão via ODBC (opcional)
FUNCIONALIDADES
• Cadastro de serviços
• Autenticação (opcional)
• Conexão segura por HTTPS (opcional)
• Formatos de saída JSON, XML e relatório
• Solicitações por método GET ou POST
• Requisições somente a partir de uma url (opcional)
• POSSIBILIDADE DE INSERIR DATA LIMITE DE USO
• Consulta SQL
FUNCIONALIDADES
• Cadastro de aplicações
• Definição de responsável pela aplicação
• Geração automática de chaves de identificação
• ACL para definir quais serviços e quais dados
retornados pelo serviço cada aplicação tem
acesso
• POSSIBILIDADE DE INSERIR DATA LIMITE DE USO
Telas
Telas
• Telas
Telas
Telas
AUTENTICAÇÃO
• Possui três dados de identificação
• Usuário, chave (appKey) e secret
• Utilizado dois algoritmos combinados com outros métodos de segurança
• 3DES: utiliza três chaves de 64 bits
• SHA1: possui 160 bits e foi considerado o sucessor do md5
AUTENTICAÇÃO
• Em serviços que exigem autenticação:
• É necessário obter um token antes de consumir qualquer dado
• É Necessário envio do appKey no cabeçalho das requisições
• É Obrigatório o uso do método POST
• O token possui um tempo de vida parametrizável
• O token somente é válido para o IP do servidor que realizou a
solicitação
• Pode ser definido como obrigatória a autenticação com HTTPS
Exemplos de uso
• Aplicação mobile que dependa de dados de um erp
• Relatórios do moodle para professores
• Integração de um portal ou site com aplicações externas de diferentes linguagens e bancos de dados
ANALISANDO NA PRÁTICA
• INSTALAÇÃO E Apresentação da extensão
• Exemplos práticos de uso
1. Consulta de notas e faltas de alunos NO ERP
EDUCACIONAL DA TOTVS UTILIZANDO ODBC E MÉTODO GET
2. Busca de cursos de uma universidade UTILIZANDO
AUTENTICAÇÃO, MÉTODO POST E RETORNO POR JSON
• APRESENTAÇÃO DO CÓDIGO FONTE DO EXEMPLO 2
Versões do WebserviceFUNCIONALIDADE GRATUITA PAGA
Interface administrativa
Logs de criação e modificação de registros
Autenticação do serviço
Conexão segura por HTTPS
Formato de saída em JSON
Formato de saída em XML
Formato de saída em relatório
Método de solicitação GET
Método de solicitação POST
Restrição de URL solicitante
Parâmetros ilimitados nas consultas SQL
Versões do WebserviceFUNCIONALIDADE GRATUITA PAGA
Data de expiração do serviço e/ou aplicação
Exemplos de serviços que consomem informações do Joomla
ACL sobre as informações retornadas pelo serviço
ACL sobre os serviços que cada aplicação pode acessar
Cadastro de responsável pela aplicação
Cadastro ilimitado de base de dados, serviços e aplicação
Geração de chaves de identificação
Conexão com banco de dados MYSQL
Conexão com banco de dados MSSQL
Conexão via ODBC
Teste de conexão de base de dados
Data de lançamento
• LANÇAMENTO OFICIAL EM 02 DE JUNHO DE 2014.
• Participantes do Joomla Day Brasil PODEM concorreR a uma versão paga REALIZANDO DOIS PASSOS:
1. Siga a No Boss Tecnologia no Facebook;
2. Compartilhe o post que será publicado no final da
apresentação com as hashtags “#jdbr14” e
“#nobosstecnologia”.
Funcionalidades futuras
• POSSIBILIDADE DE CONSULTAS SQL com INSERT, UPDATE e DELETE
• ADIÇÃO DE NOVOS TIPOS DE BANCOS DE DADOS. Exemplo: POSTGRES
• POSSIBILIDADE DE Extração de arquivos no formato XLS e PDF nos relatórios
• Botão de geração automática de URL quando utilizado o método GET
CONHEÇA A NO BOSS TECNOLOGIA:
NOBOSS.COM.BR
facebook.com/NOBOSSTECNOLOGIA
linkedin.com/in/johnnymgo
facebook.com/johnnymgo
Obrigado!