页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

重要声明:第三方系统集成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链接

代码块
languagejava
// 1、指定Smartbi服务器地址
ClientConnector connector = new ClientConnector(SMARTBI_URL);

2、完成登录

代码块
languagejava
// 2、完成登录
boolean isLogin = connector.open(USER_NAME, PASS_WORD);
if(!isLogin) {
	System.out.println("服务器登录访问失败");
	return;
}

3、创建接口对象

代码块
languagejava
// 3、创建调用的接口对象
UserManagerService userManagerService = new UserManagerService(connector);

4、接口调用

代码块
languagejava
List<? extends IDepartment> department =  userManagerService.getDepartmentsOfCurrentUser();for (IDepartment item : department) {    System.out.println(item.getAlias());}

5、示例代码

代码块
languagejava
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