realtime applications with emberjs and xmpp
TRANSCRIPT
- iFrames, SWF, Comet, …
- BOSH / Long-polling
- Websockets / Sockets.io
Browser “Push” Technology Options
XMPP
Extensible Messaging
and Presence Protocol
XMPP.org
(RFC 6120, RFC 6121, RFC 6122)
XMPP Core concepts
- XML Streams
- Authentication / Authorization
- Presence, Message, IQ
- Roster
- Users & Groups
- Publish-Subscribe (XEP-0060)
BOSH
Bidirectional streams
Over Synchronous Http
XEP-0124 + XEP-0206
XMPP Servers
- Commercial & open source alternatives
- Highly Scalable & Extensible
- Openfire - Open source (Github)
- Supports federation, clustering
- Easy extensibility/integration via Plugin API
http://igniterealtime.org/projects/openfire/
Use cases
- Presence + Context (online users)
- Distributed events / Data push (P2P, S2C)
- Client cache invalidation
- Application optimization (SOA, UX)
- Client code updates (uptime deployment)
Additional Links
http://xmpp.org/
http://strophe.im/strophejs/
http://conversejs.org
http://igniterealtime.org/projects/openfire/
Contact
- Tom Evans- Full stack engineer / Openfire core developer
- Github: github.com/tevans
- LinkedIn: linkedin.com/in/tevans
- Twitter: @twe_pf
- Javier Vega- UI Software Engineer
- github.com/rjaviervega
- linkedin.com/in/rjaviervega
- twitter: @rjaviervega