系统技术架构说明书.doc

上传人:wj 文档编号:1297416 上传时间:2023-04-30 格式:DOC 页数:24 大小:3.47MB
下载 相关 举报
系统技术架构说明书.doc_第1页
第1页 / 共24页
系统技术架构说明书.doc_第2页
第2页 / 共24页
系统技术架构说明书.doc_第3页
第3页 / 共24页
系统技术架构说明书.doc_第4页
第4页 / 共24页
系统技术架构说明书.doc_第5页
第5页 / 共24页
系统技术架构说明书.doc_第6页
第6页 / 共24页
系统技术架构说明书.doc_第7页
第7页 / 共24页
系统技术架构说明书.doc_第8页
第8页 / 共24页
系统技术架构说明书.doc_第9页
第9页 / 共24页
系统技术架构说明书.doc_第10页
第10页 / 共24页
系统技术架构说明书.doc_第11页
第11页 / 共24页
系统技术架构说明书.doc_第12页
第12页 / 共24页
系统技术架构说明书.doc_第13页
第13页 / 共24页
系统技术架构说明书.doc_第14页
第14页 / 共24页
系统技术架构说明书.doc_第15页
第15页 / 共24页
系统技术架构说明书.doc_第16页
第16页 / 共24页
系统技术架构说明书.doc_第17页
第17页 / 共24页
系统技术架构说明书.doc_第18页
第18页 / 共24页
系统技术架构说明书.doc_第19页
第19页 / 共24页
系统技术架构说明书.doc_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

系统技术架构说明书.doc

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

系统技术架构说明书.doc

全网电子商务平台

技术架构说明书

2010年3月18日

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

技术性需求分析 4

一致的逻辑数据 4

优秀的网络环境适应性 4

系统的兼容性 4

优异的系统性能 4

开放的界面和接口 4

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

高度的安全性 4

技术性设计思想和原则 5

最小成本原则 5

安全性、可靠性、先进性原则 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搜索引擎设计

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

系统的架构图

技术架构图

系统技术架构图

系统请求数据处理流程图

体系结构图

体系结构图

系统核心功能分布图

架构层次的说明

数据库层

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

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

   在数据库方面,我们的程序是可以无缝对接主流数据库的包括Oracle,Mysql,和MSSql,但建议采用Oracle或者是MySQL。

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

Oracle 

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

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

如访问量排行榜、降价排行榜、销售排行榜、访问量统计等等,就以往的经验来看,这些功能每天要处理的数据都会超过一千万。

这种数据量如果使用传统的统计方法,统计一次的时间就可能会以天来计算了。

如果使用Oracle,再配合我们专门对Oracle进行优化的高效率的统计程序,那么只需十数秒便可完成。

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

MySQL 

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

   ◆无法使用商城平台一些高级应用,如排行榜、统计分析、MIS系统对接等。

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

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

中间件层

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

   一、应用服务器

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

   购通设计上遵循SUN公司提出的J2EE规范,这样能够尽可能的保证在不同的J2EE应用服务器中进行移植。

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

   

   二、中间件技术

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

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

   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测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。

   我们主要用JUnit来进行单元测试。

基础服务层

基础服务层构建于J2EE平台之上,借助于中间件的接口服务,提供电子商务平台系统所需要的通用服务接口组件。

系统将提供以下主要的服务接口支撑不同业务需求的实现。

   ◆栏目管理模块:

   栏目是一个抽象资源对象,是一种特殊的内容类型。

栏目可以表示产品、新闻信息类别、资源节点、导航栏的项、菜单中的项等等。

栏目是一种组织管理型的资源。

   系统设计上支持多级子栏目,采用虚拟文件系统(VirtualFileSystem)技术以支持直观的树型导航风格,一个栏目节点相当于一个虚拟的文件目录。

   对于大型电子商务系统,栏目的节点是个非常大的数字,这对系统栏目树展示的速度和性能有极高要求。

考虑到以上原因系统采取了栏目对象缓存策略,同时对于页面节点的呈现通过动态JavaScript输出的技术,从而使系统能很好的支持上万个栏目数据节点操作管理。

能平滑、高效的展示树型风格的栏目结构。

   ◆用户权限管理模块:

   大型电子商务应用系统有用户多,模块多,权限多的特点,因此必须采用分组的用户管理系统,并设置一个具有最高权限的管理员,负责对整个系统用户设置,为每个用户角色、用户指定不同的权限,依照不同的权限在系统中可以使用不同的功能。

   系统设置了Administrator用户组,并设置了root这个具有最高权限、不可删除的用户。

您可以根据您的需要使用root这一个管理员用户。

管理员可以创建、编辑和删除用户组,您可以根据您的需要给每个用户组合理的权限划分,并给每个用户组添加、编辑和删除用户。

用户登录系统后,系统会根据该用户的权限提供相应的功能,并对用户的每个操作检查用户的使用权限。

   系统采用Window用户权限的思想,将用户、用户组的权限通过各个栏目节点进行绑定,在各个栏目节点上实现继承与非继承的设置管理,从而使管理员可以进行灵活的配置。

   ◆属性管理模块:

   在现实情况中,不同的事物对象存在其特殊的信息描述;比如一个手机,存在“网络类型—GSM”、“外观样式—翻盖”等等;同时这些特殊的信息描述在同类别的数据对象下经常存在共性;比如TCL和联想生产的手机,应该都存在以上两种属性的描述。

   针对以上的情况,系统进行了一个数据抽象,定义了一套属性管理组件,可以方便、有效的描述相关的需求情况,同时对于存在共性描述的对象采用继承模式来描述,从而很好的表现一个事物对象的特征。

   ◆继承性管理模块:

   继承是面向对象接口特性之一。

考虑到抽象事物的通用性,系统通过一个通用的对象继承模型接口,对所有需要实现继承的功能提供基础的支持。

从而提高系统的重用性和降低系统的偶合度。

   ◆日志服务管理模块:

   日志是一个成熟的电子商务应用系统所必备的功能。

日志可以用于数据统计,为系统其他功能提供初始数据;用于查看一个对象的修改历史记录,用于方便追

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2