随着Internet的普遍应用,越来越多的企业选择基于Browser/Server结构的Web企业应用。目前,可供选择的主流Web开发技术路线有两条,一条是以SUN公司为代表的JAVA技术路线,另一条是微软.NET技术路线。但是,不管选择哪条技术路线,都不得不抛弃过去多年来在传统开发平台上所积累的代码和经验,并面临着一系列的风险和挑战。由于Web应用技术和传统的Client/Server结构的桌面应用有天壤之别,因此,在B/S结构的开发中将遇到以下技术难题:
- ● 网络远程传输与通讯
● 网络安全
● 网络稳定
● 远程访问的效率
● 交易处理
● 事务处理
● 消息机制
● 大型协同开发环境下的错误捕获和调试处理
● 大规模并发用户和应用群集
● 数据库访问
除此之外,应用系统开发架构的设计和技术路线的选择还面临以下问题:
● 如何保证大规模开发过程中的软件工程管理、效率和成本?
● 如何在最短的时间内建立起开发应用平台?
● 网络稳定
● 如何尽可能的保护和延续以往的开发和培训资源/人力资源?
● 如何在开发体系中形成更好的共用和开放环境,以适应大型项目并逐步形成未来企业新的资源?
● 如何以最低的程序员人力成本和培训成本来适应项目开发中越来越激烈的竞争?
|
开发一套以B/S结构为基础的高效灵活的WEB应用开发平台,很好的解决上述系统关键技术和难题,是未来高效和低成本开发大型应用系统的关键。
HAN-EAP是汉普研发的基于Internet环境下面向WEB的企业应用开发平台。
■ 平台技术架构
汉普HAN-EAP采用了Oracle ADF,Spring,Hibernate等开源的技术组件/模块,并进行了深度的增强开发,形成一套完整的面向WEB的企业应用开发平台。

