系统技术架构说明书.docx

上传人:b****5 文档编号:3985198 上传时间:2022-11-26 格式:DOCX 页数:29 大小:242.11KB
下载 相关 举报
系统技术架构说明书.docx_第1页
第1页 / 共29页
系统技术架构说明书.docx_第2页
第2页 / 共29页
系统技术架构说明书.docx_第3页
第3页 / 共29页
系统技术架构说明书.docx_第4页
第4页 / 共29页
系统技术架构说明书.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

系统技术架构说明书.docx

《系统技术架构说明书.docx》由会员分享,可在线阅读,更多相关《系统技术架构说明书.docx(29页珍藏版)》请在冰豆网上搜索。

系统技术架构说明书.docx

系统技术架构说明书

全网电子商务平台

技术架构说明书

2010年3月18日

北京友联慧通科技有限公司

技术性需求分析4

一致的逻辑数据4

优秀的网络环境适应性4

系统的兼容性4

优异的系统性能4

开放的界面和接口4

完备的操作日志管理策略4

高度的安全性4

技术性设计思想和原则5

最小成本原贝U5

安全性、可靠性、先进性原则5

安全性与可靠性原则5

先进性原则:

5

实用性、易用性、可扩展性原则5

实用性原则5

统一及一致性原则6

业务引导及易用性原则6

友好及方便性原则6

扩展性和适应性原则6

数据共享原则7

系统技术架构的设计7

技术架构的特点7

系统的架构图7

技术架构图7

系统请求数据处理流程图9

体系结构图10

系统核心功能分布图11

架构层次的说明11

数据库层11

中间件层12

基础服务层16

应用层20

业务表现层和系统接口层21

系统部署环境22

商城平台部署环境22

运行平台22

操作系统22

应用服务器23

Web服务器23

数据库服务器23

缓存服务器23

图片文件服务器23

系统部署拓扑图23

系统部署结构图24

技术性需求分析

一致的逻辑数据

一般来说,平台所有的服务接点都是这个数据库的客户端访问;因此从逻辑上,任意服

务网络接入点的数据应该是一致的。

优秀的网络环境适应性

从系统的实现角度考虑,要满足各种复杂的网络环境。

系统的兼容性

由于服务结点的数量巨大,其使用的平台和语言各不相同,需要能够容纳所有类型的服

务结点;

优异的系统性能

从系统架构设计上需要考虑巨大量数据的处理引擎,从系统本身进行性能上的优化,而

不是仅仅凭借于硬件服务器的性能。

开放的界面和接口

不仅个人用户能够方便地通过Web应用查询信息,同时也需要能够预留非GUI的交互界面的接口,以便使其它应用系统也能使用数据管理系统提供的信息服务,同时还需要为第

三方软件预留标准的集成接口,使系统具有高度的可扩展性;

完备的操作日志管理策略

需要有完备的操作日志管理引擎,记录系统交互过程中的日志数据。

高度的安全性

利用JAVA所特有的安全性,更多的从系统角度去维护数据的安全,同时需要从数据库和

服务器的角度提出安全维护的有效建议。

技术性设计思想和原则

最小成本原则

系统建设充分考虑目前已实施的业务系统的实际情况,充分利用原系统资源,在实现新

系统建设同时保护原有系统的资源。

任何一个系统的建设,如果不能合理和有效地利用现有的资源和之前的系统的资源,这

样的系统应该算不了绝对的成功。

因此,在进行系统重建时,充分考虑如何利用以前的信息

系统、网络和其他设备,并对以前实施的应用系统进行整合,一方面保证原有的设备可以重

新利用,另一方面保证以前的应用重获新生。

在真正意义上做到既完成了新系统的建设又保

护了原有设备和系统的资源。

安全性、可靠性、先进性原则

安全性与可靠性原则:

考虑到电子商务系统工程建设项目安全性、可靠性的需求,在系统设计中,应充分注意

系统的安全性和可靠性,采用多种安全防范技术和措施,保障系统的信息安全,保障系统长

期稳定可靠运行,同时在系统设计要充分考虑系统运行性能,达到“简便、实用、快捷、安全、准确”的目的。

先进性原则:

由于IT技术发展的速度惊人。

因此,在电子商务项目进行系统总体规划时,我们选择业界到目前为止先进和成熟的技术作为整个系统的技术架构,以保证系统有不断发展和扩充

的余地。

系统总体设计的先进性原则主要体现在以下几方面:

1)系统结构选择当前先进的SSH架构进行逻辑和业务和展示分层的架构进行系统开发;

2)软件的设计中利用先进的面向对象技术、设计模式、接口技术和组件技术来提高软件的通用性和复用性。

实用性、易用性、可扩展性原则

实用性原则

衡量一个电子商务系统的好坏决不是看它投入了多少、如何的先进,而是看它是否真正

满足运营业务需求,是否真的符合真正的运营情况。

因此,在进行系统的建设时,我们始终

不忘实用性原则,努力保证投资花在实处,保证建设出来的系统切切实实是所需要的,而不

是一个富丽堂皇的空架子,光有一个外表而没有实际的内容。

实用性是每个信息系统在建设过程中所必须考虑的,从实际应用的角度来看,这个性能更

加重要。

为了提高系统的实用性,本系统考虑如下几个方面:

♦设计上充分考虑当前各业务层次、各环节管理中数据处理的便利和可行,把满足用户业务管理作为第一要素进行考虑;

♦采取总体设计、分步实施的技术方案,在总体设计的前提下,系统实施时先进行业务处理层及低层管理,稳步向中高层管理及全面自动化过渡。

这样做可以使系统始终与业务实

际需求紧密连在一起,不但增加了系统的实用性,而且可使系统建设保持很好的连贯性;

♦全部人机操作设计均充分考虑不同使用者的实际需要;

♦用户接口及界面设计充分考虑人体结构特征及视觉特征进行优化设计,界面尽可能美观大方,操作简便实用。

统一及一致性原则

在统一的用户界面风格前提下,实现各GUI中各类按钮、图标、文字(字体、大小)、

热键(快捷键)的统一和一致,达到便于使用、便于学习、交互友好的目的。

人机工程及标准化原则

在保证界面风格统一、一致的基础上,按照人机工程原理,遵循IBM和Microsoft的界

面设计标准,将界面的布局(包括按钮、菜单、显示框等)设计成符合操作者习惯的形式,并在界面颜色的搭配上满足操作者长时间工作要求,提供一个人性化的人机操作环境,以保

证用户使用的舒适性。

业务引导及易用性原则

充分考虑业务的管理需求,在界面的菜单及功能的组合设计中,将界面的操作顺序按业

务归类,以便操作的有效引导,保证软件的易用性。

同时,在各功能名称的用词、信息提示文字等方面,使用政府审批业务的规范化、习惯化用词,以保证软件使用者的习惯性,符合

现有政府审批管理模式,有利于操作者在较快的时间熟练用好软件。

友好及方便性原则

鼠标、键盘的灵活输入方式;热键的使用,以保证各种业务数据信息的录入界面,更新

维护界面和记录增删界面及部门内部信息查询界面和信息统计报表界面等使用的方便性、友

好性,确保各种业务信息数据都能通过用户界面方便地、快速录入。

扩展性和适应性原则

扩展性和适应性是系统升级前要考虑的首要元素,为了进一步让客户能够降低成本来完

成未来可预见的系统升级开发,系统在设计时就充分考虑到实际系统在今后工作发展而产生的升级需求,尽量保证在原有代码基础上容易适应、容易修改和升级的目标。

数据共享原则

对所有的数据采用合理的数据结构,把它们有效地组织好,进行统一维护管理,避免数

据重复,减少冗余,提高准确性和可靠性,保证数据的统一性和完整性。

系统技术架构的设计

技术架构的特点

我们的技术架构有以下特点:

♦采用目前安全性能高,扩展性好,框架技术最为完善JAVA语言作为系统开发的语言。

♦采用SSH框架技术,使系统能够分层开发,各层之间逻辑分明,层与层之间提供接口方式来实现业务和数据的沟通。

让系统具有极强的扩展性。

♦基于组件技术,力求将变化封装在组件内部。

对应组件可以对外提供API。

♦适应能力强,同步、异步都能处理,既能满足快速反映的业务的需求,又能满足大数据量、复杂的、异步的业务的需求。

♦与OS、中间件平台、数据库系统无关。

♦具有很好的可扩展性。

模块化使得系统很容易在纵向和水平两个方向拓展:

一方面可

以将系统升级为更大、更有力的平台,同时也可以适当增加规模来增强系统的网络应用。

扩充或修改功能时,基本不会破坏原有结构的稳定性。

♦强而可靠的数据库搜索引擎

♦实用且安全的SEO搜索引擎设计

