Palestra Joomla Day Brasil 2014 - Extensão de Webservice para Joomla 3

Preview:

DESCRIPTION

Palestra apresentada em 02/05/2014 no Joomla Day Brasil sobre a extensão de Webservice desenvolvida pela No Boss Tecnnologia.

Citation preview

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

johnny@noboss.com.br

linkedin.com/in/johnnymgo

facebook.com/johnnymgo

Obrigado!