快速软件交付平台
一、HihuaJDP产品定位及特点
    凭借多年的软件开发经验及资深的行业背景,一套基于J2EE技术规范的统一软件开发平台—HIHUAJDP应运而生,该平台遵照MVC的体系架构,采用组件化的设计思想,是一套优秀、实用的通用开发平台。
    HIHUAJDP具有如下特点:
    1.轻量级开发框架,遵照MVC的体系架构,便于理解和掌握;
    2.采用面向服务体系结构(SOA)及组件化的设计思想,便于系统的复用和集成;
    3.包含大量通用、实用的组件,并提供了常规业务系统的公共通用模块,可以轻松集成到业务系统之中,大大减轻了系统的开发工作;
    4.提供了配套的开发工具Pgtools,可轻松快捷地生成基于框架的代码,大大提高了开发效率,并且增强了代码的规范性和一致性。
二、HIHUAJDP体系结构
    HIHUAJDP的分层结构图如下所示:


    图:1-1 HIHUAJDP分层结构图
    HIHUAJDP采用MVC Push的架构思想,从分层结构来看主要分为三层,分别是请求接入层(Service Gateway Layer),服务层(Service Layer),数据访问层(DAO Layer),最核心的是服务层,此处是真正处理业务的地方。 请求接入层主要用于接入请求,基于HIHUADPS的应用,浏览器发送过来的请求需要传递一个SERVICE_ID参数,接入层会根据该参数决定调用哪个Service,同时根据配置,决定调用那个Service Render,Service Render会根据Service的执行结果决定转向哪个页面。 接入层里包含些辅助的功能,如参数读入(Parameter Reader)、认证(Authentication)、文件上载(Upload Service)等功能。认证指ServiceGateway根据授权情况决定用户是否有权访问特定的Service,HIHUAJDP支持文件上载,且支持同一表单中同时上载多个文件,在请求转到特定的Service之前,上载工作已经完成了,Service可以直接访问文件上载的统计信息。
    服务层是HIHUAJDP最核心的一层,大部分Service是用户需要自己实现的,开发人员在实现自己的Service时可以复用HIHUAJDP提供的很多组件,简要说明如下:
    1.Ajax:提供不刷新界面的后台程序调用功能
    2.Print Job:Web通用报表功能,集成了专业的报表工具
    3.Archive:基于配置的自动归档功能
    4.XML-DB:基于配置的XML-DB数据交换组件
    5.Excel-DB:基于配置的Excel-DB数据交换组件
    6.Tree Menu:基于配置的通用树型菜单
    7.Rule Engine:基于配置的规则引擎,适用于表单验证
    8.Exception Collection:异常收集
    9.Time Service:基于配置的任务调度功能
    10.Log Service:日志功能
    11.Unit Test:单元测试功能
    数据库访问层提供了基于配置的数据源管理,简单易用的ORMapping工具,及基于配置的SQL管理。
    HIHUAJDP纵向提供了数据通道(Data Channel)和事务(Transaction)。Data Channel提供了一个基于线程的数据传输通道,Transaction提供了基于配置的事务,该事务配置在Service上。
    同时,HIHUAJDP还提供了基于配置的页面生成工具(Generator Tools),该生成工具可以生成常规单表及主从表的维护程序,包括前端JSP页面和后端的Java处理程序及相应的全套配置文件,可大大提高开发人员的开发效率。
三、HIHUAJDP核心功能     HIHUAJDP提供的核心功能包括:
    1. 各子模块单独配置的功能
    2. 基于角色的通用用户权限管理功能
    3. 基于配置的事务功能
    4. 简单实用的O/R Mapping工具
    5. 统一的日志管理功能
    6. 灵活、实用的规则引擎
    7. 基于配置的任务调度功能
    8. 基于数字证书的认证功能
    9. 方便、高效的单元测试功能
    10. 通用的后台校验功能
    11. 基于配置的归档功能
    12. 通用的报表功能
    13. 多文件上载的功能
    14. 统一的分页处理功能
    15. 多线程调度功能
    HIHUAJDP提供的很多功能是基于配置的,如Service、数据库连接、规则引擎、自动归档、任务调度等,具有很高的灵活性。基于HIHUAJDP的开发将是快速高效的,HIHUAJDP提供了很多通用的组件,如文件上载、任务调度、单元测试、多线程调度等,开发人员不必手工编写这些代码,基于框架只需做少许编程即可。
    对于Web应用的打印,HIHUAJDP集成了第三方的报表工具,可以很好地满足报表、单据等的打印需求。