UML软件工程组织

TJP2000电子商务系统原型----快速建立企业电子商务系统原型的实例

  一、目标:

  用SYBASE公司的电子商务系统开发平台EAStudio(PB 7.0,PowerJ,Jaguar)以最快速度在最短时间内开发一个暂不包含网上第三方认证和网上电子支付的TJP2000电子商务系统原型(简称TJP原型,下同)。TJP原型在技术上实现了对两类用户的支持:外部用户,即网上客户。他们使用网络浏览器访问公司的网站,可以在网上购物或交易、批发定购等(电子支付与网上第三方法律认证暂缺);内部用户,即公司的员工,他们使用基于Intranet的三层结构模式的企业内部网在局域网或远程终端管理公司的日常运作。公司、分公司都可以实时知道网上顾客下了什么订单,及时提供服务;系统还要保证在开放形式下网上信息的安全问题。通过电话及其它方式确认网上客户并确认对所购货物的付款方式和送货方式。

  二、 TJP原型的三层结构和基本模块:

  (一) TJP原型三层结构

   TJP原型系统由客户端、分析应用服务器和数据库服务器三个部分组成,以下是三分层的定义:
  ·前端客户层,负责提供可移植的表达逻辑;
  ·中间应用层,允许用户通过将其与实际应用隔离而共享和控制业务逻辑来进行事务处理;
  ·后端数据管理与服务器层,提供对数据库的访问。
这里的用户界面与应用逻辑位于不同平台,应用逻辑为所有用户共享。中间层即应用服务器是整个系统的核心,它为处理系统提供事务处理、安全控制及为满足不同数量客户端的请求而进行性能调整。应用服务器可以根据处理逻辑的不同被划分为不同的模块,客户端方应用程序在需要某种应用服务时只与应用服务器上处理该应用逻辑的模块通信,且一个模块能够同时响应多个客户端方应用程序的请求。客户端上只需安装应用程序,它负责处理与用户的交互和与应用服务器的交互。应用服务器接受客户端方应用程序的请求,然后根据应用逻辑将这个请求转化为数据库请求后与数据库服务器交互,并将该交互结果传送给客户端的应用程序。数据库服务器软件根据应用服务器发送的请求进行数据库操作,并将操作的结果传送给应用服务器。

  电子商务的主要应用范围Internet/Intranet是一个多层结构,本设计采用这种体系结构,它分为Internet和Intranet两部分,均由三层组成。TJP原型解决方案的示意图如《图一》:


《图一》
  (二)基本模块

  · 基本资料模块:可以方便地存储、管理企业的各种基本信息,如部门、人员编码,材料编码,客户及供应商挡案等;
  · 产品资料模块: 可方便地存储、管理企业各种产品的成本组成的动态信息;
  · 生产管理模块: 可方便地存储、管理企业生产过程的各种动态信息,如制定生产计划等;
  · 合同与报价模块:可方便地存储、管理企业各种产品对外的动态报价及合同签订及其完成情况等;
  · 销售管理模块: 可方便地存储、管理企业销售及网上销售的各种动态信息;
  · 认证支付模块: 可方便地存储、管理网上销售的客户及其订单等各种信息;
  · 仓库管理模块: (略);
  · 网上交易: 可在网上动态浏览、购买本公司的所有商品, 实时注册、下订单,等.

  三、TJP原型的应用特点的基本描述:

  (一)应用特点:

  · 开发平台全部使用SYBASE公司的系列集成工具,例如:
   ◇基于OOA 的数据库模型设计:用PowerDesignerI能以最快速度设计了TJP原型的数据库模型。
   ◇用EAStudio提供的企业级应用的体系结构,即新版PowerBuilder、PowerJ等组成的开发工具包,与EAServer紧密集成,快速生成各种标准的组件从而快速完成分布式Web应用的创建、调试、更新和提交。另外,利用Jaguar CTS 的性能特点可以提高Web应用的性能。
   ◇JavaBeans 组件的DataWindow 可以把PowerBuilder的点击式数据访问和数据显示带到Java 开发环境中,加大了Java的开发速度和能力等。
  · 充分利用Internet/Intranet能以低廉的成本方便获得实时信息的特点,帮企业开辟更广泛的市场;
  · 使企业管理进入更科学、更高效的的运作状态从而获得更低的综合成本;
  · 通过自动化的订货处理,库存控制等以获得更高的效率和准确性;
  · 可以最大限度地减少劳动力成本;
  · 实现同客户及贸易伙伴即时通信,客户服务和支持可以作得更好;
  · 更好的预测市场对商品和服务的需求从而制定开发新产品的策略等。
  · 可靠的安全性保障:充分利用SYBASE AES 为数据库应用提供的可靠安全机制和用PowerBuilder 灵活的编程设置权限,利用VPN的传输数据加密机制等保障企业内部网应用的安全。

  (二)、基本描述:

  网上交易部分:
  1、 浏览与选择商品:顾客进入网站即刻自动提供购物车,不需身份确认就可以在网站上随意浏览、挑选商品(可增加、删除、修改购物车上商品的数量),网站提供最新的商品列表,热卖商品优先列表给顾客作为选购时的参考;
  2、 判断:顾客确定所购物品后,系统将判断该顾客是否是会员,如果是,则可直接填写订单;否则,提示顾客登记注册;
  3、 提交订单:已选购的商品需填写订单细节,如付款及提货方式等。只有正式提交定单才能生效;
  4、 注册:顾客可在公司的网站上注册,填写姓名身份证号等信息后提交申请;
  5、 确认:后台管理将实时得到顾客的注册信息,通过电话及其他方式确认,得到注册确认的顾客才能成为会员,并拥有唯一的会员证号;
  6、 不是会员的顾客可以先挑选商品再申请成为会员,会员申请生效后即可下定单,所定购的商品数及时存入数据库;
  7、送货与付款:网上的每一份订单都将实时存入后台数据库,后台操作人员通过电话及其他方式确 认,确认后将及时实施该订单:向顾客送货,货到付款,完成网上交易。
  cnXML消息服务描述:
  1、客户在网站定义需要的商品资料并提交
  2、XMLSender EJB根据需求生成有关cnXML文档,并发送到客户的Jaguar服务器的消息服务队列中
  3、由于客户的消息服务是在启动服务器后自动启动,且定时检查消息服务,一发现有新消息存在,按照cnXML的定义,分析文档并生成对应的XML文档。
  基于三层结构的企业内部网管理信息系统部分:
  1、本地局网:员工用密码登录,根据自己的角色操作相应的功能,即在信息管理系统里面做日常操作:基本资料管理、客户/供应商资料管理、仓库管理、合同与报价管理、销售管理、生产计划管理、员工费用管理等等,这些功能可根据需要扩展或减少;
  2、提供了有加密功能的远程拨号服务,异地分公司的员工或出差人员可通过拨号上网,然后登录VPN SERVER,通过VPN SERVER连接应用服务器、数据库服务器,从远程实时操作相应的功能;
  3、实时对网上客户及其订单进行认证,实现对网上购物的管理,如款到发货或由送货员直接收款等。

  四、有关应用技术的简要说明【注1】:
 
  (一) 基于JAGUAR CTS的PBNVO的设计与实现
  以PowerBuilder和CTS为开发平台,用PB提供不可视用户对象(Novisual User Object)来生成组件。根据商业逻辑,把对某一商业对象操作的代码用方法表示,生成的商业组件如《图二》所示。

