Atanu Banerjee
摘要:2007Microsoft Office system提供了一套服務(wù)器、客戶端和工具,可使企業(yè)和軟件供應(yīng)商更容易地在企業(yè)內(nèi)構(gòu)建和部署復(fù)合應(yīng)用程序。這些稱為 Office 業(yè)務(wù)應(yīng)用程序 (OBA)的解決方案可以快速地進行構(gòu)建和部署;使最終用戶能夠使用大量的個性化功能;易于根據(jù)業(yè)務(wù)需求進行更改;使用熟悉的 Microsoft Office工具和應(yīng)用程序而構(gòu)建。本文介紹如何對復(fù)合應(yīng)用程序進行架構(gòu)設(shè)計,以及 2007 Microsoft Office system如何為構(gòu)建此類應(yīng)用程序提供最終用戶所熟悉的良好平臺。
本頁內(nèi)容
全球化、專業(yè)化以及外包化要求人們在工作中比以往更為密切地進行協(xié)作。這種趨勢要求在信息工作者用來進行了解、協(xié)作、做出決定以及采取行動的工具中進行相應(yīng)更改。目前,多數(shù)業(yè)務(wù)應(yīng)用程序在自動化事務(wù)處理方面都很有效,但卻不能突破功能上的界限進行充分協(xié)作。這通常導致信息工作者使用個人生產(chǎn)率工具來執(zhí)行從事業(yè)務(wù)所需的復(fù)雜交互。但是,這種做法也導致了生產(chǎn)率降低,因為這迫使用戶不得不在各種工具集之間來回切換,經(jīng)常通過剪切和粘貼之類的方式來手動移動數(shù)據(jù)。需要鏟除在不同業(yè)務(wù)應(yīng)用程序和生產(chǎn)率工具之間存在的這些障礙,才能使信息工作者以一種無縫、同步并且安全的方式工作。
目前確實沒有一種有效的方式,能夠使在某種程度上與上下文相關(guān)、相互協(xié)作、易用、基于角色并且可配置的業(yè)務(wù)應(yīng)用程序組合與構(gòu)建這些種類的復(fù)合應(yīng)用程序所需的其他平臺技術(shù)接軌。易用這一點非常重要,這是因為復(fù)合應(yīng)用程序的平臺、工具和體系結(jié)構(gòu)不應(yīng)引入需要徹底對人員進行重新培訓的過高的技術(shù)復(fù)雜性。
什么是復(fù)合應(yīng)用程序?
復(fù)合應(yīng)用程序是經(jīng)過組裝能提供業(yè)務(wù)功能的軟件資產(chǎn)的集合。這些資產(chǎn)是可獨立部署、啟用復(fù)合并且利用特定平臺功能的產(chǎn)物。
過去,企業(yè)的軟件資產(chǎn)通常由功能單一而且相互集成性差的獨立業(yè)務(wù)應(yīng)用程序組成。但是,為獲得復(fù)合帶來的商業(yè)效益,企業(yè)必須以更精細的方式來對待其軟件資產(chǎn),并且在體系結(jié)構(gòu)的不同層級上將需要諸如表示、應(yīng)用和數(shù)據(jù)等各種不同資產(chǎn)。例如,Web 服務(wù)可能是應(yīng)用資產(chǎn),聯(lián)機分析處理 (OLAP)多維數(shù)據(jù)集可能是數(shù)據(jù)資產(chǎn),而特定的數(shù)據(jù)錄入屏幕可能是表示資產(chǎn)。
軟件資產(chǎn)的清單本身不啟用復(fù)合應(yīng)用程序。這需要平臺具有實現(xiàn)復(fù)合的功能,也就是說,平臺既能夠以單獨方式部署資產(chǎn),也能夠以互相組合的方式部署資產(chǎn)。換言之,這些資產(chǎn)必須為組件,而且平臺必須提供容器(圖 1)。

