一、Filenet介绍
Filenet是一个开发企业级文档管理系统的平台,提供了一系列基于网络的开发工具和API。它可以让企业更好地管理中心化的文件信息和相关的开发需求,包括文件存储,检索,流程控制等功能。
作为一个开发者,在使用Filenet的平台的时候,我们需要先理清楚元素和组件,才能更好地理解API和底层指令的使用,从而达到更高效的开发。
二、Filenet的元素
Filenet的元素指的是Filenet中最基本的组件。在Filenet中,有五个基本的元素:对象类,属性,关系,版本和文件。其中,对象类是表示目录和其他内容的对象类型;属性则是对象定义的特征,包括元数据和一些其他的信息;关系则是运用于对象之间的连接类型;版本指的是可以对对象的内容进行更新的版本机制;文件则是指的文件本身,包含了它的名字、位置、类型和内容等信息。
三、Filenet的组件
Filenet主要通过各种组件来提供丰富的功能和API。其中,最重要的组件有以下几个部分:
1. Object Store
Object Store指的是Filenet中的一个存储空间,用来存储Filenet中的所有元素。它是所有Filenet应用程序的基础,包括了元数据和二进制的文件数据。它也是Filenet中的最高层次的架构,也是整个平台的核心组件。在Filenet中,不同的业务可以使用不同的Object Store,在同一个Filenet平台下进行开发。
2. Process Engine
Process Engine指的是Filenet中的工作流引擎。它可以实现业务流程的建模和控制,并能够快速定义和实现各种工作流程。Process Engine最大的特点是支持自定义活动,这意味着我们可以将自己的Java代码直接嵌入到Filenet工作流中,以实现更高级别的工作流需求。
3. Workplace
Workplace是Filenet的经典客户端组件,也是Filenet的操作界面。它提供了一个基于Web的用户界面,用于浏览Filenet中的内容。Workplace支持配置自定义的检索和查询,并能够自由地控制对象的检索和属性的编辑。
4. Content Engine
Content Engine指的是Filenet中最核心的内容引擎。它处理所有与Filenet元素相关的存储、检索和管理操作,同时还提供了丰富的RESTful API,用于开发自己的Filenet应用程序。Content Engine可以查询和检索Object Store中的Filenet元素,并可以对这些元素进行修改和删除等操作。
5. Workplace XT
Workplace XT是Filenet的最新版本,它提供了更加高效的用户界面和更加强大的功能。Workplace XT支持各种类型的属性编辑,同时还支持多个Object Store之间的查询和检索。它还提供了一个弹性的计划表格组件,可用于定制应用的工作流程和数据表单。
四、Filenet的Java API开发
在Filenet中,我们可以使用各种J2EE和RESTful API进行开发,包括Java API、SOAP API和Web Services等。其中,Java API是最常用的一种API,也是Filenet开发中的重要基础。现在,我们通过一个具体的代码示例来演示如何使用Filenet的Java API进行开发。
import java.util.*; import javax.security.auth.Subject; import com.ibm.websphere.security.Authenticate; import com.filenet.api.constants.ClassNames; import com.filenet.api.constants.RefreshMode; import com.filenet.api.core.*; import com.filenet.api.util.UserContext; public class FilenetJavaAPIDemo { public static void main(String[] args) { // Credentials String username = "P8admin"; String password = "password"; String jaasStanzaName = "FileNetP8WSI"; // Connection Connection conn = Factory.Connection.getConnection("http://server:port/wsi/FNCEWS40MTOM"); // User Context Subject subject = UserContext.createSubject(conn, username, password, jaasStanzaName); UserContext.get().pushSubject(subject); // Object Store Domain domain = Factory.Domain.getInstance(conn, null); ObjectStore os = Factory.ObjectStore.fetchInstance(domain, "TestOS", null); // Object Search SearchSQL sql = new SearchSQL(); sql.setQueryString("SELECT * FROM Document WHERE DocumentTitle = 'test'"); SearchScope scope = new SearchScope(os); IndependentObjectSet objSet = scope.fetchObjects(sql, null, null, new Boolean(true)); Iterator it = objs.iterator(); while(it.hasNext()) { Document doc = (Document) it.next(); System.out.println("Document Title : " + doc.getProperties().getStringValue("DocumentTitle")); System.out.println("Last Modifier : " + doc.get_LastModifier()); } // Logout UserContext.get().popSubject(); } }
在这个代码示例中,我们使用Filenet的Java API来进行开发,首先需要建立连接并授权,然后根据Object Store来查询我们需要的元素,最后根据返回的元素列表进行相应的后续操作。
以上是对于Filenet的一个简单的介绍,这里介绍了Filenet的基本元素、核心组件和使用Java API进行开发的示例。结合Filenet的完整开发文档,我们可以更加详细地了解和掌握Filenet的各种功能和API,从而更好地用于企业级应用程序的开发。