商业对象 操作描述 类方法
连接n_connect 连接数据库(connect to database) of_connect
数据窗口(datawindow)n_datawindow 更新一个DataWindow对象 of_update
获取一个DataWindow对象 of_retrieve
获取一个DataWindow对象(带参数(parameter)) of_retrieve2
销售n_sell 获取可用的出仓单号 of_get_new_out_no
更新出仓主表、明细表 of_update
更新发票状态 of_update_invo_state
库存n_store 更新某一商品的库存量 of_update_prod_stocks
初始化某一商品的库存量 of_init_prod_stocks
检查某一商品库存是否足够 of_check_prod_stocks
合同n_cont 更新合同状态 of_update_contbook_state
更新某一合同明细商品的已销量 of_update_cont_prod_num

《图二》
  (二) 基于JAGUAR CTS的EJB的设计与实现

  建立网上商店(eShop)并维持网上购物者的一系列选择,这些选择在任何时刻既能看又能修改,而且和商品目录系统(Inventory System)、订单处理系统(Order System)、顾客服务系统(Customer Service System)以及网上维护联系在一起,综合上述生成"购物车"(Shop Cart)应用程序,如《图三》所示。

《 图三 》
  (三) 基于JAGUAR CTS的MessageService和cnXML子系统的设计与实现

  cnXML的目标是基于XML技术,建立一个符合我国商业习惯、传统和商业流程的B2B、B2C电子商务语言规范,提供一套统一、灵活、开放和可扩充的交易语言,使各个贸易方,包括购买者、供货者、组装者及中介机构等,能够方便的通过电子网络进行各种商业活动,降低企业的运营成本,提高企业产品的竞争力和对市场的响应速度,同时能够方便地与国内外其他电子商务交易语言进行交互。

  由于Jaguar CTS 3.6.1提供了和JMS兼容的CtsComponents / MessageSevice,我们可以基于Jaguar建立一系列的基于XML的消息传递系统,简述如下:

  ·发送消息:
  (1) 客户填写需要哪类产品目录资料;
  (2) 提交数据后,JSP页面调用XmlSender EJB,根据产品分类生产次类产品的结果集java.sql.Result;
  (3) XmlSender EJB根据EJB的资源属性中定义的客户Jaguar服务器的URL地址,获得此服务器的消息服务句柄;
  (4) 根据cnXML关于产品目录的DTD定义,利用XML for JAVA(SUN版本)生成数据库结果集的XML文档,也就是cnXML文档的消息体部分;
  (5) 根据商家信息和客户信息填写cnXML文档的消息头部分;
  (6) 把消息头和消息体合并成为一个完成的cnXML文档,利用第(2)步得到的消息服务器句柄,把cnXML消息(TextMessage)发送到对应的产品目录消息队列中;
  (7) 消息服务接受此消息后,把消息保存在数据库中。

 


《图四》

   ·接受消息:
  (1) 根据Jaguar 关于Java Service的定义,生成一个可以定时访问消息服务的Java组件(tjpshop / MessageClientImpl);
  (2) 客户的Jaguar服务器在启动时,自动启动MessageClientImpl组件
  (3) MessageClientImpl初始化时利用多线程,不断查找服务器中的消息服务,直到获得消息服务句柄为止,设置MessageClientImpl的状态为"准备好";
  (4) MessageClientImpl每隔一分钟检索产品目录队列,检查是否有新的消息存在,如果有的话,获取此消息并检查消息是否为cnXML消息,是的话就根据cnXML的定义分析并把消息头和消息体分开,保存为两个不同的XML文件。

