系统技术架构

上传人:pu****.1 文档编号:500866034 上传时间:2022-10-29 格式:DOCX 页数:12 大小:216.28KB
返回 下载 相关 举报
系统技术架构_第1页
第1页 / 共12页
系统技术架构_第2页
第2页 / 共12页
系统技术架构_第3页
第3页 / 共12页
系统技术架构_第4页
第4页 / 共12页
系统技术架构_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《系统技术架构》由会员分享,可在线阅读,更多相关《系统技术架构(12页珍藏版)》请在金锄头文库上搜索。

1、1.1. 系统技术架构1.1.1. 总体架构广东网通 BSS 系统重构项目的主要技术目标包括提高应用系统的可重用性 和流程的可配置性,以解决在业务快速变化的市场环境下,如何保证业务支撑软 件及时交付高质量的软件版本,同时尽量降低业务软件的重复性开发工作量。为了满足日益复杂的业务需求,确保能够在第一时间里推出市场所需的服 务、并且业务支撑系统的改动量最小,我们建议在系统中采用 SOA 架构。SOA是从企业的需求开始,把IT系统和商业流程连合在一起,以服务集成 形式实现新的而又灵活的应用功能。SOA简化了 IT,让IT变得更有弹性,以便 更好地发展和优化业务流程,从而促进企业与合作伙伴的业务需要,

2、也使供应商 和客户之间动作流程的端到端整合,让企业可以快速灵敏地响应客户和市场不断 变化的需求。SOA 能够加强对整个企业架构的控制能力;并且由于具有高级别的重用性, 有助于提升开发效率,加快开发速度;采用只需少量改动的核心企业级 IT 应用, 让运营企业和厂商只需优化基于标准技术的 IT 技能,从而降低了在客户化和人 员技能方面的投入,从而节约了成本。以 SOA 在基础,结合功能和非功能性需求的考虑,我们对广东网通 BSS 系统给出如下的系统架构:皐觀史构艮肪务消费者SorvicGS服务提供者朋务导问企业I基础企业外部越统在系统架构中,不同的功能可以被分为纵横几个不同的层次,基于底部的是 服

3、务的提供者,上面则是服务的消费者:资源层指系统已经存在的程序资源,例如网元操作平台、银行系统等外部系统,以 及BSS系统自身的数据等。组件层在这一层中用不同的组件把底层系统的资源封装起来。服务层在这层中用底层功能组件来构建所需要的不同功能的服务。商业流程层在服务层之上为商业流程层,在这一层中我们利用已经封装好的各种服务来 构建商业系统中的商业流程。流程是可以组合的,一个流程可以作为另一个流程 的子流程使用,更好地提供了流程的重用性及灵活性。纵向贯穿系统的是集成架构和基础架构,集成架构的核心为企业服务总线 (ESB);而基础架构则为整个SOA系统提供一些辅助的功能,例如服务质量 管理,安全管理这

4、一类的辅助功能。将体系架构映射到J2EE的技术平台上面,可以得出如下的模型:这是一个扩展的J2EE架构实现,表示层的内容可以运行在WEB容器之上, 商业流程、服务层、组件层的内容则会运行在EJB容器之上,基础架构的安全, 管理及监控也会实现成 EJB 容器之上的服务,而一般来说,现有的应用服务器 都可以提供企业服务总线的功能。这个实现除了支持Web应用之外,还支持J2EE的远程客户,具有远程EJB 的分布式应用,以及其它类型的客户端。该体系结构在WEB层(或者是其他远 程客户)与业务对象之间使用 RMI,WEB 层通过业务接口和业务委托来远程访 问业务逻辑会话EJB,业务逻辑处理数据,然后业务

5、逻辑会话EJB通过DAO访 问数据存储,也就是把数据持久化。这种架构的最大好处是通过一个中间层来支 持所有的J2EE客户类型;还允许各种构件在不同的物理服务器上分布;这样给 应用实现最大的可伸缩性, EJB 容器为远程客户提供一个综合性接口。1.1.2. 表示层Web界面及Web服务接口这一层用来与用户交互,并把来自系统的信息显示给用户。 J2EE 使用 JSP/Servlet 技术支完成这一层的任务。这里,我们引入 JSF、JSP 标准标记库和 AJAX 技术,应用框架采用改进过的 Struts2。Web服务接口标准(比如SOAP)不再要求使用RMI和EJB来支持远程客 户,从而使客户的远程

