泛微協(xié)同辦公應用平臺e-cology接口集成手冊_第1頁
泛微協(xié)同辦公應用平臺e-cology接口集成手冊_第2頁
泛微協(xié)同辦公應用平臺e-cology接口集成手冊_第3頁
泛微協(xié)同辦公應用平臺e-cology接口集成手冊_第4頁
泛微協(xié)同辦公應用平臺e-cology接口集成手冊_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

e-cology接口集成手冊e-cology接口集成手冊WeaverSoftwareCo.,LTD.泛微軟件有限公司TelFax海市浦東軟件園陸家嘴分園峨山路91弄101號3層200127泛微協(xié)同辦公應用平臺e-cology接口集成手冊IntegrationManualsofWeavere-cology?SubmittedByWeaver僅限閱讀請勿傳播當您閱讀本方案時,即表示您同意不傳播本方案的所有內容泛微軟件有限公司中國上海浦東軟件園陸家嘴分園峨山路91弄101號3層郵政編碼:200127電話:+862150942228傳真:+862150942278

泛微協(xié)同辦公應用平臺e-cology接口集成手冊IntegrationManualsofWeavere-cology?SubmittedByWeaver僅限閱讀請勿傳播當您閱讀本方案時,即表示您同意不傳播本方案的所有內容泛微軟件有限公司中國上海浦東軟件園陸家嘴分園峨山路91弄101號3層郵政編碼:200127電話:+862150942228傳真:+862150942278版本文檔簡要信息:文檔主題(Title)泛微協(xié)同辦公應用平臺e-cology接口集成手冊作者(Author)熊學武審批者(ToBeApprovedBy)說明(Comments)文件名稱(FileName)泛微協(xié)同辦公應用平臺e-cology接口集成手冊.doc文檔版本歷史:序號日期版本變更說明修改人注釋V1.0新文件熊學武V2.0修改周軍鋒目錄版本 2目錄 2第一部分 總體概述 5一. 目的 5二. 主要內容 5三. 使用范圍 5第二部分 通過LDAP同步用戶信息 6一. 接口描述 6二. 應用效果 61. Ldap數據同步 62. Ldap登錄驗證 7三. 實現(xiàn)方法&步驟 71. “同步Ldap數據”功能 72. 配置Ldap信息 83. 配置后使用LDAP功能 9第三部分 單點登錄(SSO) 11一. 接口描述 11二. 應用效果 121. 登錄到web個人郵箱 122. 登錄到其他異構系統(tǒng) 12三. 實現(xiàn)方法&步驟 131. 設置異構系統(tǒng)登錄參數和地址 132. 設置左側菜單 143. 設置賬號 144. 帳號配置 155. 接口開發(fā) 166. 注意事項 17第四部分 首頁門戶集成 18一. 接口描述 18二. 應用效果 181. 直接展現(xiàn)系統(tǒng)頁面 182. 集成portlet元素展現(xiàn) 18三. 實現(xiàn)方法&步驟 191. SSO+頁面地址連接 192. Portlet方案 20第五部分 數據源配置 22一. 接口說明 22二. 實現(xiàn)方法&步驟 221. 配置數據源文件datasource.xml(該文件位于e-cology的WEB-INF/service/目錄下) 222. 屬性說明 233. 如何引用該數據源 23第六部分 自定義定時器 25一. 接口說明 25二. 實現(xiàn)方法&步驟 251. 配置調度文件schedule.xml(該文件位于e-cology的WEB-INF/service/目錄下) 252. 屬性說明 25第七部分 流程流轉過程中和異構系統(tǒng)數據交互 27一. 接口說明 27二. 應用效果 27三. 實現(xiàn)方法&步驟 291. xml文件配置 292. Action接口代碼編寫 303. 流程節(jié)點附加操作接口調用 32第八部分 獲取異構系統(tǒng)數據至流程字段 33一. 接口說明 33二. 應用效果 33三. 實現(xiàn)方法&步驟 331. 配置接口文件 332. 屬性說明 353. 獲取異構系統(tǒng)的數據作為流程字段的系統(tǒng)設置 35第九部分 直接讀取異構數據的結構型數據自動生成審批工作流 36一. 接口說明 36二. 實現(xiàn)方法&步驟 361. 配置異構系統(tǒng)數據源, 362. 配置需要從異構系統(tǒng)獲取數據的表信息 363. 配置異構系統(tǒng)獲取數據表和流程字段的對應關系 374. 配置自動生成流程的頻率 37第十部分 異構系統(tǒng)主動觸發(fā)生成審批工作流 38一. 接口說明 38二. 實現(xiàn)方法&步驟 381. 異構系統(tǒng)生成XML文件數據流 382. 調用接口 393. 接口以XML個格式返回處理結果 39第十一部分 工作流信息導出標準XML文件(公文交換) 41一. 接口說明 41二. 實現(xiàn)方法&步驟 411. 配置需要導出的工作流 412. 設置指定工作流需要導出的字段 423. 工作流信息發(fā)送 424. 導出文件格式 42第十二部分 短信API接口 45一. 接口說明 45二. 實現(xiàn)方法&步驟 451. xml文件配置 452. 短信設備配置文件修改 463. 中間表之sql腳本樣例 474. 自定義代碼開發(fā)實現(xiàn)方式 48

