平台和语言无关的网络服务构建和调用框架:Apache Etch

jopen 10年前

Etch 是一个跨平台,语言和传输方式无关的框架用于构建和调用网络服务。Etch工具集包含了一个网络服务描述语言,一个编译器,一个绑定库用于各种编程语言。Etch还是一个传输无关,能够基于需求和情况适用各种不同的传输方式。利用Etch,使得服务部署和消费变得不再困难,相比库部署和消费。
etch-logo.png

  • 支持单向的和双向的实时通信
  • 高性能和可伸缩性
  • 支持客户端和服务器用不同语言编写
  • 支持客户端和服务器运行在不同的在各种环境下(如瘦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 );

项目主页:http://www.open-open.com/lib/view/home/1407461538582

</div> </div> </div>