6、访问不必使用EJB接口。传统的Web服务接口运行在同 一个Web容器中。使用SOAP基于XML,并且是自描述的,这样的服务标准具 有跨平台性,支持J2EE客户之外的客户,比如日后的电话语音订货系统与互联 网系统等应用。Web服务传输协议运行在HTTP上面。1.1.3. 接入服务统一接入平台对于其它类型的客户端, BSS 系统构建统一接入平台,为其提供服务。建统 一接入平台包含了接口连接管理、接口逻辑管理和接口服务三部分:接口连接管理:提供接口接入处理完整的管理功能,在接口连接管理中 包含了传输管理、通讯服务、负载均衡、动态配置管理、网络调度等功 能; 接口逻辑管理:提供了和接口业务相关的数据管

7、理、优先级管理、交换 分发和完整性管理等功能;接口服务:是对BSS系统服务层提供的商业流程封装后提供给对端系统 的相应服务,以阻断对端系统和业务层的直接通讯,同时安全高效的支 持外围接入服务。1.1.4.表示层业务接口业务对象对外暴露为EJB,在Web组件层与业务对象之间使用RMI (远程 方法调用,当然,远程方法调用的通信细节由容器来实现并隐藏),为了减少远 程调用的性能开销,系统架构采用常用的设计模式业务接口和接口实现业务 委托来处理对远程 EJB 的访问。另一方面,由于 EJB 对象的查找及实例化是相 当消耗系统资源的,业务接口可以缓存 EJB 对象的远程句柄,这样节省了查找 和实例化的

8、时间,从而提高系统的性能。1.1.5. 逻辑层业务逻辑 EJB这一层处理应用的核心业务逻辑。所有的业务组件都实现为 EJB 容器内的 Stateless Session Bean组件。EJB容器提供了业务组件生命周期管理、多线程调 度、同步处理、事务管理和资源分配等,这样业务组件只需要专注于业务需求的 实现即可。由于业务逻辑都集中在 EJB 组件实现,而客户端只用来与用户的交 互,这样保证了业务逻辑的统一。如上所述, J2EE 结构中的逻辑层,对应于我们系统架构中组件模型的组件 层、服务层及流程层,也就是说,我们将使用 EJB 去实现组件、服务及流程。首先,我们使用EJB去封装后台数据库的数据

9、对象(通过DAO去访问数据 库),由于系统涉及到多个数据库,这样可以使上层的应用忽略了数据的来源, 并且提供了基本的事务功能。在封装数据对象之后,我们同样使用 EJB 去实现一些基本的服务功能,这 些 EJB 的粒度将会比较细,只完成单一的功能,如客户资料查询等。最后,我们再使用EJB,将细粒度的服务组件按商业流程连合在一起,完成 更完整的流程。在设计的理念上,流程是可以组合的,一个流程可以作为另一个 流程的子流程使用,更好地提供了流程的重用性及灵活性。甚至在发展到一定的 程度后,可以引入工作流引擎,如BPEL,通过描述的方式去定义一个工作流程, 从而使整个商业过程灵活可配置,面向业务人员。1

10、.16逻辑层一一规则引擎使用规则引擎(如:ILOG),可以在原有的业务逻辑层中抽取出业务规则层,一方面实现应用逻辑与业务逻辑松散耦合,使系统能够在用户期望的时间规定内 完成业务需求功能;另一方面从体系架构上保证业务规则层能够在BSS系统的 各个功能模块中具备业务编辑配置能力。规则管理系统功能主要包括一下模块:1. 规则的设计与编辑模块2. 规则调试分析模块3. 规则管理模块4. 规则执行模块如下图所示,期则博执计即.魁则加本揑制使用ILOG规则引擎,可以较大程度的提高系统的灵活性,不过,使用ILOG 规则引擎也会导致程序性能有一定成都下降,这是因为程序每次执行前都需要访 问规则库,并进行规则比

