SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
XMPP-based Push Solutions -
pubsub.p1pp.net
XMPP, HTTP and how to use ProcessOne Push
Platform

February 2012
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
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 be
Messages are pushed
   when needed                                                                broadcast   halfed
                                                                               service

                      ejabberd servers




                                                            Publishing data
Example: Gitlive
 This is our technological demo showing in browser, anonymous pubsub.
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")
Enabling all those cases with ProcessOne
Push 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.
ProcessOne Push
Platform (P1PP) -               Browser                  XMPP over        Desktop or

Overview
                                                         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
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
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
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
        });
      }
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>
Online
 http://dev1.process-one.net/~pchmielowski/ticker/ticker3.html

 http://dev1.process-one.net/~pchmielowski/ticker/sender.html

Contenu connexe

Tendances

The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message BrokerMartin Toshev
 
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard WolffArchitecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard WolffJAX London
 
The Future of Messaging: RabbitMQ and AMQP
The Future of Messaging: RabbitMQ and AMQP The Future of Messaging: RabbitMQ and AMQP
The Future of Messaging: RabbitMQ and AMQP Eberhard Wolff
 
Full Stack Bus with Javascript, RabbitMQ and Postal.js
Full Stack Bus with Javascript, RabbitMQ and Postal.jsFull Stack Bus with Javascript, RabbitMQ and Postal.js
Full Stack Bus with Javascript, RabbitMQ and Postal.jsJavier Arias Losada
 
RabbitMQ with python and ruby RuPy 2009
RabbitMQ with python and ruby RuPy 2009RabbitMQ with python and ruby RuPy 2009
RabbitMQ with python and ruby RuPy 2009Paolo Negri
 
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorganShared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorganHazelcast
 
Connecting Things to the Web using Programmable Low-power WiFi Modules
Connecting Things to the Web using Programmable Low-power WiFi ModulesConnecting Things to the Web using Programmable Low-power WiFi Modules
Connecting Things to the Web using Programmable Low-power WiFi ModulesMatthias Kovatsch
 
Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)
Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)
Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)James Titcumb
 
Computer network (18)
Computer network (18)Computer network (18)
Computer network (18)NYversity
 
PFQ@ 10th Italian Networking Workshop (Bormio)
PFQ@ 10th Italian Networking Workshop (Bormio)PFQ@ 10th Italian Networking Workshop (Bormio)
PFQ@ 10th Italian Networking Workshop (Bormio)Nicola Bonelli
 
Introduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQIntroduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQDmitriy Samovskiy
 
Rabbitmq & Kafka Presentation
Rabbitmq & Kafka PresentationRabbitmq & Kafka Presentation
Rabbitmq & Kafka PresentationEmre Gündoğdu
 
Rabbit MQ introduction
Rabbit MQ introductionRabbit MQ introduction
Rabbit MQ introductionShirish Bari
 
RabbitMQ vs Apache Kafka Part II Webinar
RabbitMQ vs Apache Kafka Part II WebinarRabbitMQ vs Apache Kafka Part II Webinar
RabbitMQ vs Apache Kafka Part II WebinarErlang Solutions
 
Rabbitmq an amqp message broker
Rabbitmq an amqp message brokerRabbitmq an amqp message broker
Rabbitmq an amqp message brokerANASYS
 
Real time Web Application with XMPP and Wave
Real time Web Application with XMPP and WaveReal time Web Application with XMPP and Wave
Real time Web Application with XMPP and WaveMickaël Rémond
 
Scaling PostgreSQL with Skytools
Scaling PostgreSQL with SkytoolsScaling PostgreSQL with Skytools
Scaling PostgreSQL with SkytoolsGavin Roy
 

Tendances (20)

The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message Broker
 
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard WolffArchitecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
 
The Future of Messaging: RabbitMQ and AMQP
The Future of Messaging: RabbitMQ and AMQP The Future of Messaging: RabbitMQ and AMQP
The Future of Messaging: RabbitMQ and AMQP
 
Message Broker System and RabbitMQ
Message Broker System and RabbitMQMessage Broker System and RabbitMQ
Message Broker System and RabbitMQ
 
Open Source Debugging v1.3.2
Open Source Debugging v1.3.2Open Source Debugging v1.3.2
Open Source Debugging v1.3.2
 
Full Stack Bus with Javascript, RabbitMQ and Postal.js
Full Stack Bus with Javascript, RabbitMQ and Postal.jsFull Stack Bus with Javascript, RabbitMQ and Postal.js
Full Stack Bus with Javascript, RabbitMQ and Postal.js
 
