| TOC |
|
| TOC |
| TOC |
APEX I-Ds:
BEEP I-Ds:
| TOC |
APEX is a generic transport service for applications.
APEX currently supports two classes of applications:
| TOC |
APEX is missing support for servers
(Client/Server type servers)
(Applications unrelated to maintaining APEX, ...
... not related to a particular user, ...
... that use APEX for data transport.)
| TOC |
File sharing
Bug / FAQ DBs
CPU Sharing
Multi-User Games
Network Monitoring
Intelligent Agent Support (Auctions, etc)
Customer Service Message Routing
Conference Call Support
| TOC |
A brand new structure could be designed, or
... current structures could be adapted.
I propose the latter!
| TOC |
Finding Fred is easy
Presence for fred@example.com gives endpoint
Finding Presence Service is easy
Service name *is* Endpoint
No standard way of getting server names
What presence record?
| TOC |
Presence record for "apex=server@..." lists all server endpoints
Acts like apex=server@... is the "user" for all servers
All administration etc is business as usual
| TOC |
A FAQ server and a BUG track database, both from YaddaCorp
FAQ server run by sysadmins, BugDB accessed via "support@example.com"
After "/appl=" comes the name of the server
<presence
publisher='apex=server@example.com'
lastUpdate='....'>
<tuple
destination=
'apex=server/appl=FAQs@example.com'
availableUntil='...'
tupleInfo=
'http://yadda.com/apex/FAQserve'/>
<tuple
destination=
'support/appl=BUGDB@example.com'
availableUntil='...'
tupleInfo=
'http://yadda.com/apex/BUGserve'/>
</presence>
| TOC |
Right now, access control only for global APEX services
Flat naming scheme makes this difficult to generalize
Both Sales and Customer Support want to run message routers
Given strict naming control from Presence, 'service' could include 'server'
Central point of control
Portion after "/appl=" becomes service name for action attribute
| TOC |
Only example.com allowed to see bugs or change FAQs
All users allowed to see FAQs
<access owner='apex=server@example.com'
lastUpdate='...'
<entry actor='root@example.com' actions='all:all'/>
<entry actor='*@example.com'
actions='BUGDB:all FAQs:read FAQs:write'/>
<entry actor='*@*'
actions='BUGDB:none FAQs:read'/>
</access>
| TOC |
Client code would need to fetch and parse presence records
(To find right endpoint given tupleInfo URI)
Server code would need to fetch and parse access records
(Subscribe would be nice here)
Otherwise, business as usual
| TOC |
Is there a better name for such servers?
Is there a better approach?
Is an endpoint not under apex=server reasonable?
(E.g., "support/appl=BugDB@...")
If so, where is the access record?
(Under "apex=server@..." or "support@..."?)