Download - Connecting Adhearsion
P A G E
Connecting Adhearsion
Ben Langfeld@benlangfeld
P A G E
2http://theblogthatnoonereads.davegrijalva.com/2004/11/
P A G E
CONTROLLING PHONE CALLS
3http://www.laddamobilen.nu/gratis-ringsignal-old-phone-klassisk-telefon.php
P A G E
BEING A WEB APP
4http://www.pocketpcfaq.com/wce/21/webphone.htm
P A G E
MANAGING DATABASES
5http://www.searchamelia.com/a-clutter-free-space-is-a-happier-place
P A G E
PROCESSING AUDIO
6http://cheezburger.com/1922247936
P A G E
BREWING COFFEE
7http://www.flickr.com/photos/39288568@N03/3774087746/
P A G E
WHY CONNECT ADHEARSION?
8
P A G E
WHY CONNECT ADHEARSION?
8
Report on Calls
P A G E
WHY CONNECT ADHEARSION?
8
Report on CallsReal-time Call Statistics
P A G E
WHY CONNECT ADHEARSION?
8
Gather In-Call Data
Report on CallsReal-time Call Statistics
P A G E
WHY CONNECT ADHEARSION?
8
Gather In-Call Data
Report on Calls
Trigger Outbound
Calls
Real-time Call Statistics
P A G E
WHY CONNECT ADHEARSION?
8
Gather In-Call Data
Report on Calls
Trigger Outbound
CallsMulti-Modal
Communications
Real-time Call Statistics
P A G E
WHY CONNECT ADHEARSION?
8
Gather In-Call Data
Report on Calls
Trigger Outbound
CallsMulti-Modal
Communications
Real-time Call Statistics
Process Jobs
P A G E
CONNECT TO WHAT?
9
Trigger Outbound
Calls
Report on CallsReal-time Call Statistics
Multi-Modal Communications
Gather In-Call Data
Process Jobs
P A G E
CONNECT TO WHAT?
9
Trigger Outbound
Calls
Report on CallsReal-time Call Statistics
Multi-Modal Communications
Gather In-Call Data
Database
Process Jobs
P A G E
CONNECT TO WHAT?
9
Trigger Outbound
Calls
Report on CallsReal-time Call Statistics
Multi-Modal Communications
Gather In-Call Data
PubSubDatabase
Process Jobs
P A G E
CONNECT TO WHAT?
9
Trigger Outbound
Calls
Report on CallsReal-time Call Statistics
Multi-Modal Communications
Gather In-Call Data
PubSubListening
Database
Process Jobs
P A G E
CONNECT TO WHAT?
9
Trigger Outbound
Calls
Report on CallsReal-time Call Statistics
Multi-Modal Communications
Gather In-Call Data
PubSubListening
Database
Process Jobs
P A G E
CONNECT TO WHAT?
9
Trigger Outbound
Calls
Report on CallsReal-time Call Statistics
Multi-Modal Communications
Gather In-Call Data
PubSubListening
Database
Process Jobs
P A G E
CONNECT TO WHAT?
9
Trigger Outbound
Calls
Report on CallsReal-time Call Statistics
Multi-Modal Communications
Gather In-Call Data
PubSubListening
DatabaseExternal
APIs
Process Jobs
P A G E
CONNECT TO WHAT?
9
Trigger Outbound
Calls
Report on CallsReal-time Call Statistics
Multi-Modal Communications
Gather In-Call Data
Click-to-Call
PubSubListening
DatabaseExternal
APIs
Process Jobs
P A G E
CONNECT TO WHAT?
9
Trigger Outbound
Calls
Report on CallsReal-time Call Statistics
Multi-Modal Communications
Gather In-Call Data
Click-to-Call
PubSubListening
Call Queue
DatabaseExternal
APIs
Process Jobs
P A G E
CONNECT TO WHAT?
9
Trigger Outbound
Calls
Report on CallsReal-time Call Statistics
Multi-Modal Communications
Gather In-Call Data
AutoDialer
Click-to-Call
PubSubListening
Call Queue
DatabaseExternal
APIs
Process Jobs
P A G E
CONNECT TO WHAT?
9
Trigger Outbound
Calls
Report on CallsReal-time Call Statistics
Multi-Modal Communications
Gather In-Call Data
AutoDialer
Click-to-Call Instant Messaging
PubSubListening
Call Queue
DatabaseExternal
APIs
Process Jobs
P A G E
CONNECT TO WHAT?
9
Trigger Outbound
Calls
Report on CallsReal-time Call Statistics
Multi-Modal Communications
Gather In-Call Data
AutoDialer
Click-to-Call Instant Messaging
Externally Triggered Actions
PubSubListening
Call Queue
DatabaseExternal
APIs
Process Jobs
P A G E
CONNECT TO WHAT?
10
Trigger Outbound
Calls
Report on CallsReal-time Call Statistics
Multi-Modal Communications
Gather In-Call Data
PubSubListening
DatabaseExternal
APIs
Instant Messaging
Externally Triggered Actions
Call Queue
Click-to-Call
AutoDialer
Process Jobs
P A G E
CONNECT TO WHAT?
10
Trigger Outbound
Calls
Report on CallsReal-time Call Statistics
Multi-Modal Communications
Gather In-Call Data
PubSubListening
DatabaseExternal
APIs
Instant Messaging
Externally Triggered Actions
Call Queue
Click-to-Call
AutoDialer
HTTP XMPP
IRC AIM
Google TalkFacebook ChatRedis AMQP
Who knows?
HTTP
PostgresMongo
Cassandra
HTTP
Redis AMQP
ActiveMQ
Process JobsAMQP Sidekiq
P A G E
WHAT DO I USE?
11
Database Sequel (adhearsion-sequel?), Mongoid
HTTP client Net::HTTP, HTTParty, etc
Redis redis gem
DRb adhearsion-drb
AMQP amqp, bunny gems
HTTP server Reel, Sinatra
XMPP/Google Talk adhearsion-xmpp
IRC ?
P A G E
EXAMPLES
12
P A G E
DISTRIBUTED ARCHITECTURES ROCK
13http://harish11g.blogspot.com/2012/10/latency-geo-distributed-aws-ec2.html
P A G E
MESSAGE PASSING ROCKS
14http://www.defit.org/2012/06/message-passing.html
P A G E
SHARE NOTHING
15http://www.sodahead.com/fun/ever-shared-a-milk-shake-with-someone/question-1941605/?link=ibaf&q=&imgurl=http://images.sodahead.com/polls/001941605/115233967_GreedyGirl_answer_2_xlarge.jpeg
P A G E
WRAP EVERYTHING
16http://websurdity.com/here-kitty-kitty/
P A G E
EXPECT FAILURE
17http://knowyourmeme.com/photos/22287-blue-screen-of-death-bsod
P A G E
MY WISHLIST
Sidekiq Integration
DCell Integration
AMQP on Celluloid
A Standard HTTP server implementation
More plugins for common use-cases
Documentation
Blog posts
Discussion
18
P A G E
WHAT DO YOU NEED TO CONNECT TO?
@benlangfeld
langfeld.me