平臺提供的容器需要分為不同類型,這些類型與體系結(jié)構(gòu)中的不同層映射。企業(yè)的體系結(jié)構(gòu)通??煞纸鉃槿龑樱罕硎緦印?yīng)用(或業(yè)務(wù)邏輯)層和數(shù)據(jù)層。因此平臺需要為這些層提供容器。但是,三層體系結(jié)構(gòu)假定業(yè)務(wù)流程和數(shù)據(jù)均已結(jié)構(gòu)化,其中的所有要求在設(shè)計和構(gòu)建系統(tǒng)的過程中都是已知的。就其本質(zhì)而言,復(fù)合應(yīng)用程序意味著構(gòu)建和部署資產(chǎn)之后即可組合解決方案,因此需要對信息工作者之間進行的人與人交互進行明確說明,這也是完成任何業(yè)務(wù)流程的基礎(chǔ)。通常這些交互不會被結(jié)構(gòu)化流程和傳統(tǒng)業(yè)務(wù)應(yīng)用程序所捕獲;因此,添加第四層 — 生產(chǎn)率層來對這些人員交互進行說明就顯得極為重要。如圖 2 所示。

傳統(tǒng)的關(guān)于業(yè)務(wù)應(yīng)用程序體系結(jié)構(gòu)的討論傾向于關(guān)注連接人與數(shù)據(jù)的應(yīng)用層。但在通常情況下,應(yīng)用層包含結(jié)構(gòu)化的業(yè)務(wù)邏輯,這適用于現(xiàn)今行業(yè)內(nèi)關(guān)于面向服務(wù)的體系結(jié)構(gòu) (SOA)、企業(yè)服務(wù)總線 (ESB)、服務(wù)組件體系結(jié)構(gòu) (SCA)以及多數(shù)其他體系結(jié)構(gòu)角度的討論,其中包括關(guān)于復(fù)合應(yīng)用程序的第一代討論。但是,構(gòu)建復(fù)合應(yīng)用程序時,要求架構(gòu)師不僅要將生產(chǎn)率層視為堆棧的關(guān)鍵元素,還要認識到它包含著絕大部分的商業(yè)價值。
詳述復(fù)合應(yīng)用程序與 SOA 之間的比較:二者均以靈活性和模塊化為目標。但是,SOA僅在一個層上提供靈活性:即中間層的結(jié)構(gòu)化業(yè)務(wù)邏輯。復(fù)合應(yīng)用程序則在所有四個層上均提供靈活性。盡管如此,復(fù)合應(yīng)用程序是從 SOA中提取信息的一種重要方法,而以服務(wù)的方式公開行業(yè) (LOB) 應(yīng)用程序會使在復(fù)合應(yīng)用程序中加入對跨功能過程的支持更加容易。
因此,要設(shè)計復(fù)合應(yīng)用程序,解決方案架構(gòu)師必須:
-
選擇復(fù)合堆棧。從每一層中拾取一個或多個容器,以及一組可部署到這些容器中的組件類型。
-
選擇組件。根據(jù)業(yè)務(wù)需求,定義必須從該組組件類型構(gòu)建的資產(chǎn)存儲庫。
-
指定復(fù)合應(yīng)用程序。定義連接這些資產(chǎn)的方式,以提供特定的跨功能過程。平臺應(yīng)啟用這些將要松散耦合的連接。
部署之后,用戶將有機會個性化資產(chǎn)和連接,而復(fù)合堆棧應(yīng)通過松散耦合和可擴展性機制來啟用個性化。
2007 Microsoft Office System 作為構(gòu)建復(fù)合應(yīng)用程序的平臺
2007 Microsoft Office system 就是這樣一個用來構(gòu)建稱為 Office 業(yè)務(wù)應(yīng)用程序 (OBA) 的復(fù)合應(yīng)用程序的平臺。

