摘 要:闡述辦公自動(dòng)化(OA)系統(tǒng)與管理信息系統(tǒng)之間的集成技術(shù),使整個(gè)工作流數(shù)據(jù)通過(guò)OA數(shù)據(jù)接口與企業(yè)現(xiàn)有的MIS 系統(tǒng)自動(dòng)交換數(shù)據(jù)。以SQL數(shù)據(jù)庫(kù)作為后臺(tái)數(shù)據(jù)庫(kù),通過(guò)在notes中調(diào)用SQL語(yǔ)句實(shí)現(xiàn)二者之間的數(shù)據(jù)集成,實(shí)現(xiàn)了Domino數(shù)據(jù)庫(kù)和Sybase/Oracle等關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)信息的交互,使OA系統(tǒng)的協(xié)同工作結(jié)果能與企業(yè)的MIS系統(tǒng)有效的溝通和交換,提高企業(yè)的集成工作效率。
關(guān)鍵詞:辦公自動(dòng)化;管理信息系統(tǒng);SQL數(shù)據(jù)庫(kù);Domino數(shù)據(jù)庫(kù);Sybase/Oracle關(guān)系型數(shù)據(jù)庫(kù);Lotus/Notes
中圖分類號(hào):G202;TP311文獻(xiàn)標(biāo)識(shí)碼:B文章編號(hào):1004-373X(2008)22-181-02
Integration of Lotus Domino/Notes R5 and Management Information System
XUN Yang
(Jining College,Jining,273155,China)
Abstract:The paper mainly describes the integration technique between the office automation system and the management information system,makes the whole work flow data exchange data automatically with the business enterprise existing MIS system through OA data connects.Based on SQL database as the background database,the system implements the data integration through calling SQL sentence in notes and implements the data information alternation between Domino database and Sybase/Oracle etc relation database.The collaborating results of OA system to communicate and commute availably with the MIS system of business enterprise,raising the integrated work efficiency of business enterprise.
Keywords:office automation system;management information system;SQL database;Domino database;Sybase/Oracle relation database;Lotus/Notes
大部分現(xiàn)代企業(yè),都建有自己的管理信息系統(tǒng)(MIS)。傳統(tǒng)的MIS 系統(tǒng)主要依賴于關(guān)系型數(shù)據(jù)庫(kù),由于缺乏有效的基礎(chǔ)通信平臺(tái),沒(méi)有通信和協(xié)同辦公能力,協(xié)作效率低,不能在現(xiàn)代企業(yè)中構(gòu)建有效的集成辦公環(huán)境。基于Lotus Notes平臺(tái)的OA系統(tǒng)使一些在MIS系統(tǒng)中難以處理的協(xié)同辦公工作在OA 系統(tǒng)中得到很好的解決。為了使OA系統(tǒng)的協(xié)同工作結(jié)果能與企業(yè)的MIS系統(tǒng)有效的溝通和交換,提高企業(yè)的集成工作效率,Lotus Notes平臺(tái)提供了OA系統(tǒng)數(shù)據(jù)接口,它使OA系統(tǒng)與企業(yè)的MIS系統(tǒng)實(shí)現(xiàn)無(wú)縫連接,不需要人工編程干預(yù),整個(gè)工作流數(shù)據(jù)通過(guò)OA數(shù)據(jù)接口與企業(yè)現(xiàn)有的MIS 系統(tǒng)自動(dòng)交換數(shù)據(jù),溝通信息,大大地提高了企業(yè)整體辦公決策能力。
1 數(shù)據(jù)接口的原理
數(shù)據(jù)接口由數(shù)據(jù)接口數(shù)據(jù)庫(kù)(A_Intgrt.nsf)及數(shù)據(jù)記錄數(shù)據(jù)庫(kù)(A_MisLog.nsf)組成。數(shù)據(jù)接口數(shù)據(jù)庫(kù)負(fù)責(zé)設(shè)置與MIS系統(tǒng)的連接及MIS數(shù)據(jù)進(jìn)入工作流系統(tǒng)的方式;數(shù)據(jù)記錄數(shù)據(jù)庫(kù)記錄所有MIS與工作流系統(tǒng)數(shù)據(jù)交換的活動(dòng)信息。
數(shù)據(jù)接口通過(guò)數(shù)據(jù)連接器(DECS,LEI,ESB),將MIS系統(tǒng)的數(shù)據(jù)(表單、視圖)導(dǎo)入數(shù)據(jù)接口數(shù)據(jù)庫(kù),數(shù)據(jù)接口的“定時(shí)代理”根據(jù)連接文檔的設(shè)置,將這些數(shù)據(jù)導(dǎo)入OA工作流系統(tǒng),并啟用相應(yīng)流程。OA工作流系統(tǒng)在流轉(zhuǎn)完成后將連接設(shè)置中定義為要返回寫(xiě)到MIS系統(tǒng)的數(shù)據(jù)寫(xiě)到數(shù)據(jù)接口緩沖區(qū),再由數(shù)據(jù)接口回寫(xiě)到MIS系統(tǒng)[1],見(jiàn)圖1。
2 集成系統(tǒng)的設(shè)計(jì)
針對(duì)Lotus Notes平臺(tái)的特點(diǎn),結(jié)合SQL數(shù)據(jù)庫(kù)的特點(diǎn),考慮到SQL數(shù)據(jù)庫(kù)在數(shù)據(jù)庫(kù)技術(shù)方面的優(yōu)點(diǎn),在設(shè)計(jì)系統(tǒng)時(shí)分為辦公、業(yè)務(wù)2部分。在做數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),把文件需要流轉(zhuǎn)的工作或靜態(tài)的數(shù)據(jù)放在Lotus Notes端,可以利用Lotus Notes強(qiáng)大的工作流機(jī)制及對(duì)多種文本格式的支持;而把大量的需統(tǒng)計(jì)的業(yè)務(wù)報(bào)表放到SQL數(shù)據(jù)庫(kù)端(用可視化開(kāi)發(fā)工具Delphi進(jìn)行開(kāi)發(fā)),利用成熟的數(shù)據(jù)庫(kù)技術(shù)方便利用簡(jiǎn)便快捷的SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行操縱。最后利用Lotus Notes提供的與外部數(shù)據(jù)庫(kù)的接口功能,通過(guò)建立ODBC數(shù)據(jù)源,在Lotus Notes端利用Lotus腳本語(yǔ)言(Lotus Script)自動(dòng)提取SQL數(shù)據(jù)庫(kù)中的相關(guān)數(shù)據(jù),使兩個(gè)系統(tǒng)有機(jī)集成。這樣,系統(tǒng)不但運(yùn)行速度快,而且可以實(shí)現(xiàn)一次錄入多次使用,避免數(shù)據(jù)的不一致性,利于系統(tǒng)維護(hù)和修改。
整個(gè)軟件的運(yùn)行環(huán)境是企業(yè)內(nèi)部網(wǎng)(Internet),整體采用Client/Server(C/S)體系架構(gòu),服務(wù)器端采用 Lotus Domino文檔數(shù)據(jù)庫(kù)及關(guān)系數(shù)據(jù)庫(kù)SQL Server作為后臺(tái)數(shù)據(jù)庫(kù)服務(wù)器,客戶端采用Lotus Notes及ODBC(開(kāi)放數(shù)據(jù)庫(kù)互聯(lián))方式,實(shí)現(xiàn)Lotus Notes群件環(huán)境下的定時(shí)自動(dòng)報(bào)表。以下為OA與MIS之間數(shù)據(jù)接口設(shè)計(jì)的具體實(shí)現(xiàn)方法。
2.1 前期準(zhǔn)備
由于開(kāi)發(fā)的OA系統(tǒng)是基于Lotus Notes平臺(tái)的,而MIS系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)是SQL數(shù)據(jù)庫(kù),下面的方法是用來(lái)實(shí)現(xiàn)從OA客戶端提取SQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
(1) 建好SQL數(shù)據(jù)庫(kù),填好庫(kù)中涉及到的表里的數(shù)據(jù),以供提取。
(2) 建立ODBC(開(kāi)放式數(shù)據(jù)連接)數(shù)據(jù)源。ODBC通常由Windows操作系統(tǒng)自身提供。目的在于用一個(gè)ODBC數(shù)據(jù)源名來(lái)一一對(duì)應(yīng)一個(gè)SQL數(shù)據(jù)庫(kù),在OA客戶端可以通過(guò)ODBC數(shù)據(jù)源找到SQL數(shù)據(jù)庫(kù),從而可以提取該數(shù)據(jù)庫(kù)中相應(yīng)表里的數(shù)據(jù)。
2.2 具體實(shí)現(xiàn)
程序代碼使用Lotus Script語(yǔ)言。在Lotus Notes中編程實(shí)現(xiàn)數(shù)據(jù)的提取。代碼如下:
Dim con As New odbcconnection
Dim qry As New odbcquery
Dim result As New odbcresultset
Dim ws As New notesuiworkspace
Dim uidoc As notesuidocument
Dim m As Variant
Dim y As Variant,m As Variant′以上為定義部分
Set uidoc=ws.currentdocument
Set doc=uidoc.document
y = uidoc.fieldgettext(\"year\")
m = uidoc.fieldgettext(\"month\")′取表單里的域值
If (con.connectto(\"temp_sql\",\"sa\",\"12345\") Then
Set qry.connection= con
s = \"select * \"
s=s \"from table1\"
s=s \"where table1.year=\"
s = s \"'\" y \"'\"
s = s \"and table1.month=\" \"'\" m \"'\"
qry.sql=s
Set result.query=qry
上述語(yǔ)句中的“temp_sql”是ODBC數(shù)據(jù)庫(kù)源名,它所對(duì)應(yīng)的是一個(gè)大型的后臺(tái)關(guān)系型數(shù)據(jù)庫(kù),即一個(gè)MIS應(yīng)用子系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù);“table1”是此數(shù)據(jù)庫(kù)中的一個(gè)表文件。該段程序?qū)崿F(xiàn):選擇table1中所有year 和month 值等于表單中相應(yīng)域值的紀(jì)錄,并放入結(jié)果集result中。
If Not result.execute() Then
Messagebox _
result.GetExtendedErrorMessage,result.GetErrorMessage
Exit Sub
End If
If Not result.IsResultSetAvailable Then
Messagebox(\"沒(méi)有找到相關(guān)數(shù)據(jù),請(qǐng)檢查輸入條件或數(shù)據(jù)庫(kù)\")
Exit Sub
End If
End If
數(shù)據(jù)已從SQL數(shù)據(jù)庫(kù)中取出,以下為把取出的數(shù)據(jù)賦到表單中相應(yīng)的域中,通過(guò)循環(huán),逐條提取紀(jì)錄,直到取完為止:
n=0
Do
Call result.nextrow()
n=n+1
Call uidoc.fieldsettext(\"jm\",result.getvalue
(\"cityname\"))
…
Loop Until result1.isendofdata
在程序執(zhí)行完后,notes 文檔中相應(yīng)的域被從SQL數(shù)據(jù)庫(kù)中提取的數(shù)據(jù)填充,如表1所示,原表為一張空表。
濟(jì)寧市各縣綜合情況反映表(2007年2月3日)如表1所示。
3 結(jié) 語(yǔ)
基于Lotus的企業(yè)信息集成系統(tǒng)具有集成性、開(kāi)發(fā)快捷、實(shí)施容易、管理容易、機(jī)制完整、保有費(fèi)用低、適應(yīng)企業(yè)級(jí)、跨企業(yè)級(jí)的應(yīng)用、開(kāi)放性、可以獲得廠商的豐富經(jīng)驗(yàn)與支持等特點(diǎn),通過(guò)標(biāo)準(zhǔn)的SQL語(yǔ)句,可以簡(jiǎn)單地實(shí)現(xiàn)Domino數(shù)據(jù)庫(kù)和Sybase/Oracle等關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)信息的交互。
參考文獻(xiàn)
[1][美]Matt Riggsby.Lotus Notes和Domino 應(yīng)用程序開(kāi)發(fā)指南.邱仲潘,譯.北京:電子工業(yè)出版社,2001.
[2]閃四清.SQL Server 7.0系統(tǒng)管理和應(yīng)用開(kāi)發(fā)指南[M].北京:清華大學(xué)出版社,1999.
[3]Scot Haberman.Lotus Notes R5(中文版)從入門(mén)到精通[M].翟明岳,譯.北京:電子工業(yè)出版社,2000.
[4]馮錦峰,惠月.Lotus Domino/Notes R5應(yīng)用開(kāi)發(fā)指南[M].北京:北京希望電子出版社,2000.
[5]張卓,劉麗娟,齊春橋,等.基于LOTUS R5平臺(tái)智能小區(qū)信息管理系統(tǒng)[J].大連大學(xué)學(xué)報(bào),2001,22(4):63-68.
[6]董晶,董桂林.用Lotus R5構(gòu)建Internet/Intranet應(yīng)用[M].北京:電子工業(yè)出版社,2000.
[7]吳小鋒,張新長(zhǎng),張潤(rùn)明.中小企業(yè)辦公自動(dòng)化信息系統(tǒng)的研究與開(kāi)發(fā)[J].計(jì)算機(jī)應(yīng)用研究,2001,18(8):100-102.
[8]蔡斌.辦公自動(dòng)化系統(tǒng)建設(shè)的發(fā)展趨勢(shì)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,1999(10):68-69.
[9]盧葦,尹恒,趙成萍.基于Lotus Domino/Notes的企業(yè)辦公自動(dòng)化系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2002,19(4):127.
[10]蓮花軟件(中國(guó))有限公司.Lotus Domino/Notes R5 企業(yè)信息集成技術(shù)[M].北京:國(guó)防工業(yè)出版社,2000.
[11]蓮花軟件(中國(guó))有限公司.Lotus Domino/Notes R5應(yīng)用開(kāi)發(fā)大全[M].北京:國(guó)防工業(yè)出版社,2000.
[12]武坤.Lotus Domino/Note R5應(yīng)用教程[M].北京:機(jī)械工業(yè)出版社,2000.
作者簡(jiǎn)介 尋 楊 女,1971年出生,碩士,講師。主要從事計(jì)算機(jī)應(yīng)用方面的研究工作。