基于NET框架的WEB服务的研究与实现Word文档格式.docx
《基于NET框架的WEB服务的研究与实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于NET框架的WEB服务的研究与实现Word文档格式.docx(64页珍藏版)》请在冰豆网上搜索。
第一章绪论1
1.1前言1
1.2Web服务的现状及应用领域1
1.3Web服务在电子商务中的作用3
1.4电子商务系统中Web服务的实现5
第二章.NET框架概述6
2.1.NET框架的定义6
2.2.NET框架的组成6
2.3.NET框架的特点9
2.4.NET与J2EE的比较10
2.5ASP.NET的技术架构11
第三章Web服务13
3.1Web服务的定义13
3.2Web服务的特点13
3.3Web服务的体系结构14
3.4Web服务的标准和技术16
3.5Web服务的类型19
第四章网上书店系统21
4.1系统分析21
4.2系统开发的环境配置22
4.3系统的流程25
4.4数据库设计25
4.5系统功能模块的实现30
第五章Web服务在网上书店中的应用43
5.1Web服务的创建43
5.2Web服务的引用46
5.3Web服务的实现48
第六章Web服务的探讨50
6.1Web服务移植后的重新引用问题50
6.2Web服务性能的提高50
第七章总结54
参考文献55
致谢56
第一章绪论
1.1前言
随着Internet的发展,电子商务也不断发展。
Internet为各种类型的商业实体提供了发现新客户、供应流、新服务的各种机会,使得他们利用Internet获得了空前的安全的经济回报,体现了Internet的巨大价值。
然而,目前大多数电子商务的应用基于Web的商业服务在处理购买者、供应商、交易市场和服务提供者之间的联系方式上各不相同。
如何将这些应用低代价方便地连接在一起,从而实现大范围的跨企业实体的商务应用系统对接,这是摆在开发人员面前的一大问题。
不同应用的开发语言不同,部署平台不同,通信协议也可能不同,对外交换的数据格式也有着很大差异。
如何去解决语言差异、平台差异、协议差异、数据差异所带来的高代价的系统集成是这个问题的关键。
最近几年开始蓬勃发展的Web服务正是针对这个问题的最佳解决方案。
Web服务成为了当今IT业界的焦点。
Web服务的主要目标就是在现有的各种异构平台的基础上构筑一个通用的与平台无关、语言无关的技术层,各种不同平台之上的应用依靠这个技术层来实施彼此的连接和集成。
目前,Web服务已经在全球启动了一拨IT业的浪潮,无论是平台供应商、解决方案供应商、技术供应商,还是服务提供商都纷纷在自己的平台、解决方案以及服务中加入Web服务。
以Microsoft,IBM,Oracle,HP,BEA,SAP等为首的计算机业巨头们无一例外地将自己的软件产品/解决方案全面支持Web服务,同时,他们共同成立了WS-L(WebServicesInteroperabilityOrganization),致力推广Web服务的全面应用。
1.2Web服务的现状及应用领域
1.2.1Web服务的现状
Web服务是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以发布、定位、通过Web调用。
Web服务可以实现从简单的请求到复杂商务处理的任何功能。
一旦部署,其他Web应用程序可以发现并调用它部署的服务。
它就是在现有的各种异构平台的基础上构筑一个通用的与平台无关、语言无关的技术层,各种不同平台上的应用依靠这个技术层来实施彼此的连接和集成。
国际上,40%左右的开发人员从事Web服务的开发,该技术具有很好的市场潜力。
大量面向消费者的B2CWeb服务将被使用。
日前,微软、英特尔、Lexmark和理光公司为用户更方便地通过网络连接打印机、数码相机和数字音乐播放器等设备设计了一项新的Web服务技术。
Web标准化组织WorldWideWebConsortium(W3C)于2005年1月25日发布三个Web服务相关的标准,并希望能得到广泛应用。
Web服务必将是分布式应用程序的主导架构,市场需求平均以94%复合增长,在未来10年,Web服务项目的总投入将达到1840亿美元。
目前来看,中国的Web服务市场仍处于初级阶段,国内大部分企业并未将Web服务纳入IT部门的技术架构或采购列表中去。
但是Web服务在2003年开始受到关注,到2004年信息技术行业的焦点直接面向Web服务,更在2005年进一步得到发展。
根据当前商务和技术的发展情况,SOAP和Web服务是必然趋势。
这样很大程度上简化了企业的业务过程,降低企业内集成的成本。
Web服务可解决实际的B2B问题,实现电子商务业务,使得实时交互和协作成为可能。
1.2.2Web服务的应用领域
Web服务的概念推出之后,得到了业界的广泛关注,IBM、HP、Microsoft、Sun、BEA等大公司纷纷推出了自己的Web服务开发工具。
IBM的Webphere,Microsoft的.NET,Sun公司推出的SunOne,BEA公司的WebLogic等产品都把实现Web服务列为自己的目标。
目前Web服务的应用主要集中在以下几个方面。
(1)基于商业的Web服务。
该类服务针对的是企业应用服务,包括企业内部的ERP系统,企业间的SCM/CRM等系统。
当这些系统以Web服务的形式在互联网中出现时,企业内的应用集成将更容易,在企业间众多合作伙伴系统间的对接也将变得轻松。
(2)基于消费者的Web服务。
此类服务针对的是原来的B2C网站的改造,为这些基于浏览器的Web应用增加了Web服务的界面,使得用户使用Internet更为方便,能够获得更加便捷的服务。
(3)基于传统的Web服务。
一些传统意义上的系统服务,比如用户权限认证,系统见空等,如果迁移到全球范围的Internet上或者企业内部Intranet上,其作用范围将单个系统或是局部网络拓展到整个企业网络或整个Internet。
这样,在同一系统服务中的不同应用将可以在整个Internet环境中部署。
(4)实现网格计算的Web服务。
目前网格计算是把互联网中的计算机集中起来,共同协作完成大规模的计算任务。
Web服务及其发展是构建网格计算环境的一个途径,使用Web服务,异构的计算机软件和硬件系统可以通过Internet联结起来,共同完成一些计算。
1.3Web服务在电子商务中的作用
Web服务在电子商务发展中,不仅是推动其动态电子商务的主力军,更是在此领域具有美好前景。
1.3.1Web服务是推动动态电子商务的关键
在电子商务的发展初期,企业应主要在现有的关系、业务流程和商业应用基础上发展互联网,供客户访问。
随着实践的深入,企业希望将其业务流程与Web实现集成,企业开展电子商务的最终目的就是希望借助它转变做生意的方式,获得更大的投资回报。
随着应用的不断深入,企业面对的内外部系统环境逐渐复杂。
企业开始意识到建立真正开放、安全、可扩展的业务平台的迫切性。
只有这样,企业才能够轻松地建立起与客户、供应商、合作伙伴之间的动态业务沟通机制,在市场竞争中真正赢得主动。
实现这些目标的最佳途径就是建立动态电子商务平台,而动态电子商务实现的关键是Web服务[1,2,3]。
动态电子商务是企业业务流程重组的产物,充分利用了Web服务的动态特性,并且在实时条件下的应用可以被动态地集成,对企业来说,这比简单地访问Internet上现有的第一代电子商务更有价值。
在新的动态电子商务模式下,购物应用程序代表消费者执行多种应用功能。
它不仅可以自动地与销售商取得联系,而且还能主动发出通知:
“要买书,价位怎样,质量如何?
”。
显然,这一应用可以代替消费者去搜索或查询所有的候选公司以获得最佳结果,而不必过分依靠某一产品提供商。
在这种环境下,一切都是动态的!
由于开放标准的缘故,不需要和应用提供商进行专门商榷,这对交易双方都有利,成本也自然会降下来。
事实上,现在的Web服务已经能为利用WSDL编程、利用SOAP访问、利用UDDI搜索的Web应用提供标准的Internet界面,这种界面完全是人性化的,它采用HTTP协议实现访问,通过URL/DNA服务器完成搜索。
由于基于互联网标准的UDDI和Web服务并不需要专门的通信协议,因此企业只要使用互联网及基于互联网标准的应用工具就能够轻松地开展Web服务。
而随着SOAP、WSDL、UDDI等标准的发展,标准化的信息传递、数据格式化、简化业务运作过程的服务界面等动态电子商务基础设施将进一步扩展。
1.3.2Web服务在电子商务中的应用前景
用Web服务集成应用程序,可以使公司内部的商务处理更加自动化。
Web服务是B2B集成成功的关键。
通过Web服务,公司可以把关键的商务应用“暴露”给指定的供应商和客户。
例如,把电子下单系统和电子发票系统“暴露”出来,客户就可以以电子的方式发送订单,供应商则可以以电子的方式发送原料采购发票。
相比之下,Web服务的实现要比EDI简单得多,而且Web服务运行在Internet上,在世界任何地方都可轻易实现,其运行成本就相对较低。
不过,Web服务并不像EDI那样,是文档交换或B2B集成的完整解决方案。
Web服务只是B2B集成的一个关键部分,还需要许多其它的部分才能实现集成。
用Web服务来实现B2B集成的最大好处在于可以轻易实现互操作性。
只要把商务逻辑暴露出来,成为Web服务,就可以让任何指定的合作伙伴调用这些商务逻辑,而不管他们的系统在什么平台上运行,使用什么开发语言。
这样就大大减少了花在B2B集成上的时间和成本,让许多原本无法承受EDI的中小企业也能实现B2B集成。
Web服务将向智能化方向发展,智能化Web服务强调了Web服务的用户信息,并能够与其它服务共享用户信息。
它能够根据“谁”、“什么”、“何时”、“何地”和“为什么”等因素,生成动态的符合用户需求的结果。
为了能够让Web服务具备智能化,它必须能够识别出接受服务的消费者的身份、与消费者相关的安全方针、与消费者相关的服务策略以及消费者此次服务进行时所用的接入设备,同时智能化Web服务还应该知道与消费者享受此次服务有关的以往历史记录。
有关专家推测智能Web服务(IWS)将是下一代Internet革命的方向,包括个性化的信息定制服务(如股票信息查询、货币网上兑换处理等)、电子商务(货物定单、物流配送)等。
智能Web服务是未来IT产业的发展方向,是信息化社会的必由之路。
1.4本次毕业设计的主要任务
本次毕业设计的课题是基于.NET框架的Web服务的研究与实现。
本人在对.NET框架、体系结构和Web服务的标准、技术有所了解后,掌握了C#的编程思想,深入研究XML、SOAP、UDDI、WSDL标准在Web服务中的作用以及Web服务在电子商务中的应用Web服务。
采用.NET的一些相关技术来实现网上书店的开发,实现了用户注册登录、浏览书籍、评论书籍、查找书籍、查看书籍、购买书籍、用户账号管理、书籍管理和订单处理的功能。
并在查询功能模块中调用了Web服务。
第二章.NET框架概述
2.1.NET框架的定义
Microsoft的.NET可以简单地总结为一个提供基于XML和Web服务组件系统的基本结构。
它把Microsoft的组件对象模型(COM)和松散耦合计算有机结合在一起。
.NET框架包含3个主要部分:
公共语言运行时(CommonLanguageRuntime,简称CLR)、具有多层次结构的统一的类库集合、活动服务器页面(即是ASP.NET)。
公共语言运行时可以说是.NET的最大优点,在组件的开发过程中及程序的运行过程中,都扮演着非常重要的角色。
CLR负责管理内存分配、启动或取消线程和进程、实施安全性策略,同时满足当前组件对其他组件的需求。
CLR的关键作用是提供了一个跨编程语言的统一的编程环境。
由于.NET框架提供了一个统一的类库集(API),所以它可以实现跨语言继承性和错误处理功能,使得所有的编程语言都是相互等同的,方便开发者自由选择理想的编程语言。
ASP.NET提供了一个由一组控件和一个基本结构组成的Web应用程序模型。
当控件运行在Web服务器上时,用户界面将被转换成HTML格式发送给浏览器,同时ASP.NET基本结构能够通过SOAP传送服务。
.NET框架还提供了一个ADO.NET的组件,简化数据库访问程序的开发。
2.2.NET框架的组成
2.2.1.NET框架的基本组成
①公共语言运行时。
实际上,公共语言运行时在组件的开发及运行过程中,都扮演着非常重要的角色。
在组件运行过程中,运行时负责管理内存分配、启动或删除线程和进程、实施安全性策略、同时满足当前组件对其它组件的需求。
在开发阶段,运行时的作用有些变化:
与现今的COM相比,运行时的自动化程度大为提高(比如可自动执行内存管理)。
尤其是,映射功能将锐减开发人员将业务逻辑程序转化成可复用组件的代码编写量。
对编程语言而言,都有自己的运行时。
VisualBasic开发系统具有最为明显的运行时(名为VBRUN),VisualC++跟VisualFoxPro、Jscript、SmallTalk、Perl、Python和Java一样有一个运行时,即MSVCRT。
.NET框架的关键作用在于,它提供了一个跨编程语言的统一编程环境。
②统一的类库集合。
.NET框架为开发人员提供了一个统一、面向对象、层次化、可扩展的类库集(API)。
现今,C++开发人员使用的是Microsoft基类库,Java开发人员使用的是Windows基类库,而VisualBasic用户使用的又是VisualBasicAPI集。
.NET框架则统一了微软当前的各种不同类框架,并且通过创建跨编程语言的公共API集,.NET框架可实现跨语言继承性、错误处理功能和调试功能。
实际上,从JScript到C++的所有编程语言,都是相互等同的,编程语言并不是关键。
③活动服务器页面(ASP.NET)。
ASP.NET是使用.NET框架提供的编程类库构建而成的,它提供了Web应用程序模型,该模型由一组控件和一个基本结构组成。
有了它,Web应用程序的构建变得非常容易。
开发人员可以直接使用ASP.NET控件集,该控件集封装了公共的、用于超文本标识语言(HTML)用户界面的各种小器件(诸如文本框、下拉菜单等等)。
实际上,这些控件运行在Web服务器上,它们将用户界面转换成HTML格式后再发送给浏览器。
在服务器上,控件负责将面向对象的编程模型提供给Web开发人员,这种编程模型能提供面向对象编程技术的丰富功能。
ASP.NET还提供一些基本结构服务(诸如会话状态管理和进程重启服务),这些服务大大减少了开发人员要编写的代码量,并使应用程序的可靠性得到大幅度提高。
ASP.NET还允许开发人员将软件作为一项服务来提供。
通过使用ASP+Web服务功能,ASP.NET开发人员只需进行简单的业务逻辑编程,而由ASP.NET基本结构负责通过简单对象访问协议(SOAP)来提供服务。
2.2.2.NET框架的体系结构
.NET是分层的、模块化的,以及层次结构化的。
.NET框架的每一层都是一个抽象层。
其中,.NET语言是顶层,也是最为抽象的一层。
而公共语言运行库则位于底层,它是最不抽象、最靠近本地环境的一层。
这一点很重要,因为公共语言运行库需要与操作环境紧密合作来管理.NET应用程序。
.NET框架被分成了多个模块,每个模块都有它们各自特定的责任。
最后由于高层只从底层请求服务,所以.NET又是层次结构化的。
体系结构如图2-1所示。
VB.NET
C#
Jscrip.NET
其他.NET语言
公共语言规范(CLS)
通用型别系统(CTS)
.NETFramework类型(FCL)
WebForm、Webservice
Windowsform
Console
ADO.NET
.NETremoting
公共语言运行库
公共语言基本结构(CLI)
操作系统
图2-1.NET的体系结构
2.2.3.NET的主要技术
.NET之中最重要的新技术首推Web服务。
如其名称所示,Web服务提供了某些功能,可以通过网络加以调用。
大多数技术都可以在某种程度上直接支持Web服务。
然而.NET绝非仅仅是Web服务而已,微软关于.NET技术包括:
①.NETFramework:
包括公共语言运行时(CommonLanguageRuntime,简称CLR)和.NET框架类库。
CLR是建造一系列新应用程序的标准基础,.NET类库则为许多基于CLR的应用程序提供一个新的标准开发环境。
这个类库,包含的技术有:
ASP.NET,最新一代的ASP(ActiveServerPages)技术;
ADO.NET,最新一代的ADO(ActiveXDataObjects)技术;
以及对“构建和使用Web服务”的支持等等。
微软还发行了一个.NETFramework精简版,名为.NETCompactFramework,用于小型设备如个人数字助理(personaldigitalassistants,PDAs)上。
②VisualStudio.NET:
支持多种可使用.NETFramework的编程语言,包括VisualBasic;
一个增强版的C++;
一个基于.NET的Java替代语言J#,以及一个为.NETFramework量身打造的全新语言C#。
③.NETMyServices:
一组服务,允许用户存储和访问位于互联网可达之服务器上的个人信息,例如日程表和地址簿等等。
这些服务还提供诸如认证(Autherntication)这样的通用功能,使客户能够证明自己的身份;
也提供了一个“向不同设备上的客户发送消息”的方式。
④.NETEnterpriseservers:
这是一系列软件服务器,包括、ExchangeServer2003、SharePointServer2003、ProjectServer2003、BizTalkServer2Web,ApplicationCenter2Web、CommerceServer2Web、HostIntegrationServer2Web、SQLServer2Web等等。
在未来的版本当中,他们将全部基于.NET技术构建。
2.3.NET框架的特点
.NET是全新的一种技术,因此,.NET中也包括了很多新特性。
①一致的编程模式。
在.NET环境中,所有的应用程序都采用通用的面向对象编程模式,不再像Windows环境中那样,既有DLL函数也有COM对象。
②高效率开发。
通过.NETFramework