2. Globalcode – Open4education
José Wilker
Atividades:
* CEO/Fundador SMARTAPPS.
* Consultor de tecnologia
Especialidades:
* PHP / C / JS / NODEJS / BASH / SQL
* Code Igniter / Zend Framework / Socket.io /
ExpressJS / ZMQ
* HTML / CSS
Desenvolvedor, Empreendedor e Maker, Se envolve
com tecnologia desde 1996 e com a comunidade de
PHP desde 2004, atuando com ênfase em setores
como Telecomunicações e Saúde.
O PALESTRANTE
4. Globalcode – Open4education
O Pai da
internet das
coisas.
“in retrospect it looks like the
rapid growth of the World
Wide Web may have been just
the trigger charge that is now
setting off the real explosion,
as things start to use the Net.”
Kevin Ashton (1999)
5. Globalcode – Open4education
O CONCEITO
Internet das coisas é o
conceito aplicado quando um
objeto equipado com, softwares,
sensores e conectividade,
possui acesso a internet.
6. Globalcode – Open4education
O OBJETIVO
Conectar tudo que está
Desconectado para coletar
informações que possam auxiliar
em uma tomada de decisão.
8. Globalcode – Open4education
A Internet of Things tem o potencial para transformar todas
as indústrias, alterando a forma como vivemos e trabalhamos,
local e globalmente. Abaixo segue algumas áreas específicas:
• Monitoramento ambiental
• Gerenciamento de infra-estrutura
• Fabricação de produtos.
• Construção e automação residencial.
• Transporte
e etc…
O POTENCIAL
18. Globalcode – Open4education
O aspecto virtual é um dos principais pontos na
subdivisão da Internet das coisas fornecendo
inteligência para todo o cenário.
ASPECTOVIRTUAL
DB Services Integration
Este aspecto pode ser divido em várias sub camadas, dividimos
em 3, como o esquema abaixo:
19. Globalcode – Open4education
• Data
• SQL
• VIEWS
• FILES
• NOSQL
AV - CAMADAS
• Data Service
• Servidor WEB
• Frameworks
• ZEROMQ
• Linguagens
• PHP/
NODEJS
• ShellScript/C
• Tipos de dados
• JSON
• CSV
• API
• REST
• RESTFul
• SOAP
• Socket
• TCP
• WEB
• MQTT
• Jabber
• XMPP
Persistente & Não persistente
20. Globalcode – Open4education
DATA:SQL:VIEWS
"Views são uma maneira alternativa de observação
de dados de uma ou mais entidades (tabelas), que
compõe um banco de dados.”
Devmedia.com.br - Wagner Bianchi
Dados:Persistentes
21. Globalcode – Open4education
AV:DATA:SQL:VIEWS - CRIANDO
USE NOME_DO_BANCO
GO
CREATE VIEW dbo.NOME_DA_VIEW
(nome, sobrenome, data_nascimento)
AS
SELECT
nome,
sobrenome,
CONVERT(char(10), data_nascimento, 2)
FROM
usuario AS u
GO
★ TABELA - USUARIO
nome, sobrenome, data_nascimento
★ CRIANDO UMA VIEW (SQL ANSII)
Exemplo: Como criar uma view
22. Globalcode – Open4education
• Velocidade de acesso as informações.
(uma vez a view compilada, o recordset gerado é armazenado
em uma tabela de cache virtual para ser reutilizado sempre que
solicitado).
• Simplificar o gerenciamento de acesso aos dados.
• Acesso a informações específicas.
• Economizar tempo com retrabalho.
• Facilitar a compreensão do banco de dados.
• Organizar os dados armazenados.
AV:DATA:SQL:VIEWS - BENEFÍCIOS
23. Globalcode – Open4education
SOCKET:ZEROMQ
AV - SOCKETS
“(0MQ, ZMQ ou ZEROMQ) é uma camada inteligente para
transporte de informações em aplicações distribuídas.”
zeromq.org
Dados:Não persistentes
Is the answer!
24. Globalcode – Open4education
• CONECTAR novas peças possui um custo muito alto em
aplicações já desenvolvidas.
• AGREGAR novas peças garante um conhecimento distribuído e
dinâmico.
• ISOLAR problemas facilita no processo de manutenção e
desenvolvimento.
• DISTRIBUIR os processos.
AV:SOCKET:ZMQ - POR QUE USAR ?
É realmente rápido e simples de usar!
Muito pequena, < 40k linhas!
26. Globalcode – Open4education
AV:SOCKET:ZMQ - CASO DE USO
Tema: Fábrica de suco natural de laranja
Processo: Realizar controle de acidez no processo de seleção de
laranjas para fornecer suco natural com o melhor sabor e qualidade.
Sensor 1
Sensor 2 Sensor 3
Sensor 4
Esquemático: Seleção de laranjas para suco tipo A.
28. Globalcode – Open4education
• Central Lógica
Responsável por realizar toda a comunicação com a web e manter a
integridade dos dados para armazenamento persistente.
• Sensor 1, coleta informações sobre a quantidade de laranjas que serão
despejadas para seleção.
• Sensor 2, vários sensores com o objetivo de executar o processo para
verificação dos níveis de ácido na laranja.
• Sensor 3, executa o processo de remoção da laranja com alto nível de acidez.
• Sensor 4, verifica o peso da laranja para identificar a quantidade de suco
existente.
AV:SOCKET:ZMQ - CASO DE USO
33. Globalcode – Open4education
AV:SOCKET:ZMQ - POR QUE USAR ?
• Patterns, É possível aplicar diferentes tipos de padrões para
trabalhar as mensagens.
• Multithread, É possível trabalhar com muitas conexões
simultâneas..
• Support, É multi plataforma e possui uma boa documentação.
34. Globalcode – Open4education
API:RESTFULL
"Representational State Transfer (REST) é um estilo de
arquitetura de software que consiste em orientações e melhores
práticas para a criação de aplicações web escaláveis.”
- Wikipedia.org
can help!
35. Globalcode – Open4education
• Client-Server, Interface uniforme separando cliente e servidor.
• Base URI, http://www.smartapps.com.br/api
• Query String Access, ?arg=1
• Cacheable, As respostas podem ser armazenadas em cache.
• Stateless, Cada requisição é processada de forma independente.
• Internet media type,
• JSON
• CSV
• XML
• Microformats (hCard, hCalendar, hAtom)
• images
• Standard HTTP methods
• GET
• PUT
• POST
• DELETE.
AV:API:RESTFUL - ASPECTOS PARA IOT
“RESTful está geralmente
presente em aplicações com o
protocolo HTTP.”
36. Globalcode – Open4education
API:REST:SOAP
“Simple Object Access Protocol (SOAP) é um protocolo
para troca de informações estruturadas em uma plataforma
descentralizada e distribuída.”
- Wikipedia.org
Humm…
37. Globalcode – Open4education
• ENVELOPE, com SOAP é possível enviar as mensagens em um
envelope.
• REGRAS, é possível definir regras para codificação.
• EXTENSÃO, facilita no processo de manutenção e
desenvolvimento.
• INDEPENDENTE, SOAP é independente de qualquer coisa
(linguagem, transporte, modelo e etc).
AV:API:REST:SOAP - ASPECTOS
38. Globalcode – Open4education
O aspecto físico é um dos aspectos fundamentais para o sucesso
da internet das coisas, pois estamos falando dos Hardwares e as
redes de conectividade que envolvem todo o processo.
ASPECTOFÍSICO
HW Telecom WEB
39. Globalcode – Open4education
1. Distribua os processos para otimizar o desempenho.
2. Sempre pense na possibilidade de controlar a
execução dos processos.
3. Sempre pense em módulos.
4. Cache é essencial e só resolve parte dos problemas.
DICAS/TIPS