基于Web Services的商务网站研究

上传人:沈*** 文档编号:79326022 上传时间:2022-04-23 格式:DOC 页数:87 大小:1.61MB
收藏 版权申诉 举报 下载
基于Web Services的商务网站研究_第1页
第1页 / 共87页
基于Web Services的商务网站研究_第2页
第2页 / 共87页
基于Web Services的商务网站研究_第3页
第3页 / 共87页
资源描述:

《基于Web Services的商务网站研究》由会员分享,可在线阅读,更多相关《基于Web Services的商务网站研究(87页珍藏版)》请在装配图网上搜索。

1、广东师范毕业论文基于Web Services的商务网站研究指导教师: 肖化昆老师 计算机科学系 专业名称: 计算机科学与技术 论文提交日期:2006.5.22 论文答辩日期:2006.5.29 论文评阅人: 摘要摘要介绍了Web 服务的体系结构和一些主要的相关技术,在分析了Web Services体系结构的基础上,针对当前网上书店系统存在的一些缺陷,研究并给出了一个基于Web Services的网上书店的设计方案。该网上书店分为前台服务和后台管理两部分,主要功能模块包括图书管理、购物车管理、订单管理、用户管理、系统管理等。在总体结构上,采用了现今流行的多层体系结构和组件技术,逻辑上划分成数据层

2、、中间层和表示层,表示层运用ASP.NET的网页技术,中间层由Web Services组件提供业务服务,数据层采用Microsoft SQL Server 2000数据库系统。关键字:三层体系结构,组件,Web服务,网上书店,ASP.NETAbstractAbstractIt is introduced Web Services architecture and some of the major related technologies. Based on the analysis of the Web Services architecture and the current system

3、 online bookstore existing some shortcomings, we give a research-based Web Services online bookstore design programs. The online bookstore is divided into two parts: prospects services and management background. And the main functional modules make of library management, a shopping cart management,

4、order management, user management, and systems management. In the overall structure, the introduction of the current epidemic of multi-storey structure and components technology, logically divided into data layer, middle layer and presentation layer. The presentation layer use ASP.NET website techno

5、logy, the middle layer provide operational services from components of Web Services, and the data layer use Microsoft SQL Server 2000 database system.Keywords:three-tier architecture,components,Web Services,online bookshop,ASP.NET目录目录摘要I第一章 绪论- 1 -第二章 相关知识- 3 -2.1 ASP.NET简介- 3 -2.1.1 ASP.NET的新性能- 3

6、-2.2 XML Web Service简介- 4 -2.2.1 简单对象访问协议SOAP- 5 -2.2.2 Web服务描述语言WSDL- 6 -2.2.3通用发现、说明和集成UDDI- 7 -第三章 网站功能分析及设计- 9 -3.1 需求分析- 9 -3.2 总体体系结构图- 9 -3.3 网站功能模块设计- 10 -3.4 网站功能模块示意图- 11 -3.4.1 图书管理模块示意图- 11 -3.4.2 购物车管理模块示意图- 14 -3.4.3 订单管理模块示意图- 14 -3.4.4 用户管理模块示意图- 17 -3.4.5 管理员信息管理模块示意图- 19 -第四章 网站数据库

7、层设计及实现- 21 -4.1 数据库分析- 21 -4.2 数据库设计- 23 -4.2.1 数据表设计- 23 -4.2.2 各数据表的相互联系- 26 -第五章 中间层设计及实现- 27 -5.1 dataBaseWebService- 27 -5.1.1 功能描述- 27 -5.1.2 接口描述- 27 -5.1.3 设计过程及编码- 28 -5.1.4 测试- 31 -5.1.5 客户端调用- 33 -5.2 bookWebService- 33 -5.2.1 功能描述- 33 -5.2.2 接口描述- 33 -5.2.3 设计过程及编码- 34 -5.2.4 测试- 43 -5.2

8、.5 客户端调用- 44 -5.3 其它Web服务- 44 -5.3.1 commentWebService- 44 -5.3.2 orderWebService- 44 -5.3.3 customerWebService- 45 -5.3.4 adminWebService- 46 -第六章 表示层设计及实现- 49 -6.1 clientWebApplication应用程序- 49 -第七章 系统部署- 65 -7.1 部署前的准备- 65 -7.1.1 创建Web安装程序- 65 -7.1.2 数据库的备份- 68 -7.1.3 运行环境的配置- 69 -7.2 部署图- 69 -7.2

