汉得四海战略之应用开发框架HAP3.0发布

前言

经过紧锣密鼓的开发、测试和试用,大家瞩目已久的HAP 3.0终于发布了!

新特性

1.工作流审批链

为了满足比较灵活的审批人、审批层级控制需求,HAP在activiti基础之上增加了外挂审批链的功能。审批链的修改不要求发布新版本流程,并且会同时影响所有相同标识的流程(包括运行中的流程)

2.可扩展开发模式

为了满足项目中对标准功能的客户化修改需求,HAP引入一种可扩展的机制。(更长远一点,这个特性将会是HAP SAAS 的基础)

该特性允许开发者为标准功能增加一些额外字段,通简单的配置,这些字段就会在增删改查中起作用。

整个机制分为3部分:

  • DTO层:基于接口 + 自动实现的扩展
  • Service层:基于Listener模式的扩展
  • View层:基于XML配置化的定向扩展

3.前端标签化开发

HAP 3正式引入全新的前台界面开发方式:标签化。

标签化并非完全UI,只是另外一种开发方式,底层代码仍然是HAP 2相同的 KendoUI.

这种开发模式更加高效,风格也更容易统一。

同时,这种模式可以非常方便的进行扩展。

4.自定义用户安全策略

现子项目可以自定义实现类,来实现特殊的用户账户控制需求。

目前自定义策略,可以在以下场景发挥作用:

  • 用户登录认证成功以后
  • 用户修改密码时
  • 新建用户时

5.数据导出Excel现在HAP支持使用自定义的SQL来将数据导出excel的功能

基于POI的特性,这个功能可以在有限内存的情况下导出海量的数据(超过100万)。

6.服务端脚本支持

HAP 3提供脚本化编程的支持,本质还是基于JDK8的Nashorn引擎。

并未做过多的封装,只是提供了几个内置的全局对象引用:

  • applicationContextSpringApplicationContext,可以用来获取bean
  • outSystem.out 的引用,用来打印内容到标准输出流
  • logger:用来输出日志的 logger

使用该特性,仅需注入IScriptService,按照API说明调用即可。与此同时,还提供了一个通用的ScriptBasedJob计划任务实现类,可以在不写JAVA代码的情况下添加一个基于脚本的计划任务。

7.接口透传

现在可以在系统中定义第三方接口的调用方式、数据格式,通过 HAP 来间接调用。同时,HAP 可以监控这些接口的调用情况。

8.接口监控

HAP可以对系统中发布和调用的接口进行监控

  • RESTfulcontroller加注解方式
  • WebService(CXF)XML配置Interceptor

9.工作流待办事项通知

现在系统中提供一个示例的通知现实 DemoNotifier。项目上,请参考这个实现来编写自己的通知类。

更新项

  1. 为基础功能中的按钮统一增加图标
  2. 微调了默认的界面风格
    • 增大了输入框高度、Grid 行高
    • 按钮变大,扁平化
  3. 工作流相关
    • 历史流程,现在可以选择查询我参与的流程,我发起的流程
    • 历史流程,现在可以展示最后审批人,审批动作
    • 流程设计,现在发布按钮会有两种状态绿色(需要发布),灰色(不需要发布)
    • 流程设计器,人工任务,现在可以选择系统中的员工,岗位
  4. 现在可以为WebService接口配置用户名密码的认证方式
  5. 员工维护界面,现在可以根据选定的员工创建一个相应的用户
  6. 新用户第一次登录时,要求必须修改密码。员工密码被管理员重置以后,首次登录要求必须修改密码
  7. 计划任务,现在可以看到并可以控制调度器的状态
  8. 发送邮件,现在优先走消息队列发送;与传统的Job方式并存。
  9. 优化了数据库异常信息,仅限以下两类
    • 唯一索引
    • 非空约束
  10. 系统代码增加了排序字段,以方便固定显示的顺序


  • 微信公众号
  • img