RabbitMQ with python and ruby RuPy 2009
RabbitMQ with python and ruby RuPy 2009RabbitMQ with python and ruby RuPy 2009
RabbitMQ with python and ruby RuPy 2009
 
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorganShared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
 
Connecting Things to the Web using Programmable Low-power WiFi Modules
Connecting Things to the Web using Programmable Low-power WiFi ModulesConnecting Things to the Web using Programmable Low-power WiFi Modules
Connecting Things to the Web using Programmable Low-power WiFi Modules
 
Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)
Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)
Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)
 
Computer network (18)
Computer network (18)Computer network (18)
Computer network (18)
 
PFQ@ 10th Italian Networking Workshop (Bormio)
PFQ@ 10th Italian Networking Workshop (Bormio)PFQ@ 10th Italian Networking Workshop (Bormio)
PFQ@ 10th Italian Networking Workshop (Bormio)
 
Introduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQIntroduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQ
 
Rabbitmq & Kafka Presentation
Rabbitmq & Kafka PresentationRabbitmq & Kafka Presentation
Rabbitmq & Kafka Presentation
 
Rabbit MQ introduction
Rabbit MQ introductionRabbit MQ introduction
Rabbit MQ introduction
 
RabbitMQ vs Apache Kafka Part II Webinar
RabbitMQ vs Apache Kafka Part II WebinarRabbitMQ vs Apache Kafka Part II Webinar
RabbitMQ vs Apache Kafka Part II Webinar
 
Rabbitmq an amqp message broker
Rabbitmq an amqp message brokerRabbitmq an amqp message broker
Rabbitmq an amqp message broker
 
Real time Web Application with XMPP and Wave
Real time Web Application with XMPP and WaveReal time Web Application with XMPP and Wave
Real time Web Application with XMPP and Wave
 
Spring RabbitMQ
Spring RabbitMQSpring RabbitMQ
Spring RabbitMQ
 
Scaling PostgreSQL with Skytools
Scaling PostgreSQL with SkytoolsScaling PostgreSQL with Skytools
Scaling PostgreSQL with Skytools
 

En vedette

SeaBeyond 2011 ProcessOne - Marek Foss: designing mobile collaboration software
SeaBeyond 2011 ProcessOne - Marek Foss: designing mobile collaboration softwareSeaBeyond 2011 ProcessOne - Marek Foss: designing mobile collaboration software
SeaBeyond 2011 ProcessOne - Marek Foss: designing mobile collaboration softwareProcessOne
 
Messaging temps réel avec Go
Messaging temps réel avec GoMessaging temps réel avec Go
Messaging temps réel avec GoMickaël Rémond
 
Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1
Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1
Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1Mickaël Rémond
 
La campagne présidentielle sur Twitter : 12 mars au 18 mars 2012
La campagne présidentielle sur Twitter : 12 mars au 18 mars 2012La campagne présidentielle sur Twitter : 12 mars au 18 mars 2012
La campagne présidentielle sur Twitter : 12 mars au 18 mars 2012ProcessOne
 
SeaBeyond 2011 ProcessOne - af83: UCengine
SeaBeyond 2011 ProcessOne - af83: UCengineSeaBeyond 2011 ProcessOne - af83: UCengine
SeaBeyond 2011 ProcessOne - af83: UCengineProcessOne
 
SeaBeyond 2011 ProcessOne - Nokia: Jukka Alakontiola - Notifications API
SeaBeyond 2011 ProcessOne - Nokia: Jukka Alakontiola - Notifications APISeaBeyond 2011 ProcessOne - Nokia: Jukka Alakontiola - Notifications API
SeaBeyond 2011 ProcessOne - Nokia: Jukka Alakontiola - Notifications APIProcessOne
 
SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWeb
SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWebSeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWeb
SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWebProcessOne
 
Property-based testing of XMPP: generate your tests automatically - ejabberd ...
Property-based testing of XMPP: generate your tests automatically - ejabberd ...Property-based testing of XMPP: generate your tests automatically - ejabberd ...
Property-based testing of XMPP: generate your tests automatically - ejabberd ...Mickaël Rémond
 
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1Mickaël Rémond
 
ProcessOne Push Platform: XMPP-based Push Solutions
ProcessOne Push Platform: XMPP-based Push SolutionsProcessOne Push Platform: XMPP-based Push Solutions
ProcessOne Push Platform: XMPP-based Push SolutionsProcessOne
 