9、.1 表示层部署图- 69 -7.2.2 中间层部署图- 70 -7.3 部署过程- 70 -7.3.1 表示层部署过程- 70 -7.3.2 中间层部署过程- 71 -7.3.3 数据库部署过程- 72 -7.4 部署完成的测试- 73 -结论- 75 -参考文献:- 77 -致谢- 79 -附录A 搭建开发平台和运行环境- 81 -A.1 Windows.NET Framework安装- 81 -A.2 Microsoft Visual Studio.NET 2003安装- 82 -A.3 Microsoft SQL Server 2000安装- 84 -A.4 客户端软件安装- 86 -

10、附录B 工作说明- 87 -III第一章 绪论第一章 绪论.NET是微软公司的XML Web服务平台,它是为了解决互联网应用存在的普通问题而预先建立的基础设施。即将程序开发的侧重点从连接到互联网的单一网站或设备上,转移到计算机、设备和服务群组上,使其通力合作,提供更加广泛、更加丰富的解决方案。用户将能够控制信息的传送方式、时间和内容。计算机、设备和服务将能够相辅相成,从而提供丰富的服务,而不是像信息孤岛那样,由用户提供惟一的集成。网上商店,目前已累见不鲜,但基于Web Services并在.NET平台上开发的就寥若晨星。本次毕业设计题目:“基于Web Services的商务网站研究”,主要目的

11、是通过在.NET平台上开发网站这一实例详细介绍Web Services的应用及功能。通过实际的操作深入了解Web Services这一现今流行的技术,当然也包括学习Web服务器控件、用户控件、数据绑定技术、多层分布式设计等。本网上书店系统是基于集中统一规划的数据库数据管理新模式设计的。在对书本、用户、订单、管理员信息的管理,其实是对书本、用户、订单、管理员数据的管理。它的开发过程也就是多层分布式应用程序的创建过程,其中包括:数据层、中间层、表示层,开发多层分布式应用程序的一个可能的方案是一次创建一层,多半是从数据层开始,然后移到中间层业务规则对象,最后创建用户界面层。对于开发工具我们选择:In

12、ternet Information Services 6.0(IIS 6.0) + Microsoft Visual Studio.NET 2003 + Microsoft SQL Server 2000。在附录里,我们会介绍他们的安装过程。本网上书店的整个设计及实现过程,我们采取的是分工合作的模式:陈棣燃同学负责表示层的设计及实现;陈韶记同学负责中间层和数据层的设计及实现。相应的,该论文的编写,我们采取的是谁做那块,就负责那块的编写,而其余部分,就是大家共同努力的结果了。详细分工,请参看附录B 工作说明。- 1 -第二章 相关知识第二章 相关知识2.1 ASP.NET简介ASP.NET是M

13、icrosoft.NET的一部分,作为战略产品,不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET

14、、C# 和 JScript .NET等)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器或其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI (Graphical User Interface 的简称,即图形用户接口)和完全集

15、成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。2.1.1 ASP.NET的新性能ASP.NET提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及网络服务。贯穿整个ASP.NET的主题就是系统帮用户做了大部分不重要的琐碎的工作。l 全新的构造 新的ASP.NET引入代码托管(Managed Code)这样一个全新概念,横贯整个视窗开发平台。受管代码在NGWS Runtime下运行,而NGWS Runtime是一个时间运行环境,它

16、管理代码的执行,使程序设计更为简便。l 高效率 对于一个程序,速度是一件非常令人渴望的东西。一旦代码开始工作,接下来你就得尽可能地让它运作得快些快些再快些。在ASP中你只有尽可能精简你的代码,以至于不得不将它们移植到一个仅有很少一点性能的部件中。而现在,ASP.NET会妥善地解决这一问题。l 易控制 在ASP.NET里,你将会拥有一个“Data-Bounds” (数据绑定),这意味着它会与数据源连接,并会自动装入数据,使控制工作简单易行。l 语言支持 ASP.NET支持多种语言,支持编译类语言,支持比如VB、VC+、C#等,它比这些编译类语言运行速度快,更适合编写大型应用。l 更好的升级能力