HAN - EAP平台技术架构示意图
数据访问层介绍
- ● 采用Hibernate3技术
● 业务对象和数据库一一对应
● 封装JDBC底层操作细节
● 提供统一接口方式,规范数据访问 |
业务逻辑层介绍
- ● 采用Spring2.5
● 使用IOC(控制反转)技术
● 所有对象采用配置方式加载,增加系统的可维护性和扩展性
● 基于面向方面的编程,系统架构中包含了商业系统中需要的基本业务模块
|
表现层介绍
- ● 采用Oracle ADF Face10_1_3_0_4
● 基于JSF技术
● 基于事件编程的开发方式,对页面的逻辑控制更方便
● 使开发人员不需要太多关注HTML和Javascrip的编程
● HTML TAG和JAVA代码严格分离
● 统一的页面布局
|
■ 平台技术特性
对Internet的良好支持
-
● 最小流量的设计技术
平台提供数据缓存、分页查询和数据压缩等网络流量控制技术,保证系统在Internet上网络带宽比较小的情况下能够流畅运行。
● 基于AJAX的局部查询
平台使用了AJAX技术,客户端与服务端的数据交换采用JSON对象进行;AJAX的页面局部刷新大大减少了浏览器和服务器之间的数据交互。
● HTTP Tunnel技术
其他协议到HTTP协议的转换,使系统支持Internet直联的C/S结构,不需要VPN等服务,降低系统远程部署和维护成本,同时使平台以后支持基于浏览器的Rich Client
|
支持多种操作系统和应用服务
-
●
Java的跨平台使HAN- EAP能够在目前流行的操作系统上运行。包括Sun solaris 9,IBM AIX 5.3,Linux ADS,Windows,HP-UNIX等。
● 平台支持在 Tomcat,Oracle iAS,JBOSS,BEA Weblogic等应用服务上部署。
|
支持多种数据库
-
● 采取OR Mapping的数据访问技术,通过数据实体对象来访问数据,屏蔽了客户端对于数据库的直接操作。基础平台的OR Mapping框架根据元数据实现对象与数据之间的映射,需要增加对新的数据库系统的支持时,只需要在OR Mapping框架中实现对新的数据库系统的映射,原有的软件系统基本上不需要进行改动。
|
集成工作流引擎
-
● 平台集成了JBPM工作流引擎,支持直流、分流、条件流、并发流、任务自动转发等流程模式,提供流程定义、流程监控、邮件催办、手机短信催办等功能。
● 平台的工作流引擎与业务功能在业务上的紧密集成,任何业务功能都可以被工作流系统纳入到业务流程管理的范畴中,实现了业务逻辑和业务流程的统一。工作流引擎与业务系统的紧密集成,使用户能够通过统一的工作平台以流程化的方式来处理各项业务。
● 平台的业务功能对工作流引擎在开发上的低依赖。工作流引擎能够使业务功能脱离工作流的单独开发,使业务开发人员能够更专注于业务逻辑。同时基于业务流程的轻松部署和简单开发就能实现业务功能的流程处理。 |
全面的扩展性
-
● 数据实体的扩展性
平台提供了对数据实体的基本操作,例如数据实体对象的新增、修改、删除、查询和集合操作,数据完整性检查和维护,以及对数据实体对象之间引用关系的处理。
● 用户界面的扩展性
平台提供了快速设计单据、报表、菜单等用户界面的功能,可以使用平台提供模板操作来完成大部分的用户界面功能。平台的运行时框架组件提供调用扩展组件以改变单据、报表等用户界面的预设操作,或增加特定业务处理逻辑的能力。
● 业务逻辑的扩展性
通过定义数据实体的属性可以实现层次结构、级联删除等基本业务逻辑,通过数据实体的扩展机构可以实现附加的业务逻辑,平台同时提供编写业务逻辑层组件实现业务逻辑的扩展机制。业务逻辑层组件部署于服务端,可以通过操作数据实体或调用数据访问对象来操作数据,实现复杂的或特定的 |
■ 平台商业特性
先进的产品功能
-
● 先进的集中式应用模式
平台开发的软件系统打破了传统的部门独立和地域分散的限制,通过Internet将多个组织机构连接到一起,实现了多个组织机构的集中式应用模式。
● 完善的协同办公和工作流程管理功能
平台集成了工作流引擎,而且工作流引擎与业务功能紧密集成,实现了业务逻辑和业务流程的统一。平台还集成了短信平台、邮件管理等功能,能够开发完善的协同办公和工作流程管理功能。
● 良好的易用性
平台使用目前业界最新的录入控件、报表控件、图表控件,而且严格遵守Windows界面规范和人机工程规范,因此具有良好的图形用户界面,易于学习、理解和使用。
● 良好的扩展性和可维护性
平台的软件系统有良好的扩展性和可维护性,能够快速地对现有产品功能进行调整或开发新的产品功能,使软件系统能够充分满足不同用户的个性化需求,同时软件系统能够根据用户业务的发展不断地进行扩展和完善,满足用户不断发展的信息化需求。 |
稳定可靠的产品质量
-
● 减少源代码的数量
平台基于模型驱动的设计思想,提供数据实体设计工具、界面设计工具、业务流程设计工具和系统发布工具,能够极大程度上降低源代码的数量,避免“代码越多、错误越多”的问题。
-
● 避免结构性缺陷
平台基于良好的技术架构,能够避免由于软件系统结构方面存在的缺陷导致的产品质量问题。平台集成了诸多的管理软件基础结构,例如对于互联网直联的支持、对多种数据库的支持、集成的工作流引擎等,能够保证基于平台开发的软件系统有良好的稳定性。
● 提供稳定可靠的标准组件
平台集成了大量稳定可靠的标准组件,能够降低用户的开发工作量,同时保证产品质量。
|
低廉的开发、部署和维护成本
-
● 缩短开发周期、降低开发成本
平台先进的技术架构和成熟的软件基础结构,能够缩短软件系统的开发周期,降低开发成本和风险,实现软件系统的快速开发。
● 降低维护成本
平台模型驱动架构保证了软件系统有良好的扩展性和可维护性,同时平台还提供完善的配置工具和升级工具,能够很大程度上降低软件系统的维护成本。
● 降低客户的部署和使用成本
平台开发的软件产品支持互联网直联,不需要使用VPN等终端服务技术。同时产品有良好的性能以及“最小流量”的设计技术,对于服务器的硬件配置和网络带宽的要求比较低。由于部署方式非常简单而且成本比较低,因此能够降低客户的部署和使用成本,充分适应不同类型和规模的客户的应用需要。
|
|