Office 業(yè)務(wù)應(yīng)用程序如何成為復(fù)合應(yīng)用程序
現(xiàn)在讓我們看看圖 2 中的各個層,并檢查一下平臺提供的容器類型和組件類型。
表 1. 高級 2007 Microsoft Office system 功能 功能 | 說明 |
---|---|
網(wǎng)站和安全框架 | 用于創(chuàng)建不同種類站點(例如團隊協(xié)作站點、Intranet 門戶、Internet 網(wǎng)站)的通用框架。 |
Open XML 文件格式 | 該功能允許對文檔進行豐富的服務(wù)器端處理。對于 Microsoft Office 的先前版本,使用文檔對象模型分析文檔(例如電子表格)時,需要在內(nèi)存中運行通常用于創(chuàng)建文檔的應(yīng)用程序(例如 Excel)實例。 |
可擴展 UI | 可由用戶進行個性化處理的服務(wù)器端門戶,來自于可由解決方案提供商擴展的構(gòu)建基塊??墒褂?Visual Studio Tools for Office 擴展的客戶端應(yīng)用程序。 |
業(yè)務(wù)數(shù)據(jù)目錄 | 一個元數(shù)據(jù)存儲庫,用于定義存儲在后端數(shù)據(jù)存儲中的業(yè)務(wù)實體、模型化實體間的關(guān)系以及定義在實體上可執(zhí)行的操作。 |
企業(yè)搜索 | 通過搜索從各種企業(yè)源中提取數(shù)據(jù)。 |
工作流 | 與 Workflow Foundation 集成,托管表示人與人交互的工作流和鏈接 UI 元素的工作流。 |
企業(yè)內(nèi)容管理 | 通過一種適用于 Web、文檔和記錄管理的拓撲管理各種內(nèi)容。支持文檔生命周期管理。 |
商業(yè)智能 | 基于服務(wù)器的 Excel 電子表格,以及內(nèi)置于門戶中的 BI 組件(儀表板、報告、Web 部件)和連接到 SQL Server Analysis Services 的 BI 組件。 |
通信和協(xié)作 | 支持集成到平臺中的統(tǒng)一通信。 |
表示層中的復(fù)合
表示層中第一種容器類型是 Microsoft Office客戶端應(yīng)用程序(Excel、Word、InfoPath)。這些應(yīng)用程序是可自定義的容器,現(xiàn)在可以從 LOB應(yīng)用程序中更輕松地提取信息和功能,提取方法包括使用自定義任務(wù)窗格、自定義功能區(qū)以及在用戶當前活動所在的上下文中向用戶顯示數(shù)據(jù)和操作的操作。可駐留在這些容器中的組件類型是 Open XML 文檔。這是用于 Microsoft Office 文檔的新 XML表示,允許對其中存儲的信息進行豐富的服務(wù)器端處理。如圖 4 所示。

第二種容器類型是 Web 門戶,通過 Windows SharePoint Services (WSS) 和 Microsoft Office SharePoint Server (MOSS) 啟用。WSS v3.0 提供以下容器層級,如圖 5 所示:
-
場 — 通過配置數(shù)據(jù)庫安裝一個或多個負載平衡 Web 服務(wù)器和后端服務(wù)器。
-
Web 應(yīng)用程序 — 已擴展為使用 WSS 的 IIS Web 站點,可以托管站點集合。
-
站點集合 — WSS 站點的容器,存在于特定內(nèi)容數(shù)據(jù)庫中。站點集合包含頂級站點和可選的子站點,是所有權(quán)、安全性和可恢復(fù)性的單元。
-
站點 — 子站點、頁面和內(nèi)容(例如列表和文檔庫)的容器。
-
頁面 — Web 部件區(qū)域和 Web 部件的容器。
-
Web 部件區(qū)域 — Web 部件的容器。
-
Web 部件 — 以模塊化表單的形式在頁面上顯示內(nèi)容的組件,是用戶自定義/個性化頁面的主要方式。