17、快速发展的分布式应用也需要更快速、更模块化、更易操作、更多平台支持和重复利用性更强的开发,需要一种新的技术来适应不同的系统,网络应用和网站需要提供一种更加强大的可升级的服务。ASP.NET能够适应上面的要求。l 让你的生活更简单 对于今天的Web程序员来说,最大的挑战就是不断变化的浏览器兼容性以及它们不断升级的复杂性。在保证页面能在所有浏览器下工作的同时,又得尽量使用每个浏览器的最新属性来建立更具交互性的页面,这简直就是一场噩梦。更加可怕的是,需要对不同的用户设备建立不同的网页。最简单的解决办法就是动态地对不同的用户生成不同的输出,或者就是对不同的用户写多个页面。大多数开发者都会选择第一种方法

18、。但是,这就意味着用户的每次点击都会让服务器判断应该向用户显示什么。而通过ASP.NET,我们可以看到一个新的服务控制的概念,它封装了一些普通的任务,提供了一种清晰的编程模块,有助于管理和处理不同的用户类型。简单地说,ASP.NET把这些过程自动化了。2.2 XML Web Service简介XML Web Service 是在 Internet上进行分布式计算的基本构造块,它通过 SOAP在 Web 上提供软件服务,使用 WSDL文件进行说明,并通过 UDDI 进行注册。开放的标准以及对用户和应用程序之间的通信和协作的关注产生了这样一种环境,在这种环境下,XML Web Service 成为

19、应用程序集成的平台。应用程序是通过使用多个不同来源的 XML Web Service 构造而成的,这些服务相互协同工作,而不管它们位于何处或者如何实现。XML Web Service 体系结构的主要优点之一是:允许在不同平台上、以不同语言编写的各种程序以基于标准的方式相互通信。相对以前的方案而言,XML Web Service 的另一大优点是使用标准的 Web 协议 :XML、HTTP 和 TCP/IP。许多公司都已经建立了 Web 基础结构,同时它们的员工在维护方面也都具备相应的知识和经验。因此,引入 XML Web Service 与引入以前的技术相比,其成本要低得多。有多少个构建 XML

20、 Web Service 的公司,就可能有多少种 XML Web Service 定义。不过几乎所有定义都具有以下共同点: l XML Web Service 通过标准的 Web 协议向 Web 用户提供有用的功能。多数情况下使用 SOAP 协议。 l XML Web Service 可以非常详细地说明其接口,这使用户能够创建客户端应用程序与它们进行通信。这种说明通常包含在称为 Web 服务说明语言 (WSDL) 文档的 XML 文档中。 l XML Web Service已经过注册,以便潜在用户能够轻易地找到这些服务,这是通过通用发现、说明和集成 (UDDI) 来完成的。 接下来我们就介绍一

21、下这三种技术。2.2.1 简单对象访问协议SOAPSOAP(Simple Object Access Protocol)是 XML Web Service 的通信协议。它是一种规范,用来定义消息的XML格式,这是规范中所必需的部分。包含在一对SOAP元素中的、结构正确的XML段就是 SOAP 消息。SOAP 规范的其他部分介绍如何将程序数据表示为 XML,以及如何使用 SOAP 进行远程过程调用 (RPC)。这些可选的规范部分用于实现 RPC 形式的应用程序,其中客户端将发出一条 SOAP 消息(包含可调用函数,以及要传送到该函数的参数),然后服务器将返回包含函数执行结果的消息。目前,多数 S

22、OAP 实现方案都支持 RPC 应用程序,这是因为习惯于开发 COM 或 CORBA 应用程序的编程人员熟悉 RPC 形式。SOAP 还支持文档形式的应用程序,在这类应用程序中,SOAP 消息只是 XML 文档的一个包装。文档形式的 SOAP 应用程序非常灵活,许多新的 XML Web Service 都利用这一特点来构建使用 RPC 难以实现的服务。SOAP 规范的最后一个可选部分定义了包含 SOAP 消息的 HTTP 消息的样式。此 HTTP 绑定非常重要,因为几乎所有当前的 OS(以及许多以前的 OS)都支持 HTTP。HTTP 绑定虽然是可选的,但几乎所有 SOAP 实现方案都支持 H

