I think AJAX and WebApps will be a nice way in the future to
develope software. But what I am currently missing in AJAX is a nice way for invoking functionality on the backend server side. All the new stuff like JSON-RPC, WSDL/SOAP, XML-RPC is missing the point, much too complex and not feasable for real distributed applications. And at most they are just re-inventing the wheel with all the pitfalls in distributed programming: No type safety, missing language mappings, no well defined runtimes etc. I am very familiar with CORBA and so I know it is not an option here, too (firewalls, NAT-Traversal, Security etc., you name it). But I think ICE would fit nice into this new paradigm (or may be not so new paradigm) as a solution for remote procedure calling. But some parts seem to be missing. To use ICE from a browser with JavaScript, one would need an http transport, so you can use the XmlHttpRequest-Object for the transport on the browser side. Did anybody try to develope such a beast? On the other hand a language mapping for JavaScript would be needed and of course a corresponding SLICE-Compiler. And last but not least an ICE-Runtime in JavaScript is needed that could use the XmlHttpRequest-Object. My Idea here is to develope something like Glacier but with an http-Server on the client-side. It would just transport the ICE-Serialized Data in the bodies of the Http-Request and -Responses and forward them as normal TCP streams to the backend servers (like glacier does as far as I understood the concept of its architecture). For the server callbacks the JavaScript client would invoke a special Http-Request which just polls (ie. waits) for server callbacks which are marshalled in the body of the response to the polling http-request. What do you think about this idea? Is it just too stupid? Or is it an interesting option to do RPC in AJAX? Or is it too hard to go that way? Thanx in advance for any opinions or hints on the subject. P.S.: Forgive me my spelling erros. English is not my native language.
|
|
來(lái)自: quasiceo > 《待分類(lèi)1》