Audience twitter des candidats du 21 février au 18 mars 2012 upik
Audience twitter des candidats du 21 février au 18 mars 2012   upikAudience twitter des candidats du 21 février au 18 mars 2012   upik
Audience twitter des candidats du 21 février au 18 mars 2012 upikProcessOne
 
SeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocket
SeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocketSeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocket
SeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocketProcessOne
 
SeaBeyond 2011 ProcessOne - David Banes: Cleartext microblogging
SeaBeyond 2011 ProcessOne - David Banes: Cleartext microbloggingSeaBeyond 2011 ProcessOne - David Banes: Cleartext microblogging
SeaBeyond 2011 ProcessOne - David Banes: Cleartext microbloggingProcessOne
 
2015: L'année d'Elixir, Code, écosystème et communauté
2015: L'année d'Elixir, Code, écosystème et communauté2015: L'année d'Elixir, Code, écosystème et communauté
2015: L'année d'Elixir, Code, écosystème et communautéMickaël Rémond
 
WaveOne server and client by ProcessOne
WaveOne server and client by ProcessOneWaveOne server and client by ProcessOne
WaveOne server and client by ProcessOneMickaël Rémond
 
Archipel Introduction - ejabberd SF Meetup
Archipel Introduction - ejabberd SF MeetupArchipel Introduction - ejabberd SF Meetup
Archipel Introduction - ejabberd SF MeetupMickaël Rémond
 
A vision for ejabberd - ejabberd SF Meetup
A vision for ejabberd - ejabberd SF MeetupA vision for ejabberd - ejabberd SF Meetup
A vision for ejabberd - ejabberd SF MeetupMickaël Rémond
 
Deep Dive Into ejabberd Pubsub Implementation
Deep Dive Into ejabberd Pubsub ImplementationDeep Dive Into ejabberd Pubsub Implementation
Deep Dive Into ejabberd Pubsub ImplementationMickaël Rémond
 

En vedette (20)

SeaBeyond 2011 ProcessOne - Marek Foss: designing mobile collaboration software
SeaBeyond 2011 ProcessOne - Marek Foss: designing mobile collaboration softwareSeaBeyond 2011 ProcessOne - Marek Foss: designing mobile collaboration software
SeaBeyond 2011 ProcessOne - Marek Foss: designing mobile collaboration software
 
Messaging temps réel avec Go
Messaging temps réel avec GoMessaging temps réel avec Go
Messaging temps réel avec Go
 
Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1
Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1
Fighting XMPP abuse and spam with ejabberd - ejabberd Workshop #1
 
La campagne présidentielle sur Twitter : 12 mars au 18 mars 2012
La campagne présidentielle sur Twitter : 12 mars au 18 mars 2012La campagne présidentielle sur Twitter : 12 mars au 18 mars 2012
La campagne présidentielle sur Twitter : 12 mars au 18 mars 2012
 
SeaBeyond 2011 ProcessOne - af83: UCengine
SeaBeyond 2011 ProcessOne - af83: UCengineSeaBeyond 2011 ProcessOne - af83: UCengine
SeaBeyond 2011 ProcessOne - af83: UCengine
 
SeaBeyond 2011 ProcessOne - Nokia: Jukka Alakontiola - Notifications API
SeaBeyond 2011 ProcessOne - Nokia: Jukka Alakontiola - Notifications APISeaBeyond 2011 ProcessOne - Nokia: Jukka Alakontiola - Notifications API
SeaBeyond 2011 ProcessOne - Nokia: Jukka Alakontiola - Notifications API
 
SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWeb
SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWebSeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWeb
SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWeb
 
Property-based testing of XMPP: generate your tests automatically - ejabberd ...
Property-based testing of XMPP: generate your tests automatically - ejabberd ...Property-based testing of XMPP: generate your tests automatically - ejabberd ...
Property-based testing of XMPP: generate your tests automatically - ejabberd ...
 
XMPP Academy #2
XMPP Academy #2XMPP Academy #2
XMPP Academy #2
 
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
 
ProcessOne Push Platform: XMPP-based Push Solutions
ProcessOne Push Platform: XMPP-based Push SolutionsProcessOne Push Platform: XMPP-based Push Solutions
ProcessOne Push Platform: XMPP-based Push Solutions
 
Audience twitter des candidats du 21 février au 18 mars 2012 upik
Audience twitter des candidats du 21 février au 18 mars 2012   upikAudience twitter des candidats du 21 février au 18 mars 2012   upik
Audience twitter des candidats du 21 février au 18 mars 2012 upik
 
SeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocket
SeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocketSeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocket
SeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocket
 