23、TTP 绑定,因为它是 SOAP 的唯一标准协议。由于这一原因,人们通常误认为 SOAP 必须使用 HTTP。其实,有些实现方案也支持 MSMQ、MQ 系列、SMTP 或 TCP/IP 传输,但由于 HTTP 非常普遍,几乎所有当前的 XML Web Service 都使用它。由于 HTTP 是 Web 的核心协议,因此大多数组织的网络基础结构都支持 HTTP。如今,已经建立了用于 HTTP 的安全保护、监视和负载平衡的基础结构。开始使用 SOAP 时,最容易混淆的是 SOAP 规范及其许多实现方案之间的差异。多数使用 SOAP 的用户并不直接编写 SOAP 消息,而是使用 SOAP 工具包来

24、创建和分析 SOAP 消息。这些工具包通常将函数调用从某种语言转换为 SOAP 消息。例如,Microsoft SOAP Toolkit 2.0 将 COM 函数调用转换为 SOAP,而 Apache Toolkit 将 JAVA 函数调用转换为 SOAP。函数调用的类型和支持的参数的数据类型随每个 SOAP 实现方案的不同而不同,因此适用于一个工具包的函数可能并不适用于另一个工具包。这并不是 SOAP 的限制,而是所使用的特定实现方案的限制。到目前为止,SOAP 最引人注目的特征是它可以在许多不同的软件和硬件平台上实现。这意味着 SOAP 可用于链接企业内部和外部的不同系统。过去曾试过多种方

25、法以提出一个可用于系统集成的通用通信协议,但它们都没有像SOAP一样获得广泛的认可。为什么呢?因为与许多早期的协议相比,SOAP 更小巧,而且更易于实现。例如,DCE 和 CORBA 的实现需要数年时间,所以只发布了很少几个实现方案。而 SOAP 可以利用现有的 XML 分析器和HTTP库完成大部分艰苦的工作,因此 SOAP 实现方案在数月内便可完成。这就是为什么现在已经有 70 多个 SOAP 实现方案的原因。当然,SOAP 并不具备 DCE 或 CORBA 的全部功能,虽然功能减少了,但由于其复杂程度大大降低了,因此 SOAP 更易于应用。2.2.2 Web服务描述语言WSDLWSDL(W

26、eb Services Description Language)表示Web服务说明语言。我们可以认为 WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。换句话说,WSDL 对于 SOAP 的作用就像IDL对于 CORBA 或 COM 的作用。由于 WSDL 是 XML 文档,因此很容易进行阅读和编辑;但大多数情况下,它由软件生成和使用。WSDL文件用于说明消息格式的表示法以 XML 架构标准为基础,这意味着它与编程语言无关,而且以标准为基础,因此适用于说明可从不同平台、以不同编程语言访问的 XML Web Service 接口。除说明消息内容外,WSDL

27、还定义了服务的位置,以及使用什么通信协议与服务进行通信。也就是说,WSDL 文件定义了编写使用 XML Web Service 的程序所需的全部内容。有几种工具可以读取 WSDL 文件,并生成与 XML Web Service 通信所需的代码。其中一些最强大的工具可在 Microsoft Visual Studio.NET 中找到。当前,许多 SOAP 工具包都包括从现有程序接口生成 WSDL 文件的工具,但却几乎没有直接用于编写 WSDL 的工具,而且 WSDL 的工具支持也很不完整。但不久就会出现编写 WSDL 文件的工具,接着还会有生成代理和存根的工具(与 COM IDL 工具很相似),

28、这些工具将成为多数 SOAP 实现方案的一部分。到那时,WSDL 将成为创建 XML Web Service 的 SOAP 接口的首选方法。2.2.3通用发现、说明和集成UDDIUDDI(Universal Description Discovery and Integration)是 Web 服务的黄页。与传统黄页一样,您可以搜索提供所需服务的公司,阅读以了解所提供的服务,然后与某人联系以获得更多信息。当然,你也可以提供 Web 服务而不在UDDI中注册,就像在地下室开展业务,依靠的是口头吆喝;但是如果您希望拓展市场,则需要 UDDI 以便能被客户发现。UDDI 目录条目是介绍所提供的业务和

