本文讲的是使用尖括号和契约优先开发有何关联,【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。
原文标题:使用尖括号和契约优先开发有何关联