通用软件研发项目实施解决方案word.docx
- 文档编号:137540
- 上传时间:2022-10-04
- 格式:DOCX
- 页数:78
- 大小:478.64KB
通用软件研发项目实施解决方案word.docx
《通用软件研发项目实施解决方案word.docx》由会员分享,可在线阅读,更多相关《通用软件研发项目实施解决方案word.docx(78页珍藏版)》请在冰豆网上搜索。
通用软件研发项目实施方案
通用软件研发项目实施方案
第78页
软件系统架构设计
1.1概要说明
系统架构主要包括应用架构和技术架构。
系统采用基于组件的标准SOA应用架构,以及按照
SOA方法构建的技术架构。
系统的应用架构采用了基于服务的体系架构的策略与方法,从组件、子系统以及门户三个层次对系统进行构建,组件组装形成子系统,子系统集成形成门户。
门户为人员等提供一个优化的以人为中心的操作界面,用户可以方便地对ERP的整个生命周期进行管理;同时系统管理维护人员也可以方便地通过系统对系统进行监控和管理。
系统的技术架构同样也是基于SOA方法和策略进行构建的,它支持客户端和服务器端同步和异步的两种不同的通信方式,web层和服务层进行相对分离,支持分布式和集中式部署两种方案,并且不局限于某一种应用服务器和数据库服务器产品。
1.2系统特点
1.2.1根据优化流程开发
根据流程特点进行功能设计,采用先进的工作流引擎机制。
保证了业务功能的实现。
同时达到了灵活配置。
松散耦合的目的。
保证系统能够与原系统灵活切换。
符合以“软件生命周期为主线“的高效处理流程。
使统一设计,灵活接口。
1.2.2充分利用现有资源
充分考虑现有硬件分散、系统相对独立、数据库数据分离的现状。
采用分布式部署,统一数据规范、统一接口规范的设计思路,在保证系统功能灵活配置,满足业务需求的前提下,充分利用现有数据及硬件资源。
1.2.3先进的设计理念
采用国际通用的C#语言开发,海量数据库选型、高效稳定的中间件处理。
先进的SOA架构设计,满足现有的性能需求,做到架构和系统的先进性和强大的扩展能力。
采用先进的Web2.0技术,做到界面简洁、易用。
1.2.4开放式的可扩展性
系统分部署式部署,子系统统一规划,即满足了分布应用的要求,又实现了统一标准。
形成了统一、强大的管理软件工作平台。
1.2.5与现有系统轻松衔接
设计时充分考虑现有系统现状,开发过程和现有系统数据、应用分析同步进行,保证新
系统与现有系统顺利衔接。
1.2.6可信赖的高可靠性
考虑到实时运行,提供业务流程对可靠性的较高要求,在系统设计中充分考虑了减少和避免故障的可能和隐患,配合合理的系统部署方式和高效的维护服务,能够满足需求中对系统故障时间、修复时间和单点故障隐患的可靠性要求。
1.3总体体系架构
1.3.1基于组件的SOA系统应用架构
系统的应用架构是系统进行构建的主要思路和方法,我们建议ERP系统采用基于组件的SOA的系统应用架构对系统进行构建。
系统按照SOA的方法把系统从总体上划分为3个层次,分为:
组件层、系统层、集成层。
a)组件层:
组件层主要包括系统开发需要用到得各种组件,又可以分为横向通用组件、纵向通用组件和纵向专用组件。
横向组件是大部分系统都需要用到的通用的组件,如:
Web组件、日志管理、数据校验、邮件管理、打印组件、报表组件、文档管理、参数管理、单点登陆等,横向组件的作用是更好的管理和复用系统的通用组件;纵
向通用组件包括在领域应用中通用的组件,如:
工作流、报表工具、规则引擎、用户权限管理等在领域应用中使用较为广泛;纵向专用组件是针对每一个领域专用的具有领域特色的组件,在ERP系统中纵向专用组件可以分为申请、受理、收费组件、分类组件、保密组件等等有关于ERP的组件;
b)系统层:
系统层包括了有组件组装得到的各个应用系统,又可以分为核心层、综合业务层和辅助管理层。
核心层是整个系统的重点和难点,是整个系统最重要的组成部分,如销售子系统是将申请人的申请进行接受和汇总子系统;
c)门户平台:
基于以人为本的原则,对系统层各个子系统进行集成。
使用门户平台,用户不需要登陆每一个子系统进行相应的工作,而是在统一的门户平台进行工作。
结合工作流技术,对于每个登陆系统的人都提供简洁统一的工作选项,对于申请人、审核人、系统管理员、维护人员、局领导等都能做到方便的操作系统,快速进行业务处理和系统管理。
下图为基于SOA的ERP系统的应用架构总体设计图。
通用以上的阐述,可以看出,系统整体都是基于SOA架构进行设计的,主要体现在如下四个方面:
a)系统基于SOA的以服务为中心的思想和方法,对ERP系统的整体体系架构进行设计,
建立了分层的松耦合、跨平台的系统架构;
b)在组件层,我们采用了基于SOA的组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
接口是采用中立的方式进行定义的,它应独立于实现服务的硬件平台、操作系统和编程语言。
这使得构建在各种各样的系统中的服务可以以一种统一的通用方式进行交互;
c)系统采用了基于SOA的分类集成方法对系统的业务以及服务进行分类和集成,做成统一的接口,面向业务和服务编写,以适应SOA系统的统一交互;
d)将每一种业务构成都分解成不同的组件或者子系统,将组件和子系统分开编写达到每项组件和子系统都能做到相互无关,如果一项组件和系统改变将对系统中的其余组件没有任何影响。
实现组件相互之间低耦合的机制,最大程序上降低了系统的升级、业务变更对系统的影响。
同时,基于SOA的系统应用架构具有强大的系统的扩展性:
a)SOA的一个中心思想就是使得企业应用摆脱面向技术的解决方案的束缚,轻松应对企业商业服务变化、发展的需要,本方案很好地体现了SOA的这一中心思想;
b)工作流和业务规则引擎的采用极大了提高了系统对于业务流程和规则变化的适应性。
工作流引擎可以使得在业务流程发生变化时使得系统调整最小,而不需要向传统的需要完全重新开发;业务规则引擎的采用使得业务规则发生变化时只需对业务规则进行重新描述即可完成系统的转换。
c)组件模型、组件集成技术的采用使得系统在进行业务功能的调整时,可以把变化局限于某一个范围之内,在需要时还能进行灵活的替换。
由于系统应用架构是根据每一项业务或者流程编写所以对于系统的扩展非常方便,只要对新加入的业务对应加入新的组件就可以实现对SOA系统的扩展;
总之,本节提出的基于组件的ERP系统完全体现了SOA的核心思想,通过分层组件规划、集成、工作流引擎、业务规则引擎等方法和技术充分体现SOA的策略与方法,并且很好地实现系统的可扩展性、可移植性等等。
1.3.2系统技术框架
ERP系统基于J2EE规范实现,整个架构建立在Struts框架、Spring框架和DAO模式基础之上,并提供了对于EJB、WebService、JMS等组件技术的集成机制。
技术框架逻辑上可分为:
客户层、WEB层、业务层、持久层、资源层、核心层。
如下图所示为系统的技术框架。
客户层:
客户端计算机的浏览器,用于展现页面。
WEB层:
WEB层基于StrutsMVC,完成转发请求、Http请求合法性校验、Http请求参数与数据传输对象DTO之间的绑定、Http请求参数有效性校验、用户操作权限检查、记录用户访问日志、显示系统运行异常等任务。
业务层:
业务层基于Spring框架,完成业务数据校验、业务逻辑处理、事务管理、记录业务处理日志、抛出业务处理异常等任务,同时它也支持WebService、JMS、EJB等组件服务模型。
持久层:
持久层基于DAO进行构建,完成数据读取、数据存储、封装SQL异常、抛出
SQL异常、记录数据读写日志等任务。
资源层:
资源层包括数据库服务器、XML存储文件等,是数据永久存储的介质。
核心层:
核心层表现为系统提供的基础类库,为WEB层、业务层和持久层提供支持。
包括日志记录组件、异常处理组件、事务处理组件、IoC容器封装组件、WEB层数据绑定组件、WEB层数据校验组件、权限检查组件、持久层辅助组件、其他开源项目类库组件等。
本技术框架的特色或优势主要体现在如下几个方面:
(1)系统技术框架提供了对SOA的完整支持;
(2)对于同一个应用系统,系统同时支持集中式和分布式两种部署方案,系统采用分离
UI层和BL层的方式来实现分布式的实现;
(3)业务层Service的实现可以有很多种,WebService、JMS、EJB、Spring等都可以
作为对业务层的一种实现;
(4)在系统的WEB层,同时支持同步和异步两种通信交互方式,使用了AJAX技术完成改善用户体验的任务,主要完成页面表单数据的录入校验、生成联动的下拉列表等任务。
客户端访问web层时通过AJAX技术可以实现异步交互,在提交页面时系统采用同步方式处理提交页面的内容。
如下图所示为系统对于这两种交互方式的支持图。
客户层
客户机浏览器
Http
WEB层
StrutsActionServlet
DWRServlet
HttpServletRequest
DTO
StrutsAction
ActionBean
DTO
业务层
业务Service接口/业务ServiceWebServImpl实现
PO
数据层
数据库表Dao接口/DaoHibernateImpl 实现
OracleDB
DB2
(5)在系统中,每个功能模块都是相对独立的存在,在可扩展性上只要将新加入的组件添加到系统中就可以实现系统的扩展,在系统中由于采用如:
Struts、AJAX等当前最新的技术,恰当的使用,在性能上会有显著的提高,而且由于Struts、AJAX等技术已经相当的完善所以在可靠性上也有可靠的保障。
1.3.3其他重要问题
(1)业务规则是支持企业决策,影响或控制企业业务行为的指示,它是企业处理业务过程中始终要遵循的规则,而工作流则是根据业务规则制定的实际应用当中需要流转的程序。
在系统的编制过程中将严格遵守业务规则和根据业务规则制定的工作流程,在系统
的编程中业务规则是一条语句,它定义或约束业务的某些方面。
其目的是对业务结构做出断言,或者对业务行为施加控制和影响。
在xxx系统中,系统通过对工作流和业务规则的使用,对xxx的生命周期进行管理,从xxx到xxx都有明确的程序遵循。
(2)系统采用标准的SOA架构进行设计,通过组件的开发、组件的组装、系统的集成形成了基于SOA进行设计的完整的xxx系统体系架构;在应用系统开发上,应用了基于J2EE的标准技术,如Struts、AJAX、Hibernate等标准技术和标准架构,开发时通过制定严格的开发规范,并通过严格的项目管理和实施方法来规范程序员的编码规范,提高系统的可维护性;在数据建模时也会采用基于标准的扩展的数据模型构建方法,在数据交换、系统接口等领域也基于国家数据交换标准进行设计与开发;在系统的整体设计开发实施维护过程,都将基于国际国内的主流标准进行。
(3)由于系统是根据标准架构和分层编写而成,对于想增加工作流程或者业务规则的情况,系统也可以很容易的进行扩展,如在系统中加入的新的业务规则只要在层次上分清属于系统的哪一层次,在系统的层次中新加入组件就可以很方便和容易的对系统进行扩展。
(4)在系统中,复用是减少代码量和代码可读性一个必须要考虑的问题。
需要用到的重复代码需要编写可复用的方法,对接口的定义需要考虑到相同功能中所有的问题编写可复用的接口,公用的类也可以做到复用,对于收费子系统来说,该子系统就可以达到的复用的功能。
1.4主平台解决方案
主平台担负着整个系统运转的枢纽工作,主平台的设计必须在安全、稳定、高效的规则
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通用 软件 研发 项目 实施 解决方案 word