天天看點

使用尖括号和契約優先開發有何關聯

本文講的是<b>使用尖括号和契約優先開發有何關聯</b>,【IT168 資訊】契約優先的需求來自于資訊狀态的規範表示,這些資訊主要以Web服務請求的方式流動。大部分主流語言有支援WSDL和XSD的工具,以及用這些資訊“契約”來描述Schema和WSDL,而這種方式作為一種可互操作的解決方案是否可靠則存在着争議。

  契約優先的開發方式解決對象和XML之間的阻抗失配。由于Xml Schema語言的描述格式格外豐富,是以用它對協定模組化需要考慮降低序列化和互操作性之間的差別,以下列出了部分内容:

  無法映射特定Schema語言的構造,例如:XSD類型的擴充和限制

  無法映射或至少不能有效映射特定對象類型到Schema類型,例如:泛型清單和HashMaps等

  不能用XML有效的表示對象圖形,尤其是不能用父/子關系來有效表示,父對象保留子對象的引用,而子對象也保留對父對象的引用

  定義語言未知的契約可提高互操作性,也讓服務的設計人員遵守WS-I互操作标準

  促使企業間對契約定義的重複利用,例如:XSD和WSDL

  允許控制服務的版本并最終給監管提供借鑒

  Visual Studio 2008外接程式WCSF.blue是一個開源項目,它已經釋出到CodePlex站點。該工具的功能如下所示:

  WSDL向導——開發者可從一個或者多個XSD開始逐漸建立WSDL

  DataContract生成器——類似于XSD.exe、XSDObjectGen.exe和Svcutil.exe,可生成與.NET相容的XSD類型

  服務和終端存根(SVC)生成器

  客戶代理生成器

  該工具仍有若幹待解決的問題,相信最終會在Beta後的産品中得到解決。該工具還包含WSCF.classic外接程式0.7版本的相關指南。要是微軟WCF支援契約編碼,就不需要尖括号、XSD乃至WSDL。那麼,使用WSDL和XSD對資訊和服務契約模組化的工具還有那麼重要嗎?

原文釋出時間為:2009-07-14

本文作者:IT168.com

本文來自雲栖社群合作夥伴IT168,了解相關資訊可以關注IT168。

原文标題:使用尖括号和契約優先開發有何關聯