平台和语言无关的网络服务构建和调用框架:Apache Etch
Etch 是一个跨平台,语言和传输方式无关的框架用于构建和调用网络服务。Etch工具集包含了一个网络服务描述语言,一个编译器,一个绑定库用于各种编程语言。Etch还是一个传输无关,能够基于需求和情况适用各种不同的传输方式。利用Etch,使得服务部署和消费变得不再困难,相比库部署和消费。
- 支持单向的和双向的实时通信
- 高性能和可伸缩性
- 支持客户端和服务器用不同语言编写
- 支持客户端和服务器运行在不同的在各种环境下(如瘦Web客户机,嵌入式设备,PC应用程序或服务器)
- 支持任意增加新的语言绑定和新传输方式
- 是快速和小,同时仍然具有足够的灵活性,以满足要求的
- 最后,它必须易于使用。让开发人员很方便实现和/或消费服务。
HelloWorld NSDL
module org.apache.etch.examples.helloworld service HelloWorld { struct user ( int id, string name ) exception UserUnknownException ( string mes ) @Direction(Server) string say_hello(user to_whom) throws UserUnknownException }客户端代码:
String uri = "tcp://127.0.0.1:4001"; RemoteHelloWorldServer server = HelloWorldHelper.newServer( uri, null,new MainHelloWorldClient() ); server._startAndWaitUp( 4000 ); user u = new user(5, "Testuser"); System.out.println(server.say_hello(u)); server._stopAndWaitDown( 4000 );
本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!