@自定义后台服务 @自定义服务 @二次开发服务 @服务开发 @Java

O2OA提供让开发者修改或者编写后台Java代码来提供额外的数据或者业务逻辑服务的模式,有效地保证了系统的整体业务适应能力和服务的灵活性。本文主要介绍O2OA系统自定义工程的创建和开发方式。

一、开发环境

  1. JDK 11
  2. maven V3.5+ maven配置建议引入阿里的maven仓库

  1. 运行环境 o2server V6.1及以上

二、搭建工程及配置

  1. 工程模板下载:https://git.o2oa.net/o2oa/o2custom-sample/-/archive/master/o2custom-sample-master.zip
  2. 解压o2custom-sample-master.zip,然后重命名文件夹名称为自己业务相关的名称(如:o2custom-sso)
  1. 打开系统命令窗口(cmd),进入到2步骤的文件夹,然后执行mvn install(第一次需要下载很多依赖包比较慢),直至BUILD SUCCESS。
  2. 使用idea或者eclipse导入工程(eclipse导入之前先执行mvn命令:mvn eclipse:eclipse)
  1. 工程目录解析:
    • store目录存储mvn install命令后打包的war包和jar包,其中x_base_core_project.jar包为系统包,不能删除(打包时需要)
    • x_program_center目录打包时生成,可以直接删除;
    • x_sampleproject_assemble_control为业务应用工程,所有业务代码都写在这里;
    • x_sampleproject_core_entity为实体类工程,如果业务不需要与数据库交互可以删除此工程。

  1. 修改工程名称及配置:
    • 根据业务修改工程名称中sampleproject的名字,这里修改为sso
    • 修改所有pom文件中的工程名称

    • 修改类包的sampleproject名称为sso

    • 修改x_sampleproject_core_entity类名称为x_sso_core_entity,并修改该类中的sampleproject名称为sso

    • 修改x_sampleproject_assemble_control类名称为x_sso_assemble_control,并修改该类中的sampleproject名称为sso

    • 最后再用maven命令或者工具进行mvn install,直至success,这样新的工程就搭建完成了。


三、业务开发

  1. 如果有自己的业务数据需要存储,那首先需要定义实体类,实体类是与数据库表映射(o2oa是通过openjpa与数据库交互,表会通过实体类在工程第一次启动的时候自动创建的,无需手工创建),可以拷贝或修改SampleEntityClassName类,然后添加自己的业务属性

  1. 添加或修改实体类后,需要在x_sso_assemble_control类的containerEntities中添加或修改对应的实体类,多值逗号隔开

  1. 业务接口开发,后端业务统一提供restful接口,业务模块在com.x.sso.assemble.control.jaxrs下开发,现在有示例sample模块,根据需要修改名称或添加模块,然后修改或增加action类Anonymous
  1. 权限过滤配置,根据业务需要定义接口是否需要权限访问,JaxrsServicePathFilter需要权限访问,AnonymousJaxrsServicePathFilter不需要权限访问,把业务地址配置到相应类中

  1. 获取当前登录用户及用户组织查询

  1. 应用模块配置文件,应用定义的配置文件同平台配置存放在o2server/config下,配置文件名称为custom_开头的.json文件

  1. 第三方jar包使用,开发过程中需要引入平台不存在的第三方jar包在pom文件引入即可,部署的时候需要把额外引入的jar包放到o2server/custom/jars目录下,但V6.4及以上版本把额外的jar包放到工程的ext目录即可,部署的时候不需要再把包放到o2server/custom/jars目录下

四、部署

通过mvn install命令打包,打包后会生成war包和jar包到项目的store目录下,war包部署到o2server/custom下,jar包部署到o2server/custom/jars目录下,项目如果有通用帮助类需要在前端脚本(如服务器管理的接口脚本)使用,可以打包成jar包部署在o2server/custom/jars目录下。

应用包部署也可以通过web端部署,管理员登录平台进入系统设置——系统部署——服务部署,先部署custom的jar,再部署custom的war,部署好后需要重启o2server。

部署成功与否可以访问http://*:20030/x_program_center/jest/list.html检查api列表中是否有部署的模块(需管理员登录o2server),如:




推荐文章:

Docker镜像构建并启动
2021-07-09
一、创建Dockerfile文件在Linux服务器目录下,创建Dockerfile文件,示例代码如下:#自定义Docker-O2OA镜像#基础镜像FROMcen
开发知识-Vue篇:使用Vue-CLI开发O2应用
2021-04-29
  Vue-CLI是Vue官方提供的CLI工具,用于为应用快速搭建繁杂的脚手架。本章我们介绍使用Vue-CLI工具在Node,js环境下,Vue和O2集成应用开
开发知识-Linux非root用户如何使用80端口启动O2OA
2021-02-07
普通用户:whs下载o2server在普通用户自己的目录中创建一个data目录,命令:mkdirdata。进入data目录,下载o2server的zip包。命令
服务集成-通过接口启动一个新的流程实例(工单)
2021-03-02
O2OA允许用户自行修改源码或者增加源码来扩展系统服务,也可以包装功能更强的业务服务。本文主要介绍如何在Java代码中通过接口从第三方应用系统启动O2OA中的业
RPM打包-将O2OA打成RPM安装包
2021-08-03
@源码打包@RPM打包@O2OA@rpm安装包在国产可信环境一般不允许对服务器进行文件上传解压安装,这时,我们需要把O2OA打包成符合要求的RPM安装包,通过可
平台维护-待办待阅数据的查询操作和管理
2021-02-26
O2OA提供平台数据维护应用,用于对平台应用类数据的维护操作,用户可以在应用市场选择安装平台维护应用。本篇主要简单介绍系统待办、已办、待阅、已阅数据的查询和维护
源码使用-使用Eclipse导入o2server源码
2021-03-15
O2OA是真正全代码开源的应用开发平台,开发者可以直接使用从github或者gitee上clone的源码编译成安卓客户端,代码可以修改,安全可靠,无限制。本文主
Custom应用前端代码编译
2021-03-15
O2OA允许用户对服务进行扩展,可以修改原来的代码,但是我们更推荐用户增加新的war包,jar包,根据O2OA的源码结构新增服务和应用来进行业务的扩展。本文主要
平台维护-使用Web端运行服务器管理命令
2021-03-09
平台提供web管理端方便快捷查看服务器当前状态,同时方便管理服务器。实现平台的易用性。本篇主要介绍如何使用浏览器访问系统查看集群运行日志以及运行服务端命令。
用车管理使用手册
2021-03-16
O2OA平台应用市场提供了用车管理模块,用户可以直接从应用市场下载并安装模块,满足企业用车管理相关关的业务需求。本文主要介绍用车管理的下载安装以及设计相关说明

results matching ""

    No results matching ""