WSS支持為實現(xiàn)團隊協(xié)作而構(gòu)建站點集合,而 MOSS 通過附加功能在 WSS 之上啟用門戶功能。例如,MOSS附帶用于增強的搜索、與業(yè)務(wù)數(shù)據(jù)存儲的連接性以及商業(yè)智能的功能。但是,MOSS 門戶是一個 WSS 站點集合,因此是 WSS站點的一個層級。MOSS 還附帶 Web 部件庫,其中包含大量的現(xiàn)成 Web 部件,例如用于提取 Microsoft Office Excel電子表格和圖表的部件。解決方案提供商也可以為特定于應(yīng)用程序或特定于域的功能提供其自身的自定義 Web 部件,這些功能可上傳到 WSS中。信息工作者可通過從庫中添加 Web 部件、從頁面中刪除 Web 部件或重新整理布局來個性化頁面。
生產(chǎn)率層中的復(fù)合
2007Microsoft Office system提供了多種在使用信息時共享信息和相互協(xié)作的不同方式。例如,服務(wù)器端存儲為處理中的文檔提供容器,為其他類型的異類內(nèi)容提供版本控制。這支持在意料之外或計劃之外的情況下進行相互協(xié)作。在業(yè)務(wù)流程管理 (BPM)系統(tǒng)中捕獲所有復(fù)雜的人員交互是很困難的,因為工作通常不按計劃進行。在傳統(tǒng)的三層體系結(jié)構(gòu)中,除了在個人硬盤驅(qū)動器或電子郵件服務(wù)器上存儲正在傳輸?shù)奈臋n外,對此僅有很少支持,并且有時很難確定哪個文檔是正確版本的文檔。但是,2007 Microsoft Office system可建立受版本控制的文檔庫,以存儲處于業(yè)務(wù)流程中間階段的文檔,從而改進了可管理性,也提高了從意外事件適度恢復(fù)的可能性。WSS提供以下類型的存儲:
-
列表 — 項目的容器,這些項目可來自內(nèi)置列表類型或自定義列表類型。在過去,列表一直是存儲的基本單位,但現(xiàn)在列表可以存儲數(shù)量龐大的數(shù)據(jù),例如知識庫或 Web 內(nèi)容。同時也支持內(nèi)置索引和查詢。
-
文檔庫 — 特殊類型的列表,支持對文檔進行版本更新和源控制。例如,InfoPath 表單可存儲在表單庫中,報告可存儲在報告庫中,而其他文檔則可存儲在文檔庫中。

信息工作者可以自行添加文檔庫,并指定這些庫中所有文檔使用的特定文檔模板。例如,業(yè)務(wù)分析人員可使用 InfoPath WYSIWYG設(shè)計工具創(chuàng)建表單,然后使用該表單作為模板來創(chuàng)建表單庫。每當用戶在該庫中創(chuàng)建新文檔時,都會使用此模板創(chuàng)建一個空表單。2007 MicrosoftOffice system 還對 Windows Workflow Foundation (WF) 提供內(nèi)置、服務(wù)器端支持。WF運行時引擎駐留在 MOSS中,并在工作流表單中充當可附加到工作項目和文檔的業(yè)務(wù)邏輯的容器。這些工作流可能與列表、文檔庫或特定內(nèi)容類型相關(guān)聯(lián)。它們由用戶操作來啟動和完成,使用 WSS 任務(wù)列表進行管理。例如,工作流活動根據(jù)需要創(chuàng)建并更新任務(wù)項目,用戶可通過歷史記錄表格跟蹤工作流進度。2007 MicrosoftOffice 客戶端應(yīng)用程序還可以識別工作流。它們可用于工作流初始化、配置、完成以及特別的自定義(轉(zhuǎn)發(fā)/委派)。
工作流可與列表、文檔庫或特定內(nèi)容類型相關(guān)聯(lián)。會在場范圍的工作流關(guān)聯(lián)表中跟蹤這些與 WF 模板的關(guān)聯(lián)。WF 模板由 XML元數(shù)據(jù)定義,并且可以同時包含工作流程序集和表單。例如,當用戶創(chuàng)建文檔庫時,他們可以選擇將該庫與特定工作流相關(guān)聯(lián),并指定觸發(fā)工作流的條件(例如,給定庫中的文檔可能已被修改或創(chuàng)建)。此工作流可支持特定的業(yè)務(wù)流程或支持文檔生命周期管理。
將 2007 MicrosoftOffice system 與 WF 集成會帶來很多好處(圖 7)。與 SharePoint UI 無縫集成可以實現(xiàn)簡單業(yè)務(wù)流程的自動化。減少IT 工作人員對組合簡單應(yīng)用程序的工作的參與,可使用戶能夠使用自助服務(wù)功能,例如,支持多種用戶控制的文檔路由和跟蹤方案。WF還為垂直解決方案提供商提供了一個擴展點,以將其自己的業(yè)務(wù)規(guī)則和邏輯部署到 2007 Microsoft Office system所提供的容器中。