SeaBeyond 2011 ProcessOne - David Banes: Cleartext microblogging
SeaBeyond 2011 ProcessOne - David Banes: Cleartext microbloggingSeaBeyond 2011 ProcessOne - David Banes: Cleartext microblogging
SeaBeyond 2011 ProcessOne - David Banes: Cleartext microblogging
 
2015: L'année d'Elixir, Code, écosystème et communauté
2015: L'année d'Elixir, Code, écosystème et communauté2015: L'année d'Elixir, Code, écosystème et communauté
2015: L'année d'Elixir, Code, écosystème et communauté
 
WaveOne server and client by ProcessOne
WaveOne server and client by ProcessOneWaveOne server and client by ProcessOne
WaveOne server and client by ProcessOne
 
Archipel Introduction - ejabberd SF Meetup
Archipel Introduction - ejabberd SF MeetupArchipel Introduction - ejabberd SF Meetup
Archipel Introduction - ejabberd SF Meetup
 
A vision for ejabberd - ejabberd SF Meetup
A vision for ejabberd - ejabberd SF MeetupA vision for ejabberd - ejabberd SF Meetup
A vision for ejabberd - ejabberd SF Meetup
 
Deep Dive Into ejabberd Pubsub Implementation
Deep Dive Into ejabberd Pubsub ImplementationDeep Dive Into ejabberd Pubsub Implementation
Deep Dive Into ejabberd Pubsub Implementation
 
Multitasking in iOS 7
Multitasking in iOS 7Multitasking in iOS 7
Multitasking in iOS 7
 

Similaire à ProcessOne Push Platform: pubsub.p1pp.net

ProcessOne Push Platform: XMPP-based Push Solutions
ProcessOne Push Platform: XMPP-based Push SolutionsProcessOne Push Platform: XMPP-based Push Solutions
ProcessOne Push Platform: XMPP-based Push SolutionsMickaël Rémond
 
(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)
(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)
(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)BIOVIA
 
P2P-Next: Future Internet Media Delivery to CE Devices
P2P-Next: Future Internet Media Delivery to CE DevicesP2P-Next: Future Internet Media Delivery to CE Devices
P2P-Next: Future Internet Media Delivery to CE DevicesMark Stuart
 
XMPP - Introduction And LAS Implementation (Presentation)
XMPP - Introduction And LAS  Implementation (Presentation)XMPP - Introduction And LAS  Implementation (Presentation)
XMPP - Introduction And LAS Implementation (Presentation)Ralf Klamma
 
What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?Nuxeo
 
Down the RabbitMQ Hole
Down the RabbitMQ HoleDown the RabbitMQ Hole
Down the RabbitMQ HoleBizTalk360
 
Developing Voice Applications in the Cloud
Developing Voice Applications in the CloudDeveloping Voice Applications in the Cloud
Developing Voice Applications in the CloudVoxeo Corp
 
Pulsar summit asia 2021 apache pulsar with mqtt for edge computing
Pulsar summit asia 2021   apache pulsar with mqtt for edge computingPulsar summit asia 2021   apache pulsar with mqtt for edge computing
Pulsar summit asia 2021 apache pulsar with mqtt for edge computingTimothy Spann
 
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing Hub
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing HubIMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing Hub
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing HubIn-Memory Computing Summit
 
Big mountain data and dev conference apache pulsar with mqtt for edge compu...
Big mountain data and dev conference   apache pulsar with mqtt for edge compu...Big mountain data and dev conference   apache pulsar with mqtt for edge compu...
Big mountain data and dev conference apache pulsar with mqtt for edge compu...Timothy Spann
 
Apache Kafka
Apache KafkaApache Kafka
Apache KafkaJoe Stein
 
Performance Evaluation of XMPP on the Web
Performance Evaluation of XMPP on the WebPerformance Evaluation of XMPP on the Web
Performance Evaluation of XMPP on the WebMarkku Laine
 
Net flowhadoop flocon2013_yhlee_final
Net flowhadoop flocon2013_yhlee_finalNet flowhadoop flocon2013_yhlee_final
Net flowhadoop flocon2013_yhlee_finalYeounhee Lee
 
Cluster_Performance_Apache_Kafak_vs_RabbitMQ
Cluster_Performance_Apache_Kafak_vs_RabbitMQCluster_Performance_Apache_Kafak_vs_RabbitMQ
Cluster_Performance_Apache_Kafak_vs_RabbitMQShameera Rathnayaka
 
