重要声明:第三方系统集成Smartbi时,在大版本变更时可能会对接口、jar包进行改动,可能会导致原本集成系统方法调用异常,所以在做大版本更新时,建议集成系统需充分验证后再上线生产。
一、Java SDK集成环境搭建
1、添加jar包依赖
在第三方系统需要调用Smartbi系统的接口时,需要先添加Smartbi接口的依赖jar,依赖的jar包又分为两种,一种是必选添加的部分,一种是可选添加的,为了避免使用时常出现的类找不到的问题,还需要不断的添加jar包,所以建议是全部添加。
获取Smartbi的依赖jar包可到部署Smartbi的服务器上找到smartbi.war或解压出来的war包文件夹,然后到将smartbi.war\\WEB-INF\\lib\\目录下拿到依赖的jar包文件。所需的jar包参考如下文档。
V11依赖jar包清单:https://wiki.smartbi.com.cn/pages/viewpage.action?smt_poid=43&pageId=111889746
Image Added
2、不同版本jar包获取
由于Smartbi的版本会不断的进行版本迭代,不同版本之间的架构、打包方式都有可能进行调整,所以依赖的jar包可能会随版本变化而变化。并且Smartbi的版本和集成环境的jar包版本如果不同,调用接口时很可能会出现各种报错。所以在集成时一定需要拿到和Smartbi对应版本的jar包依赖。
以V9、V10、V11版本举例,获取需要的jar包依赖步骤如下:
(1)确认Smartbi的版本信息
Image Added
(2)在wiki文档中找到对应的jar包依赖
wiki文档:Smartbi Insight V11 帮助中心首页 - Smartbi Insight V11帮助中心 -
Image Added
(3)在服务器上获取jar包
Image Added
3、maven版本引入说明
目前Smartbi的SDK依赖jar包并未提交到公共仓库,若项目希望可以通过maven来管理jar包版本,则需要自行将jar包添加到自己的maven仓库中,然后再到pom文件中引用。
以Smartbi-SDK.jar为例:
代码块 |
---|
#执行提交仓库的命令,组id和工件id可自定义
mvn install:install-file -Dfile="Smartbi-SDK.jar" -DgroupId=smartbi.sdk -DartifactId=smartbi-Smartbi-SDK -Dversion=V11 -Dpackaging=jar |
代码块 |
---|
<dependency>
<groupId>smartbi.sdk</groupId>
<artifactId>smartbi-Smartbi-SDK</artifactId>
<version>V11</version>
</dependency> |
二、使用流程
1、创建Smartbi链接
代码块 |
---|
|
// 1、指定Smartbi服务器地址
ClientConnector connector = new ClientConnector(SMARTBI_URL); |
2、完成登录
代码块 |
---|
|
// 2、完成登录
boolean isLogin = connector.open(USER_NAME, PASS_WORD);
if(!isLogin) {
System.out.println("服务器登录访问失败");
return;
} |
3、创建接口对象
代码块 |
---|
|
// 3、创建调用的接口对象
UserManagerService userManagerService = new UserManagerService(connector); |
4、接口调用
代码块 |
---|
|
List<? extends IDepartment> department = userManagerService.getDepartmentsOfCurrentUser();for (IDepartment item : department) { System.out.println(item.getAlias());} |
5、示例代码
代码块 |
---|
|
package smartbi.test.thirdparty;
import java.util.List;
import smartbi.sdk.ClientConnector;
import smartbi.sdk.service.user.UserManagerService;
import smartbi.user.IDepartment;
public class SmartbiSDKTest {
private final static String SMARTBI_URL = "http://localhost:18080/smartbi";
private final static String USER_NAME = "admin";
private final static String PASS_WORD = "admin";
public static void main(String[] args) {
// 1、指定Smartbi服务器地址
ClientConnector connector = new ClientConnector(SMARTBI_URL);
// 2、完成登录
boolean isLogin = connector.open(USER_NAME, PASS_WORD);
if(!isLogin) {
System.out.println("服务器登录访问失败");
return;
}
// 3、创建调用的接口对象
UserManagerService userManagerService = new UserManagerService(connector);
List<? extends IDepartment> department = userManagerService.getDepartmentsOfCurrentUser();
for (IDepartment item : department) {
System.out.println(item.getAlias());
}
}
} |
三、视频教学
宏代码简介:https://my.smartbi.com.cn/edu/course-148