29、服务的 XML 文件。UDDI 目录条目包括三个部分。“白页”介绍提供服务的公司:名称、地址、联系方式等等;“黄页”包括基于标准分类法(例如 North American Industry Classification System 和 Standard Industrial Classification)的行业类别;“绿页”详细介绍了访问服务的接口,以便用户能够编写应用程序以使用 Web 服务。服务的定义是通过一个称为类型模型(或tModel)的 UDDI 文档来完成的。多数情况下,tModel 包含一个 WSDL 文件,用于说明访问 XML Web Service 的 SOAP 接口,但是

30、tModel非常灵活,可以说明几乎所有类型的服务。UDDI 目录还包含若干种方法,可用于搜索构建您的应用程序所需的服务。例如,您可以搜索特定地理位置的服务提供商或者搜索特定的业务类型。之后,UDDI 目录将提供信息、联系方式、链接和技术数据,以便您确定能满足需要的服务。到现在为止,我们已经知道了如何与 XML Web Service 通信 (SOAP),XML Web Service 是怎样进行说明的 (WSDL),以及如何查找 XML Web Service (UDDI)。这些内容构成了一套基本规范,为应用程序的集成和聚合提供了基础。根据这些基本规范,我们可以构建实际的解决方案,并从中获益。

31、但在这里却有了一个问题:我们要怎样用这个XML Web Service呢?有一个很简单的方法,就是创建代理对象。.NET XML Web服务代理(通常简称为代理)是连接.NET Framework和XML Web服务的一座桥梁,它使得编程人员可以方便快速的使用服务。在Visual Studio.NET里,可以自动创建代理对象,因此编程人员无需详细了解底层技术。这就大大减少了出错的概率,这也是为何我们选用Visual Studio.NET 2003作为开发工具的原因之一。在以下的章节中,我们将介绍如何用ASP.NET创建XML Web Service,及如何使用代理对象来使用所创建的XML We

32、b Service提供的服务。- 45 -第三章 网站功能分析及设计第三章 网站功能分析及设计3.1 需求分析网上书店系统主要是处理网上购书和库存的系统。一个典型的网上书店系统应该提供具有图书分类检索和搜索、购物车管理、在线订单、商品推荐、顾客评论等功能和强大的后台管理功能。根据网上书店基本需求,本系统需要完成的任务如下:l 书籍信息管理:管理员对书类和书本的添加、删除、修改、查询的操作,查看书籍的库存,如果书籍低于安全库存能及时进货。l 订单信息管理:管理员可以查询新订单、历史订单及删除历史订单,通过订单上的信息可以进行送货及了解书本销售情况。l 在线购物管理:用户可以浏览不同类别的所有书本

33、信息,也可以对书本进行查找,网上书店可以实现类别、书名、作者、出版社等综合搜索功能,也可以查看用户对书籍的评语,只当注册用户登录后,才能对书籍进行评论。用户无需登录,就可以把喜爱的若干书籍放入购物车,同一本书也可以购买多册;同时可以修改里面的购书情况,直至购书完毕,确定所需书籍无误后提交订单,但此时系统会检测用户是否已经登录,如还没登录,就会引导用户登录。只有登录后的用户才能成功提交订单。l 用户管理:分前台服务和后台管理两部分。在前台服务中,用户必须注册才能成功购买店内书籍,用户注册成为会员后,系统会在数据库中添加用户信息,包括用户名、用户密码、住址、联系电话等,用户可自行修改个人资料;在后

34、台管理中,管理员可以对用户的注册信息进行查看,并对用户的注册信息进行验证(通过,或者删除)。l 管理员信息管理:管理员可以更新自己的个人信息。3.2 总体体系结构图在本设计中,我们将创建一个多层的分布式商务网站(网上书店)。此商务网站由三个逻辑层组成:数据层、中间层和表示层。数据层是 SQL Server 中的数据库。中间层处理如何访问数据以及如何将数据分发到客户端。表示层由基于 Web 的应用程序组成。图3.1描述了此商务网站的体系结构。Web客户端应用程序Web窗体业务逻辑的Web ServicesbookWebService,orderWebService,customerWebServ