總體概述目的本手冊主要是用來詳細介紹e-cology對外集成的接口標準,描述了e-cology已經具有可配置實現(xiàn)的及可以通過接口開發(fā)實現(xiàn)的和異構系統(tǒng)的集成的方案。主要內容e-cology系統(tǒng)的對外接口主要體現(xiàn)在以下幾方面:通過LDAP同步用戶信息;和異構系統(tǒng)單點登錄;首頁信息門戶集成:異構系統(tǒng)的信息頁面集成到e-cology首頁門戶可配置和異構系統(tǒng)結構型數據庫的(SQLSERVER,ORACLE,MYSQL,DB2,INFOMIX等)的數據源可自定義定時器,定時操作自定義動作在流程流轉過程中和異構系統(tǒng)進行信息交互e-cology流程表單某字段直接引用異構系統(tǒng)結構型數據直接讀取異構系統(tǒng)的結構型數據自動生成e-cology審批工作流異構系統(tǒng)通過接口程序主動生成審批工作流到e-cology系統(tǒng)e-cology工作流信息導出標準XML文件提供給到異構系統(tǒng)(公文交換)短信接口:通過該接口可以實現(xiàn)通過非泛微指定的短信信息機實現(xiàn)收發(fā)短信的功能;使用范圍本文檔適用于以下兩種情況售前階段:需要了解e-cology在與異構系統(tǒng)集成方面的效果展現(xiàn),可全方位的了解到e-cology從基礎人員的集成,到與異構系統(tǒng)之間可進行數據交互的一個集成能力;售后階段:可提供給合作伙伴或客戶自行根據此手冊來編寫對應接口方法,以便達到所需要集成的最終用戶使用效果。

通過LDAP同步用戶信息LDAP的英文全稱是LightweightDirectoryAccessProtocol,一般都簡稱為LDAP。它是基于X.500標準的,但是簡單多了并且可以根據需要定制。與X.500不同,LDAP支持TCP/IP,這對訪問Internet是必須的。LDAP的核心規(guī)范在RFC中都有定義,所有與LDAP相關的RFC都可以在LDAPmanRFC網頁中找到。現(xiàn)在LDAP技術不僅發(fā)展得很快而且也是激動人心的。在企業(yè)范圍內實現(xiàn)LDAP可以讓運行在幾乎所有計算機平臺上的所有的應用程序從LDAP目錄中獲取信息。LDAP目錄中可以存儲各種類型的數據:電子郵件地址、郵件路由信息、人力資源數據、公用密匙、聯(lián)系人列表,等等。通過把LDAP目錄作為系統(tǒng)集成中的一個重要環(huán)節(jié),可以簡化員工在企業(yè)內部查詢信息的步驟,甚至連主要的數據源都可以放在任何地方。接口描述e-cology可以通過簡單的配置就實現(xiàn)和一些主流的目錄服務器同步用戶信息的功能,在同步用戶信息的同時,將用戶認證功能也交于目錄服務器實現(xiàn)。目前常用的目錄服務器為:微軟的AD和SUN的SUNONE。應用效果Ldap數據同步配置完成后,e-cology可手動或自動同步ldap中的組織人員數據;Ldap登錄驗證可通過登錄Ldap后,通過e-cology帳號對應,直接調用Ldap中的密碼來驗證登錄到e-cology系統(tǒng)中。實現(xiàn)方法&步驟“同步Ldap數據”功能點擊“人力資源”-“人事管理”-“同步ldap數據”系統(tǒng)會顯示“500ServletException”的錯誤頁面,這是因為系統(tǒng)中有兩個必要的文件沒有配置。配置Ldap信息在ecology系統(tǒng)中,需配置兩個文件,分別是文件夾ecology\WEB-INF\prop中的perties和perties。perties的配置方法如下:如果使用的AD的話,則需按下圖配置:perties的配置方法如下:配置后使用LDAP功能用系統(tǒng)管理員賬號登錄系統(tǒng),使用“人力資源”-“人事管理”-“同步Ldap數據”,系統(tǒng)同步數據完成后,會出現(xiàn)如下信息:同步成功后,查看ecology的日志文件,會看到如下信息:另外,ecology系統(tǒng)會在每天的0:00左右,自動去LDAP服務器上同步數據。

單點登錄(SSO)單點登錄(SSO,SingleSignOn)是指在分布式環(huán)境下,整個系統(tǒng)只有一個可以登錄進入的點,它對所有的請求(Request)都是通用的。傳統(tǒng)登陸方式下,系統(tǒng)管理員需要給每臺機器上的系統(tǒng),甚至是每臺機器上的每個應用準備一套用戶管理系統(tǒng)和用戶授權策略,終端用戶需要使用其中的任何應用的時候都需要做一次身份認證。SSO的機制是“單點登錄、全網漫游”,用戶訪問系統(tǒng)作一次身份認證,隨后就可以對所有被授權的網絡資源進行無縫訪問,而不需要多次輸入的認證信息。SSO登陸方式,減少了在不同系統(tǒng)中登錄耗費的時間;避免了處理和保存多套系統(tǒng)用戶的認證信息;減少了系統(tǒng)管理員管理用戶權限的時間;增加了管理的便利性,可以通過直接禁止和刪除用戶來取消該用戶對所有系統(tǒng)資源的訪問權限;大大增加系統(tǒng)的安全性。

登陸點:理想的情況是用戶通過任何應用系統(tǒng)都能進行登陸,而且效果一樣。這種單一的登陸點在整個系統(tǒng)的設計中是唯一認證用戶的地方,由登陸點將相應的用戶信息傳遞給應用系統(tǒng),應用系統(tǒng)利用這些信息來進行用戶的驗證。應用系統(tǒng)的單點登錄(SSO)集成。并不是任何系統(tǒng)都能夠使用SSO,只有那些符合SSO規(guī)范,使用SSOAPI的應用系統(tǒng)才具有SSO的功能。簡單地說就是要修改已有的應用系統(tǒng),屏蔽已有的應用系統(tǒng)的用戶認證模塊,使用系統(tǒng)提供的SSOAPI來驗證用戶,以及對用戶的操作進行授權。統(tǒng)一的認證,權限信息庫。通常SSO要求有統(tǒng)一的認證,權限存放庫。但現(xiàn)實中,有的系統(tǒng)無法使用外部的認證,授權信息庫,所以就需要在應用系統(tǒng)和SSO認證系統(tǒng)之間進行認證,同時進行授權信息的數據同步。實現(xiàn)描述:在用戶成功通過SSO認證系統(tǒng)認證之后,系統(tǒng)提供的映射授予權限來為用戶登錄到其有權可以使用的應用系統(tǒng)。系統(tǒng)提供的映射取消用戶權限來實現(xiàn)用戶的注銷功能。企業(yè)在信息化的過程中不可避免的會購置各種各樣的業(yè)務系統(tǒng),為了登陸不同的系統(tǒng),用戶需要頻繁的打開不同的窗口、輸入各自的帳號密碼,費時費力。但是通過e-cology系統(tǒng)的自定義菜單功能和集成登陸接口,可以比較方便的實現(xiàn)登陸e-cology系統(tǒng)后直接到達其他業(yè)務系統(tǒng)的功能,省去了繁瑣的登陸過程。接口描述e-cology中實現(xiàn)的SSO實際上是通過用戶映射和在IFRAME中模擬構建異構系統(tǒng)登錄頁面這個兩個步驟實現(xiàn)的。由于該接口是通過在e-cology的應用服務器上模擬構建異構系統(tǒng)登錄頁面,再由e-cology的應用服務器向異構系統(tǒng)作請求的方式實現(xiàn),所以不需要擔心在傳輸過程中,或者是在客戶端會保留用戶登錄名和用戶密碼等信息!目前IBMPortal就是通過類似的方式和其他系統(tǒng)做SSO的(在POTLET中嵌入一個IFAMRE,該IFAMRE負責獲取其他系統(tǒng)的用戶名和密碼再向其他系統(tǒng)的認證服務提交認證)。用戶映射:即在e-cology中由用戶或者系統(tǒng)管理設置一遍每個用戶在其他應用系統(tǒng)中的用戶名和帳號,當然如果其他系統(tǒng)的用戶名和帳號和e-cology是一致的,那么不需要做該操作。IFRAME中模擬構建異構系統(tǒng)登錄頁面:在ECOLOGY中將通過在IFRAME中模擬一個其他系統(tǒng)的登錄窗口的功能,同時通過用戶映射操作獲取其他系統(tǒng)的用戶名和密碼自動賦予構建的登錄窗口的登錄參數,然后自動提交該窗口(根據特定的應用系統(tǒng)可能還涉及其他一些登錄參數),實現(xiàn)自動登錄的功能。應用范圍:該接口同用于絕大多數B/S系統(tǒng)的SSO,但是無法應用在C/S系統(tǒng)上。應用效果登錄到web個人郵箱網易網易163郵箱將直接登陸進郵箱可通過e-cology自動登錄到個人郵箱或其他web網站中;登錄到其他異構系統(tǒng)通過對異構系統(tǒng)的地址、帳號、密碼的sso驗證后,可直接通過e-cology登錄到異構系統(tǒng)中:實現(xiàn)方法&步驟e-cology通過在系統(tǒng)中統(tǒng)一維護異構系統(tǒng)的用戶名和口令的方式,比較簡單的實現(xiàn)了SSO,該方案無須使用任務專業(yè)SSO商業(yè)軟件,可以實現(xiàn)和絕大多數B/S系統(tǒng)的SSO(支持FORM的認證方式的系統(tǒng))設置異構系統(tǒng)登錄參數和地址可以設置多個異構系統(tǒng)的連接方式,標識:通過自定義菜單搭建其他系統(tǒng)入口時的唯一標志,下文會說明(不可重復)內網地址,外網地址:其他系統(tǒng)的訪問地址,通常情況下保持一致就可以,某些特殊的客戶同一個系統(tǒng)可能內網訪問和外網訪問用的是不同的地址,那么這里要分別設置帳號參數名:登陸其他系統(tǒng)的的用戶名的參數名稱,其值可以直接選擇直接用e-cology的帳號登陸(如果其他系統(tǒng)的帳號和e-cology帳號一致)或者由客戶在使用的時候先輸入一次帳號,以后只要在其他系統(tǒng)帳號改變的時候再輸入就可以!密碼參數名:登陸其他系統(tǒng)的的口令的參數名稱,其值可以直接選擇直接用e-cology的密碼登陸(如果其他系統(tǒng)的帳號和e-cology密碼一致)或者由客戶在使用的時候先輸入一次密碼,以后只要在其他系統(tǒng)密碼帳號改變的時候再輸入就可以!其他參數:有些系統(tǒng)登陸的時候可能還需要一些其他的參數,在這里可以自由添加;參數名為實際登陸到其他系統(tǒng)的時候所需要的參數的名稱,標簽是客戶在設置參數值時的一個說明,參數值可以從部門(e-cology中的部門ID),分部(e-cology系統(tǒng)中的分部ID),固定值(如果選擇固定值,必須在后面輸入一個值),用戶錄入(客戶在使用的時候先輸入一次)中選擇設置左側菜單鏈接地址必須設為/interface/Entrance.jsp?id=待集成系統(tǒng)的標識值),這樣在左側菜單會形成一個異構系統(tǒng)的連接,點擊就可以直接進入系統(tǒng)設置賬號這個菜單用來給系統(tǒng)用戶維護集成系統(tǒng)的帳號信息。鏈接地址必須是/interface/AccountSetting.jsp到目前為止,系統(tǒng)設置已經完成,系統(tǒng)用戶可以使用被集成的系統(tǒng)了。在使用被集成的系統(tǒng)之前需要先設置一下自己在被集成系統(tǒng)中的賬號信息和其他參數信息(通過前文所述的“賬號設置”左側菜單進行設置,設置一次就可以了,只有在被集成系統(tǒng)的帳號改變了的情況下才需要再次設置;如果在登陸設置的地方選擇的ECOLOGY的帳號,密碼,部分,或者分部或者是固定值,那么這里是不需要設置的)帳號配置帳號:在這里設置登陸其他系統(tǒng)的帳號,如果在“登陸設置”處“帳號參數名”后選擇的“使用e-cology帳號”那么這里將不要設置也不會出現(xiàn)密碼:在這里設置登陸其他系統(tǒng)的密碼,如果在“登陸設置”處“密碼參數名”后選擇的“使用e-cology密碼”那么這里將不要設置也不會出現(xiàn)參數4:這里顯示是“登陸設置”處添加的參數的標簽,并且只顯示“參數值”選擇了“手工錄入”的參數項,這個參數主要用來有些系統(tǒng)登錄的時候不單單需要驗證用戶名和口令還需要驗證一些其他信息訪問類型:分別對應“登陸設置”設置的“內網地址”和“外網地址”接口開發(fā)通過上面所述,基本上已經能滿足絕大數單點登陸需求,如果其他系統(tǒng)有比較特殊的控制,上面的設置不能達到直接進入被集成系統(tǒng)的目的,可以通過修改接口文件來自己寫集成登陸的代碼。找到ecology安裝目錄/interface/Entrance.jsp文件并打開(最好先備份一下)注意文件中的這段代碼:if(sysid.equals("1")){//如果系統(tǒng)標識值等于1//163郵件系統(tǒng)集成 out.print(str);}elseif(sysid.equals("2")){//如果系統(tǒng)標識值等于2//第二套待集成系統(tǒng) out.print(str);}……else{out.print(str);}str字符串變量是被集成系統(tǒng)的登錄頁面html表單提交代碼,客戶開發(fā)人員可以自己修改str的值來實現(xiàn)自己的登陸代碼。大多數情況下可以不用自己開發(fā),但是對基于.net技術的網站系統(tǒng)可能需要自己實現(xiàn)登陸部分的代碼。注意事項被集成的系統(tǒng)必須是B/S架構的系統(tǒng),登錄頁面必須是傳統(tǒng)的登錄頁面(沒有驗證碼、動態(tài)密碼等)參數的獲取方法:一般登陸參數可知直接詢問要集成的產品的開發(fā)商;下面介紹下如何自己獲得需要的登陸參數名:首先:在IE中打開要集成系統(tǒng)的登陸頁面然后:點擊IE的菜單“查看”—〉“源文件”最后:在打開的TXT文件中找到單詞“<form”和“</form>”需要的參數一般都包含在這兩個單詞之間.以ECOLOGY系統(tǒng)為例(注意“type=hidden”的類型,如果該項的value值不為空,一般也是必須的登陸參數,如果為空則可以不要)<formname=form1action="VerifyLogin.jsp"method=postonSubmit="returncheckall();"> <INPUTtype=hiddenname="loginfile"value="/login/Login.jsp?logintype=1&gopage="> <INPUTtype=hiddenname="logintype"value="1"> <INPUTtype=hiddenname="rnd"><inputtype=hiddenname="gopage"value=""> <INPUTtype=hiddenname="serial"> <inputname="loginid"type="text"size="15"value=""style="margin:0px00560px;height:22px;width:115px"><br/> <inputname="userpassword"type="password"size="15"style="margin:6px00560px;height:22px;width:115px"><br/></form>

首頁門戶集成接口描述e-cology中通過嵌入式頁面的方式來實現(xiàn)異構系統(tǒng)的信息展現(xiàn)到e-cology中門戶的功能;其前提是必須和異構系統(tǒng)已經實現(xiàn)了SSO并且需要展現(xiàn)的信息在異構系統(tǒng)已經存在現(xiàn)成的展現(xiàn)頁面。應用效果直接展現(xiàn)系統(tǒng)頁面通過e-cology門戶可直接集成外掛異構系統(tǒng)或web網站的某個頁面:集成portlet元素展現(xiàn)實現(xiàn)方法&步驟e-cology可以通過兩種方式將異構系統(tǒng)的頁面集成到首頁門戶的元素中:SSO+頁面地址連接的方式PORTLET的方式SSO+頁面地址連接SSO+頁面地址連接的方式展示異構系統(tǒng)頁面解決方案,具體操作步驟可為:1.設置SSO(同上文,不再詳細描述)2.設置SSO帳號3.設置首頁自定義元素引用地址:是展現(xiàn)異構系統(tǒng)頁面對應的地址;Portlet方案PORTLET的方式對異構系統(tǒng)的要求相對比較高,它首先需要把異構系統(tǒng)需要展現(xiàn)在e-cology首頁門戶的內容做成一個符合JSR168或者JSR286標準的PORTLET然后打包給到e-cology,由e-cology門戶作為容器來展現(xiàn)相關的內容Portlets是插件式的UI組件,可以在Web門戶上管理和顯示。Portlet是一些可以聚合到門戶頁面的標記語言代碼片段(如HTML,XML等)。一個門戶頁面顯示為不重疊的portlet窗口集合,每一個portlet窗口顯示一個portlet。因此,可以說一個portlet(或portlet集合)是一個在門戶站點上基于Web的應用程序。比如Email,天氣預報,論壇和新聞等。一個Portlet是以Java技術為技術的Web組件,由PortletContainer所管理,專門處理客戶的request以及產生各種動態(tài)的信息內容。Portlets為可插式(pluggable)的客戶界面組件,提供呈現(xiàn)層成為一個信息系統(tǒng)。這些由portlet產生的內容也被稱為片段(fragment),而片段是具有一些規(guī)則的Markup(HTML、XHTML、WML),而且可以和其他的片段組合而成一個復雜的文件。而Portlet中的內容正常來說是與其他Portlet的內容聚合而成為一個Portal網頁。而Portlet的生命周期是被PortletContainer所管理控制的??蛻舳撕蚿ortlets的互動是由portal通過典型的request/response方式實現(xiàn),正常來說,客戶會和portlets所產生的內容互動,舉例來說,根據下一步的連接或者是確認送出的表單,結果portal將會接收到portlet的動作,將這個處理狀況轉向到目標portlet。這些portlet內容的產生可能會因為不同的使用者而有不同的變化,完全是根據客戶對于這個portlet的設置。Portlet標準使開發(fā)人員可以開發(fā)出能夠插入到任何支持該標準的門戶站點的portlet。遠程portlet協(xié)議Web服務標準提供對運行在遠程服務器上的portlet的“即插即用”功能。許多站點允許注冊用戶通過開關Web頁面的某些部分或添加刪除應用特性來自定義他們所看到的頁面。這通常就是用一組portlet來構成門戶站點。JavaPortlet規(guī)范(JSR168,JSR286)提供不同Web門戶站點間portlet的互操作能力。該規(guī)范定義了一組用于portlet容器和portlet之間在自定義區(qū)域尋址的互操作API,并且包含了如何自定義及其安全特性。ApachePluto是一個JSR168的參考實現(xiàn)。除了這個參考實現(xiàn)外,許多廠商也提供portlet容器的商業(yè)實現(xiàn),包括一些領導廠商如IBM、Oracle、BEA、Vignette和SUN。這些廠商提供基于portlet規(guī)范的實現(xiàn)標準和還沒被標準機構認可的擴展。此外,也有大量的支持JSR168的開源portal解決方案,如Apache的Jetspeed-2EnterprisePortal,eXoPlatform,uPortal,LiferayPortal等。

數據源配置接口說明該接口主要用來在e-cology配置和異構系統(tǒng)的數據庫的鏈接方式,通過此鏈接在e-cology中直接操作其他系統(tǒng)的數據。該接口適用于SQLSERVER,ORACLE,MYSQL,DB2,INFORMIX等結構型數據庫。實現(xiàn)方法&步驟配置數據源文件datasource.xml(該文件位于e-cology的WEB-INF/service/目錄下)<?xmlversion="1.0"encoding="GBK"?><moduleid="datasource"version="1.0.0"><service-pointid=“dt1"interface="erfaces.datasource.DataSource"><invoke-factory><constructclass="erfaces.datasource.BaseDataSource"><setproperty="type"value="oracle"/><setproperty="host"value="05"/><setproperty="dbname"value=“erp"/><setproperty="user"value="xmgl"/><setproperty="password"value="12345"/> <setproperty="minconn"value="5"/> <setproperty="maxconn"value="10"/></construct></invoke-factory></service-point><service-pointid=“dt2"interface="erfaces.datasource.DataSource"><invoke-factory><constructclass="erfaces.datasource.BaseDataSource"><setproperty="type"value="oracle"/><setproperty="host"value="04"/><setproperty="dbname"value=“test"/><setproperty="user"value="xmgl"/><setproperty="password"value="12345"/> <setproperty="minconn"value="5"/> <setproperty="maxconn"value="10"/></construct></invoke-factory></service-point></module>上文中配置兩個數據源,其中黑體部分是在配置每個數據源時需要改變的內容;屬性說明Id;這個是引用該數據源的唯一標識Type:數據庫類型(sqlserver,sqlserver2005,oracle,mysql,Informix,db2)Host:數據庫服務器地址Dbname:數據庫名(實例名)User:訪問數據庫的用戶名password:訪問數據庫的密碼minconn,maxconn:訪問該數據庫最大連接和最小連接如何引用該數據源定義上面的數據源后可以在其他接口開發(fā)中直接使用,配合其他接口,還可以有其他方式引用數據源,在后面將有介紹packageweaver.workflow.datasourcetest;importweaver.general.StaticObj;importerfaces.datasource.DataSource;importjava.sql.CallableStatement;importjava.sql.Connection;importjava.sql.SQLException;importweaver.general.BaseBean;publicclassdatasourcetest{/***獲取自定義datasource的connection**@paramdatasourceid*數據源id,為datasource.xml中的module.id+"."+service-point.id,如datasource.dt1*@return*/publicConnectiongetConnection(Stringdatasourceid){Connectionconn=null;try{DataSourcedatasource=(DataSource)StaticObj.getServiceByFullname(datasourceid,DataSource.class);//獲取數據源的信息conn=datasource.getConnection();//和數據源取得連接}catch(Exceptione){}returnconn;}/***關閉Connection**@paramconn*/publicvoidcloseConnection(Connectionconn){if(conn!=null){try{conn.close();}catch(SQLExceptione){writeLog(e);}}}}

自定義定時器接口說明該接口用來用戶在e-cology系統(tǒng)自由定義一些需要定時執(zhí)行的操作,它是由Quartz這一個開源的作業(yè)調度框架來實現(xiàn);該接口通過配置調度時間和自行開發(fā)調度動作來實現(xiàn)需要定時執(zhí)行的任務。該接口提供了兩種調度方式IntervalJob接口,此接口每隔一段時間執(zhí)行一次(自己定義間隔時間)CronJob接口,此接口在指定的時間點執(zhí)行(自己定義時間點)在開發(fā)調度動作需要實現(xiàn)e-cology提供的自定義動作接口。實現(xiàn)方法&步驟配置調度文件schedule.xml(該文件位于e-cology的WEB-INF/service/目錄下)<?xmlversion="1.0"encoding="GBK"?><moduleid="datasource"version="1.0.0"><service-pointid="job1"interface="erfaces.schedule.IntervalJob"><invoke-factory><constructclass="MyIntervalJob"> <set-serviceproperty="ds"service-id="datasource.dt1"/><setproperty="second"value="60"/></construct></invoke-factory></service-point><service-pointid="job2"interface="erfaces.schedule.CronJob"><invoke-factory><constructclass="MyCronJob"> <set-serviceproperty="ds"service-id="datasource.dt2"/><setproperty="cronExpr"value="04412?*MON-FRI"/></construct></invoke-factory></service-point>上文中配置兩個調度任務job1,job2,實現(xiàn)了兩種調度策略,其中黑體部分是在配置每個調度時需要改變的內容;屬性說明Id:唯一標識該調度任務,無其他作用service-id:上文定義的自定義數據源,如果任務執(zhí)行的動作中需要和數據源中的數據庫交付數據,需要設置該屬性class:該任務真正執(zhí)行的操作,其中job1中MyIntervalJob必須繼承erfaces.schedule.IntervalJob,job2中MyCronJob必須繼承erfaces.schedule.CronJob;繼承后需要實現(xiàn)的方法是其中的execute();value:任務執(zhí)行的頻率,在JOB1中表示沒60秒執(zhí)行一次,在JOB2中表示每周一到周五12:44執(zhí)行(JOB2的執(zhí)行頻率配置方式和一般LINUX操作系統(tǒng)的定時任務配置方式一致)如何實現(xiàn)任務執(zhí)行的操作實現(xiàn)定時執(zhí)行的操作,實際上就是實現(xiàn)erfaces.schedule.BaseIntervalJob或者erfaces.schedule.BaseCronJob中的execute()方法importerfaces.schedule.BaseIntervalJob;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;/***IntervalJob示范代碼,集成BaseIntervalJob,用自己的業(yè)務邏輯覆蓋了execute()方法,實際使用中這里可以編寫用戶需要實現(xiàn)的代碼*/publicclassMyIntervalJobextendsBaseIntervalJob{publicvoidexecute(){//從數據源中獲取連接Connectionconn=getDs().getConnection();//此處是取得上文定義的數據源dt1,如果需要操作其他系統(tǒng)的數據才需要該定義try{//通過jdbc獲取人數PreparedStatements=conn.prepareStatement("selectcount(*)asamountfromhrmresource");//此時假設在數據源dt1定義的數據庫中有hrmresource表ResultSetrs=s.executeQuery();rs.next();Stringamount=rs.getString("amount");//輸出到控制臺System.out.println("人數:"+amount);//關閉記錄集rs.close();//關閉statements.close();}catch(Exceptione){}finally{try{//關閉連接conn.close();}catch(Exceptione){}}}}

流程流轉過程中和異構系統(tǒng)數據交互接口說明該接口主要實現(xiàn)在流程的流轉當中,實時通過自定義的動作去操作異構形體系統(tǒng)的數據或者是其他一些特定的操作。在流程的每個出口都可以定義這樣的自定義動作,從而實現(xiàn)在流程流轉過程導入,導出流程的相關信息,或者將流程信息和其他應用相結合。應用效果通過e-cology流程申請?zhí)幚恚毫鞒烫峤换蛱幚斫Y束后,報銷流程中的數據會自動生成到NC系統(tǒng)中:查詢后的結果:從這里可以查看到從e-cology提交過來的對應數據:實現(xiàn)方法&步驟1、配置接口文件(action.xml)2、編寫接口(action)實現(xiàn)代碼3、流程管理員把action.xml中定義的接口設置為流程節(jié)點附加操作后,就可以實現(xiàn)流程到達該節(jié)點前(或離開該節(jié)點后)執(zhí)行接口實現(xiàn)代碼。4、在流程設置中應用該功能xml文件配置該文件名為action.xml,位于(該文件位于e-cology的WEB-INF/service/目錄下)<?xmlversion="1.0"encoding="GBK"?><moduleid="datasource"version="1.0.0"><service-pointid="baseAction"interface="erfaces.workflow.action.Action"><invoke-factory><constructclass="erfaces.workflow.action.BaseAction"> <setproperty="ds"service-id="datasource.dt1"/></construct></invoke-factory></service-point>說明:以上定義了一個id為baseAction的action,其中黑體部分是在配置每個動作時需要改變的內容;屬性說明Id:為該動作的id,不能重復,在后文件將會使用該標識Class:具體實現(xiàn)的動作類service-id:為該動作要使用的數據源,如果該動作需要好異構系統(tǒng)交互數據,在此可以設置前文配置好的數據源。如果添加一個新的動作,只需修改以上的參數就可以如果一個動作中,用到多個數據源,也可以類似的添加進去,如:<set-serviceproperty="ds1"service-id="datasource.xxx"/>只要property的值不相同就可以Action接口代碼編寫編寫接口(action)實現(xiàn)代碼,在上面的配置中,具體要實現(xiàn)的動作將體現(xiàn)在erfaces.workflow.action.BaseAction類中。該類必須實現(xiàn)erfaces.workflow.action.Action接口,該接口中包含execute(RequestInforequest),這個方法會在流程節(jié)點到達前或節(jié)點到達后被e-cology調用。示例代碼:packageerfaces.workflow.action;importmons.logging.Log;importmons.logging.LogFactory;importweaver.general.Util;importweaver.soa.workflow.request.Cell;importweaver.soa.workflow.request.DetailTable;importweaver.soa.workflow.request.Property;importweaver.soa.workflow.request.RequestInfo;importweaver.soa.workflow.request.Row;publicclassBaseActionimplementsAction{ publicStringexecute(RequestInforequest){ //取主表數據 Property[]properties=request.getMainTableInfo().getProperty();//獲取表單主字段信息 for(inti=0;i<properties.length;i++){ Stringname=properties[i].getName();//主字段名稱 Stringvalue=Util.null2String(properties[i].getValue());//主字段對應的值 System.out.println(name+""+value); } //取明細數據 DetailTable[]detailtable=request.getDetailTableInfo() .getDetailTable();//獲取所有明細表 if(detailtable.length>0){ for(inti=0;i<detailtable.length;i++){ DetailTabledt=detailtable[i];//指定明細表 Row[]s=dt.getRow();//當前明細表的所有數據,按行存儲 for(intj=0;j<s.length;j++){ Rowr=s[j];//指定行 Cellc[]=r.getCell();//每行數據再按列存儲 for(intk=0;k<c.length;k++){ Cellc1=c[k];//指定列 Stringname=c1.getName();//明細字段名稱 Stringvalue=c1.getValue();//明細字段的值 System.out.println(name+""+value); } } } } returnAction.SUCCESS; }}以上class中可以在execute(RequestInforequest)方法中定義任何想要執(zhí)行的操作,上面的示例描述了在execute(RequestInforequest)方法中獲取當前流程的所有信息。流程節(jié)點附加操作接口調用在e-cology流程管理中配置一下節(jié)點附加操作可以看到下圖所示,可以在任意一個節(jié)點上設置,當流程流到改節(jié)點,自動觸發(fā)預先定義好的動作以上網頁對話框中紅色部分接口動作將顯示所有定義過的接口動作供選擇調用。

獲取異構系統(tǒng)數據至流程字段接口說明e-cology系統(tǒng)的流程數據由表單組成,表單有字段組成,這些字段的數據可以來自于e-cology系統(tǒng),也可以通過該接口直接獲取異構系統(tǒng)的結構型數據。應用效果獲取異構系統(tǒng)人員列表:如圖中表單中的“瀏覽框”直接顯示了異構系統(tǒng)的人員數據:實現(xiàn)方法&步驟配置接口文件文件browser.xml(該文件位于e-cology的WEB-INF/service/目錄下)<?xmlversion="1.0"encoding="GBK"?><moduleid="browser"version="1.0.0"><dependencymodule-id="datasource"version="1.0.0"/><service-pointid="resourceBrowser"interface="erfaces.workflow.browser.Browser"><invoke-factory><constructclass="erfaces.workflow.browser.BaseBrowser"> <set-serviceproperty="ds"service-id=“datasource.dt1"/> <setproperty="search"value="selectid,lastname,emailfromhrmresource"/> <setproperty="searchById"value="selectlastname,emailfromhrmresourcewhereid=?"/> <setproperty="searchByName"value="selectid,lastname,emailfromhrmresourcewherelastnamelike?"/> <setproperty="nameHeader"value="姓名"/><setproperty="descriptionHeader"value="郵件"/></construct></invoke-factory></service-point><service-pointid="bd_corp"interface="erfaces.workflow.browser.Browser"><invoke-factory><constructclass="erfaces.workflow.browser.BaseBrowser"> <set-serviceproperty="ds"service-id="datasource.dt2"/> <setproperty="search"value="selectunitcode,unitcode,unitnamefrombd_corpbwhereisseal='N'orderbyb.unitcode"/> <setproperty="searchById"value="selectunitcode,unitnamefrombd_corpwhereisseal='N'andunitcode=?"/> <setproperty="searchByName"value="selectunitcode,unitcode,unitnamefrombd_corpbwhereisseal='N'andunitcodelike?orderbyb.unitcode"/> <setproperty="nameHeader"value="公司編碼"/><setproperty="descriptionHeader"value="公司名稱"/></construct></invoke-factory></service-point></module>以上配置文件中,實現(xiàn)了兩個自定義數據瀏覽頁面,黑體部分對于每個配置<service-poin></service-poin>必須根據需要個性化定義。每個配置文件中可以有多個<service-point></service-pointt>。屬性說明service-pointid:每個異構系統(tǒng)瀏覽數據的標識,在系統(tǒng)界面設置見根據該ID引用數據service-id:設置前文配置的數據源,通過該數據源獲取異構系統(tǒng)的數據search:這里配置獲取數據的SQL語句,注意字段必須為2個以上searchById:這里定義獲取數據庫信息的關鍵字段searchByName:這里定義在選擇數據頁面可供查詢的關鍵字nameHeader:這里定義選擇數據頁面數據列的列名稱descriptionHeader:這里定義選擇數據頁面數據列的列名稱獲取異構系統(tǒng)的數據作為流程字段的系統(tǒng)設置聲明完上述XML文件可以在e-cology表單字段管理中進行配置如何調用異構系統(tǒng)的數據,調用上述配置的方式為browser.service-pointid,上述配置將形成browser.resourceBrowser,browser.bd_corp兩個選項設置完成,就可以實現(xiàn)在上文所示的流程界面某字段直接獲取配置好的異構數據中的數據。

直接讀取異構數據的結構型數據自動生成審批工作流接口說明該接口將提供可視化界面配置的方式,通過配置異構系統(tǒng)結構型數據和流程表單字段對應關系,檢索數據SQL語句等信息,實現(xiàn)定時的從異構系統(tǒng)獲取數據自定生成審批工作流。實現(xiàn)方法&步驟配置異構系統(tǒng)數據源,該設置同上文描述的數據源配置配置需要從異構系統(tǒng)獲取數據的表信息屬性說明名稱:該設置的名稱(非關鍵信息)流程名稱:e-cology系統(tǒng)中的某流程外部主表:這里設置流程主表信息從異構系統(tǒng)數據庫中哪個表獲取數據外部主表條件:這里設置從異構系統(tǒng)主表中獲取數據時的過濾條件外部明細表1:這里設置流程明細表信息從異構系統(tǒng)數據庫中哪個表獲取數據外部明細表條件1:這里設置從異構系統(tǒng)明細表中獲取數據時的過濾條件說明:1:該流程自動觸發(fā)時,將根據外部主表條件搜索外部主表,有多少條記錄即觸發(fā)多少條流程;流程主字段的值來源于外部主表,而每條流程的各明細值將分別根據明細表條件搜索明細表得到的結果進行賦值;主表中必須包含id(主鍵),requestid(請求id,整型),F(xiàn)TriggerFlag(已讀未讀標記位,初始值必須為0,表示未讀,讀取后會自動更新為1)這三個字段;

2:條件以“where”開頭,如:“wherefieldname1=1andfieldname2='value2'”;回寫設置以“set”開頭,如:“setflag=1,isok=true”,F(xiàn)triggerFlag和requestid字段自動更新,不能在此設置;

3:流程觸發(fā)時會回寫外部主表,F(xiàn)triggerFlag=0表示未讀,F(xiàn)triggerFlag=1表示已讀,requestid=0表示流程創(chuàng)建人對應的外部字段值為空,requestid=-1表示外部字段保存的人員信息在oa中不存在,requestid=-2表示未知原因導致流程觸發(fā)未成功。配置異構系統(tǒng)獲取數據表和流程字段的對應關系上述界面將把流程主字段和明細字段和異構系統(tǒng)表字段一一對應說明:1:流程標題:可以選擇某個外部字段做為流程標題的來源,如果沒選擇,流程標題按“流程名-創(chuàng)建人名-日期”的格式自動生成。2:轉換規(guī)則:轉換規(guī)則只針對人力資源瀏覽框,部門瀏覽框和分部瀏覽框,如果選擇了轉換規(guī)則,將按照轉換規(guī)則字段與外部字段對應,再通過轉換字段找到人力資源瀏覽框,部門瀏覽框和分部瀏覽框對應的值。[創(chuàng)建人可以在轉換規(guī)則中選擇“固定創(chuàng)建人選擇”,選擇的人員即做為觸發(fā)流程的創(chuàng)建人,如果沒有選擇,則以系統(tǒng)管理員做為創(chuàng)建人。]3:選擇外部字段與流程字段一一對應,在將外部字段賦值的過程中,如果外部字段的數據庫類型與流程字段類型不匹配將按以下規(guī)則處理:流程字段是字符型,如果外部數據超長,則對外部數據進行截位后賦值給流程字段;流程字段是整型或浮點型,如果外部數據為字符,則賦值-1給流程字段。配置自動生成流程的頻率此后系統(tǒng)將根據設置的頻率,設置的字段對應關系,自動從異構系統(tǒng)獲取數據生成工作流到e-cology,在工作流審批結束后也可以根據設置將工作流的字段信息寫回到異構系統(tǒng)的數據表中。

異構系統(tǒng)主動觸發(fā)生成審批工作流接口說明該接口通過提供一個可被外部系統(tǒng)訪問的SERVLET來實現(xiàn)觸發(fā)生成e-cology系統(tǒng)中審批工作流的功能,異構系統(tǒng)可以在需要的時候調用該接口,同時將創(chuàng)建流程所需的數據打包為XML數據流作為參數傳遞給該接口。為了保證其安全性調用該接口的客戶端地址必須是在e-cology系統(tǒng)中設置的可信任客戶端地址范圍中。實現(xiàn)方法&步驟異構系統(tǒng)生成XML文件數據流文件格式如下:<?xmlversion='1.0'encoding='UTF-8'?><msc> <respheader> <enterpriseid></enterpriseid> <serviceid></serviceid> <ver></ver> <transactionid></transactionid> <action>createRequest</action> <resptime></resptime> <respno></respno> <respmsg></respmsg> </respheader><!—以上信息保持固定格式--> <data> <userid>zhangyuntu</userid><!—流程創(chuàng)建人登錄名--> <workflowid>55</workflowid><!—創(chuàng)建流程的ID,可以從ECOLOGY系統(tǒng)中獲取--> <requestname>在線申請/借閱流程名稱</requestname><!—流程標題--><EsOnLineReg><RegCount>1</RegCount><RegInfo><RegType>在線申請</RegType><!—自此開始為流程主字段名稱和組字段名稱對應的值--><RegUserGh>zhangyuntu</RegUserGh><RegDate>2009-06-0309:17:24</RegDate><RegReason>申請</RegReason><RegToUser>zhangyuntu</RegToUser><RegUnid>41</RegUnid><Regdocindept>歸檔單位</Regdocindept><Regusingtype>在線申請</Regusingtype><Regdalx>文書檔案</Regdalx><RegOpinion></RegOpini

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論