ProcessOne Push Platform: pubsub.p1pp.net
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

ProcessOne Push Platform: pubsub.p1pp.net

on

  • 2,870 views

This is the slides from ProcessOne online tutorial on how to use ProcessOne Push Platform.

This is the slides from ProcessOne online tutorial on how to use ProcessOne Push Platform.

Statistics

Views

Total Views
2,870
Views on SlideShare
2,342
Embed Views
528

Actions

Likes
0
Downloads
8
Comments
0

5 Embeds 528

http://blog.process-one.net 263
http://www.process-one.net 259
http://www.newsblur.com 4
http://paper.li 1
http://blog.oneteam.im 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

ProcessOne Push Platform: pubsub.p1pp.net Presentation Transcript

  • 1. XMPP-based Push Solutions -pubsub.p1pp.netXMPP, HTTP and how to use ProcessOne PushPlatformFebruary 2012
  • 2. Violet use case: Nabaztag push architecture Initial architecture based on pure polling to check «inbox»Query to check inbox (every 5 seconds) Based on database and HTTP front servers Database with rabbits messages Broadcast HTTP Fronts service Data publication
  • 3. Violet use case: Nabaztag push architecture New push architecture on XMPP History of data Database storing the Lower latency and more reliable rabbits inbox delivery Persistant XMPP connection HTTP infrastructure could beMessages are pushed when needed broadcast halfed service ejabberd servers Publishing data
  • 4. Example: Gitlive This is our technological demo showing in browser, anonymous pubsub.
  • 5. Example: The Upik case Pubsubhubbub Hub for subscribers Could be the same hub XMPP servers Pubsubhubbub Persistant XMPP Hub connection for publisher Messages are pushed when needed Posting blog post on web server (triggers a hub "ping")
  • 6. Enabling all those cases with ProcessOnePush Platform (P1PP) Build a generic platform able to manage all those cases for our users in a standard way. Build a development community around realtime protocols. Share our XMPP pubsub expertise with developers around the world. Propose our ability to make XMPP Pubsub scale as a service. Support innovation around notification and new usage: Mobile. Web protocols: websockets.
  • 7. ProcessOne PushPlatform (P1PP) - Browser XMPP over Desktop orOverview TCP - c2s mobile client XMPP over HTTP / Websocket XMPP server (Gtalk for example) XMPP over TCP - s2s P1 Push Platform XMPP (throughout 3rd party server) or HTTP publish protocol Publisher
  • 8. Resources Main P1PP page: http://www.process-one.net/en/solutions/p1pp Developer page: http://www.process-one.net/en/solutions/p1pp_dev Github ProcessOne: https://github.com/organizations/processone P1PP Javascript library on Github: https://github.com/processone/p1pp-js P1PP Command-line tool on Github: https://github.com/processone/p1pp XMPP protocol level documentation https://support.process-one.net/doc/display/XMPP/P1PP+documentation
  • 9. Command-line ./bin/p1.rb create test12 ./bin/p1.rb list ./bin/p1.rb delete ./bin/p1.rb subscribe test12 ./bin/p1.rb unsubscribe test12 ./bin/p1.rb listen echo ‘test’ | ./bin/p1.rb publish test12
  • 10. Javascript examples: sending https://github.com/processone/p1pp-js/blob/master/examples/ticker/ sender.html <script src=http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.js></script>    <script src="../../p1pp.js"></script>    <script type="text/javascript">      $(function() {          $("#connect").click(function() {            connect($("#password").val())          })          $("#update").click(function() {            var el = Strophe.xmlElement("value");            el.appendChild(Strophe.xmlTextNode($("#newContent").val()));            P1PP.publish("ticker", null, el, function() { });            $("#newContent").val("");          })      });      function connect(password) {        P1PP.connect({          jid: "ticker@p1pp.net",          password: password,          debug: false, // Change to true to see messages trafic          on_strophe_event: on_state_change        });      }
  • 11. Javascript examples: Receving <script src="../../p1pp.js"></script>    <script type="text/javascript">      $(function() {        P1PP.connect({          debug: false, "// Change to true to see messages trafic          nodes: ["ticker@p1pp.net/ticker"],          publish: on_publish,          retract: on_retract,          on_strophe_event: on_state_change          });        $("#ticker").liScroll();      });      function on_state_change(state, c){        if(state === Strophe.Status.CONNECTED || state === Strophe.Status.ATTACHED) {        }      }      function on_publish(id, value, node, timestamp) {        $("#ticker").stop();        $("#ticker").append("<li id="+id+"><span>"+$(value).text()+"</span></li>");        $("#ticker").liScrollRestart();      }      function on_retract() {      }    </script>
  • 12. Online http://dev1.process-one.net/~pchmielowski/ticker/ticker3.html http://dev1.process-one.net/~pchmielowski/ticker/sender.html