最后,生產(chǎn)率層還必須提供一種創(chuàng)建并發(fā)布信息和報告的輕便方式。這由 2007 Microsoft Office system 所支持,2007Microsoft Office system 集成到 SQL Server Reporting Services 中并提供以下組件:
-
報告中心 — 創(chuàng)建 WSS 報告站點的模板。
-
報告庫 — 對存儲報告提供特殊支持的文檔庫。
-
儀表板 — 從報告 Web 部件組裝的 WSS 頁。
-
報告查看器 — 用于查看 SQL Server Reporting Services 提供的報告的 Web 部件。 Web 部件 — 用于查看 Excel 圖表和表格。
-
KPI(關(guān)鍵績效指標)Web 部件和列表 — 信息工作者可以多種方式選擇它的源度量。
儀表板可能會作為針對特定業(yè)務(wù)功能(如銷售、市場或庫存管理)而構(gòu)建的報告模板提供給用戶。
應(yīng)用層中的復(fù)合
結(jié)構(gòu)化業(yè)務(wù)邏輯通常存在于應(yīng)用層。它可能是 LOB 應(yīng)用程序,如企業(yè)資源規(guī)劃 (ERP) 系統(tǒng),或是跨多個系統(tǒng)(如 BPM系統(tǒng))的業(yè)務(wù)流程。應(yīng)用層通常包括事務(wù)性系統(tǒng)和決策支持系統(tǒng)。有多種方法可供 OBA 在應(yīng)用層中啟用復(fù)合,并使用由其他平臺技術(shù)(Microsoft和非 Microsoft)提供的復(fù)合服務(wù)。
在應(yīng)用層中,復(fù)合的第一個級別貫穿使用 Workflow Foundation創(chuàng)建并部署到 2007 Microsoft Office system中的封裝活動庫。我們先前討論過工作流如何能夠與列表、文檔庫和特定內(nèi)容類型相關(guān)聯(lián)。圖 7 顯示了 WF運行時如何為應(yīng)用程序特定的活動(這些活動作為活動庫進行封裝和部署,工作流組裝在這些活動之上)提供容器。
在應(yīng)用層中,由 2007Microsoft Office system 提供的復(fù)合的第二個級別貫穿 Excel Services。它是內(nèi)置于 SharePointServer 的服務(wù)器端 Excel 計算引擎。它提供服務(wù)器上部署的活動、交互式電子表格的瀏覽器訪問權(quán)限,還提供服務(wù)器端 OfficeExcel 計算的 Web 服務(wù)訪問權(quán)限。有了 Excel Services,現(xiàn)有 Excel高級用戶現(xiàn)在可以采用他們所熟悉的方式提供服務(wù)器端應(yīng)用程序邏輯。這就意味著 MOSS 現(xiàn)在是應(yīng)用程序邏輯的一個容器,如圖 8 所示。

在應(yīng)用層中,OBA 用來啟用復(fù)合的第三種方法是使用由其他平臺技術(shù)提供的復(fù)合服務(wù)。2007 Microsoft Office system可無縫插入到面向服務(wù)的體系結(jié)構(gòu)中。如果企業(yè)已經(jīng)開發(fā)了服務(wù)中樞,則可通過 2007 Microsoft Office system使用這些接口。這可以通過兩種方法實現(xiàn)。第一種方法是,調(diào)用活動(這些活動已內(nèi)置到在生產(chǎn)率層中部署的工作流中)中的 Web服務(wù)接口。第二種方法是通過業(yè)務(wù)數(shù)據(jù)目錄 (BDC),將在下一部分對其進行介紹。
數(shù)據(jù)層中的復(fù)合
2007Microsoft Office system 還附帶業(yè)務(wù)數(shù)據(jù)目錄(BDC),在服務(wù)器內(nèi)作為共享服務(wù)運行。它可從多種類型的數(shù)據(jù)源(數(shù)據(jù)庫、分析服務(wù)多維數(shù)據(jù)集和 Web 服務(wù))中讀取數(shù)據(jù),然后通過SharePoint表格和列表在門戶中顯示此數(shù)據(jù)。它會充當元數(shù)據(jù)存儲庫,用于說明業(yè)務(wù)數(shù)據(jù)實體及其屬性,并將這些實體映射回企業(yè)內(nèi)的數(shù)據(jù)存儲,如圖 9 所示。