11、较。另外,使用ILOG规则引擎也会在一定程度上增加 操作复杂性,这是因为要进行规则配置。因此,ILOG建议应用在规则变动较频繁,而且可以通过灵活配置而不修改 程序可以实现的模块。ILOG 建议应用在规则变动较频繁,而且可以通过灵活配置而不修改程序可 以实现的模块。1.1.7. 商业流程工作流引擎流程做为 SOA 世界中重要的概念,有个方面的问题可以关注,一是业务流 程的建模,是指使用流程进行建模反应业务需求。 二是工作流的应用,其实工 作流是前者的一个子集,强调人机交互,人工干预流程 (通常是长流程)。 而业 务流程中是可以没有人工干预的,其中一种观点就是,将商业逻辑用规则引擎管 理,这样人干

12、预的节点越少,做为企业来讲,流程的效率越高,从中获取的商业 利益也越大。在这个领域,工作流管理的概念在前,其标准 WFMC 也经历了很长时间, 但一直没有得到很好的应用和推广。而是近几年随着 SOA 概念的推广, OASIS 的 BPEL 越来越多的被关注, 现在版本是2。0。BPEL的全称是WS-BPEL。这个标准是基于WebService的。所采用的引擎是否一定要实现某某规范和标准值得探讨,因为当前流程这方 面的标准规范存在的太多,也没有一个强势的标准(最强势的现在来看也是 bpel 了)。但从功能上,流程引擎(或者扩展后的流程系统)需要支持下面几种要求: 图形化的流程定义。能够 API

13、灵活易用。流程容易开发。 清晰的流程概念和运作方式,一定要具有人机交互能力。 ( 角色,权 限相关联) 支持流程的热部署。 提供灵活的扩展方式,良好的和外部系统/模块的交互能力(本地代码 交互和分布式的系统的交互)。 如果做为模块,能够易集成。 完备的文档及其他可寻求的帮助方式以上几点依次从流程分析定义,流程开发,流程部署,流程运行期和外部的交互, 如何集成等几个方面进行考虑。大概比较一下基于 BPEL 的引擎和 JBPM BPEL优势 符合最流行的流程标准规范。 适于大规模编程,集成特性好。 良好的图形设计工具。 是 SOA 重要的组成部分。 劣势 比较复杂,或者说很复杂。需要非常了解 BP

14、EL 标准。(如何利用 bpel 设计流程?) 一定要熟悉 webservice 的开发和其相关的标准。注意: 以上两项如果有现成的封装并且团队中已经有人熟悉问题也不大。 依赖特定引擎实现 本地代码交互。 依赖于特定的引擎实现人机交互。 JBMP优势 简单易用的编程模型。做为模块容易集成。也可设计成子系统。 其概念模型也很清晰。 良好的基于 eclipse 的图形设计工具。 ( 易用性强 ) 很灵活。 可以方便的测试流程设计 ( 脱离数据库运行 ) 。 易于扩展。 内部已有比较好的研究。相关社区比较活跃。 劣势 不是标准 (jbpm 有一个子项目支持 bpel) 在大规模集成方面不如 BEPL

15、 相关实现。无论是采用哪种实现方式,最好都能了解流程设计的 pattern, process design pattern 是流程设计中常用的一些场景,可做为原子组合成复杂的场景。 对日后 快速建模提供相应支持。1.1.8. 资源层一一DAO这一组件用于处理存贮系统的数据。业务组件通过调用DAO组件实现对数 据库的操作。 DAO 实现了用来操作数据源的访问机制。数据源可以时 RDBMS, LDAP,File等。依赖于DAO的业务组件为其客户端使用DAO提供更简单的接 口。DAO完全向客户端隐藏了数据源实现细节。由于当低层数据源实现变化时,DAO向客户端提供的接口不会变化,所有该模式允许DAO调整到不同的存储模 式,而不会影响其客户端或者业务组件。重要的是,DAO充当组件和数据源之 间的适配器。获取俺改Value Object使用数据访问服务层之后,BSS系统实现了几个重要的效果:透明性业务对象可以是使用数据源,而无须了解该数据源实现的具体细节。访问是 透明的,原因是实现被隐藏在DAO的内部。更容易的迁移DAO层使应用程序更加容易地迁移到一个不同的数据库实现。业务对象不 了解低层数据实现。因而,该迁移只

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号