一种基于JavaEE技术的软件架构设计及实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2007年8月第21卷第4期

装甲兵工程学院学报

Journal of Acade my of A r mored Force Engineering Aug .2007

Vol .21No .4

文章编号:167221497(2007)0420062204

一种基于Java EE 技术的软件架构设计及实现

崔伟宁 余立新

(装甲兵工程学院信息工程系,北京100072)

摘 要:介绍了基于Java EE 软件架构ESI P 的设计和实现。ESI P 服务器端采用Java EE 技术,应用中间件提供大量的服务,客户端采用插件机制,方便系统的扩充,形成从服务器端到客户端的完整的解决方案。分析了ESI P 的安全性。实际应用验证了ESI P 软件架构是开发大规模复杂软件的一种有效途径。关键词:软件架构;Java EE;中间件中图分类号:TP31115 文献标志码:A

D esi gn and Rea li za ti on of a Software Arch itecture Ba sed on Java EE

CU IW ei 2ning Y U L i 2xin

(Depart m ent of I nf or mati on Engineering,Academy of A r moured Force Engineering,Beijing 100072,China )

Abstract:This paper intr oduces the design and realizati on of a s oft w are architecture na med ESI P which is based on Java EE technol ogy .On the server side,ESI P uses Java EE,thr ough m id 2ware p r ovides many services .On the client side,it uses the p lug -in mechanis m ,which can extend easily .A ls o this paper analyses the security of ESI P .By several p r oducts based on ESI P,this paper de monstrates that ESI P is an effective way used t o devel op large scale and comp lex s oft w are p r oducts .Key words:s oft w are architecture;Java EE;m id 2ware

收稿日期:2007206210基金项目:军队科研计划项目

作者简介:崔伟宁(1977-),男,山东诸城人,讲师,硕士.

传统的C /S 、B /S 软件架构在解决具体问题时分别体现了各自的优越性,得到了广泛的应用

[1]

。但随着软件规模越来越大、复杂程度越来越高,逐渐显现出其局限性。许多学者转向研究其他软件架构,例如面向服务的软件体系架构[2]

和软件复用技

[3-4]

。笔者结合成熟的软件技术,研制开发了一

套基于Java EE 的软件架构ESI P,提供了从服务器端到客户端的完整解决方案,大大提高了软件生产的效率,提高了软件的可靠性,能够适应不同应用的需要。基于此架构已成功开发了几套软件产品。本文主要阐述ESI P 的设计思想和实现过程。

1 ES I P 简介

ESI P 全称为Equi pment Support I nfor mati on

Platfor m (装备保障信息平台)。ESI P 的设计目标是

为装备信息化建设建立一个通用的、扩展性好的平台,通过平台基本服务层,利用中间件技术和插件技术,为开发人员提供丰富的二次开发接口,为用户提供优秀的软件产品。

在设计ESI P 软件架构时,考虑了以下因素。

1)可扩充性、可维护性。可扩充性包括2个方面:一方面指软件模块的可扩充,能够很方便地扩充新的软件功能;另一方面指系统本身的可扩充性,能够支持大规模、高并发的访问,支持集群等。可维护性则要求能够根据客户需求变化进行快速的升级和改进。

2)组件复用。包括2个方面:服务器端的组件复用和客户端的组件复用。服务器端组件能够支持

 第4期崔伟宁等:一种基于Java EE 技术的软件架构设计及实现

远程客户端访问、服务器端本地W eb 层访问,客户端组件能够相互调用和通信,方便集成。为此,采用了中间件技术和客户端插件技术来达到组件复用的目标。

3)访问方式。可以通过网络远程访问,也可以在本地以单机模式访问,满足不同应用环境的需求。网络访问时能够跨广域网进行访问。

4)安全性。支持良好的用户、权限管理,以及支持常见认证体系(如PKI )、SS L 加密传输等。首选采用LDAP 认证技术实现用户和权限管理。

5)用户界面及数据接口。能够支持不同方式采集的不同格式的数据,支持不同风格的用户界面,例如基于浏览器的瘦客户端和具有丰富用户体验的富客户端。

基于上述考虑

,考察了2种流行的技术和框架

结构:基于微软.NET 技术的软件体系[5-6]

和基于

Java EE 技术的软件体系[7-10]

。通过比较,选择了Java EE 技术作为ESI P 的技术基础。Java EE 是J2EE 的升级和发展,引入了新的技术和规范,简化了开发和部署,符合ESI P 的发展要求。2 ES I P 体系结构

ESI P 总体结构如图1所示。其中,数据服务层

隐藏了对不同数据库的支持,并对平台服务层提供统一的数据访问接口。平台服务层提供基本的服务,可运行在Java EE 环境或单机环境中,形成应用中间件。接口层主要对硬件和其他系统提供数据转换服务,界面层为用户提供交互界面。通过平台服务层和数据服务层,隐藏了对后台数据库的直接访问,并且这2层可以采用集群、负载均衡等技术,实现系统的扩充。

图1 ESI P 总体结构

当ESI P 以网络方式运行时(采用JBoss 作为Java EE 服务器),结构设计如图2所示。

从图2可以看出,此体系架构有如下特点。1)充分利用了Java EE 体系结构的优点,集成了多项Java EE 服务,从而简化服务器端开发,方便客户端调用。例如应用中间件的自动发布、数据库连接池支持、事务处理支持等。

2)支持W eb 瘦客户端和富客户端2种访问方式,满足用户在不同环境下的应用需求。通过应用中间件,为W eb 客户端和富客户端提供一致的访问接口,避免了技术实现上的差异。

3)业务逻辑和界面实现分离。从图1和图2可

以看出,界面层只是用户与系统的一个交互接口,所有业务逻辑都在平台服务层借助数据服务层实现。在具体实现时,采用了EJB3.0和H ibernate 关系对象映射技术,方便了开发和部署。

4)完善的安全机制。采用Java EE 安全机制,所有数据访问都处在受控的访问上下文中,数据库可以隔离在内部网络,客户端只能通过平台服务层进行访问,避免了潜在的安全隐患。

从图2可以看出,ESI P 在服务器端全面采用了Java EE,包括应用程序服务器、W eb 服务器等,充分利用了Java EE 技术的优势,大大简化了开发和部署的工作量。

3

6

相关文档
最新文档