Forum OpenACS Q&A: Response to Suggest where or how to research OpenACS vs. other Web systems

I apologize for being cryptic.  I think you understand my point of view.

Here's my take: XML-RPC is implemented as a HTTP POST.  So at first glance, it appears client/server oriented, much as most of the HTTP we've come to love is browser/server oriented.

But RPC stands for remote procedure call, and in that sense, it's a technology implemented by something smarter than your average browser.  Not always though, the blog module I just wrote implements an XML-RPC call from *your* ACS to ping weblogs.com by just using a variant of util_httppost.  In this case the XML-RPC was overkill for weblogs.com, as the return value is ignorable.

With a second look through the eyes of AOLserver, which implements both client and server sides of HTTP, one can see that any entity that needs to implement a sophisticated XML-RPC service can implement both XML-RPC client and server.  Think of it as a socket connection which if I recall, is made of a bundle of two pipes, connected in opposite directions.

In the case of the scrolling cash register, XML-RPC is probably not the protocol I would choose, but it could be done.  The cash register user agent could implement both sides of the XML-RPC protocol and use that to communicate back and forth with the cash register server.  And yes, the session would be embedded within the protocol.

My first take on the scrolling cash register would be to use webbish clients and not platform specific clients.  I would probably use HTTP and Javascript.  Depending on the intended target, you could probably get me to use IE 5.0+ specific dynamic html, or if what was being claimed for dynamic html two years ago finally is true, then IE 5 & Mozilla 6 specific dynamic html.  Done that way and there might be a problem in which the cash register server cannot raise events in the cash register user agent until the user agent polls the server (through a GET, POST, or other request).  But I believe that such an approach would make for over the web installs and easy upgrades, and almost equivalent functionality as one could get in a heavy weight client.