中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > COM技术
案例研究:If-Trader 订单流程处理系统
作者:未知 时间:2005-07-20 14:21 出处:VC知识库 责编:chinaitpower
              摘要:案例研究:If-Trader 订单流程处理系统

案例研究:If-Trader 订单流程系统

作者:台湾弈飞资讯

下载源代码

英文名称:iF Traders Case Study:i-Freelancer Demo Order Process System

简介

  这是一个原应用程序建构在 IIS 6.0、COM 1.5、MSMQ 3.0的网络订单处理系统,利用Application Server 的新增功能,在对源代码作稍许修改的情况下,对应用程序进行扩展,使之成为具有分单及自动化审核的新程序架构,真正达到“Do more with less”。
  首先当我们计划建立一个电子商务网站,需要考虑的网络交易机制基本功能可能有下列几项:客户能在 Internet 24小时完成交易,而业务人员仅可能在某些时段进行审阅订单,在不希望遗失任何一笔订单机会且能非同步完成审核作业的前提下,用现有技术也可以简单地实现,将应用程序部署在 IIS 上,透过 COM 组件将订单资料先暂存于 MSMQ,业务人员从队列读取并审核订单资料,确认订单后再 通过 COM 组件写入数据库,系统架构示意图如下:


原系统架构图

  当网站开始营运后,可能陆续引发当初规划时始料未及的需求,每当新需求产生后,程序开发人员便开始重新评估可行性、系统分析设计、编写程序或修改、测试与部署等一连串的繁重的系统开发工作,现在 Windows 2003 所具有的 Application Server 服务平台,在原本服务中新增加许多颇具弹性的功能及作法,使应用程序系统更具安全性、延展性和可管理性。
  在上述范例中,我们可能会因使用者的不同,当完成网络下单后,系统能对应不同的作业流程,例如 VIP 级的客户或业务人员代理客户下单时,系统能直接完成确认订单,省略人工审核作业,而其他使用者(一般客户)仍遵循原作业流程。将原系统架构重新调整如下图:


新系统架构

  应用 IIS 6.0 应用程序区域及 COM 分区(Partitions) 特性,将接单订单资料分别暂存不同队列中,自动化审阅订单的流程,可以使用 MSMQ 中的触发程序完成订单审核,并调用原有的 COM 组件执行资料处理,整个系统架构看似两个截然不同的应用程序,实际上仅进行少许程序开发,其余的系统改造部份均由 Application Server 平台服务来完成。透过范例程序逐步指引完成,应可以更加明了如何运用 Application Server 所带来的益处。

系统需求

操作系统:Windows 2003
Services:请确认以下服务均以安装并启动

  1. IIS 6.0
  2. COM 1.5
  3. MSMQ 3.0
    方法是:添加/删除 Windows 组件 >> Application Server >> 按 [详细信息] >> 选中 [消息队列服务] >> 按 [确定] >> 按 [下一步] >> 按 [完成]
  4. SMTP
    方法是:添加/删除 Windows 组件 >> Application Server >> 按 [详细信息] >> 选择[Internet 信息服务(IIS)] >> 按[详细信息] >> 选中 [SMTP Service] >>按 [确定] >> 按 [下一步] >> 按 [完成]
  5. SQL Server 2000

Setup 原系统应用程序

源程序代码解压缩后(以下说明出现 %Root% 表示此路径),计有以下三个文件夹:

  1. DataBase
  2. Doc
  3. SampleCode:包含 iFDemoApplication、iFDemoService 两个文件夹。

请按下列步骤安装:

1、安装 Trade 数据库

  • 开启 [SQL Server 企业管理器]。
  • Microsoft SQL Server >> SQL Server 组 >> (local)(Windows NT) >> 数据库 >> 按右键 >> 所有任务 >> 还原数据库。
  • 设定 [还原成数据库] 输入:Trade。
  • 选择 [从设备] 还原  >> 按 [选择设备] >> 按 [添加]。
  • 按 […] >> 选择 %Root%\DataBase 文件夹。
  • 选定 [文件名称] 输入:Trade.dmp 。
  • 连续按 3 次 [确定] >> 等候完成再按 [确定]。
  • 关闭 [SQL Server 企业管理器] 。
  • 修改表 config 中的记录为有效的 SMTP 服务器地址。
  • 修改表 Users 中 Email 的字段,将其设定为有效的 Email。

2、部署 Server 端组件及设定

  • 用资源管理器打开 %Root%\SourceCode\iFDemoService 文件夹
  • 执行 [Visual Studio .NET 2003  vsvars32] 进入控制台命令行
  • 在控制台命令行中输入 buildall,按回车生成应用程序
  • 生成完毕后关闭控制台命令行窗口

3、COM 应用程序授权

  • 打开 [组件服务]。
  • 展开 组件服务 >> 计算机 >> 我的电脑 >> COM+ 应用程序 >> iFDemoOrderEntry >> 角色 >> OrderEntryRole >> 用户
  • 按 [右键] >> [新建] >> [用户] >> 输入:Network >> 按 [确定]

4. 安装效能计数器及环境变数

  • 用资源管理器打开 %Root%\SourceCode\iFDemoService\SetupConfig\bin文件夹。
  • 执行 SetupConfig.exe。

5. 安装 Web 应用程序

  • 打开 [Internet 服务管理器]。
  • Internet 信息服务 >> (本地计算机) >> 默认 Web 站点 >> 按 [右键] >> [新建] >> [虚拟目录]。
  • 按 [下一步] >> 在 [别名] 中输入:iFDemoWeb。
  • 按 [下一步] >> 按 [浏览] 选择目录>> 选泽 %Root%\iFDemoApplication\iFDemoApplication\iFDemoWeb。
  • 按 [确定]。
  • 按 [下一步] >> 按 [下一步] >> 按 [完成]。
  • 用资源管理器打开 %Root%\SourceCode\iFDemoApplication\iFDemoWeb 文件夹
  • 用记事本打开 Web.config。
  • 修改 ConnDBString 的 Value 设定为 SQL Server 连接字符串。
  • 打开浏览器,输入网址: http://localhost/iFDemoWeb 检查网页是否正常启用,若否检查本项步骤是否正确。

6. 安装 Windows 管理程序

  • 打开 %Root%\iFDemoApplication\iFDemoAdmin\bin 文件夹。
  • 用记事本打开 iFDemoAdmin.exe.config。
  • 修改 ConnDBString 的 Value 设定为 SQL Server 连接字符串。

7. 测试结果

  • 打开浏览器,输入网址: http://localhost/iFDemoWeb。
  • 测试登入:
    i. VIP客户使用者名称:user1,密码:9999
    ii. 一般客户使用者名称:user2,密码:9999
    iii. 内部业务员名称: sales1,密码:9999
  • 执行下单作业
    i. 按产品编号右侧 [选择] >> 打开 [选择产品窗口] >> 选择产品分类 >> 选择产品一览表中按 [订购]。
    ii. 回到主画面中 >> 按 [加入订购明细]。
    iii. 可依上述步骤加入多项明细。
    iv. 按下 [确认订单] 即完成下单作业。
  • 执行审核作业
    i. 打开 %Root%\iFDemoApplication\iFDemoAdmin\bin\ 文件夹,执行 iFDemoAdmin.exe。
    ii. [客户订单处理] 窗口中,按下 [读取资料]。
    iii. 按 [确认订单] 即完成审核,记录被添加到 SQL Server,同时系统发出 Email。
    iv. 按 [取消订单] 即取消该笔记录。
Setup 新架构应用程序

