realtime applications with emberjs and xmpp

23
The realtime web EmberJS & XMPP by Tom Evans & Javier Vega

Upload: rjvegasf

Post on 15-Jul-2015

831 views

Category:

Software


2 download

TRANSCRIPT

The realtime web

EmberJS & XMPP

by Tom Evans & Javier Vega

-

- iFrames, SWF, Comet, …

- BOSH / Long-polling

- Websockets / Sockets.io

Browser “Push” Technology Options

XMPP Core concepts

- XML Streams

- Authentication / Authorization

- Presence, Message, IQ

- Roster

- Users & Groups

- Publish-Subscribe (XEP-0060)

Rosters / Groups

BOSH

Bidirectional streams

Over Synchronous Http

XEP-0124 + XEP-0206

Long Polling - HTTP-BIND

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)

DEMO

Demo Repo

github.com/rjaviervega/ember-xmpp-im

Open Fire Setup

XMPP Connection - StropheJS

Message Handler

Data Models (Ember Data)

Send Message (Update Ember Data)

Additional Links

http://xmpp.org/

http://strophe.im/strophejs/

http://conversejs.org

http://igniterealtime.org/projects/openfire/

Resources

- Book: Professional XMPP Programming with

JavaScript and jQuery (Jack Moffitt)

Contact

- Tom Evans- Full stack engineer / Openfire core developer

- Github: github.com/tevans

- LinkedIn: linkedin.com/in/tevans

- Twitter: @twe_pf

- [email protected]

- Javier Vega- UI Software Engineer

- github.com/rjaviervega

- linkedin.com/in/rjaviervega

- twitter: @rjaviervega

- [email protected]