[cap-talk] Looking for a client/server capability database for supporting a whiteboard or other applications.
John Carlson
john.carlson3 at sbcglobal.net
Tue May 16 02:46:02 EDT 2006
From a discussion a long time ago, talking about web-calculus:
>These are the request-response paths as I understand them:
>
>= Default =
>
>Server-side | Client-side (any sort of client)
>object -> xml ->| xml
On http://web-calculus.net/, it says:
Sending an operation
A client sends an operation to a host by first reifying the operation
in a message. A message is an <http://web-calculus.org/amp/Envelope>
which specifies: the URL for the target edge; the operation; and the
argument list. The message is routed to the host using information
provided by the target URL.
For a non-idempotent operation, the client host SHOULD include an
unguessable message identifier. If a message identifier is not
provided, the client MUST have alternate means for preventing message
replay attacks.
--------------------------
So on my client, I need to create a Messenger object, and a Root
object, and the call post or get on the Messenger object? Is there
an easier API that I can use for:
1. Creating new area on the server (call it a whiteboard) [ CREATE
SCHEMA ]
2. Sending people on my IM buddy list the capability to view the
whiteboard. [ GRANT SELECT ]
3. Sending people on my IM buddy list the capability to draw on the
whiteboard [ GRANT INSERT ]
4. Sending people on my IM buddy list the capability to erase parts
of the whiteboard [ GRANT DELETE ]
5. Sending people on my IM buddy list the capability to change
colors or patterns on the whiteboard [ GRANT UPDATE ]
6. Allowing a new person joining to download the contents of the
whiteboard [ SELECT ]
7. Drawing on the whiteboard [ INSERT, TRIGGER ON INSERT to notify
others of change ]
8. Erasing parts of the whiteboard [ DELETE, TRIGGER ON DELETE to
notify others of change ]
9. Changing colors or patterns. [ UPDATE , TRIGGER ON UPDATE to
notify others of change ]
I'm trying to make this as database sounding as possible, because it
may give someone some imagination to be able to help me--
like is there a client/server capability database I can use to do
this in a distributed fashion, preferably through HTTPS, so I can
avoid the firewall issues?
In addition to the above, I would like to create an association table
between different types of things drawn on the whiteboard,
allowing people to view associations, create new associations and
delete associations (I'm not sure I want to support updating
the associations, but that may be a future enhancement).
I want to allow maximum creativity on the client side, so people can
cut copy and paste to their hearts content. I need to figure out
the difference between an UPDATE and and INSERT in that case (update
for first paste after cut, insert for all pastes from copy and second
and following pastes after cut, I'm fairly sure).
So I am thinking that this application should be easy to write, since
people should have experience creating these sorts of applications
with capabilities? Do I actually have to do all the plumbing work,
instead of maintaining focus on the GUI aspects? Really, I want
to focus on stuff like line segments and points, and their display.
I should be able to attach the definition of line segment and point
to a capability database, add a GUI and wala, magically have a
capability secure whiteboard. I feel this technique could be applied
over and over and over again to create all types of interactive
applications.
If this is not a piece of cake, let me know, and I will rethink this
message.
Thanks,
John
More information about the cap-talk
mailing list