9.2.1 电子商务系统的编程模式

9.2.1 电子商务系统的编程模式

电子商务系统的编程模式通常指的是应用程序的开发和构建方式。目前, 电子商务系统的开发模式基本上可以分为以下两类。

(1) 传统的Web 开发模式

这种模式通常以Web 服务器为核心进行开发, 编程工作主要集中在Web 服务器上的各种静态、动态网页的制作方面。

(2) 基于组件的开发模式

这种模式主要利用了软件的可重用思想, 是基于面向对象程序设计的方法, 以应用服务器为核心进行开发, 开发的重点在于各类组件程序组装及少量编程方面。这种模式的编程工具和手段有很多, 较有代表性的是J2EE 编程模式和基于Microsoft DCOM 的开发编程模式。这是两种常用的编程模式, 因此, 开发电子商务系统时可以根据软件的需求, 综合应用这两种编程模式。

电子商务系统的编程模式通常包括以下4种。

1.基于Web 的编程模式

基于Web 的编程模式是一种电子商务系统开发早期常用的编程模式, 该模式目前应用于中、小型电子商务系统中。此类模式将开发工作集中在Web 服务器上各类静态及动态网页的开发方面, 其编程模式如图9-2所示。

图9-2 基于Web 的编程模式

基于Web 的编程模式具有以下4个特点。

①目标系统的编程工作分为两部分: 静态网页制作和动态网页制作。

②静态网页制作可以通过各种网页制作工具(如Dreamwaver) 来完成, 但需要注意各个页面在Web 服务器中的组织与管理、网页组织分级目录的设计以及网页的检索等问题。

③动态网页的制作主要是对各类CGI 程序及脚本程序的编写。其中, CGI 程序可以利用高级语言、命令注释语句和其他一些编程语言进行编写, 脚本程序则可以选用ASP、PHP、JavaScript 等进行编写。

④电子商务应用系统如果需要和数据库或其他外部应用进行集成, 则需要通过动态网页的CGI 程序、脚本程序的数据库接口驱动程序来实现。

此种开发模式比较适用于两层结构的电子商务系统, 由于在网上难以找到很多共享程序或程序模板, 因此编码时加以参考可以加快编码的进度。但是这种编程模式的可重用性并不高, 应用软件与企业其他信息资源及组件的集成也将成为一个难题。

2.J2EE 的编程模式

J2EE 的编程模式最早由SUN 公司提出, 该模式中有3个层次: 客户层、中间层和企业信息系统层。客户层可支持不同的客户端, 包括基于浏览器的瘦客户端及其他客户端,中间层能够完成企业服务的存取, 企业信息系统层则负责存储企业内部的关键商务数据。

在J2EE 编程模式中, 应用服务被分为两部分: 一部分是由开发人员实现的商务及表达逻辑, 另一部分是由J2EE 平台提供的标准的系统服务。

其中, J2EE 编程模式的中间层的商务功能是通过一系列的EJB 组件实现的。中间层的JSP 主要用以实现业务逻辑处理结果的动态发布, 构成动态的HTML 页面, 而Servelet则侧重于实现更为灵活的动态页面。中间层可以通过以下5种方式访问企业信息系统层中的信息资源。

①JDBC, 数据库访问接口API。

②Java 名字及目录接口JNDI (Java Naming and Directory Interface)。JNDI 可以获取名字服务和目录服务, 如DNS (域名系统)、NDS (网络数据服务)、LDAP (轻型目录访问协议) 和CORBA 的名字服务。

③Java 消息服务JMS (Java Message Service)。JMS 作为一个标准的API 接口可以和企业基于消息的中间件系统交互。

④Java Mail, 基于Java 的电子邮件API 接口。

⑤Java IDL (Interface Definition Language) 是一种接口定义语言, Java IDL 可以通过建立远程接口支持Java 和CORBA 应用的通信, 利用Java IDL 应用系统可以调用CORBA 的服务。

基于J2EE 编程模式如图9-3所示。J2EE 编程模式的优势在于通过编写各个EJB 模块来提高软件的可重用性, 同时通过使用现有的EJB 来减少开发工作量, 加快开发的速度。此外, 采用J2EE 规范编写的系统跨平台的能力也较强。

图9-3 J2EE 的编程模式

