SlideShare a Scribd company logo
1 of 22
Real-time web/mobile app. 
Real-time systems 
Presented by Bunlong VAN 
https://geekhmer.github.io
The Disclaimer
Real-time application? 
• Make the web/mobile 'The live web/mobile' 
• Update info. on web/mobile without delay & page refreshes 
• Enable users to receive info. As soon as it is published
Tech Stack
Websocket? 
• Websocket is a new standard for realtime communication 
the web & mobile app. 
• Websocket enables the server to push data to the 
connected clients. 
• MMuullttii--uusseerr aapppp.. 
• RReeaall--ttiimmee aapppp.. 
• AApppp wwhheerree lliivvee ddaattaa iiss nneeeeddeedd,, lliikkee ssttoocckk mmaarrkkeett aapppp......
Websocket? (Con.) 
• On web, Websocket support in browser ssuucchh aass CChhrroommee,, 
FFiirreeffooxx,, OOppeerraa.. 
• OOnn mmoobbiillee,, WWeebbssoocckkeett ssuuppppoorrtt iinn iiOOSS & AAnnddrrooiidd.. 
• WWeebbssoocckkeett cclliieenntt oonn WWeebb uussee jjaavvaassccrriippoott ffoorr rreeqquueessttiinngg ttoo 
wweebbssoocckkeett sseerrvveerr..
Websocket? (Con.) 
• On server, Websocket ssuuppppoorrtt iinn::
Websocket? (Con.)
Front-end MVC Framework
You got ur Erlang in my Ruby
Companies using Erlang
Erlang 
• SSccaallaabbllee 
• CCoonnccuurrrreennccyy 
• DDiissttrriibbuutteedd 
• NNeettwwoorrkkiinngg 
• UUnnffaammiilliiaarr ssyynnttaaxx 
• HHaarrdd ttoo lleeaarrnn 
• LLeessss ddooccuummeenntt 
• MMuucchh hhaarrddeerr ttoo ffiinndd ddeevveellooppeerrss
Ruby 
• RRaappiidd ddeevveellooppmmeenntt 
• FFaammiilliiaarr ssyynnttaaxx 
• HHuummaann rreeaaddaabbllee ccooddee 
• NNiiccee ccooddee 
• FFlleexxiibbllee 
• EEaassyy ttoo ffiinndd ddeevveellooppeerrss 
• NNoo MMuullttii--CCoorree 
• NNoo nnaattiivvee tthhrreeaaddss 
• IInntteerrpprreetteedd ssccrriipptt
What if we can combine the best of both? 
• MMeessssaaggiinngg 
• NNeettwwoorrkkiinngg 
• SSccaallaabbiilliittyy 
• DDiissttrriibbuuttiioonn 
• RRaappiidd ddeevveellooppmmeenntt 
• DDSSLL//ccoonncciissee ssyynnttaaxx 
• EEaassee ooff uussee//iinnssttaallllaattiioonn
Erlang 
Web server 
Agent Agent Agent 
Agent Agent Agent 
Agent Agent Agent 
Agent Agent Agent 
Agent Agent Agent 
Agent Agent Agent 
Agent Agent Agent 
Mapping 
Ruby/Rails 
Processing
How many connections? 
No 
No 
No 
No 
No 
No
Overflow connections 
Erlang 
Web server 
Agent Agent Agent 
Agent Agent Agent 
Agent Agent Agent 
Agent Agent Agent 
Agent Agent Agent 
Agent Agent Agent 
Agent Agent Agent 
Mapping 
Ruby/Rails
Have solution? 
PPrrooxxyy sseerrvveerr 
WWeebb sseerrvveerr 
WWeebb sseerrvveerr 
WWeebb sseerrvveerr 
WWeebb sseerrvveerr
Chat System – Registration 
Chat Room [ 0.01, 0.02, 0.03, 0.04 , 0.05] 
Bunlong Linda Dara Nita Ah Vy 
0.01 0.02 0.03 0.04 0.05
Chat System – Sending Message 
Chat Room 
[ 0.01, 0.02, 0.03, 0.04 , 0.05] 
“Hello” “Hello” “Hello” 
“Hello” “Hello” 
Bunlong Linda Dara Nita Ah Vy 
0.01 0.02 0.03 0.04 0.05
Question?
Thank you

More Related Content

Similar to Real time web and mobile application with Erlang & Ruby programming language

Crm pilvipalveluna harri kanerva - value frame
Crm pilvipalveluna   harri kanerva - value frameCrm pilvipalveluna   harri kanerva - value frame
Crm pilvipalveluna harri kanerva - value frameValueFrame Oy
 