Luxun a Persistent Messaging System Tailored for Big Data Collecting & Analytics
Luxun a Persistent Messaging System Tailored for Big Data Collecting & AnalyticsLuxun a Persistent Messaging System Tailored for Big Data Collecting & Analytics
Luxun a Persistent Messaging System Tailored for Big Data Collecting & AnalyticsWilliam Yang
 
kafka_session_updated.pptx
kafka_session_updated.pptxkafka_session_updated.pptx
kafka_session_updated.pptxKoiuyt1
 
Netflix Keystone—Cloud scale event processing pipeline
Netflix Keystone—Cloud scale event processing pipelineNetflix Keystone—Cloud scale event processing pipeline
Netflix Keystone—Cloud scale event processing pipelineMonal Daxini
 

Similaire à ProcessOne Push Platform: pubsub.p1pp.net (20)

ProcessOne Push Platform: XMPP-based Push Solutions
ProcessOne Push Platform: XMPP-based Push SolutionsProcessOne Push Platform: XMPP-based Push Solutions
ProcessOne Push Platform: XMPP-based Push Solutions
 
(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)
(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)
(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)
 
P2P-Next: Future Internet Media Delivery to CE Devices
P2P-Next: Future Internet Media Delivery to CE DevicesP2P-Next: Future Internet Media Delivery to CE Devices
P2P-Next: Future Internet Media Delivery to CE Devices
 
XMPP - Introduction And LAS Implementation (Presentation)
XMPP - Introduction And LAS  Implementation (Presentation)XMPP - Introduction And LAS  Implementation (Presentation)
XMPP - Introduction And LAS Implementation (Presentation)
 
What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?
 
Down the RabbitMQ Hole
Down the RabbitMQ HoleDown the RabbitMQ Hole
Down the RabbitMQ Hole
 
Developing Voice Applications in the Cloud
Developing Voice Applications in the CloudDeveloping Voice Applications in the Cloud
Developing Voice Applications in the Cloud
 
Ejabberd Session
Ejabberd SessionEjabberd Session
Ejabberd Session
 
Pulsar summit asia 2021 apache pulsar with mqtt for edge computing
Pulsar summit asia 2021   apache pulsar with mqtt for edge computingPulsar summit asia 2021   apache pulsar with mqtt for edge computing
Pulsar summit asia 2021 apache pulsar with mqtt for edge computing
 
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing Hub
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing HubIMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing Hub
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing Hub
 
Big mountain data and dev conference apache pulsar with mqtt for edge compu...
Big mountain data and dev conference   apache pulsar with mqtt for edge compu...Big mountain data and dev conference   apache pulsar with mqtt for edge compu...
Big mountain data and dev conference apache pulsar with mqtt for edge compu...
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Kaazing
KaazingKaazing
Kaazing
 
Performance Evaluation of XMPP on the Web
Performance Evaluation of XMPP on the WebPerformance Evaluation of XMPP on the Web
Performance Evaluation of XMPP on the Web
 
Tom Krcha - Future of Flash
Tom Krcha - Future of FlashTom Krcha - Future of Flash
Tom Krcha - Future of Flash
 
Net flowhadoop flocon2013_yhlee_final
Net flowhadoop flocon2013_yhlee_finalNet flowhadoop flocon2013_yhlee_final
Net flowhadoop flocon2013_yhlee_final
 
Cluster_Performance_Apache_Kafak_vs_RabbitMQ
Cluster_Performance_Apache_Kafak_vs_RabbitMQCluster_Performance_Apache_Kafak_vs_RabbitMQ
Cluster_Performance_Apache_Kafak_vs_RabbitMQ
 
Luxun a Persistent Messaging System Tailored for Big Data Collecting & Analytics
Luxun a Persistent Messaging System Tailored for Big Data Collecting & AnalyticsLuxun a Persistent Messaging System Tailored for Big Data Collecting & Analytics
Luxun a Persistent Messaging System Tailored for Big Data Collecting & Analytics
 
kafka_session_updated.pptx
kafka_session_updated.pptxkafka_session_updated.pptx
kafka_session_updated.pptx
 
Netflix Keystone—Cloud scale event processing pipeline
Netflix Keystone—Cloud scale event processing pipelineNetflix Keystone—Cloud scale event processing pipeline
Netflix Keystone—Cloud scale event processing pipeline
 

Dernier

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 

Dernier (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 

ProcessOne Push Platform: pubsub.p1pp.net

  • 1. XMPP-based Push Solutions - pubsub.p1pp.net XMPP, HTTP and how to use ProcessOne Push Platform February 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 be Messages 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 ProcessOne Push 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 Push Platform (P1PP) - Browser XMPP over Desktop or Overview 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>