根據我的經驗,大多數分佈式對象技術(RMI,CORBA等)的工作是這樣的:基於接口的Java/Groovy的Web服務
- 定義服務接口
- 寫的一個實現接口
- 使用生成代碼的工具(rmic,IDL編譯器等),使客戶端可以獲得對給定某個端點(URL)的接口實現的引用。
重要的一點是服務接口是客戶端和服務必須遵守的共享協定。我看了一下metro,它似乎沒有遵循這種模式。
我正在尋找支持這種基於接口的Web服務開發的替代建議。不幸的是,我需要使用SOAP,所以只支持RESTful服務的庫對我來說並不好。理想情況下,我希望遵循代碼優先而非契約優先的附加規則,即我定義(Java)服務接口,並從中生成WSDL,而不是其他方式。
支持使用Groovy(而不是Java)定義或實現服務的解決方案特別受歡迎。