Progression testing - on how regression test automation needs to be progressi...
Progression testing - on how regression test automation needs to be progressi...Progression testing - on how regression test automation needs to be progressi...
Progression testing - on how regression test automation needs to be progressi...adampknight
 
Mitä on big data, Aamiaistilaisuus 13.03.2012
Mitä on big data, Aamiaistilaisuus 13.03.2012Mitä on big data, Aamiaistilaisuus 13.03.2012
Mitä on big data, Aamiaistilaisuus 13.03.2012Immo Salo
 
Case Seurakuntavaalit
Case SeurakuntavaalitCase Seurakuntavaalit
Case SeurakuntavaalitAmbientia
 
Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhtei...
Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhtei...Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhtei...
Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhtei...Digitalmikkeli
 
Pilvet ja Office 365 8.12.14
Pilvet ja Office 365 8.12.14Pilvet ja Office 365 8.12.14
Pilvet ja Office 365 8.12.14Matleena Laakso
 
Verkkopalveluiden kehittäminen - 3 tapaa tehdä projekti, 2 casea
Verkkopalveluiden kehittäminen - 3 tapaa tehdä projekti, 2 caseaVerkkopalveluiden kehittäminen - 3 tapaa tehdä projekti, 2 casea
Verkkopalveluiden kehittäminen - 3 tapaa tehdä projekti, 2 caseaSininen Meteoriitti / Blue Meteorite
 
Aplikasi diseminasi informasi
Aplikasi diseminasi informasi Aplikasi diseminasi informasi
Aplikasi diseminasi informasi Ummiee Ahyar
 
API Design: 7 kuolemansyntiä
API Design: 7 kuolemansyntiäAPI Design: 7 kuolemansyntiä
API Design: 7 kuolemansyntiäArto Santala
 
Ataques a bases de datos
Ataques a bases de datosAtaques a bases de datos
Ataques a bases de datoscmarindi
 
Store App -kehityksen aloittaminen
Store App -kehityksen aloittaminenStore App -kehityksen aloittaminen
Store App -kehityksen aloittaminenSovelto
 
Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...
Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...
Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...Karl Ots
 
Dev ops atlassianway-final-2017-10
Dev ops atlassianway-final-2017-10Dev ops atlassianway-final-2017-10
Dev ops atlassianway-final-2017-10Ambientia
 
Business analyst training in india
Business analyst training in indiaBusiness analyst training in india
Business analyst training in indiaunited global soft
 
Liferay Road Show Helsinki, Case Uponor Koti 2012-09-13
Liferay Road Show Helsinki, Case Uponor Koti 2012-09-13Liferay Road Show Helsinki, Case Uponor Koti 2012-09-13
Liferay Road Show Helsinki, Case Uponor Koti 2012-09-13Ambientia
 
Kelan verkkopalvelun responsiivinen suunnittelu ja toteutus, Viestintävirasto...
Kelan verkkopalvelun responsiivinen suunnittelu ja toteutus, Viestintävirasto...Kelan verkkopalvelun responsiivinen suunnittelu ja toteutus, Viestintävirasto...
Kelan verkkopalvelun responsiivinen suunnittelu ja toteutus, Viestintävirasto...Arto Paavola
 
Webinaari: Oletko pilvinatiivi vai palvelimen vanki?
Webinaari: Oletko pilvinatiivi vai palvelimen vanki?Webinaari: Oletko pilvinatiivi vai palvelimen vanki?
Webinaari: Oletko pilvinatiivi vai palvelimen vanki?Planeetta Internet
 
10 parasta tapaa pilata Liferay-projekti
10 parasta tapaa pilata Liferay-projekti10 parasta tapaa pilata Liferay-projekti
10 parasta tapaa pilata Liferay-projektiAmbientia
 
Verkkosivuista verkkopalveluksi
Verkkosivuista verkkopalveluksiVerkkosivuista verkkopalveluksi
Verkkosivuista verkkopalveluksiTurun kaupunki
 

Similar to Real time web and mobile application with Erlang & Ruby programming language (20)

Crm pilvipalveluna harri kanerva - value frame
Crm pilvipalveluna   harri kanerva - value frameCrm pilvipalveluna   harri kanerva - value frame
Crm pilvipalveluna harri kanerva - value frame
 
Progression testing - on how regression test automation needs to be progressi...
Progression testing - on how regression test automation needs to be progressi...Progression testing - on how regression test automation needs to be progressi...
Progression testing - on how regression test automation needs to be progressi...
 
Mitä on big data, Aamiaistilaisuus 13.03.2012
Mitä on big data, Aamiaistilaisuus 13.03.2012Mitä on big data, Aamiaistilaisuus 13.03.2012
Mitä on big data, Aamiaistilaisuus 13.03.2012
 
