No dias 16 de novembro/2016, representando a Stone Pagamentos no cenário de desenvolvimento, o Gestor de TI e Arquiteto de Sistemas Alexandre Brandão ministrou uma importante palestra no evento CompusulMT na UFMT - Universidade Federal do Estado do Mato Grosso na cidade de Rondonópolis abordando o seguinte tema: IoT Service Bus - High availability with Internet of Things (IoT)/ API Rest/ Message Broker
IoT Service Bus - High availability with Internet of Things (IoT)/ API Rest/ Message Broker
1. Palestrante: Alexandre Brandão Lustosa
IoT Service Bus - High availability with
Internet of Things (IoT)/ API Rest/ Message Broker
http://www.compsulmt.com.br/
2. IoT Service Bus - High availability with
Internet of Things (IoT)/ API Rest/ Message Broker
abrandao@stone.com.br
"A única maneira de fazer um excelente trabalho é amar o que você faz." (Steve Jobs)
4. Clientes MundiPagg - 40% MarketShare
LOJAS DEPARTAMENTO MODA ENTRETENIMENTO ALIMENTOS
Temos mais de 1500 lojas em nosso portfólio, algumas delas são as maiores marcas brasileiras e internacionais.
ÓLEO TV
13. Faça parte do nosso time!
querotrabalhar@stone.com.br
abrandao@stone.com.br
"A única maneira de fazer um excelente trabalho é amar o que você faz." (Steve
Jobs)
14. Faça parte do nosso time!
abrandao@mundipagg.com
{ TEMOS VAGAS }
"A única maneira de fazer um excelente trabalho é amar o que você faz." (Steve Jobs)
15. Alexandre
Brandão
{ Microsoft C# .Net Solution Developer,
C++ Linux Developer, C/C++ Embedded Programmer }
<contatos>
<twitter>
@abrandaolustosa
</twitter>
<skype>
abrandao@stone.com.br
</skype>
</contatos>
Gerente de TI
Arquiteto de Sistemas
Analista Desenvolvedor Sênior
curl -data “experiencia=16_anos&motivacao=inovacao%20e%20pesquisa” http://www.stone.com.br
17. “Definição” : “É uma revolução tecnológica a
fim de conectar dispositivos eletrônicos utilizados
no dia-a-dia
(como aparelhos eletrodomésticos, eletroportáteis,
máquinas industriais, meios de transporte, etc) à
Internet,
cujo desenvolvimento depende da inovação técnica
dinâmica em campos tão importantes como os
sensores wireless, a inteligência artificial e a
nanotecnologia.”
{
}
49. IoT - High Availability
IoT API Rest
Service Bus
Message Broker
Persistence
Layer
Databases
Devices
Devices
Devices
Devices
Devices
Sensors
Sensors
Sensors
Sensors
Sensors
Cloud Service / On Premise Cluster Service
52. Método principal
//Main function
function main(){
//Setup configurations
config();
//Set loop process each 4 seconds
setInterval(function () {
//Set led process indicator on
ledProcessOn();
//Read Sensor
var data = readTempSensor();
//Post data on Slack
postOnSlack(data);
//Set led process indicator on
ledProcessOff();
},
4000);}
53. Define o pino como
saída para o LED
//Setup configuration
function config(){
//Set pin direction
ledProcess.dir(mraa.DIR_OUT);
}
//Set led process indicator on
function ledProcessOn(){
//Write signal to up
ledProcess.write(1);
}
//Set led process indicator off
function ledProcessOff(){
//Write signal to down
ledProcess.write(0);
}
Envia o sinal alto
Acende o LED
Envia o sinal baixo
Apaga o LED
54. function postOnSlack(data){
//Set options and message
var options = {
//Webhook uri, replace by your uri Slack web hook integration
uri: https://hooks.slack.com/services/T0FES4821jluMzasy',
method: 'POST', //Request type
json: data //Data
};
//Do post request
request(options, function (error, response, body) {
//Verify response
if (!error && response.statusCode == 200)
console.log("Success");
}else
console.log(error);
}
});
} Exemplo de integração com API Rest
57. “Definição” : “An enterprise service bus
(ESB) is a software architecture model used for
designing and implementing communication
between mutually interacting software applications
in a service-oriented architecture (SOA)”
{
}
62. { Soluções – Service Bus }
- RabbitMQ
- CloudAMQP (RabbitMQ)
- Azure ServiceBus
- IBM MQ Series
- Amazon SQS
- SQL Server Service Broker
- Microsoft Message Queue
- OpenShift
- Kafka
63. https://www.rabbitmq.com/
• Robust messaging for applications
• Easy to use
• Runs on all major operating systems
• Supports a huge number of developer platforms
• Open source and commercially supported
• Multiplatform for Windows, Linux and Mac OS
• Erlang
65. The Advanced Message Queuing Protocol
(AMQP) is an open standard application layer
protocol for message-oriented middleware. The
defining features of AMQP are message
orientation, queuing, routing (including point-
to-point and publish-and-subscribe), reliability
and security.
AMQP
66. To become the standard protocol for interoperability
between all messaging middleware
AMQP
67. Plugins
Management
• Gerenciamento
• Configuração
• Monitoramento
STOMP/ MQTT
• Integrações utilizando outros protocolos de comunicação
Federation / Shovel
• Configuração de cluster em redes não confiáveis
72. Publish/Subscribe (FanOut)- RabbitMQ
Sending messages to many consumers at once
Exchange Types: direct, topic, headers and fanout
channel.exchange_declare(exchange='direct_logs', type=‘fanout')