Hi Compl, Your framework sounds interesting. I look forward to seeing how it will develop.
One thing I will disagree with is that Hessian is a synchronous only protocol. It does have a request/response model as one of its modes of operation, but it also has a message/envelope model as another in Hessian 2.0. Both of these protocol models can support both synchronous and asynchronous programming models. I would argue that (a)synchrony is more an issue of implementation of the client or server stubs if the protocol is designed appropriately, as I believe Hessian is. Take care, Emil --- Compl Yue Still <[EMAIL PROTECTED]> wrote: > Hi, > > I'm working on a framework seems relevant, and is going to be > opensource once functional complete. > > I think there will need a long streaming http connection from swf > to > the server to receive back invocations in realtime; and since http > normally submit data only once at the beginning, there will also > need > short http requests upon invocations from swf to server, or it may > cause problems with http proxies and caches. > > I'm working on a total conversion for such server-push solutions. > My > framework derives a binary wire protocol from Hessian, and is > asynchronous. The coming first public version will leverage Flex > interface and Java backend. > > To my understanding hessian is synchronous due to its web-service > nature, and realtime/streaming communication should be more natural > when implemented in asychronous ways. However it doesn't only mean > asychronous at the protocol level, but backbone of the system > architecture, i.e. you need to head away from the traditional > "Invocation Based Interfacing" approaches (which I'm coining to > refer > to RPC/RMI based service model, including WS, EJB, ORM, various > data > services today etc). Instead we can go "Hosting Based Interfacing" > (HBI is my framework name ;-) that data manipulation always occur > at > where the data is, hosted by the local domain controller. 'domain > controller' is close to the 'server' concept but an RIA is also a > domain controller which has its own domain data model at the > 'client' > side. Under such an architecture, no "structured-object" will be > transfered over wire any more, but the code manipulating them and > manipulation arguments are transfered from an original domain to a > target domain, and hosted executing by the target domain > controller. > So application code always interact with local data (through its > local > encapsulating logic if go OO) and local environment. This helps > performance and elegancy. It aims at "Rich Domain Model" at both > server and RIA side, in contrast to plain old data service backed > architectures. > > The draft spec of the HBI wire protocol is attached, I hope > someones > are interested to have a look at it now. And I'll release full > source > code with demos (Apache or BSD license) very soon, then I will be > glad > to talk with Resin guys if such a thing can fit into the Resin > platform. > > > Cheers, > Compl > > > On 9/13/07, Emil Ong <[EMAIL PROTECTED]> wrote: > > > > --- Vic Cekvenich <[EMAIL PROTECTED]> wrote: > > > > > http://hessian.caucho.com/ria - Outstanding! I will be using > this > > > right away, I was looking for an open source binary protocol > for > > > as3, and have used hessian in the past, no more need for Data > > > Service product and the loads of jars it comes w/. > > > > Great! > > > > > Question: is there a way to do a push to flex and leverage > this? > > > > > > Ex: Flex pings server to open a connection/socket(ex: w/ > Mina/Nio > > > help), and now I keep a list of them, so that I can > > > "push/invoke/send" a message from Resin server to a specific > flex > > > client. So an invoke not from Flex to Resin(which was the > example) > > > but a message from Resin to Flex? > > > Suggestions? > > > > Hmm... this is an interesting issue. In the Hessian 2.0 > protocol, we > > have support for streaming calls which might be appropriate in > this > > situation. On the other hand, I'm not sure that we actually have > a > > programming model to support that on the server side yet. (I'll > have > > to check that.) It probably would not be a servlet... maybe an > EJB > > or something. In other words, the server side would be just as > much > > of an issue in the push problem as the client side. > > > > Do you know of any examples already in Flex that do push? Does > Flex > > Data Services do that? If so, what is their API for it? > > > > Thanks, > > Emil > > > > P.S. I cc'd this to hessian-interest. > > > > > > _______________________________________________ > > hessian-interest mailing list > > [email protected] > > http://maillist.caucho.com/mailman/listinfo/hessian-interest > > > _______________________________________________ hessian-interest mailing list [email protected] http://maillist.caucho.com/mailman/listinfo/hessian-interest