Case Seurakuntavaalit
Case SeurakuntavaalitCase Seurakuntavaalit
Case Seurakuntavaalit
 
Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhtei...
Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhtei...Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhtei...
Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhtei...
 
Pilvet ja Office 365 8.12.14
Pilvet ja Office 365 8.12.14Pilvet ja Office 365 8.12.14
Pilvet ja Office 365 8.12.14
 
Verkkopalveluiden kehittäminen - 3 tapaa tehdä projekti, 2 casea
Verkkopalveluiden kehittäminen - 3 tapaa tehdä projekti, 2 caseaVerkkopalveluiden kehittäminen - 3 tapaa tehdä projekti, 2 casea
Verkkopalveluiden kehittäminen - 3 tapaa tehdä projekti, 2 casea
 
Aplikasi diseminasi informasi
Aplikasi diseminasi informasi Aplikasi diseminasi informasi
Aplikasi diseminasi informasi
 
API Design: 7 kuolemansyntiä
API Design: 7 kuolemansyntiäAPI Design: 7 kuolemansyntiä
API Design: 7 kuolemansyntiä
 
Ataques a bases de datos
Ataques a bases de datosAtaques a bases de datos
Ataques a bases de datos
 
Store App -kehityksen aloittaminen
Store App -kehityksen aloittaminenStore App -kehityksen aloittaminen
Store App -kehityksen aloittaminen
 
Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...
Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...
Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...
 
Dev ops atlassianway-final-2017-10
Dev ops atlassianway-final-2017-10Dev ops atlassianway-final-2017-10
Dev ops atlassianway-final-2017-10
 
Svn1.7. Guido Levi - JUG Torino 20 marzo 2012
Svn1.7. Guido Levi - JUG Torino 20 marzo 2012Svn1.7. Guido Levi - JUG Torino 20 marzo 2012
Svn1.7. Guido Levi - JUG Torino 20 marzo 2012
 
Business analyst training in india
Business analyst training in indiaBusiness analyst training in india
Business analyst training in india
 
Liferay Road Show Helsinki, Case Uponor Koti 2012-09-13
Liferay Road Show Helsinki, Case Uponor Koti 2012-09-13Liferay Road Show Helsinki, Case Uponor Koti 2012-09-13
Liferay Road Show Helsinki, Case Uponor Koti 2012-09-13
 
Kelan verkkopalvelun responsiivinen suunnittelu ja toteutus, Viestintävirasto...
Kelan verkkopalvelun responsiivinen suunnittelu ja toteutus, Viestintävirasto...Kelan verkkopalvelun responsiivinen suunnittelu ja toteutus, Viestintävirasto...
Kelan verkkopalvelun responsiivinen suunnittelu ja toteutus, Viestintävirasto...
 
Webinaari: Oletko pilvinatiivi vai palvelimen vanki?
Webinaari: Oletko pilvinatiivi vai palvelimen vanki?Webinaari: Oletko pilvinatiivi vai palvelimen vanki?
Webinaari: Oletko pilvinatiivi vai palvelimen vanki?
 
10 parasta tapaa pilata Liferay-projekti
10 parasta tapaa pilata Liferay-projekti10 parasta tapaa pilata Liferay-projekti
10 parasta tapaa pilata Liferay-projekti
 
Verkkosivuista verkkopalveluksi
Verkkosivuista verkkopalveluksiVerkkosivuista verkkopalveluksi
Verkkosivuista verkkopalveluksi
 

More from Bunlong Van

scrummethodology-151002092252-lva1-app6891
scrummethodology-151002092252-lva1-app6891scrummethodology-151002092252-lva1-app6891
scrummethodology-151002092252-lva1-app6891Bunlong Van
 
Scrum methodology
Scrum methodologyScrum methodology
Scrum methodologyBunlong Van
 
Javascript dom event
Javascript dom eventJavascript dom event
Javascript dom eventBunlong Van
 
Javascript Object Oriented Programming
Javascript Object Oriented ProgrammingJavascript Object Oriented Programming
Javascript Object Oriented ProgrammingBunlong Van
 
Basic Javascript
Basic JavascriptBasic Javascript
Basic JavascriptBunlong Van
 
Ruby on Rails testing with Rspec
Ruby on Rails testing with RspecRuby on Rails testing with Rspec
Ruby on Rails testing with RspecBunlong Van
 
How to develop app for facebook fan page
How to develop app for facebook fan pageHow to develop app for facebook fan page
How to develop app for facebook fan pageBunlong Van
 

More from Bunlong Van (9)

