SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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
 
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
Paolo Negri
 
Computer network (18)
Computer network (18)Computer network (18)
Computer network (18)
NYversity
 
Scaling PostgreSQL with Skytools
Scaling PostgreSQL with SkytoolsScaling PostgreSQL with Skytools
Scaling PostgreSQL with Skytools
Gavin Roy
 

Mais procurados (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
 

Destaque

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
ProcessOne
 
SeaBeyond 2011 ProcessOne - af83: UCengine
SeaBeyond 2011 ProcessOne - af83: UCengineSeaBeyond 2011 ProcessOne - af83: UCengine
SeaBeyond 2011 ProcessOne - af83: UCengine
ProcessOne
 
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
ProcessOne
 
SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWeb
SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWebSeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWeb
SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWeb
ProcessOne
 
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
ProcessOne
 
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
ProcessOne
 
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
ProcessOne
 

Destaque (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
 

Semelhante a ProcessOne Push Platform: pubsub.p1pp.net

Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
Joe Stein
 
Net flowhadoop flocon2013_yhlee_final
Net flowhadoop flocon2013_yhlee_finalNet flowhadoop flocon2013_yhlee_final
Net flowhadoop flocon2013_yhlee_final
Yeounhee Lee
 
Cluster_Performance_Apache_Kafak_vs_RabbitMQ
Cluster_Performance_Apache_Kafak_vs_RabbitMQCluster_Performance_Apache_Kafak_vs_RabbitMQ
Cluster_Performance_Apache_Kafak_vs_RabbitMQ
Shameera Rathnayaka
 

Semelhante a 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
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

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>