什么是Openl Tables
Openl Tables 是一个开源的规则引擎,大部分规则都可以通过Excel编写。Openl Tables提供了Webstudio来快速编写管理规则,并提供了一键部署到WebServer 服务,生成规则对应的SOAP和RestFul风格API。
官方网站:http://openl-tablets.org/
GitHub: https://github.com/openl-tablets/openl-tablets
安装
通过tomcat安装
通过Tomcat 安装,数据库选择MySql为例:
- 安装tomcat:
tomcat的安装这里就不说明 - 下载 war 包:
war包下载地址:https://github.com/openl-tablets/openl-tablets/releases
下载如下最新的两个war包:
openl-tablets-ws-x.xx.x.war
openl-tablets-webstudio-x.xx.x.war - 安装MySql数据库,并随便新建个库,例如叫:openltablets
- 启动Tomcat,并添加mysql驱动包
因为刚下载的两个war包,默认都不带有mysql驱动的jar包,所以我们需要自己去下载mysql对应的jar包,下载地址:https://dev.mysql.com/downloads/connector/j/。 下载完后获得到一个
:mysql-connector-java-5.1.45-bin.jar 的jar并把该文件复制到:\webapps\webstudio\WEB-INF\lib 和\webapps\WServer\WEB-INF\lib 下。
注意:webstudio和WServer为你第二步下载到的war包并放入tomcat的webapp中的war包名
- 重启tomcat
- 打开webstudio,并做配置
浏览器打开:http://localhost:8080/webstudio/,第一次打开会出现如下页面,点击【start】
配置工作文件夹,根据自己系统配置对应位置,例如win 系统你可以设置为c:/.openl,配置完成点击【next】
配置Design Repository 和 Deployment Repositories,如下图配置都是存放本地mysql数据库,配置完成点击【next】
选中用户类型,推荐使用多用户Multi-user,并设置用户存储数据库,最后点击完成【Finish】
自动进入webstudio登录页面,默认账号密码admin/admin
到这位置我们已经完全把webstudio部署完成,但是这个使用时,你会发现webstudio中如果部署一个项目,在webserver上是无法显示,这时我们需要配置webserver服务
- 配置webserver
修改\webapps\WServer\WEB-INF\classes下的 application.properties 文件。
修改如下配置:
ruleservice.datasource.type = jcr
production-repository.factory = org.openl.rules.repository.db.JdbcDBRepositoryFactory
production-repository.uri = jdbc:mysql://localhost:3306/openltablets
production-repository.login = root
production-repository.password = vjm+2dW5aHn7P6W2ChE52g==
vjm+2dW5aHn7P6W2ChE52g==为root密码加密后的密码,你可以打开工作文件夹:.openl\system-settings\rules-production.properties文件查看到该密码
- 再次重启tomcat
快速入门
新建project
REPOSITORY —> Create Project
新建project 可以选择多种模板,也可以导入文件,下面以新建一个tutorials 模板为例:
简单例子
如下是我们刚新建的项目给出的一个简单例子。
- SimpleRules :是关键字,表示这个表格是一个简单类型的规则
- String :是表示这个表格结果返回的是一个字符串类型
- Greeting4 :是规则表格的名字 ,可以随便取名
- Integer hour :表示这个规则表格接受一个整形参数
- Hour和Greeting : 是一个标识符,可以理解成就列的说明描述
- 0-11、12-17…. : 是规则
- Good Morning, World! 、Good Afternoon, World! :是规则运行结果
我们点击Run 按钮,并输入对应的时间:
我们就可以看到我们输入的时间符合哪条规则,获取到哪个结果值,例如下面例子,我输入5,符合0-11 输出Good Morning, World! 这条规则,所以我获取到的Result 也就是 Good Morning, World! 。
部署项目
REPOSITORY —> Project —>选中要部署的项目 —> Deploy
查看生成的API
部署后,我们打开我们的安装好的WebServer服务,就可以看到对应的SOAP 和RESTful 的wsdl文件,打开文件可以查看到对应对应规则的API
调用规则API
我们用postman 根据生成的文档要求,配置好接口参数并调用,获取如下
更多帮助
更多帮助参考官方文档:
http://openl-tablets.org/documentation