scrummethodology-151002092252-lva1-app6891
scrummethodology-151002092252-lva1-app6891scrummethodology-151002092252-lva1-app6891
scrummethodology-151002092252-lva1-app6891
 
Scrum methodology
Scrum methodologyScrum methodology
Scrum methodology
 
Javascript dom event
Javascript dom eventJavascript dom event
Javascript dom event
 
Javascript Object Oriented Programming
Javascript Object Oriented ProgrammingJavascript Object Oriented Programming
Javascript Object Oriented Programming
 
Basic Javascript
Basic JavascriptBasic Javascript
Basic Javascript
 
Why ruby?
Why ruby?Why ruby?
Why ruby?
 
Ruby on Rails testing with Rspec
Ruby on Rails testing with RspecRuby on Rails testing with Rspec
Ruby on Rails testing with Rspec
 
How to develop app for facebook fan page
How to develop app for facebook fan pageHow to develop app for facebook fan page
How to develop app for facebook fan page
 
Why less?
Why less?Why less?
Why less?
 

Real time web and mobile application with Erlang & Ruby programming language

  • 1. Real-time web/mobile app. Real-time systems Presented by Bunlong VAN https://geekhmer.github.io
  • 3. Real-time application? • Make the web/mobile 'The live web/mobile' • Update info. on web/mobile without delay & page refreshes • Enable users to receive info. As soon as it is published
  • 5. Websocket? • Websocket is a new standard for realtime communication the web & mobile app. • Websocket enables the server to push data to the connected clients. • MMuullttii--uusseerr aapppp.. • RReeaall--ttiimmee aapppp.. • AApppp wwhheerree lliivvee ddaattaa iiss nneeeeddeedd,, lliikkee ssttoocckk mmaarrkkeett aapppp......
  • 6. Websocket? (Con.) • On web, Websocket support in browser ssuucchh aass CChhrroommee,, FFiirreeffooxx,, OOppeerraa.. • OOnn mmoobbiillee,, WWeebbssoocckkeett ssuuppppoorrtt iinn iiOOSS & AAnnddrrooiidd.. • WWeebbssoocckkeett cclliieenntt oonn WWeebb uussee jjaavvaassccrriippoott ffoorr rreeqquueessttiinngg ttoo wweebbssoocckkeett sseerrvveerr..
  • 7. Websocket? (Con.) • On server, Websocket ssuuppppoorrtt iinn::
  • 10. You got ur Erlang in my Ruby
  • 12. Erlang • SSccaallaabbllee • CCoonnccuurrrreennccyy • DDiissttrriibbuutteedd • NNeettwwoorrkkiinngg • UUnnffaammiilliiaarr ssyynnttaaxx • HHaarrdd ttoo lleeaarrnn • LLeessss ddooccuummeenntt • MMuucchh hhaarrddeerr ttoo ffiinndd ddeevveellooppeerrss
  • 13. Ruby • RRaappiidd ddeevveellooppmmeenntt • FFaammiilliiaarr ssyynnttaaxx • HHuummaann rreeaaddaabbllee ccooddee • NNiiccee ccooddee • FFlleexxiibbllee • EEaassyy ttoo ffiinndd ddeevveellooppeerrss • NNoo MMuullttii--CCoorree • NNoo nnaattiivvee tthhrreeaaddss • IInntteerrpprreetteedd ssccrriipptt
  • 14. What if we can combine the best of both? • MMeessssaaggiinngg • NNeettwwoorrkkiinngg • SSccaallaabbiilliittyy • DDiissttrriibbuuttiioonn • RRaappiidd ddeevveellooppmmeenntt • DDSSLL//ccoonncciissee ssyynnttaaxx • EEaassee ooff uussee//iinnssttaallllaattiioonn
  • 15. Erlang Web server Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Mapping Ruby/Rails Processing
  • 16. How many connections? No No No No No No
  • 17. Overflow connections Erlang Web server Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Agent Mapping Ruby/Rails
  • 18. Have solution? PPrrooxxyy sseerrvveerr WWeebb sseerrvveerr WWeebb sseerrvveerr WWeebb sseerrvveerr WWeebb sseerrvveerr
  • 19. Chat System – Registration Chat Room [ 0.01, 0.02, 0.03, 0.04 , 0.05] Bunlong Linda Dara Nita Ah Vy 0.01 0.02 0.03 0.04 0.05
  • 20. Chat System – Sending Message Chat Room [ 0.01, 0.02, 0.03, 0.04 , 0.05] “Hello” “Hello” “Hello” “Hello” “Hello” Bunlong Linda Dara Nita Ah Vy 0.01 0.02 0.03 0.04 0.05