基于Domino/Notes的企业信息集成的研究
3 企业信息集成举例
通过对Lotus公司的的通用集成体系结构的研究,我们利用该体系结构较好实现了岭南铅锌集团公司各信息系统间的集成。在为该公司开发综合管理信息系统时,充分利用了Domino/Notes平台的特性,将企业各系统的集成起来,实现了全企业数据的共享,并能向Internet发布企业信息。
现说明企业集成过程中用到的核心关键技术,企业信息系统主要由两大块构成:MRP系统和办公自动化系统(OA)。我们用PowerBuilder来开发MRP系统,采用Lotus公司的产品和工具来实现办公自动化系统和企业业务系统的全面集成。
在使用Lotus集成工具时,我们采用编程(灵活性)的方式来实现系统间数据的集成。开发过程中,主要用到了LCJava类库中提供的方法和接口函数,编写代理类LcjavaAgent,以实现将库存管理系统中的原材料相关数据(物料代码、物料名称、库存量等)反馈给决策者的功能。其详细代码如下:
//引入包和类
import lotus.domino.*;
import lotus.lcjava.*;
public class LCjavaAgent extends AgentBase {
public void NotesMain() {
try {
//得到用来显示数据的文档
…….
Document doc = agentContext.getDocumentContext();
//创建LCConnection对象
LCConnection connection = new LCConnection("db2",0)
LCFieldlist keyList = new LCFieldlist(1, 0);
LCFieldlist results = new LCFieldlist(1, 0);
//该域包含要检索的关键字
LCField k-field = new LCField(LCTYPE.TEXT, 1);
//下面的域得到从业务系统返回的数据
LCField field1 = new LCField(LCTYPE.TEXT, 1);
LCField field2 = new LCField(LCTYPE.FLOAT, 1);
connection.setPropertyJavaString(LCTOKEN.DATABASE, " 数据库名");
connection.setPropertyJavaString(LCTOKEN.METADATA, "表名");
connection.setPropertyJavaString(LCTOKEN.USERID, "登录名");
connection.setPropertyJavaString(LCTOKEN.PASSWORD, "口令");
connection.connection();
//指明关键字,设定关键字的值
keyList.append ("WLDM", LCTYPE.TEXT, k-field);
k-field.setFlags( LCFIELDF.KEY);
k-field.setJavaString(1,”0103”);
//检索出结果,并反馈到字段列表results
connection.select(keyList, 1, results, 0);
//从结果集取得记录
connection.fetch(results, 1,1, 0);
//将物料名称读到notes文档
string str=new string();
results.lookup("WLMC ", field1, 1);
str = field1.tojavaString();
doc.replaceItemValue("CPMC", str);
//将库存量读到notes文档
Boolean nulls=new Boolean(false);
Double num = new Double(0);
results.lookup("KCL", field2, 1);
field2.getFloat(indx, num, nulls);
doc.replaceItemValue("Salary", num);
//将其他数据读到notes文档
……
connection.disconnect();
} catch(Exception e) {
e.printStackTrace();
}
}
}
利用上述体系结构实现综合管理信息系统,使系统具有以下几方面特点:
(1)企业的生产、财务、库存等数据保存在后台关系型数据库中,而企业的工作流(如合同审批、出差申请、报销审批、公文处理等)通过Domino/notes来实现,其相关表单保存在文档数据库中。这样很好实现了异构数据库间数据的集成。
(2)企业的查询信息不是来源于Domino文档数据库,而是通过集成工具从后台关系数据库中获取,这样即发挥了关系数据库存储数据量大,检索速度快的优点,又解决了工作流中非结构化的办公文档的处理难题。
(3)企业的应用逻辑集中在中间层,业务流程的变动只需对服务器上的程序相应的改动即可,这样可以降低系统的维护难度和成本。
(4)在应用之前,企业还可以运用工作流定义工具进行流程定义。经过定义的业务流程被保存在Dmino服务器中。所有业务流程中的业务按照预先定义好的业务流程来确定各业务的下一步走向,各项业务任务会在准确地时间发往准确的执行人的业务桌面,必要时还可以自动发送催办通知。
4 结论
为了确保企业信息化达到预想的目的,完全有必要对其孤立的业务系统进行有效集成,以实现信息的共享。通过对Lotus公司的的通用集成体系结构的研究,利用该体系结构较好实现了岭南铅锌集团各信息系统间的集成,文中提供的案例为企业的信息集成提供了较好的借鉴。
参考文献
[1] 查尔斯•菲迪等.企业完全整合方案 .北京:北京希望电子出版社,2000.9
[2] 马士华等.供应链管理, 北京:机械工业出版社,2000.
[3] 戴江鸿.信息技术在企业再造与企业管理中的应用, 计算机系统应用,2000.
[4] (美)Randall A. Tamura 等著,王建华等译. Lotus Notes和Domino