35、icecommentWebServiceadminWebService表示层中间层数据层JY_EStore数据库对数据库操作的Web ServicesdataBaseWebService通过SOAP调用Web Services通过SOAP调用Web Services图3.1 体系结构图3.3 网站功能模块设计 根据对网上书店系统的需求分析,网上书店系统应该包括图书管理模块、订单管理模块、购物车管理模块、用户管理模块和管理员信息管理模块。l 图书管理模块图书管理包括前台与后台。前台是面向顾客的,它允许用户浏览图书列表、快速查询所需要的图书、查看和添加图书评论;后台是面向管理员的,允许管理员添加、

36、删除、修改、查询书类与书籍。需要注意的一点是,在删除书籍的时候,不能把它真的从数据库里删除,只能把它的状态设为0(不可用)。因为如果真的把它从数据库里删除的话,会引起数据的不完整性。l 购物车管理模块顾客可以把要买的图书放入购物车,可以查看、删除、修改购物车的内容,确认购物情况无误后可以提交订单。l 订单管理模块前台订单主要实现用户结账功能,当然也包括顾客查看历史订单的功能。后台订单功能模块包括显示新订单信息和显示订单的详细信息。显示新订单负责显示所有的新订单记录,显示订单详细信息负责显示某个指定订单的详细信息,包括用户名称、所订书籍名称及数量、金额、联系电话、地址信息。l 用户管理模块用户管

37、理模块包含用户注册、用户登录、修改用户个人信息(以上为前台服务)和管理员验证用户注册信息(这个为后台管理的)等功能。l 管理员信息管理模块管理员更新自己的个人信息。3.4 网站功能模块示意图3.4.1 图书管理模块示意图该模块有两部分:前台服务和后台管理。3.4.1.1 图书管理模块的前台服务示意图index.aspxallBookInCategory.aspxsearchBook.aspxbookDetail.aspxsearchBookResult.aspx表示层中间层book.asmx对书籍操作的Web服务dataBase.asmx对数据库操作的Web服务JY_EStore数据库数据层每

38、类销量前二的书籍某类全部书籍信息某书籍详细信息搜索结果comment.asmx对书籍评论操作的Web服务书籍评论信息第三章 网站功能分析及设计3.4.1.2 图书管理模块的后台管理示意图manageBook.aspxaddBookCategory.aspxaddOrUpdateSafeStock.aspxdelBook.aspxdelBookCategory.aspx表示层searchBook.aspxbookSearchResult.aspxbook.asmx对书籍操作的Web服务中间层dataBase.asmx对数据库操作的Web服务JY_EStore数据库数据层搜索结果添加书类删除书类得

39、需进货书籍添加书籍删除书籍更新安全库存量comment.asmx对数据库操作的Web服务书籍评论addBookCover.aspx、addBook.aspx3.4.2 购物车管理模块示意图showCart.aspxbook.asmx对书籍操作的Web服务中间层表示层JY_EStore数据库dataBase.asmx对数据库操作的Web服务数据层得到书籍信息3.4.3 订单管理模块示意图该模块有两部分:前台服务和后台管理。3.4.3.1 订单管理模块前台服务示意图orderDetail.aspxcheckOut.aspxorder.asmx对订单操作的Web服务下订信息历史订单表示层中间层数据层

40、JY_EStore数据库dataBase.asmx对数据库操作的Web服务3.4.3.2 订单管理模块后台管理示意图manageOrder.aspxdeliverGoodsYet.aspxorder.asmx对订单操作的Web服务表示层中间层数据层JY_EStore数据库dataBase.asmx对数据库操作的Web服务orderDetail.aspxcustomer.asmx对顾客操作的Web服务deliverGoodsDetail.aspxorderSearchResult.aspx注:页面与订单Web服务的数据流都是订单信息;而与顾客Web服务的数据流则是顾客信息。3.4.4 用户管理模

41、块示意图该模块同样分为前台服务和后台管理两部分。3.4.4.1 用户管理模块前台服务示意图register.aspxchangeInformation.aspxgetPassword.aspxlogin.aspx中间层数据层JY_EStore数据库dataBase.asmx对数据库操作的Web服务customer.asmx对顾客操作的Web服务表示层顾客注册信息顾客密码信息登录信息顾客新信息3.4.4.2 用户管理模块后台管理示意图manageCustomer.aspxcustSearchResult.aspxcustomerDetail.aspxcustomer.asmx对顾客信息操作的We

