Openl Tables --- 安装和快速入门
什么是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并把该文件复制到:<tomcathome>\webapps\webstudio\WEB-INF\lib 和<tomcathome>\webapps\WServer\WEB-INF\lib 下。
注意:webstudio和WServer为你第二步下载到的war包并放入tomcat的webapp中的war包名
-
重启tomcat
-
打开webstudio,并做配置
浏览器打开:http://localhost:8080/webstudio/,第一次打开会出现如下页面,点击【start】
![](https://img.haomeiwen.com/i1992590/e47d4cb5c415c971.jpg)
配置工作文件夹,根据自己系统配置对应位置,例如win 系统你可以设置为c:/.openl,配置完成点击【next】
![](https://img.haomeiwen.com/i1992590/b00317d9a0bc8662.jpg)
配置Design Repository 和 Deployment Repositories,如下图配置都是存放本地mysql数据库,配置完成点击【next】
![](https://img.haomeiwen.com/i1992590/4f3c77626760d2be.jpg)
选中用户类型,推荐使用多用户Multi-user,并设置用户存储数据库,最后点击完成【Finish】
![](https://img.haomeiwen.com/i1992590/cb9564eb322a0be7.jpg)
自动进入webstudio登录页面,默认账号密码admin/admin
![](https://img.haomeiwen.com/i1992590/c8ea3fe03aa5c631.jpg)
![](https://img.haomeiwen.com/i1992590/d9368e5f5790fff9.jpg)
到这位置我们已经完全把webstudio部署完成,但是这个使用时,你会发现webstudio中如果部署一个项目,在webserver上是无法显示,这时我们需要配置webserver服务
- 配置webserver
修改<tomcathome>\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 模板为例:
![](https://img.haomeiwen.com/i1992590/2caa2ad3d03aeee3.png)
![](https://img.haomeiwen.com/i1992590/084eb8860d741f12.gif)
简单例子
如下是我们刚新建的项目给出的一个简单例子。
![](https://img.haomeiwen.com/i1992590/ee4dc522880be720.png)
- SimpleRules :是关键字,表示这个表格是一个简单类型的规则
- String :是表示这个表格结果返回的是一个字符串类型
- Greeting4 :是规则表格的名字 ,可以随便取名
- Integer hour :表示这个规则表格接受一个整形参数
- Hour和Greeting : 是一个标识符,可以理解成就列的说明描述
- 0-11、12-17.... : 是规则
- Good Morning, World! 、Good Afternoon, World! :是规则运行结果
我们点击Run 按钮,并输入对应的时间:
![](https://img.haomeiwen.com/i1992590/da561fa576435402.png)
我们就可以看到我们输入的时间符合哪条规则,获取到哪个结果值,例如下面例子,我输入5,符合0-11 输出Good Morning, World! 这条规则,所以我获取到的Result 也就是 Good Morning, World! 。
![](https://img.haomeiwen.com/i1992590/63758de539f879d6.png)
部署项目
REPOSITORY --> Project -->选中要部署的项目 --> Deploy
![](https://img.haomeiwen.com/i1992590/636ef86efcbc0bb2.png)
![](https://img.haomeiwen.com/i1992590/f9aa8d273b034a8c.gif)
查看生成的API
部署后,我们打开我们的安装好的WebServer服务,就可以看到对应的SOAP 和RESTful 的wsdl文件,打开文件可以查看到对应对应规则的API
![](https://img.haomeiwen.com/i1992590/85ee28054c1c2cd9.png)
![](https://img.haomeiwen.com/i1992590/96aa44ca945b6955.png)
调用规则API
我们用postman 根据生成的文档要求,配置好接口参数并调用,获取如下
![](https://img.haomeiwen.com/i1992590/a1f89722fb22f6e7.png)
更多帮助
更多帮助参考官方文档:
http://openl-tablets.org/documentation
欢迎关注个人公众号:
![](https://img.haomeiwen.com/i1992590/4f10b1af029bc883.jpg)