【IT168技术文档】
摘要
了解.net的Pet Shop 2企业版本是怎样帮助企业解决实际中的业务问题,Net Pet Shop
验证了怎样利用.net框架和Visual Studio.net来开发非常好的的企业级系统。就如Sun公司的Java™ Pet Store J2EE™ Blueprint application,它也是一个非常好的的系统实现。
介绍
.NET 宠物店程序开发于2001年11月,它描述了.Net开发者怎样利用.net框架和Visual Studio.net开发非常好的的系统。下面关于宠物店和原来的J2EE宠物店的讨论涉及了企业级系统的一些特性,如可靠性和伸缩性。对于一个系统要部署成企业级,一定要考虑它的安全性、可靠性、可伸缩性、可管理性以及与已有的系统和数据进行协同的工作。以前版本的宠物店系统所表现出来的成本优势、性能和开发效率在.Net平台上仍然存在。本文通过描述了.Net支持的其他的企业级需求,从而把宠物店的讨论引向深入。
许多企业都有他们存在于不同系统中的分布的数据,比如存货数据在一个存货控制系统中,而客户资料数据却在他们的CRM系统中。我们的系统需要处理这些不同数据库中的数据,并且保证数据的更改在这些系统中正确进行,要达到这些要求,我们需要跨数据库的事务处理。
宠物店企业级版本是为了展示.net平台上的技术可以很好的支持那些企业级系统的特性。它在处理现实世界中存在的数据存储方面提供了一个可靠的、可伸缩的系统。宠物店企业级版本处理这样的一些情形,如客户数据存在于一个服务器上的客户数据库系统中,而客户定单数据存在于物理上不同的服务器上的一个不同的数据库系统中,这样的情形在许多机构中是一个普遍的现象。
为了保证客户数据和客户定单数据永远是正确的,需要一个包含这两个数据源的分布式系统。本文讨论了在.net企业级系统中处理事务的不同机制,给出了每种机制的示例代码,讨论了一些非常好的做法。本文中的代码是用c#写成的,但所有的方法和技术一样适用于VB.net.
本文所讨论的跨多个数据库的分布式事务对于一个系统来说早已被证实具有优良的性能和伸缩性。这里还测试了.net平台上的几种事务机制的性能,详细的列举和描述了它们的结果。从这些结果中,我们可以清楚的看到.net从功能上和性能上都提供了优秀的企业级事务支持。
本文还包含了宠物店的一些介绍,它的初始架构和实现,以及为了支持企业级特性对它的一些改动。还详细讨论了不同的事务方式和他们的测试性能结果图。
假设的情景
假设一个可以在线订购宠物的电子商务企业,当你进入系统后,你可以浏览、查询从犬类到爬行动物的各种类型的宠物。
一个典型的宠物店系统包括:
◆ 主页 -当你打开系统后载入的页面。
◆ 类别浏览 –顶层有五种类别,每种类别下面都有若干产品。
◆ 产品 –当系统里面的一个产品被选种时,产品的属性就被显示出来,典型的如公或者母。
◆ 产品明细 –每种产品属性的详细说明,如照片、价格和库存数量。
◆ 购物车 –允许客户去维护一个购物车(增加、删除、更新数量)。
◆ 校验 –只读地显示一个购物车信息。
◆ 登录定向 –当用户在校验页面上选择继续的时候,如果他还没有登录,则会定向到登录页面。
◆ 验证登录 –当登录被验证后,就会转到信用卡信息和订购地址信息页面。
◆ 确认定单 –定单和客户地址信息被显示出来等待确认。
◆ 提交定单 –最后的一个步骤,在这里定单被提交到数据库。
宠物店的一个例子如图:

.Net宠物店的总体逻辑架构如图:
