使用尖括号和契约优先开发有何关联

本文讲的是使用尖括号和契约优先开发有何关联,【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对信息和服务契约建模的工具还有那么重要吗?

时间: 2024-12-26 22:14:11

使用尖括号和契约优先开发有何关联的相关文章

WebService——通过契约优先开发webservice

一.基本概念 有代码优先和契约优先两种开发webService的方式,本例介绍契约优先的webService. 编写WSDL有三种方式:基于document的Wrapper方式,基于document的Bare方式,基于RPC方式.本例介绍Wraper方式,也是默认方式和推荐方式.Wrapper有包起来的意思,将所有对象通过element封装. 二.编写步骤 ①服务端 1.编写WSDL <?xml version="1.0" encoding="UTF-8" s

将HTML的左右尖括号等转义成实体形式的两种实现方式

  这篇文章主要介绍了将HTML的左右尖括号等转义成实体形式的两种实现方式,需要的朋友可以参考下 前端开发工作中,经常需要将HTML的左右尖括号等转义成实体形式.我们不能把<,>,&等直接显示在最终看到的网页里.需要将其转义后才能在网页上显示. 转义字符(Escape Sequence)也称字符实体(Character Entity).定义转义字符串的主要原因是 "<"和">"等符号已经用来表示HTML TAG,因此不能直接当作文本中

php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符

 PHP使用正则表达式提取字符串中尖括号<>.小括号().中括号[].大括号{}中的字符示例,需要的朋友可以参考下    代码如下: $str="你好<我>(爱)[北京]{天安门}";    echo f1($str); //返回你好  echo f2($str); //返回我  echo f3($str); //返回爱  echo f4($str); //返回北京  echo f5($str); //返回天安门    function f1($str)  { 

java-JAVA中的泛型,尖括号里可以装任意符号?

问题描述 JAVA中的泛型,尖括号里可以装任意符号? 泛型的尖括号里不是装指定类型的嘛,那下面这句笔记怎么理解呢? 泛型的语法------> Class Demo <泛型符号> { } //这里的泛型符号可以用任意符号,常用的符号有E(元素element简写),T(类 型type的简写),K(键key的简写),V(值value的简写) 解决方案 java泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方

c++-模板实例化的时候,尖括号可以省略吗?

问题描述 模板实例化的时候,尖括号可以省略吗? 1.为什么有些地方我看见省略了,有些地方不能省略 2.函数模板的非类型参数可以当做形参,传入函数吗,这样实例的时候直接在参数列表中赋值 如图 解决方案 (1)关键看省略了会不会引起歧义,比如说 T foo() 你调用foo()没办法知道T是什么类型 void foo(T x) 你调用foo(1),自然T就是int. 再比如 void foo(T x) void foo(A x) 构成重载,其中A是一个非模板的版本 A a; foo(a);如果你这么

用js处理xml报文里面的尖括号&amp;amp;lt;问题

问题描述 现在有这样的一个问题..xml报文如下.. <Param><ParamId>2918021984</ParamId> <ParamName>测试呀</ParamName> <Value>第<12>街and第<123>号</Value></Param> 问题 怎么用js正则表达式 把 vlaue 里面的 尖括号 替换成[] < 替换为[ > 替换为] 解决方案 如果有

asp 过滤尖括号内所有内容的正则代码_应用技巧

当然这应该属于正常过滤手法,而还有一种过滤HTML标签的最终极手法,则是将一对尖括号及尖括号中的所有字符均替换不显示,该方法对于内容中必须描述有关尖括号内容过滤过头了. 不过,总归是有需要将所有尖括号中内容全部替换的时候,很显然是需要进行正则的,有两种代码,第一种如下: 复制代码 代码如下: Function nohtml(str) dim re Set re=new RegExp re.IgnoreCase =true re.Global=True re.Pattern="(\<.[^\

使用JS正则表达式 替换括号,尖括号等_javascript技巧

如下所示: function toTxt(str) { var RexStr = /\<|\>|\"|\'|\&/g str = str.replace(RexStr, function(MatchStr) { switch (MatchStr) { case "<": return "<"; break; case ">": return ">"; break; case

6.set ff=unix;设置Linux中文件中每行后又尖括号的情况

 用vi命令打开要替换尖括号的文件 直接输入:   :set ff=unix 表示设置文件格式是unix格式