OSGi联盟的主席Peter做了这么个小东西,原理非常的简单,在现在传统的使用ajax的方式多为通过js直接调用Spring中的bean,那么peter做的这个小东西就变成了js直接调用OSGi中的service,基本上没有什么难度,只是玩了一把ajax的东西,估计是peter以前对这块接触的少,peter把他做的这个东西放到他的Nokia E70上跑 .....
这是他对他那个demo的技术结构的图示:
Sudoku Bundle是演示用的demo,webrpc Bundle就是可以拿来复用的bundle了,它引用了OSGi HttpService,同时在内部使用了JSON将返回给客户端的对象进行了转化。
在使用webrpc Bundle的情况下,js只需要发起这样的service的调用就可以了:
http://localhost/rpc/sudoku/newGame?0=simple
sudoku表示需要调用的service,newGame表示调用的service的方法,?后面的就是给方法的参数了。
感兴趣的话大家可以去OBR中下载这个Bundle:
http://bundles.osgi.org/Main/Repository?cmd=browse&keywords=webrpc&submit=search
或者去看看blog:
http://www.osgi.org/blog/2006/09/osgi-uis-and-web.html
或者直接看demo:
http://bundles.osgi.org/Main/Repository?cmd=browse&keywords=webrpc&submit=search
呵呵,正准备在自己的产品中引入ajax这块,不过我准备继续使用自己较为熟悉的dwr,dwr+OSGi