平臺和語言無關的網絡服務構建和調用框架: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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!