2010-01-19 66 views
1

我們使用JSF + Spring + Hibernate編寫了一個相當複雜的應用程序。 它有很多業務流程。有不同類型的用戶(和角色)。 用戶必須填寫許多表格,當所有表格都通過驗證後, 「訂單」被髮送到服務器,並且將由另一種用戶處理。JSF應用程序的Webservice

現在我們必須爲此過程編寫webservices。也就是說,「訂單」將使用XML發送批量爲 ,並且必須返回包含錯誤消息的XML文件,以防錯誤 或必須以其他方式返回orderId。

我的問題是manyfolded。

  • 我應該考慮什麼?
  • 我應該使用RestFul webservices
  • 我應該使用SOAP嗎?
  • 我應該使用WSDL嗎?

歡迎任何評論。

在此先感謝。

路易斯

+0

'服務器'是另一個應用程序,像後端? – Mauricio 2010-01-19 17:24:08

回答

0

如果你消耗你的服務你的自我,你可以去註釋: 結合JSR-311 JAX-REST和JAX-WS annontations,那麼你可以去都在服務器端,只需要使用兩個註釋。 您的業務實體可以使用JAXB註釋進行序列化。 在一個支持rest和ws的web服務引擎中運行。例如。 CXF處理兩者,但我相信春天包括一個WS lib,不知道那是基於什麼。

如果您有外部消費者,我的經驗是(儘管我傾向於不使用它)使用合同優先的Web服務。否則,您業務模型中的小改動可能會導致您可能或未察覺的wsdl更新。

所以:外部消費者,首先要去簽約WSDL wbservice。

內部消費者(您的代碼):使用兩者並查看最適合您的方式。如果你使用WS,不要使用像WS-security和其他標準那樣的標準,那麼很多客戶端會遇到問題,因爲他們可能只支持基本的東西。

0

我會使用JBoss RESTEeasy,否則JAX-RS,方便,輕巧的實施 - 從XML-> Objects(對象)> XML非常強大的,自動轉換:RestEasy Docs

完全被註解驅動的,很簡單的需要約5分鐘設置。與現有的域對象一起使用。