♦支持分布式部署的缓存引擎

系统的架构图

技术架构图

电话短信手机客户端

商品系统内容系统广告系统频道系统订单系统其它业务

k2\▲系统2

全网电子商务服务平台

全网基础应用系统(订单人员权限商品物流财务报表等)

运营商接口

支付网关接口

11

物流接口

呼叫中心接口

短信接口

/邮件接口

ERP接口

数据认证接口

其它数据接口

开发社区

X--X

X--X

全网电子商务平台API

全网运营支撑平台

基础框架

界面引擎中间件引擎)/搜索引擎

规则引擎

匕』

缓存引擎

VJ

SEO引擎

*sk.—X*

接口引擎

j*

其它数据引、擎X

多种开发语言

Jsp,velocity.

GoogleMap

RSS订阅

基于COMPASS

的搜索引擎

自定义的路径规则引擎

支持分布式的

Memcache缓存

实用可靠的

SEO优化引擎

接口引擎帮助您无缝对接第

三方接口

1实现数据的1

无缝对接

全网电子商务平台服务架构(SSH=Spring2.5+Struts+Hibernate3.0)

高可用性高扩展性高可靠性高安全性高性能

数据服务

商品

z:

内容

数据

J

数据

频道

数据

数据

F其它其它d

运营

业务

5居J

1数据J

会员

数据

集合

营销数据集合

销售

数据

集合

链数

据集

系统技术架构图

 

系统请求数据处理流程图

 

体系结构图

体系结构图

JSp,taglib,javabean,cache,helper,html

逻辑数:

据接口

数据接口层

JAVABEAN4

继承PubHibernate继承hib常e映射

文件

业务数据接口

继承PubBean

数据接

 

MYSQL

MSSQL

 

体系结构图

系统核心功能分布图

访客/个人会员/企业会员/商家会员/客服人员/总平台管理人员/地区

管理人员

Internet接入

语音接入

其他接入

商城接入层

总平台门户地区门户企业会员门户商家会员门户客服门户运营后台门户

总平台门户、地区门户

企业会员门户、商家会员门户

商品浏览

商品搜索

商户申请

商户自管理

商品购买

会员注册

商品管理

虚拟商品管理

商品排序

会员自管理

缺货管理

咨询管理

订单管理

积分管理

促销管理

对账结算管理

商品咨询

商品评论

退货管理

退款管理

浏览历史

留言板

信息管理

订单管理

优惠券管理

会员投诉

投诉管理

统计报表

业务定制

商品促销

账号权限管理

内容管理

支付管理

物流管理

支付管理

物流管理

会员管理

商户管理

权限管理

客服销售

订单管理

代金卷管理

商品管理

客服角色管理

排行榜管理

商品推荐管理

~支付方式~管理

客服查询

促销管理

对账结算管理

评论管理

客服受理记录

关键字过滤管理

调查问卷管理

广告管理

客服报表系统

统计分析

日志查询

搜索及静态页生成

帮助管理

运营监控

流量统计

网站联盟管埋~系统

网站联盟管埋~系统

地区管理

商机管理

支付管理

物流管理

商城基础服务层

接口服务层

客服门户、运营后台门户、地区运营后台门户

商城核心业务层

商城核心数据层

会员/商户/商品/订单/营销/统计/监控/对账/结算/内容/促销〃等库

架构层次的说明

数据库层

对于平台中的所有应用,都存在着各种各样的配置信息、业务数据、系统运行状态等信息。

数据库层对这些数据信息本身进行归档,提供快速查询的底层接口,并保证数据的完整性、可靠性。

在数据库方面,我们的程序是可以无缝对接主流数据库的包括Oracle,Mysql,和MSSql,但

建议采用Oracle或者是MySQL。

因为他们和程序一样具备跨平台的特性,但这两种数据库分别有不同的适用环境。

Oracle

♦适合大型的电子商务应用。

♦能使用所有的商城平台功能。

如访问量排行榜、降价排行榜、销售排行榜、访问量统计等

这种数据量如果使用传

Oracle,再配合我们专门对

等,就以往的经验来看,这些功能每天要处理的数据都会超过一千万。

统的统计方法,统计一次的时间就可能会以天来计算了。

如果使用Oracle进行优化的高效率的统计程序,那么只需十数秒便可完成。

可以使用OracleRAC(真

♦此外,如果只用一台数据库无法应付日益增长的服务器访问量,正应用集群),通过增加数据库服务器进行集群。