3.Microsoft DCOM 和Windows DNA

微软公司的分布式应用集成方案以组件对象模型(COM) 为基础, 提出了DCOM 和Windows DNA 的体系结构。Windows DNA 的体系和SUN 公司的J2EE 标准相似, 如图9-4所示。

Windows DNA (Windows Distributed Internet Applications Architecture) 是一种分布式的Internet 应用框架, Windows DNA 与Microsoft Windows 操作系统紧密结合。它在原来Microsoft 的分布式对象服务(如COM、事务服务器MTS 等) 的基础上构造得到。

在Windows DNA 结构中, 分布式应用系统被分解, 整个应用系统由表示层(Presentation)、业务逻辑层(Business Logic) 和数据服务层(Data Service) 3个部分组成。其中作为用户界面部分的表示层, 主要是通过在客户端的浏览器中展示和运行HTML、DHTML、Java Applet、ActiveX 和XML, 以实现用户与应用逻辑处理结果的通信。在Internet 应用环境中, 表示层的工作通常用浏览器来完成。业务逻辑层主要负责处理表示层的应用请求,完成业务逻辑的计算任务, 并将处理结果返回给客户端。业务逻辑层通常将客户端的业务逻辑集中于服务器端, 为所有用户共享。业务逻辑层是整个应用的核心, 而组件是COM的核心。业务逻辑层通过COM 进行业务处理后, 由IIS 和MTS (Microsoft Transaction Server) 为各种应用组件提供完善的管理。数据服务层能够为应用提供数据来源, 数据库不再和每个活动客户保持一个连接, 而是若干个客户通过应用逻辑组件共享数据库的连接, 从而减少连接次数, 提高数据库服务器的性能和安全性。开发者可以根据需求选择Microsoft SQL Server、Oracle 或任何与OLE DB 或ODBC 兼容的数据源。

图9-4 Windows DNA 体系

采用Windows DNA 技术思想开发系统时分工明确, 一部分人员完成业务逻辑层COM组件的开发和测试工作, 另一部分人员则可以根据业务逻辑的需要选择和使用COM 组件,在无须了解其功能实现的内部细节情况下使用组件提供的统一对外接口, 将组件集成在页面之中, 从而有效地降低开发难度。

组件对象COM 的可重用性能够在一定程度上减少应用系统的整体管理和维护费用。当业务逻辑发生改变时, 开发者只需调整或替换中间层相应的COM 组件即可, 而不必改变整个页面源代码。这样, 系统可以在更新后的业务逻辑处理环境下运行, 避免客户端应用程序版本的控制和更新。由于所有的复杂事务处理都在中间层进行, 客户端只需配置最基本的浏览器就可以与服务器及其他客户进行事物交流。

这种应用模式大大提高了系统的运行效率和安全性。在中间层, IIS 负责应用逻辑层Web 页面的管理, MTS 负责应用逻辑层COM 组件的管理。MTS 在多线程的支持下工作,实现对COM 组件的分布式连接管理、线程池的自动管理及高性能事物处理的监视。应用程序使用组件还可以共享与数据库的连接, 从而降低数据库的负担, 提高系统性能。此外, 客户通过组件访问数据库时, MTS 的安全管理可以按权限将特定组件授予不同的用户组, 从而将商务活动的安全性和系统的结构有机地结合在一起。

DCOM 组件通常与开发语言无关, 常见的Microsoft Visual C/C++、Visual Basic 等都支持组件的开发, 组件既可在ASP 脚本中调用, 也可在一个ActiveX 的动态链接库中调用。Windows DNA 可以利用分布式组件对象访问数据库, 并完成复杂的计算, 同时提高开发效率, 但这种方式只能运行于Microsoft 平台之上。

4.混合编程模式

除了以上3种编程模式之外, 还可以根据不同应用系统的特点采用混合编程方式来进行电子商务应用系统的开发, 如图9-5所示。

图9-5 混合编程模式

在混合编程模式下, 组件对象需要在特定的软件平台上运行, 如支持J2EE 标准的应用服务器平台、Microsoft MTS 等。因此, 基于Java 的编程模式与基于Microsoft 产品的编程模式之间很少混用。此外, 由于每种编程模式都有着自身的优点, 因此在实际开发过程中还是需要根据实际情况来进行选择混合编程的方式。