42、b服务数据层JY_EStore数据库dataBase.asmx对数据库操作的Web服务中间层表示层顾客详细信息新注册顾客信息搜索结果3.4.5 管理员信息管理模块示意图manageAdminInfo.aspxadmin.asmx对管理员信息操作的Web服务数据层JY_EStore数据库dataBase.asmx对数据库操作的Web服务中间层表示层新管理员信息第四章 网站数据库层设计及实现第四章 网站数据库层设计及实现一个成功的系统,是由: 50%的“数据库”+ 50%的“程序”所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。4

43、.1 数据库分析根据上一章对网上书店的功能分析及设计,该系统的E-R模型共有八个实体:l 书类(编号,名称,状态)l 书籍信息(编号,条形码,类别编号,书名,作者,出版社,出版日期,价格,封面名称,书本介绍,销售量,库存量,状态)l 图书评论(编号,书的ISBN,用户名,评论内容,日期)l 用户信息(编号,用户名,密码,地址,电话,提取密码问题,问题答案)l 订单(编号,用户编号,日期,总额,状态)l 订单项(编号,所属订单号,图书ISBN,数量,小计)l 安全库存信息(编号,安全库存量)l 管理员信息(编号,姓名,密码)各实体的E-R图及相互联系如下图:管理员安全库存编号姓名密码编号安全库存

44、书类编号名称状态书籍编号条形码类别编号书名作者书本介绍销售量库存量状态属于封面名称评论编号日期评论内容用户名编号订单项书的ISBN顾客订单用户名密码提取密码问题电话地址问题答案数量图书ISBN所属订单号编号小计编号用户编号日期状态总额存在包含评论包含下订N11N11N1N11N出版社出版日期价格4.2 数据库设计4.2.1 数据表设计根据上一节的E-R模型,可得下列数据表:1.书本种类信息表如下:表4.1 bookCategories书本种类信息表 列 名是否主键 类型是否为空说 明默认值id是intNot Null 书类编号-name-Varchar-书类名称-status-bit-状态12

45、.书本信息表如下:表4.2 Books书本信息表 列 名是否主键 数据类型是否为空说明默认值id-int- 编号-ISBN是VarcharNot Null条形码-categoryId-int-书类编号-name-Varchar-名称-author-Varvhar-作者-publisher-Varchar-出版社-publishdate-Datetime-出版日期-price-Money-价格-coverName-Varchar-封面名-description-Text-介绍-sale-Int-销售量0stock-int-库存0status-bit-状态13.书本评论信息表如下:表4.3 boo

46、kComments书本评论信息表 列 名是否主键数据类型是否为空说明默认值id是intNot Null 编号-bookISBN-Varchar-书本条形码-customerName-Varchar-用户名-comment-Text-评论-commentDate-datetime-评论日期-4.用户信息表如下:表4.4 customerInformations 用户信息表 列 名是否主键数据类型是否为空说明默认值id是intNot Null 编号- name-Varchar-名称-password-Varchar-密码-address-Varchar-地址-telephone-Varchar-电

47、话-question-Varchar-取回密码问题-answer-Varchar-取回密码答案-status-Bit-状态05.订单信息表如下:表4.5 Orders订单信息表 列 名是否主键数据类型是否为空说明默认值id是intNot Null 订单编号-customerId-Int-用户编号-orderDate-Datetime-订单日期-status-Int-状态0total-money-总额-6.订单项信息表如下:表4.6 orderItems 订单类信息表 列 名是否主键数据类型是否为空说明默认值id是intNot Null 编号-orderId-Int-所属订单号-bookISBN

48、-Datetime-书本条形码-Quantity-Int-数量-total-money-小计-7.安全库存信息表如下:表4.7 safeStock安全库存信息表 列 名是否主键数据类型是否为空说明默认值id是intNot Null 库存编号-safeStock-int-库存量08.管理员信息表如下:表4.8 Admins管理员信息表 列 名是否主键数据类型是否为空说明默认值id是intNot Null 编号-name-Varchar-姓名-password-varchwr-密码-4.2.2 各数据表的相互联系第五章 中间层设计及实现第五章 中间层设计及实现中间层是用户界面和后台数据库的连接桥梁

