This document discusses problems with the current AccessGrid architecture and proposes adopting the XMPP protocol as a replacement. Key points include:
- The current AccessGrid is based on Globus which is complex, heavyweight, and has usability issues.
- XMPP (Jabber) is proposed as a replacement as it is an open standard for instant messaging with support for features like file sharing, chat rooms, and publishing data that could meet AccessGrid's needs.
- The initial plan is for AccessGrid rooms to be implemented as XMPP chat rooms with a moderator publishing multicast info, and applications able to share data through the rooms.
- Adopting XMPP would avoid having to write new servers
6. Problems with the AG
AccessGrid and
stuïŹ
Steve Smith
Globus is complex, heavyweight, slow
Disconnected operation based on transient connections
(WS)
Not really a standard or a protocol
Authentication sucks on many levels.
Vic and Rat have major usability problems
7. What to do?
AccessGrid and
stuïŹ
Steve Smith
âDonât patch bad code - rewrite it.â â Kernighan and
Plauger
â[Mozilla made] the single worst strategic mistake that
any software company can make: They decided to
rewrite the code from scratch.â â Joel Spolsky
8. What to do?
AccessGrid and
stuïŹ
Steve Smith
âDonât patch bad code - rewrite it.â â Kernighan and
Plauger
â[Mozilla made] the single worst strategic mistake that
any software company can make: They decided to
rewrite the code from scratch.â â Joel Spolsky
Steveâs corollary: âFix bad code, replace bad
architectures.â
9. Pass 1: DIY
AccessGrid and
stuïŹ
Steve Smith
Uses Twisted to build simple client/server.
Protocol is line-oriented, based on Bittorrent encoding
(âbencodingâ).
Can send, strings, integers, hashes, lists.
Can support AG-style PKI certiïŹcate authentication
(âSTARTTLSâ).
Not really the solution, more to make a point about
complexity.
10. The real solution: XMPP
AccessGrid and
stuïŹ
Steve Smith
Otherwise known as Jabber.
XML based protocol (yeah, I know).
Recently made IETF standard for IM.
Already being used to build shared apps
11. Notable (proposed) features
AccessGrid and
stuïŹ
Steve Smith
JEPs: Proposed enhancements, like RFCs, PEPs, etc.
PubSub: Observer pattern protocol.
Multi-user chat rooms (already being used on the AG),
moderator system provides access-control.
File-transfer, and advertising of ïŹles.
Events, data-forms. Can be pushed through room.
12. The (initial) plan
AccessGrid and
stuïŹ
Steve Smith
AG rooms are just chat-rooms with special AG user as
moderator.
Moderator publishes multicast info in Pub/Sub node.
AG user can be a bot, interface to booking system to
lock rooms.
Shared-apps can publish pubsub nodes or send forms
through room.
13. The (initial) plan
AccessGrid and
stuïŹ
Steve Smith
AG rooms are just chat-rooms with special AG user as
moderator.
Moderator publishes multicast info in Pub/Sub node.
AG user can be a bot, interface to booking system to
lock rooms.
Shared-apps can publish pubsub nodes or send forms
through room.
Big win: We donât have to write a server, just use and
existing one that support the right JEPs.
ejabberd currently best.
Written in Erlang, which has some interesting
properties.
14. The (initial) plan
AccessGrid and
stuïŹ
Steve Smith
AG rooms are just chat-rooms with special AG user as
moderator.
Moderator publishes multicast info in Pub/Sub node.
AG user can be a bot, interface to booking system to
lock rooms.
Shared-apps can publish pubsub nodes or send forms
through room.
Big win: We donât have to write a server, just use and
existing one that support the right JEPs.
ejabberd currently best.
Written in Erlang, which has some interesting
properties.
Will probably still have to write client; probably a good
thing.
Build agents/bots anyway
15. Status
AccessGrid and
stuïŹ
Steve Smith
Finish paper, continue working on implementation tests.
Like to have something working for APAC, may be
Linux-centered for now.
Authentication needs more thought, probably PGP
web-of-trust based.
16. Status
AccessGrid and
stuïŹ
Steve Smith
Finish paper, continue working on implementation tests.
Like to have something working for APAC, may be
Linux-centered for now.
Authentication needs more thought, probably PGP
web-of-trust based.
Should be many student project, internships from this.
Big challenge is Vic and Rat.