MySQL

♦适合中小型的电子商务应用。

MIS系统对接等。

这是由于

♦无法使用商城平台一些高级应用,如排行榜、统计分析、

MySQL设计上强调访问速度,牺牲了一些数据库的高级功能,虽然用程序也可以实现这些功能,但是在性能上无法满足需求。

♦比较难实现数据库集群。

中间件层

中间件层主要是购通平台使用的J2EE中间件,包括平台使用到的应用服务器和中间件技术。

一、应用服务器

应用服务器为购通提供的整个J2EE平台实现,商城系统基础服务层和应用层、业务层都是

建立在应用服务器之上。

购通设计上遵循SUN公司提出的J2EE规范,这样能够尽可能的保证在不同的J2EE应用服

务器中进行移植。

经过测试购通平台支持Tomcat、WebLogic、JBoss,webShare这几种J2EE应用服务器。

二、中间件技术

本着重用的设计原则,购通在一些功能中采用了已有的成熟技术,这些都是经过实践考验的中间件。

主要以java标准包和开源项目为主,大部分都针对系统作了相应调整,以便适合系统口J需^<。

1.Apachecommons:

著名的开源组织Apache的一个java工具包,提供很多实用的功能。

1)commons-beanutils:

提供对Java反射和自省API的包装。

在平台中用于通用的接口设计。

2)commons-codec:

包含一些通用的编码解码算法。

Hex,Base64,以及URLencoder。

平台中主要用来做消息摘要,实现数据加密等功能。

3)commons-collections:

提供一个类包来扩展和增加标准的JavaCollection框架。

提供了比j2sdk更全面的数据结构,平台中继承并实现了一些特殊的数据结构。

4)commons-pool:

提供了通用对象池接口,一个用于创建模块化对象池的工具包,以及通常的对象池。

我们在原有的基础上进行了优化,在性能和使用性方面有所提高。

5)commons-dbcp:

这是一个基于apache的对象池(apachecommonspool)实现的数据库连接池。

我们在原有的基础上进行了优化,对数据库连接进行了特别的处理,防止数据库连接泄漏的问题,并提供了监控的功能。

6)commons-discovery:

供工具来定位资源(包括类),通过使用各种模式来映射服务/引用名称和资源名称。

7)commons-el:

提供在JSP2.0规范中定义的EL表达式的解释器。

对平台中的JSP提供EL表达式支持。

8)commons-fileupload:

强大和高性能的文件上传功能。

平台中被用于上传各种图片、Flash、文档等资源,我们在原有的基础上进行了优化。

9)commons-logging:

提供通用的日志操作接口。

主要用于程序调试和服务器日常的日志输出。

10)commons-validator:

提供了一个简单的,可扩展的框架来在一个XML文件中定义校验器(校验方法)和校验规

则。

支持校验规则的和错误消息的国际化。

平台中用来校验各种xml数据。

2.Dom4j:

Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。

它应用于Java平台,采用了

Java集合框架并完全支持DOM,SAX和JAXP。

主要用来处理XML数据。

XML在商城有广泛的应用,主要是作为配置文件使用。

由于XML严格的格式要求和层次结

构,也有用来作为参数在HTML表单中传递。

如组合商品功能,因为组合商品中的商品是由管理员挑选的,参数数量并不确定,如果每从组合商品中添加/删除一个商品都直接更新到数据库

话,会对系统造成负荷。

所以,在组合商品的管理中,将操作的数据类转换成XML传递,就可

以一次进行修改。

3.Hibernate:

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象

封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate可以应

用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完

成数据持久化的重任。

在平台中,我们采用Hibernate进行数据库操作,只有在一些对数据库性能有特别要求的模块,才直接使用jdbc进行连接。

4.Memcache:

Memcache是一个支持分布式部署的动态缓存引擎。

5.Spring定时器:

自动计算年排行榜。

自动计算月排行榜。

自动计算周排行榜。

自动计算日排行榜。

我们主要用Spring定时器管理以下一些定时任务:

1)年排行榜后台更新进程

2)月排行榜后台更新进程

3)周排行榜后台更新进程

4)日排行榜后台更新进程

5)更新对象缓存:

实现对象缓存的更新,处理那些长期没被再一次访问的对象缓存。

6)清页面缓存:

当管理员使用的手工刷新页面缓存的功能时,系统会将这些需要刷新的