雖然無法使用 BDC 創(chuàng)建映射多個數(shù)據(jù)存儲的實體,但是可以定義鏈接實體的關(guān)系(如父子關(guān)系)。因此,可將 BDC用于創(chuàng)建整個企業(yè)中數(shù)據(jù)實體之間的輕型鏈接 — 類似于企業(yè)辭典。此后 BDC 定義的實體便可插回 2007 Microsoft Officesystem 中,例如使用 SharePoint列表。這就可使用戶通過遵循實體之間的關(guān)系,將包含指向后端數(shù)據(jù)的鏈接的頁面加以組合,并遍歷數(shù)據(jù)表。
盡管 BDC啟用數(shù)據(jù)復(fù)合,但它卻提供對數(shù)據(jù)的只讀訪問。不過,用戶可以使用 BDC 來模擬可對數(shù)據(jù)實體采取的操作,這些操作由要傳遞回此 URL的實體定義的名稱、URL 以及屬性集所定義。隨后便可通過 SharePoint 列表的下拉菜單使用。URL 既可與 Web服務(wù)相對應(yīng),也可以與服務(wù)器端文檔(如 InfoPath 表單)相對應(yīng),并通過代碼分離預(yù)先填充從 BDC傳遞的上下文的表單。信息工作者便可使用門戶在包含提取 BDC 數(shù)據(jù)和操作的表格和列表的 SharePoint 中創(chuàng)建輕型應(yīng)用程序。
復(fù)合的功能概述
圖 10 顯示了 2007 Microsoft Office system 的一些功能如何映射到圖 2 中的層。表 2 提供了可用作復(fù)合的候選類型的資產(chǎn)類型列表。

Open XML 文檔 | 儀表板 |
---|---|
工作流 | 站點 |
業(yè)務(wù)活動 | 頁 |
業(yè)務(wù)規(guī)則 | 數(shù)據(jù)連接 |
架構(gòu) | 授權(quán) |
度量 | 報告 |
Web 部件 | 儀表板 |
構(gòu)建 Office 業(yè)務(wù)應(yīng)用程序
構(gòu)建 OBA 這樣的標準業(yè)務(wù)流程有兩個步驟。
-
構(gòu)建流程包,其中包含流程元數(shù)據(jù)和封裝的應(yīng)用程序組件。
-
將流程包部署到生產(chǎn)系統(tǒng)中。接下來對這兩個步驟進行詳細說明。
構(gòu)建流程包
-
使用 Visual Studio Tools for Office Build (VSTO),將以文檔為中心的流程的用戶界面構(gòu)建到 Microsoft Office 客戶端應(yīng)用程序中。
-
利用任務(wù)特定的 Web 部件、頁、儀表板、列表和文檔庫構(gòu)建 WSS 站點,每個站點都為實現(xiàn)特定的業(yè)務(wù)功能或流程而設(shè)計。可以使用這些站點創(chuàng)建站點模板,用于將標準業(yè)務(wù)流程封裝到 OBA 解決方案中。
-
使用 Workflow Foundation 將站點中的列表和文檔庫捆綁在一起,并使用服務(wù)器端規(guī)則和業(yè)務(wù)邏輯對處理中的文檔進行服務(wù)器端處理。將這些工作流封裝到程序集中以進行部署。
-
定義從 OBA 中的工作流到后端 LOB 系統(tǒng)的接觸點。流程包元數(shù)據(jù)應(yīng)包含用于此集成的 Web 服務(wù)接口。需要在部署階段進行實際連接。
-
為實現(xiàn)跨功能流程(構(gòu)建到 OBA 中)所需的數(shù)據(jù)連接定義 BDC 實體。
-
通過定義 WSS 站點所要使用的度量、報告、儀表板以及 Excel 圖表和表格來添加決策支持。
-
使用表 2 中的組件類型,將解決方案封裝為流程包(WSS 站點模板、WF 程序集、Office 文檔等)。
將流程包部署到生產(chǎn)系統(tǒng)
-
將 WSS 站點部署到生產(chǎn)系統(tǒng)的 SharePoint 服務(wù)器中。
-
使用 Web 服務(wù)(或其他自定義適配器)配置從工作流到 LOB 應(yīng)用程序的連接。
-
通過將 BDC 數(shù)據(jù)實體定義連接到實際數(shù)據(jù)存儲來配置數(shù)據(jù)連接。
-
置備用戶。
在企業(yè)中部署復(fù)合應(yīng)用程序
以下是在企業(yè)中部署 OBA 的一種方法:
-
在部門級部署 SharePoint 站點。
-
連接多個部門。
-
將業(yè)務(wù)流程與 LOB 應(yīng)用程序連接。
-
添加數(shù)據(jù)連接以實現(xiàn)跨功能流程。
-
將業(yè)務(wù)流程與“邊緣”系統(tǒng)連接。
構(gòu)建部門的 SharePoint 站點以托管本地文檔和進程
必須在部門級別建立 SharePoint 站點以支持團隊協(xié)作,如圖 11 所示。這些站點將使用文檔庫存儲處理中的文檔。團隊中的信息工作者將通過團隊站點上提供的模板自定義其自己的個性化頁面。

