Additional Blogs by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos

BO SDK是BO提供的编程接口技术,通过BO SDK,用户可以访问、调用BO各种组件的各种功能,这样就可以实现很多BO标准功能以外的东东。比如:封装BOE的各种功能,再造一个自定义的BO门户网站,在现实项目中,这是一个较常见的客户需求。(其实,BOE也是BO调用各种SDK做出来的,只不过它的界面比较固定,要想自定义界面,只能使用BO SDK)。

1 BO SDK 的主要内容

  BO SDK的主要部分可以分成如下三个:

1)  BOE SDK:BOE的各种权限、计划、文件夹、报表等管理功能。

2)  Report Engine JAVA SDK:调用WEBI报表及相关各种功能。

3)  Views Java SDK:调用水晶报表及相关各种功能。

  以下我们以最近实施的一个深圳实际项目举例(自定义BOE,重新打造BO门户界面),一瞥BOE SDK的庐山真面目。

2 BOE SDK的基本对象和基本知识

4)  BOE SDK中的最基本对象是Infoobject,它可以指代报表/用户/服务器/用户组等等

5)  如果需要从BO自带的数据库进行查找或提交,要先实例化一个InfoStore对象,再调用它的方法,具体用法是infostore.query(SQL)

6)  BO中的基本表主要是三个,特别简单:

CI_INFOOBJECTS     用户报表使用到的各种对象,如文件夹和报表内容

     CI_SYSTEMOBJECTS    系统管理使用到的各种对象,如服务器/用户/用户组

     CI_APPOBJECTS        BOE的应用程序

7)  Infoobject对象可以得到报表/用户/文件夹等等,它的创建是通过infoobjects对象来创建(infoobjects集合对象,使用工厂方法创建Infoobject),infoobject变成报表/用户/文件夹对象之后,就可以使用各种add/set属性/delete方法进行操作

8)  对对象进行各种add/set属性/delete方法操作之后,记得要写入数据库才生效,写入数据库使用infoStore.commit()方法。

  BOE的一个基本操作图例如下:

BO SDK 基础 - 智扬信达 - 智扬信达

(备注:本示例属于简单操作,即不需要先使用查询方法得到一个BOE对象再对其进行操作,稍复杂的操作需要先使用SQL查询方法)

3 BOE SDK 示例

比方说,创建一个用户,代码如下:

accountName为用户名,description为用户描述信息)

IInfoObjects newUsers = infoStore.newInfoObjectCollection();

      IUser newUser = (IUser) newUsers.add(CeKind.USER);

      newUser.setTitle(accountName);

     newUser.setDescription(description);

     objectID=newUser.getID();

     infoStore.commit(newUsers);

其它功能代码类似

4 其它SDK

BO的其它SDKBOE SDK基本思想类似,比如利用Report Engine JAVA SDK打开一张WEBI报表,需要创建一个ReportEngine对象并调用其中打开文档的方法。