專利名稱:基于Web服務(wù)的電子公文流轉(zhuǎn)自動(dòng)化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及基于Web服務(wù)的電子公文流轉(zhuǎn)自動(dòng)化方法,更具體地說(shuō),本發(fā)明涉及一 種基于Web服務(wù)的電子公文交換、流轉(zhuǎn)以及顯現(xiàn)的自動(dòng)化方法。
技術(shù)背景公文是政府機(jī)關(guān)處理公務(wù)和行政管理的重要工具,在各級(jí)機(jī)關(guān)、單位中,"辦公" 的一個(gè)重要內(nèi)容就是辦理和制發(fā)文件,即"辦文",辦文是每個(gè)機(jī)關(guān)、單位大量的,曰 常的工作。依靠網(wǎng)絡(luò)信息技術(shù)對(duì)公文進(jìn)行高效有序的電子化處理,是電子政府建設(shè)的重 要組成部分,是關(guān)系到電子政府建設(shè)全局的基礎(chǔ)性工程,是政務(wù)信息互聯(lián)互通的最重要 的應(yīng)用之一。電子公文流轉(zhuǎn)自動(dòng)化方法的設(shè)計(jì)按照統(tǒng)一的規(guī)范標(biāo)準(zhǔn),在不同的地區(qū),不 同的政府部門之間進(jìn)行電子公文的傳輸,并保證公文在傳遞過(guò)程中的安全性和時(shí)效性。 實(shí)現(xiàn)安全可靠的政府電子公文信息交換,有助于提高辦公效率,推進(jìn)政務(wù)信息化建設(shè)的 發(fā)展。電子公文交換是典型的分布式應(yīng)用,為了構(gòu)造最優(yōu)的交換模式,滿足用戶信息要求和處理要求,電子公文交換方法的設(shè)計(jì)需求應(yīng)包括一下幾個(gè)方面-符合〈〈基于XML的電子公文格式規(guī)范〉〉國(guó)家標(biāo)準(zhǔn)作為電子公文的核心描述和表現(xiàn)。 遵循目錄體系與交換體系國(guó)家標(biāo)準(zhǔn),實(shí)現(xiàn)跨部門電子公文數(shù)據(jù)的共享和交換。 支持跨地區(qū)、跨部門、跨平臺(tái)、支持多種程序設(shè)計(jì)語(yǔ)言,使平臺(tái)具有廣泛的兼容性和良好的可擴(kuò)展性。保證電子公文數(shù)據(jù)存儲(chǔ)及其傳輸過(guò)程中的安全性。目前,隨著電子政務(wù)逐步深入的開(kāi)展,許多軟件開(kāi)發(fā)商為了實(shí)現(xiàn)政府內(nèi)部無(wú)紙化辦 公,實(shí)現(xiàn)日常文件的起草、審批和流轉(zhuǎn)的網(wǎng)絡(luò)化與電子化,研究設(shè)計(jì)了一系列電子公文 應(yīng)用解決方案,如北京書(shū)生公司的公文數(shù)字化系統(tǒng)、電子公文傳輸系統(tǒng)。這些系統(tǒng)提供 了對(duì)各種紙質(zhì)公文文檔的掃描、索引、存儲(chǔ)、查詢和管理的功能,但電子公文需要被不 同的辦公自動(dòng)化系統(tǒng)所識(shí)別、顯現(xiàn),需要采用置標(biāo)語(yǔ)言對(duì)電子公文歸檔管理格式進(jìn)行描 述和解析,因此,傳統(tǒng)的"電子公文"沒(méi)有真正實(shí)現(xiàn)公文的電子化存儲(chǔ)和傳輸。同時(shí), 這些解決方案主要針對(duì)同構(gòu)環(huán)境下的電子公文應(yīng)用,對(duì)于異構(gòu)平臺(tái)和數(shù)據(jù)庫(kù)的支持也考 慮得不足,而實(shí)際的電子公文應(yīng)用會(huì)跨部門甚至跨地區(qū),各部門的系統(tǒng)平臺(tái)和數(shù)據(jù)庫(kù)是異構(gòu)的,因此不能滿足求。為了解決公文電子化的問(wèn)題,我國(guó)已經(jīng)確立以XML作為公文格式規(guī)范。國(guó)家標(biāo)準(zhǔn)〈< 基于XML的電子公文格式規(guī)范》,是對(duì)電子公文體信息、公文樣式信息、公文交換信息、 公文歸檔信息、公文安全信息及其元數(shù)據(jù)的全面描述。標(biāo)準(zhǔn)規(guī)定了基于XML的電子公文 的通用要求和基本原則,有利于電子公文的規(guī)范化管理及長(zhǎng)久保存利用。但此標(biāo)準(zhǔn)并非 解決如何實(shí)現(xiàn)電子公文的自動(dòng)化流轉(zhuǎn)的解決方案,如何支持基于跨部門跨地區(qū)的異構(gòu)系 統(tǒng)平臺(tái)和數(shù)據(jù)庫(kù)的電子公文應(yīng)用,符合政府部門辦公的實(shí)際需求等。 發(fā)明內(nèi)容本發(fā)明的技術(shù)解決問(wèn)題克服現(xiàn)有技術(shù)的不足,提供基于Web服務(wù)的電子公文流轉(zhuǎn) 自動(dòng)化方法中,該方法基于國(guó)家標(biāo)準(zhǔn)<〈基于XML的電子公文格式規(guī)范〉〉對(duì)電子公文進(jìn)行 描述、解析,實(shí)現(xiàn)了電子公文可識(shí)別、可解析性以及高效的存儲(chǔ)和傳輸,為電子公文的 自動(dòng)化流轉(zhuǎn)提供了一種通用的解決方案,支持基于跨部門跨地區(qū)的異構(gòu)系統(tǒng)平臺(tái)和數(shù)據(jù) 庫(kù)的電子公文應(yīng)用,符合政府部門辦公的實(shí)際需求。本發(fā)明采取以下設(shè)計(jì)方案,基于Web服務(wù)的電子公文流轉(zhuǎn)自動(dòng)化方法,包括以下步驟(1) 通過(guò)定義XML結(jié)構(gòu)定義文件XSD,構(gòu)造XML形式的電子公文的復(fù)雜數(shù)據(jù)類型;(2) 根據(jù)步驟(1)中定義的電子公文復(fù)雜數(shù)據(jù)類型,為所要形成的電子公文流程 描述文檔定義Web服務(wù)描述文檔WSDL;(3) 根據(jù)步驟(1)中構(gòu)造的電子公文的復(fù)雜數(shù)據(jù)類型,構(gòu)造商業(yè)流程執(zhí)行語(yǔ)言BPEL, 形成電子公文流程描述文檔;(4) 將步驟(1)電子公文的復(fù)雜數(shù)據(jù)類型、步驟(2)中的Web服務(wù)描述文檔WSDL 和步驟(3)中所形成電子公文流程描述文檔一并打包,發(fā)布到BPEL流程執(zhí)行引擎。所述步驟(1) XML形式的電子公文的復(fù)雜數(shù)據(jù)類型的方法為以"公文體"為根 元素,其子元素包括"眉首"、"主體"、"版記",每個(gè)元素又包含一個(gè)或多個(gè)子元 素。所述步驟(2)為所要形成的電子公文流程描述文檔定義Web服務(wù)描述文檔WSDL包 括以下步驟A. 根據(jù)步驟一中定義的電子公文復(fù)雜數(shù)據(jù)類型,創(chuàng)建Types元素,描述Web服務(wù) 使用的數(shù)據(jù)類型;B. 根據(jù)步驟A中創(chuàng)建的Types元素,創(chuàng)建message元素,描述Web服務(wù)使用的消息;C. 采用步驟B中創(chuàng)建的message元素創(chuàng)建Port Type元素,描述Web服務(wù)定義的 抽象操作;D. 創(chuàng)建binding元素,描述Web服務(wù)使用的通信協(xié)議;E. 創(chuàng)建service元素,描述服務(wù)的入口地址。所述的步驟C創(chuàng)建Port Type元素包括定義operation子元素,描述Web服務(wù)提 供的操作;定義input子元素,描述Web服務(wù)請(qǐng)求消息的參數(shù);定義output子元素, 描述Web服務(wù)響應(yīng)消息的參數(shù)。所述的歩驟(3)構(gòu)造商業(yè)流程執(zhí)行語(yǔ)言BPEL,形成電子公文流程描述文檔包括以 下步驟A. 列出電子公文流程中需要調(diào)用的Web服務(wù)清單;B. 根據(jù)所要形成的電子公文流程中涉及的參與者角色,采用商業(yè)流程執(zhí)行語(yǔ)言BPEL 定義電子公文流程合作伙伴鏈接類型;C. 根據(jù)步驟A中列出的Web服務(wù)清單和步驟B中的合作伙伴鏈接類型,商業(yè)流程執(zhí) 行語(yǔ)言BPEL構(gòu)造電子公文流程,從而形成電子公文流程描述文檔。所述的步驟B為a. 創(chuàng)建伙伴名稱(name)元素;b. 根據(jù)步驟C中定義的合作伙伴鏈接類型創(chuàng)建合作伙伴鏈接類型 (partnerLinkType)元素;c. 創(chuàng)建partnerRole元素,描述合作伙伴的角色;d. 創(chuàng)建myRole元素,描述電子公文流程本身的角色。 所述的步驟C為a. 根據(jù)步驟C所述的定義的電子公文流程合作伙伴鏈接類型,定義合作伙伴鏈接;b. 聲明電子公文流程中涉及的變量;c. 根據(jù)定義的合作伙伴鏈接和聲明的變量,釆用商業(yè)流程執(zhí)行語(yǔ)言BPEL,將Web 服務(wù)清單中列出的Web服務(wù)串聯(lián)起來(lái),編寫(xiě)電子公文流程的邏輯定義。..所述的步驟C編寫(xiě)電子公文流程的邏輯定義包括a.創(chuàng)建以下電子公文流程基本活動(dòng)元素使用invoke元素表示調(diào)用Web服務(wù),使 用receive元素表示等待客戶端通過(guò)發(fā)送消息調(diào)用業(yè)務(wù)流程,使用r印ly元素表示生成 同步操作的響應(yīng),使用assign元素表示操作數(shù)據(jù)變量,使用throw元素指示故障和異常,使用wait元素表示等待一段時(shí)間,使用terminate元素終止整個(gè)流程;b.創(chuàng)建以下電子公文流程結(jié)構(gòu)活動(dòng)元素使用sequence元素表示一組將按順序調(diào) 用的活動(dòng),使用flow元素表示一組將并行調(diào)用的活動(dòng),使用switch元素實(shí)現(xiàn)分支,使 用while元素定義循環(huán),使用pick元素選擇多個(gè)替換路徑之一。本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于本發(fā)明為電子公文可識(shí)別、可解析性以及高效 的存儲(chǔ)和傳輸提供了一種解決方案,同時(shí)解決了電子公文自動(dòng)化流轉(zhuǎn)對(duì)跨部門跨地區(qū)的 異構(gòu)系統(tǒng)平臺(tái)和數(shù)據(jù)庫(kù)的支持,符合政府部門辦公的實(shí)際需求。
圖l為本發(fā)明的方法流程圖;圖2為本發(fā)明實(shí)施例北京航空航天大學(xué)人事任免審批公文體復(fù)雜類型示意圖; 圖3為本發(fā)明實(shí)施例北京航空航天大學(xué)人事任免審批流程示意圖; 圖4為本發(fā)明的公文發(fā)送服務(wù)接口示意圖; 圖5為本發(fā)明的公文提取服務(wù)接口示意圖。
具體實(shí)施方式
本發(fā)明公開(kāi)的基于Web服務(wù)的電子公文流轉(zhuǎn)自動(dòng)化方法主要包括。下面以一個(gè)北京 航空航天大學(xué)人事任免審批流程為實(shí)例說(shuō)明本方法。下面以北京航空航天大學(xué)人事任免審批業(yè)務(wù)為例介紹本發(fā)明的實(shí)現(xiàn)過(guò)程。如圖1所 示,本發(fā)明提供的基于Web服務(wù)的電子公文流轉(zhuǎn)自動(dòng)化方法主要包括以下步驟第一步通過(guò)定義XML結(jié)構(gòu)定義文件(XSD),構(gòu)造北京航空航天大學(xué)人事任免審 批電子公文復(fù)雜數(shù)據(jù)類型。北京航空航天大學(xué)人事任免審批流程的公文體的組成元素包括份數(shù)序號(hào)、秘密等 級(jí)、保密期限、緊急程度、發(fā)文機(jī)關(guān)標(biāo)識(shí)、發(fā)文字號(hào)、簽發(fā)人、標(biāo)題、主送機(jī)關(guān)、正文、 附件、公文生效標(biāo)識(shí)(包括發(fā)文機(jī)關(guān)署名和印章,或簽發(fā)人職務(wù)和名章)、成文日期、 印發(fā)傳達(dá)范圍、附注、主題詞、抄送機(jī)關(guān)和印制版記(包括印發(fā)機(jī)關(guān)、印發(fā)日期、印發(fā) 份數(shù))等。以XSD格式定義公文體復(fù)雜類型〈xsd:complexTypenarae 〃公文體"、以"公文體" 為根元素構(gòu)造公文體復(fù)雜類型的Schema,如圖2所示。第二步,根據(jù)第一步中定義的電子公文復(fù)雜數(shù)據(jù)類型,為所要形成的電子公文流程 描述文檔定義Web服務(wù)描述文檔WSDL;A.根據(jù)步驟一中定義的電子公文復(fù)雜數(shù)據(jù)類型,創(chuàng)建Types元素,描述Web服務(wù)使用的數(shù)據(jù)類型;B. 根據(jù)步驟A中創(chuàng)建的Types元素,創(chuàng)建message元素,描述Web服務(wù)使用的消 息;C. 采用步驟B中創(chuàng)建的message元素創(chuàng)建Port Type元素,描述Web服務(wù)定義的 抽象操作;D. 創(chuàng)建binding元素,描述Web服務(wù)使用的通信協(xié)議;E. 創(chuàng)建service元素,描述服務(wù)的入口地址。所述的步驟C創(chuàng)建Port Type元素包括定義operation子元素,描述Web服務(wù)提 供的操作;定義input子元素,描述Web服務(wù)請(qǐng)求消息的參數(shù);定義output子元素, 描述Web服務(wù)響應(yīng)消息的參數(shù)。第三步根據(jù)第一步中構(gòu)造的電子公文的復(fù)雜數(shù)據(jù)類型,構(gòu)造商業(yè)流程執(zhí)行語(yǔ)言 BPEL,形成電子公文流程描述文檔,具體包括以下步驟A. 列出電子公文流程中需要調(diào)用的Web服務(wù)清單;B. 根據(jù)所要形成的電子公文流程中涉及的參與者角色,采用商業(yè)流程執(zhí)行語(yǔ)言BPEL 定義電子公文流程合作伙伴鏈接類型;C. 根據(jù)步驟A中列出的Web服務(wù)清單和步驟B中的合作伙伴鏈接類型,商業(yè)流程執(zhí) 行語(yǔ)言BPEL構(gòu)造電子公文流程,從而形成電子公文流程描述文檔。所述的步驟B為a. 創(chuàng)建伙伴名稱(name)元素;b. 根據(jù)步驟C中定義的合作伙伴鏈接類型創(chuàng)建合作伙伴鏈接類型 (partnerLinkType)元素;c. 創(chuàng)建partnerRole元素,描述合作伙伴的角色;d. 創(chuàng)建myRole元素,描述電子公文流程本身的角色。 所述的步驟C為a. 根據(jù)步驟C所述的定義的電子公文流程合作伙伴鏈接類型,定義合作伙伴鏈接;b. 聲明電子公文流程中涉及的變量;c. 根據(jù)定義的合作伙伴鏈接和聲明的變量,采用商業(yè)流程執(zhí)行語(yǔ)言BPEL,將Web 服務(wù)清單中列出的Web服務(wù)串聯(lián)起來(lái),編寫(xiě)電子公文流程的邏輯定義。所述的步驟C編寫(xiě)電子公文流程的邏輯定義包括-a.創(chuàng)建以下電子公文流程基本活動(dòng)元素使用invoke元素表示調(diào)用Web服務(wù),使待客戶端通過(guò)發(fā)送消息調(diào)用業(yè)務(wù)流程,使用reply元素表示生成 同步操作的響應(yīng),使用assign元素表示操作數(shù)據(jù)變量,使用throw元素指示故障和異 常,使用wait元素表示等待一段時(shí)間,使用tenninate元素終止整個(gè)流程;b.創(chuàng)建以下電子公文流程結(jié)構(gòu)活動(dòng)元素使用sequence元素表示一組將按順序調(diào) 用的活動(dòng),使用How元素表示一組將并行調(diào)用的活動(dòng),使用switch元素實(shí)現(xiàn)分支,使 用while元素定義循環(huán),使用pick元素選擇多個(gè)替換路徑之一。第四步將第一步中形成的電子公文的復(fù)雜數(shù)據(jù)類型、第二步中的Web服務(wù)描述文 檔WSDL和第三步中所形成電子公文流程描述文檔一并打包,發(fā)布到BPEL流程執(zhí)行引擎。 以下為北京航空航天大學(xué)人事任免審批流程自動(dòng)化實(shí)現(xiàn)過(guò)程中第二步和第三步的 詳細(xì)實(shí)現(xiàn)過(guò)程。北京航空航天大學(xué)人事任免審批流程包括公文起草、各級(jí)領(lǐng)導(dǎo)審批、財(cái)務(wù)處登 記、檔案處歸檔、公文派發(fā)五個(gè)步驟。流程如圖3所示。 1.列出電子公文流程涉及的Web服務(wù)清單在開(kāi)始編寫(xiě)B(tài)PEL流程定義之前,應(yīng)先熟悉從業(yè)務(wù)流程中調(diào)用的Web服務(wù)。這些服務(wù) 稱作合作伙伴Web服務(wù)。本實(shí)例使用的Web服務(wù)如下1) 公文發(fā)送服務(wù)(sendFileService)該服務(wù)是異步的;它指定了兩個(gè)端口類型第一個(gè)端口類型sendFilePT用于使用 semiFileRequest操作提交帶受理材料。為返回受理結(jié)果,該Web服務(wù)指定了第二個(gè)端 口類型sendFileCallbackPT。此端口類型指定sendFileResult操作。見(jiàn)圖4。 〈portType name="sendFilePT"〉〈operation name=〃sendFileRequest〃〉〈i叩ut message=〃cslpa: sendFileRequestMessage7〉 </operation> 〈/portType><portType name=" sendFileCallbackPT 〃>"(operation name="sendFileResult"〉<input message=〃cslpa: sendFileReplyMessage〃/>〈/operation> </portType〉2) 公文提取服務(wù)(selectFileService)該服務(wù)是異步的;它指定了兩個(gè)端口類型第一個(gè)端口類型selectFilePT用于使 用selectFileRequest操作提交帶審查材料。為返回審查結(jié)果,該Web服務(wù)指定了第二 個(gè)端口類型selectFileCallbackPT。此端口類型指定selectFileResult操作。見(jiàn)圖5。 〈portType name=〃selectFilePT"〉
<operation name=〃selectFileRequest"〉
〈input message=〃cslpa: selectFileRequestMessage7〉 〈/operation〉 〈/portType〉
〈portType name selectFileCallbackPT"〉
〈operation name二〃selectFileResult"
<input message="cslpa: selectFileReplyMessage7〉
</operation> </portType〉
2. 為BPEL流程定義WSDL
此流程需從它的客戶端接收消息并返回結(jié)果,因此需要公開(kāi)兩個(gè)端口類型-OAProcessPortType端口類型和d印artmentCallBackPortType端口類型。 〈portType name二〃OAProcessPortType〃〉 〈operation name=〃process〃〉
〈i叩ut message=〃tns:0AProcessRequestMessage7〉 〈output message二〃tns:0APr*ocessResponseMessage7> 〈/operation〉 </portType〉
〈portType name=〃departmentCallBackPortType〃> 〈operation rmme=〃process〃〉
〈i叩ut message="tns:departroentCallBackRequestMessage7〉 〈output message=〃tns:departmentCallBackResponseMessage7〉 </oper£ition〉 〈/portType〉
3. 定義合作伙伴鏈接類型
合作伙伴鏈接類型表示BPEL流程與相關(guān)方(包括BPEL流程調(diào)用的Web服務(wù)以及調(diào)用BPEL流程的客戶端)之間的交互。
本實(shí)例包含十二個(gè)不同的合作伙伴公文起草客戶端、人事處公文發(fā)送服務(wù)、人事
處處長(zhǎng)公文提取服務(wù)、人事處處長(zhǎng)公文發(fā)送服務(wù)、校長(zhǎng)公文提取服務(wù)、校長(zhǎng)公文發(fā)送服 務(wù)、黨委書(shū)記公文提取服務(wù)、黨委書(shū)記公文發(fā)送服務(wù)、財(cái)務(wù)處公文提取服務(wù)、財(cái)務(wù)處公
文發(fā)送服務(wù)、檔案處公文提取服務(wù)、檔案處公文發(fā)送服務(wù)。理想情況下,每個(gè)Web服務(wù) 都應(yīng)在WSDL中定義相應(yīng)的合作伙伴鏈接類型。(實(shí)際情形可能不是這樣的。)然后, 我們可以使用WSDL包裝合作伙伴Web服務(wù)(導(dǎo)入Web服務(wù)的WSDL并定義合作伙伴鏈接 類型)。
對(duì)于本示例,定義了二個(gè)合作伙伴鏈接類型(每個(gè)類型位于Web服務(wù)的相應(yīng)WSDL 中)-
OAProcessPL :用于描述公文起草客戶端與此BPEL流程本身之間的交互。此交互 是同步交互。此合作伙伴鏈接類型在此BPEL流程的WSDL中定義。 <plnk:partnerLinkType name=〃OAProcessPL"> <plnk:role narae=〃OAProcessProvider〃>
<plnk:portType name=〃tns :0AProcessPortType7〉 </plnk:role> 〈/plnkpartnerLinkType>
d印artmentPL:用于描述此BPEL流程與各審批部門之間的交互。此交互是異步交互, 且受理服務(wù)對(duì)此BPEL流程調(diào)用一個(gè)回調(diào)。此合作伙伴鏈接類型在受理服務(wù)的WSDL中定 義。
〈plnk:partnerLinkType name="departmentPI/'> <plnk:role name=〃departmentProvider〃〉
〈plnk:portType'' rvame=〃FileOperation :File0peration7〉 </plnk:role〉
<plnk:role name=〃departmentCallBack"〉
<plnk: portType name-"tns: departmentCallBackPort.Type,〃/〉
〈/plnk:role〉 〈/plnk:partnerLinkType〉 4.創(chuàng)建業(yè)務(wù)流程 1)定義合作伙伴鏈接合作伙伴鏈接定義與此BPEL流程交互的不同方。每個(gè)合作伙伴鏈接都與描述其特性 的特定partnerLinkType相關(guān)。每個(gè)合作伙伴鏈接可最多指定兩個(gè)屬性-myRole:表明業(yè)務(wù)流程本身的龜色。 partnerRole:表明合作伙伴的角色。
RSC:用于描述公文起草客戶端和此BPEL流程 〈partnerLink name二"RSC"
partnerLinkType nsxm10:0AProcessPl/' myRole="OAProcessProvider〃 /〉
RSCCZ:用于描述此BPEL流程與人事處處長(zhǎng) 〈partenerLink name="RSCCZ"
partenerLinkType nsxmlO: departmentPL" myRole="departmentCallBack" partenerRole=〃departmentProvider" /〉
XZ:用于描述此BPEL流程與校長(zhǎng) 〈partenerLink name XZ "
partenerLinkType二〃nsxmlO:departmentPL〃 myRole="departmentCallBack" partenerRole=〃departmentP:rovider" />
DWSJ:用于描述此BPEL流程與黨委書(shū)記 〈partenerLink name="DWSJ""
partenerLinkType="nsxmlOd印artmentPL〃 myRole="departmentCallBack" paxtenerRole=〃departmentProvider" /〉
DAC:用于描述此BPEL流程與檔案處 〈partenerLink rmme-"DAC〃
partenerLinkType=〃nsxmlO:departmentPL〃myRole-〃departmentCallBack〃
partenerRole departmentProvider〃
/〉
CWC:用于描述此BPEL流程與財(cái)務(wù)處 〈partenerLink name=" CWC "
partenerLinkType=〃nsxmlO:departmentPL myRole=〃departmentCallBack〃 partenerRole二〃d印artmentProvidei:〃 />
2)聲明變量
BPEL流程中的變量用于存儲(chǔ)消息以及對(duì)這些消息進(jìn)行重新格式化和轉(zhuǎn)換。需為發(fā)送 到合作伙伴以及從合作伙伴收到的每個(gè)消息定義一個(gè)變量。
需為每個(gè)變量指定類型??梢允褂肳SDL消息類型、XML模式簡(jiǎn)單類型或XML模式 元素。
〈variables〉
〈variable name=〃input〃 messageType=〃nsxml0:0AProcessRequestMessage7〉 〈variable name-〃output〃
messageType=〃nsxml0:0AP:rocessResponseMessage7〉
<variable name=〃departmentRequest"
messageType="nsxmll: saveXMLFileRequest7〉
<vaxiable name departnientResponseW
messageType=〃nsxmll: saveXMLFileResponse7〉
〈variable name=〃departmentCallBackRequest〃
messageType=〃nsxmlO:departmentCallBackRequestMessage7>
〈variable name="departmentCallBackResponse"
messageType二〃nsxm10: departmentCal lBackResponseMessage7>
<variable name=〃CWCRequest〃 messageType="nsxmll:saveXMLFileRequest7〉 〈variable name=〃DACRequest〃 messageType="nsxmll:saveXMLFileRequest7〉 〈vaxiable name二〃CWCCallBackRequest〃messageType=〃nsxmlO: dGpartmentCgnBackRequestMessage7〉
〈variable name="DACCallBackRequest〃 messageType-〃ns)anl0:ciepartmentCallBackRequestMessage7〉 </variables〉 3)編寫(xiě)流程邏輯定義
流程主體指定調(diào)用合作伙伴Web服務(wù)的順序。它通常以〈seqiience〉(用于定義多 個(gè)將按順序執(zhí)行的操作)開(kāi)始。 人事處起草電子公文
〈receivename=〃 接收人事處電子公文〃 partnerLink=〃RSC〃 por"tType nsxmlO:OAProcessPortType〃 operation=〃process" variaMe二〃input〃 createlnstance=〃yes〃〉 〈correlations〉
(correlation set=〃FWXY" initiate=〃yes7〉 </correlations〉 〈/receive〉 人事處處長(zhǎng)審批
〈sequence name 人事處處長(zhǎng)審批〃〉
< invoke name=〃發(fā) 送電 子公文〃 partnerLink二〃RSCCZ" portType=〃nsxmll: FileOperation〃 operation saveXMLFile〃 inputVariaMe=〃department Request" outputVariable=〃departmentResponse"/〉 〈receivename=〃 接 收 審 批 結(jié) 果 〃 createlnstance-〃no〃 partnerLink=〃RSCCZ"
portType二〃nsxmlO:departmentCallBackPortType〃 operation=〃process〃 variable=〃departmentCallBackRequest"〉 〈correlations〉
(correlation set FWXY7〉 </correlations〉 </receive〉
〈r印ly name=〃確認(rèn)〃 partner*Link=〃RSCCZ〃說(shuō)明書(shū)第12/15頁(yè)portType=〃nsxmlO:departmentCal1BackPortType〃 operation="process"variable=〃departnientCallBackResponse7〉〈/sequence> 校長(zhǎng)審批〈sequence name 校長(zhǎng)審批"〉 〈invoke name-" 發(fā) 送 電 子 公 文 〃 partnerLink=〃XZ ' portType=〃nsxmll:FileOperation" operation="saveXMLFile' i叩utVariable department Request" outputVariable=〃departmentResponse7> 〈receive name二〃接收審批結(jié)果〃 createInstance="no" partnerLinf XZ "portType="nsxmlO:departmentCalIBackPortType" opera>tion=〃process〃 variable departmentCallBackRequest"〉 〈correl£Ltions><correlation set="FWXY7〉 〈/correlations〉 〈/receive>〈reply name=〃 確 認(rèn) 〃 partnerLink=〃 XZ ' portType=〃nsxnilO:depa:rtnientCallBackPortType" opereition process〃variable=〃departmentCallBackResponse'7></sequence〉 黨委書(shū)記審批〈sequence rmme二〃黨委書(shū)記審批〃〉〈invoke name-〃 發(fā) 送 電 子 公 文 〃 partnerLink DWSJ力 portType=〃nsxmll:FileOperation〃 operation二〃saveXMLFile力 inputVariable=〃departmentRequestwoutputVariable-〃departmentResponse7〉 <receive name-〃接收審批結(jié)果〃 createlnstance二〃no〃 partnerLink=〃DWSJ〃portType二〃nsxm10 :d印artmentCallBackPortType〃 operation二"process" variable-"departmentCallBackRequest"〉 <correlations〉Correlation set=〃FWXY7〉 〈/correlations〉 〈/receive〉<replyname=〃 確 認(rèn) 〃partnerLink=〃 DWSJ〃 portType=〃nsxmlO:departmentCallBackPortType" operation=〃process〃 variable=〃departmentCallBackResponse7〉〈/sequence〉 財(cái)務(wù)處登記〈sequence name二〃財(cái)務(wù)處登記〃〉〈invoke name=〃發(fā)送電子公文〃 partnerLink=〃CWC" portType=〃nsxmll:FileOperation〃 operation saveXMLFile〃 i叩utVariable-〃department Request" output Variable=〃departmentResponse7〉 〈receive name-〃接收審批結(jié)果〃 createlnstance二〃no〃 partnerUnk=〃 CWC "po:rtType二〃nsxml(hdepartmentCallBackPortType" operation二〃process〃 variable二〃departmentCal1BackRequest〃〉 <correlations〉(correlation set="FWXY〃/> </correlations> 〈/receive〉<reply name 確 認(rèn) 〃 partnerLink=〃 CWC 〃 portType=〃nsxmlO:departmentCallBackPortType〃 operation=〃process〃 vaTiable=〃departmentCallBackResponse7〉〈/sequence〉檔案處歸檔<sequence n鍵-〃檔案處歸檔〃〉〈invoke name=〃發(fā)送電子公文〃 partnerLink=〃DAC〃 portType=〃nsxmll:FileOperation〃 operation=〃saveXMLFile〃 i叩utVariable-〃departmentRequest〃 outputVariable=〃departmentResponse'7〉 〈receive name-〃接收審批結(jié)果〃 createlnstance-〃no〃 partnerLink=〃 DAC "portType=〃nsxmlO:departmentCal1BackPortType〃 operation=〃process〃 variable="departmentCallBackRequest〃〉 〈correlations〉(correlation set=〃FWXY〃/〉 〈/cor:relatioris> </receive〉〈reply name=〃 確 認(rèn) 〃 partnerLink=〃 DAC 〃 portType="nsxmlO:departmentCallBackPortType" operation="process〃 variable="departmentCallBackResponse〃/>〈/sequence> 派發(fā)電子公文〈flow name-〃派發(fā)電子公文〃〉〈invoke name=〃發(fā)送給人事處處長(zhǎng)"partnerLink="RSCCZ〃 portType二"nsxmll:FileOperationPortType〃operation=〃saveXMLFile〃 inputVariable="departmentRequest〃 output Variab'le='"d'epartmentResponse7><invoke name=〃 發(fā)送給校長(zhǎng) 〃 partnerLink=〃 XZ 〃 portType="nsxml1:FileOperationPortType"operation=〃saveXMLFile" i叩utVariabl..e:"d印aKtment Request" outputVariable=〃departmentResponse〃/〉<irwoke name=〃發(fā)送給黨委書(shū)記〃 partnerUnk=〃DWSJ〃 portType="nsxnil 1: Fi le0perat ionPortType"operation=〃saveXMLFile〃 inputVariable=〃depa:rtnientRequest〃outputVa:riable=〃departmentResponse7></flow>本發(fā)明未詳細(xì)描述部分屬于本領(lǐng)域公知技術(shù)。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員 來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也 應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、基于Web服務(wù)的電子公文流轉(zhuǎn)自動(dòng)化方法,其特征在于包括以下步驟(1)通過(guò)定義XML結(jié)構(gòu)定義文件XSD,構(gòu)造XML形式的電子公文的復(fù)雜數(shù)據(jù)類型;(2)根據(jù)權(quán)利要求1步驟(1)中定義的電子公文復(fù)雜數(shù)據(jù)類型,為所要形成的電子公文流程描述文檔定義Web服務(wù)描述文檔WSDL;(3)根據(jù)步驟(1)中構(gòu)造的電子公文的復(fù)雜數(shù)據(jù)類型,構(gòu)造商業(yè)流程執(zhí)行語(yǔ)言BPEL,形成電子公文流程描述文檔;(4)將步驟(1)電子公文的復(fù)雜數(shù)據(jù)類型、步驟(2)中的Web服務(wù)描述文檔WSDL和步驟(3)中所形成電子公文流程描述文檔一并打包,發(fā)布到BPEL流程執(zhí)行引擎。
2、 根據(jù)權(quán)利要求1所述的基于Web服務(wù)的電子公文流轉(zhuǎn)自動(dòng)化方法,其特征在于 所述步驟(1) XML形式的電子公文的復(fù)雜數(shù)據(jù)類型的方法為以"公文體"為根元素, 其子元素包括"眉首"、"主體"、"版記",每個(gè)元素又包含一個(gè)或多個(gè)子元素。
3、 根據(jù)權(quán)利要求l所述的基于Web服務(wù)的電子公文流轉(zhuǎn)自動(dòng)化方法,其特征在于 所述的步驟(2)為所要形成的電子公文流程描述文檔定義Web服務(wù)描述文檔WSDL包括 以下步驟A. 根據(jù)步驟(1)中定義的電子公文復(fù)雜數(shù)據(jù)類型,創(chuàng)建Types元素,描述Web服 務(wù)使用的數(shù)據(jù)類型;B. 根據(jù)步驟A中創(chuàng)建的Types元素,創(chuàng)建message元素,描述Web服務(wù)使用的消 息;C. 采用步驟B中創(chuàng)建的message元素創(chuàng)建Port Type元素,描述Web服務(wù)定義的 抽象操作;D. '創(chuàng)建binding元素,描述Web服務(wù)使用的通信協(xié)議;E. 創(chuàng)建service元素,描述服務(wù)的入口地址。
4、 根據(jù)權(quán)利要求l所述的基于Web服務(wù)的電子公文流轉(zhuǎn)自動(dòng)化方法,其特征在于 所述的步驟(3)構(gòu)造商業(yè)流程執(zhí)行語(yǔ)言BPEL,形成電子公文流程描述文檔包括以下步 驟A. 列出電子公文流程中需要調(diào)用的Web服務(wù)清單;B. 根據(jù)所要形成的電子公文流程中涉及的參與者角色,采用商業(yè)流程執(zhí)行語(yǔ)言BPEL 定義電子公文流程合作伙伴鏈接類型;C.根據(jù)步驟A中列出的Web服務(wù)清單和步驟B中的合作伙伴鏈接類型,采用商業(yè)流 程執(zhí)行語(yǔ)言BPEL構(gòu)造電子公文流程,從而形成電子公文流程描述文檔。
5、 根據(jù)權(quán)利要求3所述的基于Web服務(wù)的電子公文流轉(zhuǎn)自動(dòng)化方法,其特征在于 所述的步驟C為(1) 根據(jù)步驟C所述的定義的電子公文流程合作伙伴鏈接類型,定義合作伙伴鏈接;(2) 聲明電子公文流程中涉及的變量;(3) 根據(jù)步驟(1)中定義的合作伙伴鏈接和步驟(2)的聲明的變量,采用商業(yè)流 程執(zhí)行語(yǔ)言BPEL,將權(quán)利要求3步驟A中Web服務(wù)清單中列出的Web服務(wù)按照?qǐng)?zhí)行順序 串聯(lián)起來(lái),編寫(xiě)電子公文流程的邏輯定義。
6、 根據(jù)權(quán)利要求3所述的基于Web服務(wù)的電子公文流轉(zhuǎn)自動(dòng)化方法,其特征在于 所述的步驟C中創(chuàng)建Port Type元素包括定義operation子元素,描述Web服務(wù)提供 的操作;定義i叩ut子元素,描述Web服務(wù)請(qǐng)求消息的參數(shù);定義output子元素,描 述Web服務(wù)響應(yīng)消息的參數(shù)。
7、 根據(jù)權(quán)利要求5所述的基于Web服務(wù)的電子公文流轉(zhuǎn)自動(dòng)化方法,其特征在于 所述的步驟U)定義合作伙伴鏈接包括以下步驟-(1)創(chuàng)建伙伴名稱name元素;(2 )根據(jù)步驟C中定義的合作伙伴鏈接類型創(chuàng)建合作伙伴鏈接類型 partnerLinkType元素;(3) 創(chuàng)建partnerRole元素,描述合作伙伴的角色;(4) 創(chuàng)建myRole元素,描述電子公文流程本身的角色。
8、根據(jù)權(quán)利要求5所述的基于Web服務(wù)的電子公文流轉(zhuǎn)自動(dòng)化方法,其特征在于 所述的步驟(3)編寫(xiě)電子公文流程的邏輯定義包括以下步驟(1) 創(chuàng)建以下電子公文流程基本活動(dòng)元素使用invoke元素表示調(diào)用Web服務(wù), 使用receive元素表示等待客戶端通過(guò)發(fā)送消息調(diào)用業(yè)務(wù)流程,使用r印ly元素表示生 成同步操作的響應(yīng),使用assign元素表示操作數(shù)據(jù)變量,使用throw元素指示故障和 異常,使用wait元素表示等待一段時(shí)間,使用terminate元素終止整個(gè)流程;(2) 創(chuàng)建以下電子公文流程結(jié)構(gòu)活動(dòng)元素使用sequence元素表示一組將按順序 調(diào)用的活動(dòng),使用flow元素表示一組將并行調(diào)用的活動(dòng),使用switch元素實(shí)現(xiàn)分支, 使用while元素定義循環(huán),使用pick元素選擇多個(gè)替換路徑之一。
全文摘要
基于Web服務(wù)的電子公文流轉(zhuǎn)自動(dòng)化方法,步驟為(1)通過(guò)定義XML結(jié)構(gòu)定義文件XSD,構(gòu)造XML形式的電子公文的復(fù)雜數(shù)據(jù)類型;(2)根據(jù)定義的電子公文復(fù)雜數(shù)據(jù)類型,為所要形成的電子公文流程描述文檔定義Web服務(wù)描述文檔WSDL;(3)構(gòu)造商業(yè)流程執(zhí)行語(yǔ)言BPEL,形成電子公文流程描述文檔;(4)將步驟(1)電子公文的復(fù)雜數(shù)據(jù)類型、步驟(2)中的Web服務(wù)描述文檔WSDL和步驟(3)中所形成電子公文流程描述文檔一并打包,發(fā)布到BPEL流程執(zhí)行引擎。本發(fā)明實(shí)現(xiàn)了電子公文可識(shí)別、可解析性以及高效的存儲(chǔ)和傳輸,同時(shí)解決了電子公文自動(dòng)化流轉(zhuǎn)對(duì)跨部門跨地區(qū)的異構(gòu)系統(tǒng)平臺(tái)和數(shù)據(jù)庫(kù)的支持,符合政府部門辦公的實(shí)際需求。
文檔編號(hào)G06Q10/00GK101320453SQ20081011699
公開(kāi)日2008年12月10日 申請(qǐng)日期2008年7月22日 優(yōu)先權(quán)日2008年7月22日
發(fā)明者斗 孫, 晶 李, 卓 趙, 馬殿富 申請(qǐng)人:北京航空航天大學(xué)