請注意,圖 11 是體系結(jié)構(gòu)的邏輯視圖,因為所有這些部門站點通常不會在單獨的服務(wù)器上運行。而是多個站點按照圖 5所示的布局運行在單一服務(wù)器上,并且根據(jù)其他因素(例如負載、可用性和團隊的地理分布)來選擇物理體系結(jié)構(gòu)(也就是 SharePoint服務(wù)器的部署環(huán)境)。
處理中的文檔存儲在文檔庫中,并且與創(chuàng)建或編輯文檔時必須調(diào)用的工作流相關(guān)聯(lián)。此類工作流可能對文檔運行驗證規(guī)則;將批準的策略和操作應(yīng)用到數(shù)據(jù);清理、驗證或篩選內(nèi)部包含的數(shù)據(jù);或更新后端系統(tǒng)。
除業(yè)務(wù)流程工作流之外,處理中的文檔也會經(jīng)歷其自身的生命周期,從寫作和協(xié)作到管理和發(fā)布,直至存檔或破壞。只要文檔達到這些階段之一,相應(yīng)工作流即可設(shè)置為已觸發(fā),例如用于管理存檔過程的工作流。
連接多個部門
如圖 11 所示,業(yè)務(wù)流程模型協(xié)調(diào)活動既會發(fā)生在團隊內(nèi),又會發(fā)生在部門之間。在部門內(nèi),可以使用部署到支持該部門的 SharePoint服務(wù)器中的 WF活動來模型化業(yè)務(wù)流程??绮块T的協(xié)調(diào)活動可通過使用管理單個業(yè)務(wù)實體(訂單)生命周期以及業(yè)務(wù)流程(采購到付款)生命周期的協(xié)作過程來完成。
部門內(nèi)的業(yè)務(wù)流程可以集中位于 IT 數(shù)據(jù)中心,或在部門服務(wù)器內(nèi)靠近信息工作者。例如,集中運行的長時間運行工作流可能運行在 Microsoft BizTalk Server 上,而部門流程可能運行在 SharePoint 服務(wù)器的 WF 工作流中。
連接業(yè)務(wù)流程與行業(yè)應(yīng)用程序
面向服務(wù)是為 OBA 提供當前業(yè)務(wù)應(yīng)用程序的方式之一。
從這一角度來理解,SOA 促進了模塊化過程,這是復(fù)合應(yīng)用程序的基本要求,并且對于當前應(yīng)用程序的新的跨功能業(yè)務(wù)應(yīng)用程序界限而言,SOA 是補充解決方案。
SOA 不是連接 LOB 與 OBA 的唯一方式。使用其他集成技術(shù)(例如自定義適配器)也可以提供服務(wù)中樞。
為跨功能流程添加數(shù)據(jù)連接
BDC(圖 9)可使用 SharePoint 列表和 Web 部件顯示數(shù)據(jù),因而可用來將后端數(shù)據(jù)存儲與 2007 Microsoft Officesystem 相連接。這樣就能夠使用 BDC、SharePoint 列表和工作流的組合將針對跨功能流程的復(fù)合應(yīng)用程序構(gòu)建到SharePoint 門戶中。例如,BDC 可用于定義具有父子關(guān)系的實體(例如訂單標題和訂單明細),而 SharePoint列表可以顯示這些實體。通過這種父子關(guān)系,就可以從顯示標題信息的列表深化到對應(yīng)的詳細信息。另外,可以通過 BDC元數(shù)據(jù)模擬操作,這意味著這些操作將顯示為 SharePoint列表上的菜單項,而從該菜單上選擇下拉項將意味著當前所選行中的上下文將傳遞給為該操作定義的 URL。
連接業(yè)務(wù)流程與邊緣系統(tǒng)
通常 OBA 的范圍并不局限于組織內(nèi)。例如,OBA 可能支持一種需要使用托管提供商(軟件即服務(wù) (SaaS)方案)所提供的服務(wù)的業(yè)務(wù)流程?;蛘?,OBA可能需要支持為其他組織提供服務(wù)的業(yè)務(wù)流程。這在涉及貿(mào)易合作伙伴的供應(yīng)鏈管理方案中尤為常見。此處需要有一種方式,將文檔從一名信息工作者傳輸?shù)劫Q(mào)易合作伙伴組織中與之對應(yīng)的人員這種方式需要安全、可靠、異步且透明。
圖 12顯示了一種將端到端體系結(jié)構(gòu)組合在一起的方式。已經(jīng)在組織的邊緣建立了消息代理程序,以發(fā)送和接收貿(mào)易合作伙伴的消息及文檔。來自不同貿(mào)易合作伙伴的消息可以通過多種消息格式進行接收,并通過多種渠道(例如 Web 服務(wù)、EDI、電子郵件、RosettaNet等)進行傳送。另外,可以采用各種不同的模式交換消息,包括:單向、異步雙向或同步雙向消息傳送。這些消息代理程序必須處理這些消息交換模式和消息格式的各種組合。

