Minuto a MinutoDanilo Sousa ~ dsgoncalves@sp.r7.com
Solução atual
LUMIS + HTML Pooling●Fornecedor envia, via FTP, o XML da narração;●Extract, transform and load ( ETL ) do LUMIS faz o pars...
Problemas●Demora na atualização;○XML parseado pela ETL;○Alterações refletidas browser;●LUMIS○Fila de geração página;○Troca...
Solução Proposta
WebSocketsNode.jsRedis
WebSockets●Padrão W3C / IETF;●Conexão bi-direcional;●Funciona através de Proxy / Firewall;●Menor overhead que as requisiçõ...
Node.js●V8 Engine○Javascript e C / C++ Addons;●Orientado à Eventos ( Assíncrono );●Non-blocking IO;●CommonJS modules;●Comu...
Redis●Advanced key-value store;●Muito rápido: ~5k GET/seg;●Diversos tipos de dados:○lists, hash, expires, sorted sets;●Em ...
Considerações sobre Node.js●Bem recente ( stable v0.4.1 );●Desenvolvimento bastante ativo;●Pouco testado em produção;○ 75 ...
PublicadorRedisFornecedorParserAPIUsuáriosSocket.ioSocket.ioWebSocketwebservicewebserviceUsuáriosUsuáriosXMLNode.jsPubSubw...
Demonstraçãohttp://bit.ly/R7-MMhttp://bit.ly/R7MMobile
Perguntas?
Upcoming SlideShare
Loading in...5
×

Minuto a minuto

192

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
192
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Minuto a minuto

  1. 1. Minuto a MinutoDanilo Sousa ~ dsgoncalves@sp.r7.com
  2. 2. Solução atual
  3. 3. LUMIS + HTML Pooling●Fornecedor envia, via FTP, o XML da narração;●Extract, transform and load ( ETL ) do LUMIS faz o parse oXML;●O browser atualiza o conteúdo a cada X segundos;●A Redação pode alterar ou inserir algum item;*
  4. 4. Problemas●Demora na atualização;○XML parseado pela ETL;○Alterações refletidas browser;●LUMIS○Fila de geração página;○Troca de URL do jogo;
  5. 5. Solução Proposta
  6. 6. WebSocketsNode.jsRedis
  7. 7. WebSockets●Padrão W3C / IETF;●Conexão bi-direcional;●Funciona através de Proxy / Firewall;●Menor overhead que as requisições HTTP / Ajax;●Atualizações em Tempo Real;●Suporta: Crossdomain, Autenticação, SSL;
  8. 8. Node.js●V8 Engine○Javascript e C / C++ Addons;●Orientado à Eventos ( Assíncrono );●Non-blocking IO;●CommonJS modules;●Comunidade e desenvolvimento bastante ativo;●Facilmente escalável;
  9. 9. Redis●Advanced key-value store;●Muito rápido: ~5k GET/seg;●Diversos tipos de dados:○lists, hash, expires, sorted sets;●Em memória com persistência:○Disco, snapshots, append-only log, VM;●Cluster e Replicação dos dados;●Publish / Subscribe;
  10. 10. Considerações sobre Node.js●Bem recente ( stable v0.4.1 );●Desenvolvimento bastante ativo;●Pouco testado em produção;○ 75 empresas e 83 projetos *●Nested callback problem;* https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Nodeclient.open(function(err, p_client) {client.dropDatabase(function(err, done) {client.createCollection(key, function(err, collection) {collection.insert({ key: 666 }, function(err, docs) {[ code goes here ]});});});});
  11. 11. PublicadorRedisFornecedorParserAPIUsuáriosSocket.ioSocket.ioWebSocketwebservicewebserviceUsuáriosUsuáriosXMLNode.jsPubSubwebserviceAtualizações da RedaçãoBackend Node.js
  12. 12. Demonstraçãohttp://bit.ly/R7-MMhttp://bit.ly/R7MMobile
  13. 13. Perguntas?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×