缓存加到一个队列中,由本进程负责刷新。

7)相关产品自动实现间隔:

相关产品的计算对系统消耗比较大,所以系统不会对所有几

十万个商品进行计算,只有在用户查看单个商品时算出这个商品的相关产品并进行缓存。

么当用户下一次访问这个商品的相关产品时就直接从缓存中读取出来。

而这个进程就是为了

定时更新这个缓存。

8)自动推荐后台更新进程:

进程根据商品推荐规则进行自动推荐。

9)新闻推荐后台更新进程:

进程根据新闻推荐规则进行自动推荐。

10)关键字后台进程:

当用户在前台搜索栏中输入一个查询值时,系统并不马上将其统计到关键字,而是放到内存中,由此进程定时统计。

11)保存访问量信息进程:

用户每访问一次系统,系统并不马上统计,而是放到内存中,由此进程定时保存到数据库,供统计进程进行统计。

12)年访问量排行计算:

计算年访问量排行榜。

13)月访问量排行计算:

计算月访问量排行榜。

14)周访问量排行计算:

计算周访问量排行榜。

15)日访问量排行计算:

计算日访问量排行榜。

16)年降价排行计算:

计算年降价排行榜。

17)月降价排行计算:

计算月降价排行榜。

18)周降价排行计算:

计算周降价排行榜。

19)日降价排行计算:

计算日降价排行榜。

20)统计计算:

每天对访问量进行统计。

21)生成订阅邮件列表进程:

根据用户的订阅设置,生成需要发送的邮件队列。

22)发送订阅邮件进程:

根据要发送的邮件队列发送邮件。

23)拍卖自动出价进程:

实现拍卖模块中的自动出价功能。

6.Log4j:

Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送

的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIXSyslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我

们能够更加细致地控制日志的生成过程。

最令人感兴趣的就是,这些可以通过一个配置文件

来灵活地进行配置,而不需要修改应用的代码。

这是一个可选包,如果不使用Log4j的话,commons-logging会自动使用SUNJ2SDK的

日志包,不过我们还是推荐使用Log4j,它的功能非常强大。

7.Compass:

Compass是一个开放源程序的搜寻器引擎,利用它可以轻易地为Java软件加入全文搜寻

功能。

Compass的最主要工作是替文件的每一个字作索引,索引让搜寻的效率比传统的逐字

比较大大提高,Compass提供一组解读,过滤,分析文件,编排和使用索引的API,它的强

大之处除了高效和简单外,是最重要的是使使用者可以随时应自已需要自订其功能。

我们使用Compass建立索引,并在这基础上实现了全文搜索功能。

8.Ant:

Ant是一个基于Java的自动化脚本引擎,脚本格式为XML。

我们除了用Ant做Java编译相关任务外,还通过插件实现很多应用的调用。

包括程序编译、打包、Hibernate配置文件自动生成、部署、以及单元测试等操作。

当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,因此c语言中有make脚本来帮助这些工作的批量完成。

在Java中应用是平台无关性的,当

然不会用平台相关的make脚本来完成这些批处理任务了,Ant本身就是这样一个流程脚本

引擎,用于自动化调用程序完成项目的编译,打包,测试等。

除了基于JAVA是平台无关的

外,脚本的格式是基于XML的,比make脚本来说还要好维护一些。

9.Axis:

Axis是一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。

SOAP是被广泛作为新一代跨平台、跨语言分布计算WebServices的重要部分。

商城平台使用Axis提供WebService支持,广泛应用于通用数据接口,对外系统提供服务

等功能。

如:

1)商品查询服务:

提供接口让外接系统可以查到平台中的商品信息。

2)新闻发布服务:

提供接口让外接系统可以取到各类新闻。

3)订单服务:

提供接口让外接系统可以在平台中生成订单,并获取各种订单信息。

注:

上述服务都有严格的权限控制。

10.JavaMail:

JavaMail是Sun发布的用来处理email的API。

它可以方便地执行一些常用的邮件传输。

我们使用JavaMail实现了平台中邮件发送、群发等相关功能,供业务系统使用。

11.JSTL:

JSP标准标记库(JSPStandardTagLibrary,JSTL)是一个实现Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML操作以

及数据库访问。

我们使用JSTL封装各种业务逻辑。

12.JUnit:

JUnit是由ErichGamma和KentBeck编写的一个回归测试框架(regressiontestingframework)。

Junit测试是程序员测试,即所谓白盒测试,因为程序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1