消息代理程序接收消息之后,會將消息處理為下游服務(wù)所需的單一規(guī)范格式,并且轉(zhuǎn)換后的消息仍保留在消息隊列中,以將私有進程與公共進程分離。接下來,由檢查消息并將消息路由到目標接收方的路由服務(wù)從隊列中檢索消息。但在文檔到達其目標接收方之前,可能要由企業(yè)應(yīng)用程序服務(wù)(例如 LOB 應(yīng)用程序或BPM業(yè)務(wù)流程)對其進行預(yù)處理。此時可能會對消息應(yīng)用業(yè)務(wù)規(guī)則,以確保有效性以及強制執(zhí)行公司策略。經(jīng)過所有這些處理過程后,將獲得一個文檔,該文檔可由掌握充足信息的工作人員進行處理,以快速做出決定。例如,可能會將來自客戶的采購單請求轉(zhuǎn)給訂貨承諾服務(wù),而來自該服務(wù)的響應(yīng)可用于生成一個 XML文檔,該文檔對應(yīng)于具有候選 PO 確認的 InfoPath 表單。接下來,這一生成的表單可能會放入 SharePoint表單庫中,等待銷售部門的信息工作者批準。
信息工作者查看所建議的確認并依需要進行更改后,會提交表單。這將啟動完整的工作流,整個過程會更新 LOB 系統(tǒng),然后將來自表單的信息以 XML 文檔的形式發(fā)布到出站消息隊列中,以作為對原始請求的響應(yīng)。隨后消息代理程序會將該消息轉(zhuǎn)換回貿(mào)易合作伙伴所使用的格式。
有多種方式實現(xiàn)邊緣消息代理程序,例如 BizTalkServer。這將提供可伸縮的、易于管理的解決方案,該解決方案也將附帶基于標準的加速器和適配器,例如用于貿(mào)易合作伙伴協(xié)作的RosettaNet 加速器。使用 Microsoft SQL Service Broker 2005,可以實現(xiàn)將內(nèi)部進程與外部進程分離的隊列。
Office 業(yè)務(wù)應(yīng)用程序示例
為提供有關(guān)構(gòu)建 OBA 的商業(yè)價值深遠的技術(shù)資源和指導,此處以在線方式提供了 OBA 的引用實現(xiàn)。這一用于供應(yīng)鏈管理的引用應(yīng)用程序包涵蓋了用于在多層供應(yīng)鏈的不同級別之間相互協(xié)作的多種方案。
結(jié)束語
2007Microsoft Office system 提供了一個強大的功能集合,用以構(gòu)建稱為 Office 業(yè)務(wù)應(yīng)用程序 (OBA)的復(fù)合應(yīng)用程序。通過提供一個復(fù)合用戶界面,將業(yè)務(wù)功能以及不同的后端 IT資產(chǎn)集合之間的功能公開,從而實現(xiàn)了跨功能解決方案。這些解決方案也提供了協(xié)作業(yè)務(wù)功能,從而跨越了傳統(tǒng)業(yè)務(wù)應(yīng)用程序與個人生產(chǎn)率工具之間存在的障礙。