49、,负责对整个网上书店系统的业务进行处理。为了使本网上书店系统更加通用且方便与其他应用系统集成或者交换商业信息,中间层实现为多个ASP.NET Web Server项目(包括dataBaseWebService、bookWebService、commentWebService、customerWebService、orderWebService、adminWebService),在Web服务器上运行,从而任何平台的客户端都可以通过标准的Internet协议调用该业务逻辑,所以第三方使用它可以快速构建具有基本功能的网上书店系统。5.1 dataBaseWebService5.1.1 功能描述这个W

50、eb服务的功能主要是对数据库进行基本操作的。5.1.2 接口描述提供了三个公共接口(方法):public void exeNonQuery(string strSQL)进行插入、更新、删除操作,没有返回值。public int exeScalar(string strSQL)进行查询操作,返回结果集中的第一行的第一列,该返回值被强行转化成整形。public DataSet getDataSet(string strSQL)进行查询操作,返回一个数据集。5.1.3 设计过程及编码1、 打开Visual Studio.NET,在文件菜单中选择新建项目,接着在弹出的“新建项目”中的“新建类型”选择“

51、Visual Studio C#项目”,在“模板”中选择“ASP.NET Web服务”,最后输入要保存该项目的位置(一定要放在IIS的根目录或者是它的虚拟目录下),按确定就可以了。如图5.1图5.1 新建ASP.NET Web服务2、 在解决方案资源管理器中打开Web.config配置文件,在节之间添加 其它保持默认配置就可以了。3、 在解决方案资源管理器中把Service1.asmx改名为dataBase.asmx,接着双击dataBase.asmx.cs视图设计器,就出现代码编辑窗口了。完整代码如下:/dataBase.asmx.cs using System;using System.C

52、ollections;using System.ComponentModel;using System.Data;using System.Diagnostics;using System.Web;using System.Web.Services;using System.Configuration;using System.Data.SqlClient;namespace dataBaseWebServiceWebService(Namespace=http:/localhost/JY_EStore_WebServices/,Name=dataBaseWebService,Descript

53、ion=对数据库的一些基本操作。)public class dataBase : System.Web.Services.WebService/数据库连接语句protected string strConn=ConfigurationSettings.AppSettingsstrConnection;public dataBase()InitializeComponent();#region 组件设计器生成的代码#endregionWebMethod(Description=进行插入、更新、删除操作,没有返回值。)public void exeNonQuery(string strSQL)Sq

54、lConnection conn=new SqlConnection(strConn);SqlCommand comm=new SqlCommand(strSQL,conn);tryconn.Open();comm.ExecuteNonQuery();catch(SqlException e)throw new Exception(e.Message);finallycomm.Dispose();conn.Close();WebMethod(Description=进行查询操作,返回结果集中的第一行的第一列,该返回值被强行转化成整形。)public int exeScalar(string s

55、trSQL)SqlConnection conn=new SqlConnection(strConn);SqlCommand comm=new SqlCommand(strSQL,conn);tryconn.Open();return (int)comm.ExecuteScalar();catch(SqlException e)throw new Exception(e.Message);finallycomm.Dispose();conn.Close();WebMethod(Description=进行查询操作,返回一个数据集。)public DataSet getDataSet(strin

56、g strSQL)SqlConnection conn=new SqlConnection(strConn);tryconn.Open();SqlDataAdapter dtAdapter=new SqlDataAdapter(strSQL,conn);DataSet dtSet=new DataSet(dtSet);dtAdapter.Fill(dtSet);return dtSet;catch(SqlException e)throw new Exception(e.Message);finallyconn.Close();5.1.4 测试按F5运行该项目,出现测试窗口。如图5.2图5.2 dataBaseWebService帮助窗口我们以第一个方法为例进行测试。在图5.3中,输入strSQL的值,如select * from books where ISBN=7111179900,按“调用”,如果返回如图5.4的结果,就证明该方法测试成功。图5.3 dataBaseWebService测试窗口图5.4 dataBaseWebService测试结果5.1.5 客户端调用该过程将在下一节的实际调用中介绍。5.2 bookWebService5.2.1 功能描述该Web Service提供了很多与书籍操作相关的方法,并且它通过代理调用了dataBaseWeb

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!