1、新增本地用户,目的是 IIS 要添加 Pooling 以便指定此用户帐号。
  • 打开控制面板中的管理工具 >> 计算机管理。
  • 管理工具 >> 本地用户和组 >> 用户 >> 按 [右键] >> 新用户。
  • 在用户名称中输入:NetUser1,输入密码并确认密码 >> 取消 [用户下次登入时须更改密码] >> 选中 [密码永 不过期] >> 按 [创建] >> 按 [关闭]。
  • 选择 NetUser1 >> 按 [右键] >> [属性] >> 选择 [隶属于] 标签。
  • 按 [添加] >> 输入:IIS_WPG >> 按 [确定] 。
  • 按 [添加] >> 输入:Performance Log Users >> 按 [确定] 。
  • 按 [添加] >> 输入:Performance Monitor User >> 按 [确定] 。
  • 按 [确定]。

2. 在IIS 6.0上建立新的应用程序区域:

  • Internet 信息服务 >> (本地计算机) >> 应用程序区域 >> 按 [右键] >> [新 建] >> [应用程序区域] 。
  • [应用程序区域标识]输入:AppPoolDemo >> 按 [确定]。
  • Internet 信息服务 >> (本地计算机) >> 应用程序区域 >> AppPoolDemo >> 按 [右键] >> [属性] 。
  • 选择 [身份标识] 标签 。
  • 选中 [设置为],在用户名称栏输入:NetUser1,输入密码
  • 按 [确定]。

3. 在新的应用程序集区中以原程序码建立应用程序:

  • 打开 [Internet 服务管理器]。
  • Internet 信息服务 >> (本地计算机) >> 网站 >> 默认 Web 网站 >> 按 [右键] >> [新 建] >> [虚拟目录]。
  • 按 [下一步] >> 在 [别名] 中输入:App1Demo 。
  • 按 [下一步] >> 按 [浏览] >> 选择 %Root%\iFDemoApplication\iFDemoApplication\iFDemoWeb 。
  • 按 [确定] >> 按 [下一步] >> 按 [下一步] >> 按 [完成]
  • Internet 信息服务 >> (本地计算机) >> 网站 >> 默认 Web 网站 >> >> App1Demo >>按 [右键] >> [属性] 。
  • 在 [虚拟目录] 标签页下方的 [应用程序区域] 选择 AppPoolDemo

4. 修改登入画面的程序代码

  • 启动 Microsoft Visual Studio.NET >> 打开 >> 项目 >> 选择 %Root%\ SourceCode\Solution.sln
  • 在 [解决方案] 所列的项目中打开 iFDemoWeb\Login.aspx 源代码文件,将
    #Region " 原架构 "
    ......
    #End Region
    中的程序代码选取并将它注释掉,使程序不执行。
  • 在 Login.aspx.vb 源代码文件
    #Region " 新架构程序码 "
    ......
    #End Region
    中的程序代码选取并取消注释,使程序可执行。
  • 重新生成项目: [生成] >> [生成 iFDemoWeb]。
5. 生成第二个消息队列,并设定其触发程序
  • 打开 [管理工具] >> [计算机管理]。
  • 计算机管理(本地) >> 服务和应用程序 >> 消息队列 >> 触发程序 >> 规则 >> 按 [右键] >> [新增] >> [规则] 。
  • 在规则名称输入:TransferOrder >> [下一步] 。
  • [条件:] 请选择 信息标签不包含,[筛选器数值/字串:] 请输入 Customer >> 按 [新增] >> 按[下一步]。
  • 在[组件ProgID]中请输入:iFDemo.OrderProcess.QueueTrigger,在[方法名称] 中请输入: Transfer。
  • 按 [参数] >> 打开 [调用参数] 窗口 。
  • 选择参数的下拉菜单中的 [队列路径名称(String 类型)] >>按[新增] ,[消息ID(Variant 类型)] >>按[新增] >> 按 [确定] >> 按[完成]。
  • 计算机管理(本地) >> 服务和应用程序 >> 消息队列 >> 专用队列 >> 按 [右键] >> [新增] >> 专用队列 。
  • 在 队列名称 中输入: iFDemo_ExpressOrder >> 按 [确定] 。
  • 展开 iFDemo_ExpressOrder >> 触发程序 >> 按 [右键] >> [新增] >> [触发程序] 。
  • 在[触发程序名称]中输入: TriggerTransferOrder >> 按 [下一步]。
  • 左侧 [规则] 中选取 TransferOrder >> 按 [附加] >> 按 [完成]。