《图五》

  五、网络安全措施之一 ―― VPN技术的应用【注2】

  (一)VPN Server的安装
  1. 安装Windows NT和两张网卡以及两个网段的TCP/IP设置
  2. 在网络属性中添加"点对点通道通信协议"(PPTP)安装完点对点通道通信协议(PPTP)后系统会自动添加"远程访问服务(RAS) "
  3. 配置PPTP属性填入"虚拟私人网络号"(1~255),其意义为VPN Server能有多少个VPN设备拨入。
  4. 配置RAS属性把所有的VPN设备添加到远程访问里,配置端口属性把所有端口设置为 "只能接收"然后设置远程访问的网络属性在服务器设置里把允许远程客户运行"TCP/IP",加密设置里选择请求"Microsoft加密验证"、"请求数据加密",选择"允许多链路"。接着打开允许远程客户运行里的TCP/IP配置,在允许远程TCP/IP客户访问里选择 "整个网络",选择"使用静态地址集"把"起始"和"结束"设置在Intranet同一网段里
  5. 配置TCP/IP设置

  (二)VPN Client的安装
  1. 安装 Windows 98和Moden以及Moden拨号连接上Internet
  2. 在网络属性里添加"Microsoft虚拟网络适配器"
  3. 在网络属性里添加"拨号网络适配器#2(VPN支持)",原来已经有一拨号网络适配器供Moden使用。
  4. 配置拨号网络属性"建立新连接"在选择设备里选择写有Moden一项,然后设置电话号码和用户号密码等。
  5. 配置拨号网络属性"建立新连接"在选择设备里选择写有VPN adapter一项,然后在请输入服务器的名称或地址里输入服务器的Internet上的IP地址。

  (三)VPN Server 上的权限设置
  首先在域用户管理管理器里为VPN Client设置一个用户在组里添加Account Operators和Domain Admins并把主要组设置为Domain Admins,然后在拨入里设置给予用户拨入的权限。
  VPN Client 与VPN Server的连接:首先使用Moden拨号连接Internet,然后再使用VPN设备拨号到VPN Server。

  六、平台选择的考虑:【注1】

  (一)选用Sybase Enterprise Application Server 3.0
  Enterprise Application Studio 是Sybase公司特别设计的一套企业应用开发和提交的开发工具包,它将PowerBuilder和Java开发工具PowerJ以及高性能提交环境Sybase Enterprise Application Server集成在一起。我们在开发Java程序及提交各种需求时都用到Enterprise Application Studio,TJP原型就是基于Web的、分布式的企业级应用系统。Adaptive Server Enterprise保证了用户数据的高度实用性, 它允许用户在页级配置故障恢复隔离级。单个页故障只影响此页,数据库的其余部分仍保持联机状态。

  (二)中间件的选择
  所谓中间件就是为了解决分布式系统中的异构问题而提出位于平台(包括硬件和操作系统)与应用之间的通用服务,这些服务具有标准的协议与接口,它为开发者提供了一个高层应用环境。Internet/Intranet环境下的多层结构实际上就是一个分布式异构环境,本设计中采用SYBASE JAGUAR CTS 组件事务服务器, 使用这种三层结构开发系统的优点主要有:
  ·整个系统被分为不同的逻辑块,层次非常清晰, 管理和维护变得相对简单;
  ·开发和管理的工作向服务器方转移,分布式的数据处理实现真正的"瘦"客户端;
  ·便于进行事务管理(Sybase Jaguar CTS)。
  ·系统的安全性得以提高,因它可以对每个业务功能组件进行授权,限制了非法访问。

  (三)选择面向对象的开发工具PowerBuilder
  中间件产品只能提供一些通用的服务,纷繁复杂的实际应用还需开发人员根据实际需要完成。在开发系统时,使用PowerBuilderPFC十分方便和高效,是开发企业管理信息系统的最佳平台已为大家所公认。
  它对于分布式和基于Web应用提供了简单和强大的与Enterprise Appllication Server环境集成的能力,它和EAServer的组合使得所使用的组件格式和协议在将来都能有效。
  用PowerBuilder通过分布式内部网(Intranet)或Web提交在多层体系结构上的应用并提交给超瘦客户端,用它特有的DataWindow提供的浏览数据使用HTML格式。建立包括具有显示动态数据访问和数据操纵能力的Web页时无需编写代码。PowerBuilder是本设计开发工具的首选。

  七、系统的软件配置(请见安装说明)

  八、结束语 系统的软件配置
 
  1. 知识经济时代和全球经济一体化的趋势对于物质基础和管理水平都相对落后的我国企业界是一个空前激烈的挑战,一个迫切的问题是怎样以最新的技术、最快的速度帮助企业在原来局域网管理信息系统甚至手工管理的基础上把它的经营和管理模式提高到电子商务的水平。
  2. 电子商务必须以企业的信息化为基础:即使是被列为全国八个信息化建设试点市之一的江门市,在网上登记的各类企、事业单位也不超过1000家, 占各类单位总数的5 % 不到, 真正建立了自己的管理信息系统的企业就更少 。一般人都把电子商务理解为仅仅在Internet 上进行商品买卖(这可能正是当前电子商务的商家 95 % 以上是负利润以及网络泡沫经济的根本原因) 。事实上, 电子商务除了提供买卖服务,更重要的是它还提供一整套基于企业的管理信息系统基础的服务,没有企业的信息化就不可能有真正的电子商务。
  3. 选择开发平台,使用cnXML规范化标准:我们开发TJP原型的目的是希望探索一条能帮助企业以最低成本、最快速度在原来局域网管理信息系统甚至手工管理的基础上,运用新的开发思想和技术(SYBASE公司的新开发平台EAStudio),把本企业的经营、管理方式提高到基于Internet/Intranet的电子商务水平的途径和方法。我们认为,先建立企业的管理信息系统然后实现其相应的网上交易才能真正帮助企业进入科学管理的知识经济时代。这里我们采用快速原型法的思想探索一种注重实效、解决一系列技术和组织方面问题的系统集成方法,用这种方法从企业应用系统的总体结构设计和计算机实现技术的角度探讨设计电子商务系统的解决方案时应该考虑的问题并作出较全面的思考和尝试。具体作法是:设定一个兼有生产和营销的集团公司, 营销以销售通讯、小家电、工艺品等商品为主, 工厂则主要生产小日用品、小工艺品等。以该公司为蓝本,运用SYBASE公司的 EAStudio(PB 7.0,PowerJ,Jaguar)产品【注4】, 实现了TJP原型,它集企业的内部管理信息系统(基于Internet / Intranet的三层结构体系)【注5】和网上交易于一体,既包括了企业的管理信息系统(Intranet),又实现了在网上交易的功能(B2C和B2B),较全面的运用了面向对象和三层结构体系及XML规范等技术,以最快的速度完成(从开始总体设计到程序设计到最后全部调试通过总共用了3个多月)。远程分公司和出差外地的员工可以通过Internet和VPN服务器连接到公司本部的MIS;其他企业或顾客可以在网上直接查询、定购货物等,通过TJP原型的后台管理实时地与客户联系,确认他们的身份、所定购货物的规格、定购数量、价格及确定送货及付款方式等。在系统的总体结构和技术方面作了一次成功的尝试【注6】。

  【注1】 详细的应用技术介绍及图文并茂的安装说明请参阅网站:http://www.tjp2000.com/
  【注2】 VPN服务器详细的安装请查阅 :http://www.tjp2000.com/vpn/vpnimplement2.htm
  【注3】 网上电子支付、第三方认证系统暂缺。
  【注4】 这里使用的EAStudio(PB 7.0,PowerJ,Jaguar)均是从SYBASE网站下载的试用版。
  【注5】企业内部网中的销售及客户管理部分是我们在98年为珠海某集团公司成功开发的营销管理系统的简化版(该集团管理系统的总体设计方案经由深圳信息办、珠海信息办、中科健集团珠海分公司等单位组成的专家组审核与肯定,在专家的建议下,我们所用的开发平台全部购买SYBASE 公司的产品)。
  【注6】整个系统的网络结构示意图及TJP原型的详细介绍请查阅 : http://www.tjp2000.com/

 


版权所有:UML软件工程组织