您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 基于XML的.NETWeb服务讲座
基于XML的.NETWeb服务石志国博士szg@ercist.iscas.ac.cnshizhiguo@tom.com清华大学讲座内容提要•1、XML基础2、.NETWeb服务基本技术规范3、WSDL/SOAP/UDDI简介4、XML与ADO.NET中的DataSet5、XML构建分布式系统基本环境建立•本讲建议的环境为:–操作系统:Windows2000ServerSP4–Web服务器:IIS5.0–.NET框架:.NETFramework1.1–数据库支持:SQLServer2000企业版–开发工具:VisualStudio.NET企业版本–客户端浏览器:IE6.0SP1参考资料•VB.NET和SQLServer2000高级编程创建高效的数据层清华大学出版社•ADO.NET高级编程VB.NET编程篇清华大学出版社•VB.NET企业级应用开发清华大学出版社•高效掌握ADO.NETC#编程篇清华大学出版社•石志国.ASP.NET实用案例教程.清华大学出版社.2002年•石志国..NETWeb服务使用案例教程.清华大学出版社.2003年•石志国.VB.NET使用案例教程.清华大学出版社.2003•石志国.JSP精解应用教程.清华大学出版社.2004••软件编程体系•主要分成两大编程体系,一种是基于浏览器的B/S(Brower/Server)结构,另一种是C/S(Client/Server)结构XML基础•XML(eXtensibleMarkupLanguage:可扩展标记语言)是目前应用开发领域中的热门技术•XML的三种显示样式:•CSS(CascadingStyleSheet:层叠式样式表单)、•XSL(ExtensibleStyleLanguage:扩展的标记语言)•DataIsland(数据岛)•在XML文档规则方面,•W3C的DTD技术•微软Scema技术XML文件的格式?xmlversion=1.0encoding=gb2312standalone=yes?老师记录姓名周润发/姓名职业教师/职业家属妻子None/妻子/家属兴趣唱歌、跳舞/兴趣!--这是注释--电子邮件shizhiguo@163.net/电子邮件/老师记录XML的树状结构XML的三种显示格式•CSS样式表•XSL样式语言•XML数据岛技术CSS样式表GREETING{font-size:48pt;font-weight:bold;}?xmlversion=1.0encoding=GBK??xml-stylesheettype=text/csshref=9-06.css?GREETINGChina/GREETINGXSL样式语言?xmlversion=1.0encoding=gb2312??xml-stylesheettype=text/xslhref=9-09.xsl?personspersonname周润发/nameage25/agetel66666666/tel/person。。。。。。。。。/persons?xmlversion=1.0encoding=GB2312?xsl:stylesheetxmlns:xsl=:templatematch=/HTMLBODYCENTERTABLEBORDER=1TRTD姓名/TDTD年龄/TDTD电话/TD/TRxsl:for-eachselect=persons/personTRTDxsl:value-ofselect=name//TDTDxsl:value-ofselect=age//TDTDxsl:value-ofselect=tel//TD/TR/xsl:for-each/TABLE/CENTER/BODY/HTML/xsl:template/xsl:stylesheetXML数据岛?xmlversion=1.0encoding=gb2312?教师队伍教师名字周润发/名字课程编程基础/课程结论是个好老师/结论/教师教师名字周慧敏/名字课程.NET技术/课程结论是个好老师/结论/教师/教师队伍XML数据岛HTMLBODYxmlid=xmlidsrc=9-11.xml/xmlTABLEBORDER=0datasrc=#xmlidALIGN=CENTERWIDTH=443THEADTDBGCOLOR=#99FF99名字:/TDTDBGCOLOR=#3399CC课程:/TDTDBGCOLOR=#CC99CC结论:/TD/THEADTRTDBGCOLOR=#99FF99SPANdatafld=名字/SPAN/TDTDBGCOLOR=#3399CCSPANdatafld=课程/SPAN/TDTDBGCOLOR=#CC99CCSPANdatafld=结论/SPAN/TD/TR/TABLE/BODY/HTMLXML的两种语法规则•文档类型定义(DocumentTypeDefinition),简称DTD•Schema文档规则DTD?xmlversion=1.0encoding=GB2312?!ELEMENT联系人(姓名,EMAIL)!ELEMENT姓名(#PCDATA)!ELEMENTEMAIL(#PCDATA)?xmlversion=1.0encoding=gb2312standalone=yes?!DOCTYPE联系人SYSTEM9-15.DTD联系人姓名张三/姓名EMAILzhang@aaa.com/EMAIL地址中国北京/地址/联系人Schema文档规则•虽然DTD胜任对XML文档结构的验证,但是它有很多局限。•为此,微软提出了Schema的方案来改进DTD。•Schema相对于DTD的明显好处是XMLSchema文档本身也是XML文档。Schema文档规则?xmlversion=1.0?Schemaxmlns=urn:schemas-microsoft-com:xml-dataxmlns:dt=urn:schemas-microsoft-com:datatypesElementTypename=bookselementtype=book//ElementTypeElementTypename=bookdt:type=int//Schema?xmlversion=1.0?booksxmlns=x-schema:9-17.xmlbookhello/book/books2、.NETWeb服务基本技术规范•WebService是一种应用程序,它可以使用标准的互联网协议,像超文本传输协议(HTTP)和XML,将功能纲领性地体现在互联网和企业内部网上。•WebService使用两种技术–XML技术:XML是在web上传送结构化数据的伟大方式,Webservices要以一种可靠的自动的方式操作数据。HTML不能满足要求,XML可以使WebService方便地处理数据,十分理想的实现数据与表示的分离。–SOAP技术:SOAP使用XML消息调用远程方法,这样webservices可以通过HTTP协议的post和get方法与远程机器交互,而且,SOAP更加健壮和灵活易用。用于Web发现的其他技术,比如:UDDI和WSDL,也是通过XML和SOAP技术紧密结合实现的。WebService的协议及消息传递•SOAP,即简单对象访问协议,它是用于交换XML编码信息的轻量级协议。•SOAP可以运行在任何其它传输协议上。比如:SMTP,POP,HTTP等等WebService的接口描述•接口方式为:WSDL和UDDI方式•WSDL–WSDL是用来描述网络(network)服务或终端(endpoint)的一种XML语言,它用于定义WebServices以及如何调用它们(描述Web服务的属性,•UDDI–即UniversalDescription,DiscoveryandIntegration。它提供了在Web上描述并发现商业服务的框架。UDDI通过服务注册,以及使用SOAP访问这些注册信息的约定来实现上述目标。创建基于XML的Web服务1-1.asmx%@WebServiceLanguage=C#Class=Greetings%usingSystem.Web.Services;publicclassGreetings{[WebMethod]publicstringHello(stringstrName){returnhello,+strName+,Haveagreatday!;}}使用asmx文件•生成代理类:–wsdl.exe:cs/n:Ser_cs–pause•生成代理程序:–csc/out:bin\Greetings.dll/t:library/r:system.data.dll/r:system.web.services.dllGreetings.cs–pause调用代理程序%@Pagelanguage=C#Debug=true%%@ImportNamespace=Ser_cs%scriptlanguage=c#runat=servervoidPage_load(objectsender,EventArgse){Greetingsk=newGreetings();Message.Text=WebService返回信息为:br+k.Hello(六阿哥);}/scriptasp:labelid=Messagerunat=server/远程调用Web服务•disco和wsdl生成的文件•在VisualStudio.NET实现远程Web服务调用SOAP的结构•SOAP和HTTP一样是一种应用级的协议,因此它可以直接建立在传输协议上,比如TCP。•SOAP能够通过防火墙和代理。Web浏览器SOAP协议IP协议TCP协议HTTP协议Web浏览器SOAP协议IP协议TCP协议HTTP协议SOAP的结构•总体上看,SOAP消息主要包括以下3个主要元素:•1、SOAPEnvelope–它是整个SOAP消息的根元素,也是每个SOAP消息中必须有的元素。其他两个元素都在这个元素内部。•2、SOAPHeader–Header元素是SOAP消息中的可选元素,也就是说不是每个SOAP消息中都必须有Header元素。但如果有,必须是Envelope的第一个直接子元素。Header元素中包括多个头条目子元素。•3、SOAPBody–这也是每个SOAP消息中都必须有的元素,而且是Envelope元素的直接子元素。如果Envelope消息中没有Header元素,那这个元素必须是Envelope元素的第一个子元素,否则它必须紧接着Header元素SOAP结构?xmlversion=1.0encoding=utf-8?soap:Envelopexmlns:soap=:HeaderMyHeaderxmlns=
本文标题:基于XML的.NETWeb服务讲座
链接地址:https://www.777doc.com/doc-2572976 .html