6. 建立 COM 分区

  • 打开 [组件服务]。
  • 主控台根目录 >> 组件服务 >> 我的电脑 >> 按 [右键] >> [属性]
  • 选择 [选项] 标签页,选中 [启用分隔] >> 按 [确定] 。
  • 主控台根目录 >>组件服务 >> 我的电脑 >> COM 分区 >> 按 [右键] >> [新增] >> [分区] >> [下一步] 。
  • 按 [建立一个空的分区] >> 在 [名称] 中输入 COMPart2 >> [下一步] >> [完成]。

7. 指定 COM 分区用户

  • 主控台根目录 >>组件服务 >> 我的电脑 >> COM 分区用户 >>按 [右键] >> [新增] >> [使用者] 。
  • 按 [新增] >> 输入: NetUser1 >> [确定] >> [确定]。
  • 主控台根目录 >>组件服务 >> 我的电脑 >> COM 分区 >> COMPart2 >> 角色 >> 启动器 >> [用户使用者] 。
  • 按 [新增] >> 输入: NetUser1 >> [确定] >> [确定]。

8. 在新的 COM 分区中建立 COM 应用程序

  • 主控台根目录 >>组件服务 >> 我的电脑 >> COM 分区 >> COMPart2 >> COM 应用程序 >>按 [右键] >> [新增] >> [应用程序] 。
  • [下一步] >> [建立空的应用程序] >> 输入 iFDemoExpressOrder >> 按4次 [下一步] >> [完成] 。
  • 选择 iFDemoExpressOrder>> 组件 >> 按[右键] >> [新增] >>组件
  • [下一步] >> 安装新组件 >> 选择
    %Root%\ iFDemoService\OrderEntry\bin\iFDemo.OrderEntry.dll
    >> [开启] >> [下一步] >> [完成] 。
  • 展开 iFDemoExpressOrder >> 组件 >> iFDemo.OrderProcess.OrderEntry >> 按[右键] >> [属性] 。
  • 选择 [启动标签] >> 选中 [启动对象建立] >> 在 [建立函数字符串] 中请输入: .\\private$\\iFDemo_ExpressOrder。
  • 主控台根目录 >>组件服务 >> 我的电脑 >> COM 分区 >> COMPart2 >> COM 应用程序 >> iFDemoExpress >> 角色 >> OrderEntryRole >> 用户
  • 按 [右键] >> [新增] >> [用户] >> 输入: NetUser1 >> 按 [确定]

9. 测试结果

  • 打开浏览器输入网址: http://localhost/iFDemoWeb,
  • 用VIP客户用户名称: user1,密码: 9999,登入成功后网址应为http://localhost/App1Demo/Order/OrderProcess.aspx,接续完成下单作业,系统将直接确认订单并发出 Email。
  • 一般客户用户名称: user2,密码: 9999,登入成功后网址应为http://localhost/iFDemoWeb/Order/OrderProcess.aspx,接续完成下单作业,系统将订单 记录保留在消息队列中,等候执行 %Root%\iFDemoApplication\iFDemoAdmin\\bin\ iFDemoAdmin.exe
    进行订单人工审核确认作业。
  • 用业务用户名称: sales1,密码: 9999,登入成功后网址应为http://localhost/App1Demo/Order/OrderProcess.aspx,接续完成下单作业,系统将直接确认订单并发出 Email。
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有