Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Integrating Node.js
Search
Andrew Nesbitt
November 10, 2012
Technology
2
760
Integrating Node.js
Slides from NodejsConf.it talk
Andrew Nesbitt
November 10, 2012
Tweet
Share
More Decks by Andrew Nesbitt
See All by Andrew Nesbitt
Ecosyste.ms Conference talk at EasyBuild User Meeting
andrew
0
180
Can my friends come too?
andrew
5
2.2k
Elasticsearch on Rails
andrew
1
370
24 Pull Requests
andrew
0
510
Hardware Hacking with JavaScript
andrew
1
310
Robotics 101
andrew
4
740
Learning how to Tinker
andrew
2
870
Nodecopter Pivotal
andrew
1
120
BathRuby on Robots
andrew
0
96
Other Decks in Technology
See All in Technology
comilioとCloudflare、そして未来へと向けて
oliver_diary
6
430
Goで実践するBFP
hiroyaterui
1
120
0→1事業こそPMは営業すべし / pmconf #落選お披露目 / PM should do sales in zero to one
roki_n_
PRO
1
870
AWS re:Invent 2024 recap in 20min / JAWSUG 千葉 2025.1.14
shimy
1
100
【NGK2025S】動物園(PINTO_model_zoo)に遊びに行こう
kazuhitotakahashi
0
190
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
54k
Accessibility Inspectorを活用した アプリのアクセシビリティ向上方法
hinakko
0
170
コロプラのオンボーディングを採用から語りたい
colopl
5
920
When Windows Meets Kubernetes…
pichuang
0
300
Cloudflareで実現する AIエージェント ワークフロー基盤
kmd09
0
280
深層学習と3Dキャプチャ・3Dモデル生成(土木学会応用力学委員会 応用数理・AIセミナー)
pfn
PRO
0
450
商品レコメンドでのexplicit negative feedbackの活用
alpicola
1
330
Featured
See All Featured
Being A Developer After 40
akosma
89
590k
Producing Creativity
orderedlist
PRO
343
39k
Git: the NoSQL Database
bkeepers
PRO
427
64k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
950
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Building Your Own Lightsaber
phodgson
104
6.2k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
Integrating Node.js into an existing technology stack
Andrew Nesbitt github.com/andrew @teabass
forwardtechnology.co.uk
None
None
None
Show of hands
Benefits of Node
Legacy Systems
Benefits of integration
Let’s do this!
1. Standalone Tools
Command line tools Asset minification Pixel Trackers Url shorteners Internal
tools Monitoring Chat bots Examples
Legacy App Internal tool Internal tool Internal tool Internal tool
Easy to setup Very little integration Little experience needed Pros
Extra dependencies Knowledge silos Cons
2. Shared databases
Connect directly existing database Read from a data warehouse Share
data with a key-value store Examples
Legacy App DB Node
Quick and dirty Adapters for almost every DB available Slow
databases not a problem Pros
Duplicating domain logic Race-conditions Your DBA will likely hate you
Cons
None
3. Using APIs
Use API from existing application Linkedin Mobile Github Downloads Examples
Legacy App DB Node
Avoid duplication of domain logic JSON APIs are lovely to
work with Plays to Nodes strengths Pros
Extra load on existing application Might have to build/extend existing
API What if the legacy app goes down? Cons
4. Creating APIs
Websocket Services Streaming services APIs for Mobile Apps Proxy serivces
File upload handling Ebay’s ql.io Examples
DB Node Clients
Handle very load Lots of concurrent connections JSON comes naturally
Pros
Cons You now have a dependeny on Node System adminstration
Teaching others about it
mysql Rails Disc Cache Nginx Redis Node Browser Pusher http://live.mpora.com
Mpora Live
5. Message Queues
ZeroMQ Resque Redis Pubsub dnode Examples
Message Queue Legacy App Node Legacy Worker
6. Streams
Twitter, Facebook, Salesforce HTTP long polling Comet XMPP Examples
7. Embedding
Ruby Racer Android Hadoop and Timothy Sprintstack PLV8 Examples
create or replace function fib(n int) returns int as $$
function fib(n) { return n<2 ? n : fib(n-1) + fib(n-2) } return fib(n) $$ LANGUAGE plv8 IMMUTABLE STRICT;
http://pgeu-plv8.herokuapp.com
Legacy App Node
Scripting within compiled languages Use existing, battle tested software Enable
Node on embedded devices Pros
Under heavy development You need to know the host platform
Context switching overhead Cons
Take a unix-like approach Decoupled Systems Use APIs to share
data Play to node’s strengths Summary
Node on Andriod - lanyrd.com/smpbg Rails and Node.js - lanyrd.com/srmwr
Hadoop and Timothy - lanyrd.com/sttxx Rhinode (Sprintstack) - lanyrd.com/srmwx These slides - lanyrd.com/szwyc Links