專利名稱:修改面向服務(wù)的體系結(jié)構(gòu)中的商業(yè)系統(tǒng)組件的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及商業(yè)計算領(lǐng)域,更具體地說,涉及基于組件的商業(yè)系統(tǒng)。
背景技術(shù):
隨著企業(yè)和客戶通過諸如全球因特網(wǎng)和本地內(nèi)聯(lián)網(wǎng)之類的計算機(jī)通信網(wǎng)絡(luò)變得進(jìn)一步互連,商業(yè)站點以及集成了企業(yè)和客戶間的交互的伴隨計算應(yīng)用變得比以往更加復(fù)雜。為了解決企業(yè)到企業(yè)和企業(yè)到客戶的聯(lián)機(jī)交互的激增,信息技術(shù)人員越來越關(guān)注于構(gòu)建和實現(xiàn)完整的商業(yè)站點解決方案以反映企業(yè)的整個生命周期,而不是集成當(dāng)被結(jié)合時反映企業(yè)生命周期的多個完全不同的應(yīng)用。因此,由于現(xiàn)代商業(yè)站點可以是大型的和分布式的,商業(yè)系統(tǒng)已被配置成以盡可能無縫的方式來部署完整的電子商務(wù)系統(tǒng)。
目前,從一個或多個可以被單獨地重用以創(chuàng)建用于不同解決方案的業(yè)務(wù)過程的組件來產(chǎn)生傳統(tǒng)的、獨立的、面向商業(yè)的應(yīng)用是一種普遍的趨勢。這些組件中的每個組件都可以將自身顯示為一組與用于部署促進(jìn)開放式面向服務(wù)的體系結(jié)構(gòu)(SOA)的企業(yè)級邏輯的計算標(biāo)準(zhǔn)相一致的服務(wù)。SOA本質(zhì)上可以被定義為服務(wù)的集合。這些服務(wù)彼此通信,所述通信可以涉及兩個或更多個服務(wù)間的簡單數(shù)據(jù)傳遞或由兩個或更多個服務(wù)協(xié)調(diào)的活動。
在SOA中,客戶機(jī)可以調(diào)用組件中的服務(wù)來執(zhí)行操作,并且可選地客戶機(jī)可以接收響應(yīng)。調(diào)用的服務(wù)通常可以包括被配置為滿足商業(yè)客戶的需要的業(yè)務(wù)服務(wù),而不論這些客戶是個體客戶還是其他企業(yè)。所述服務(wù)可以被分組到各種SOA組件中,其中每個組件都可以專用于諸如目錄管理、購物車管理、信用卡交易處理、銷售稅計算之類的功能。
通過利用SOA,商業(yè)解決方案中的組件可以與涉及一個或多個單獨的企業(yè)實體和一個或多個單獨的客戶實體的大型商業(yè)解決方案中的其他業(yè)務(wù)過程彼此協(xié)作。
在傳統(tǒng)的商業(yè)平臺產(chǎn)品中,商業(yè)模型代表諸如客戶導(dǎo)向商業(yè)模型、企業(yè)導(dǎo)向商業(yè)模型、供給鏈商業(yè)模型以及需求鏈商業(yè)模型之類的所提到的幾種商業(yè)模型的商業(yè)解決方案。可以從一組公用組件來組裝商業(yè)模型以獲得由該商業(yè)模型所代表的預(yù)期效果。這樣,隨著對組件重用的較高需求,將組件修改成商業(yè)模型的方法可以避免不得不為每個解決方案定制組件。
在商業(yè)模型中,無狀態(tài)的事務(wù)可以被組合以形成聚合的活動??梢杂尚纬蓪崿F(xiàn)所述商業(yè)模型的商業(yè)系統(tǒng)的基礎(chǔ)的命令來集中地維護(hù)該活動的上下文。所述上下文可以包括諸如活動的各方、支持完成活動的資源以及活動的媒介之類的活動的各個方面。例如,上下文數(shù)據(jù)可以包括商店標(biāo)識符、通用語言標(biāo)識符或貨幣種類。
集中式上下文管理的使用要求在定義所述商業(yè)模型的組件范圍之外的上下文數(shù)據(jù)的專有管理。在此方面,可以使用會話管理來使活動跨多個請求保持不變,以便與請求方關(guān)聯(lián)的活動的上下文無需在每次請求都被重新建立。但是,與商業(yè)系統(tǒng)的會話管理部分通信需要了解該會話管理部分的接口并且會限制SOA架構(gòu)的商業(yè)系統(tǒng)的實現(xiàn)。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個方面,用于通過業(yè)務(wù)上下文來修改SOA中的商業(yè)系統(tǒng)組件的方法可以包括確定用于提出的解決方案的所需業(yè)務(wù)過程組。所述SOA中的現(xiàn)有商業(yè)系統(tǒng)組件可以被標(biāo)識為能夠支持所述所需業(yè)務(wù)過程組。此外,可以創(chuàng)建新的商業(yè)系統(tǒng)組件,以便所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件結(jié)合可以支持所述用于提出的解決方案的所需業(yè)務(wù)過程組。
根據(jù)本發(fā)明的另一個方面,可以選擇一組上下文來修改所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件以支持用于所述提出的解決方案的所述所需業(yè)務(wù)過程組。在此方面,所述選擇步驟可以包括選擇一組包括基本上下文的上下文。所述選擇步驟還可以包括從包括全球化上下文、內(nèi)容上下文、任務(wù)上下文、權(quán)利(entitlement)上下文和審計上下文的組中選擇附加上下文。最后,可以利用所述選擇的上下文組來創(chuàng)建用于所述提出的解決方案的活動。
根據(jù)本發(fā)明的再一個方面,所述創(chuàng)建活動的步驟可以包括為每個電話服務(wù)代表和呼叫該電話服務(wù)代表的客戶創(chuàng)建用于支持呼叫中心解決方案的活動。此外,可以提供審計上下文以便在所述創(chuàng)建的活動中使用。所述創(chuàng)建活動的步驟可以可替代地包括創(chuàng)建用于支持目錄管理任務(wù)的活動以及隨同所述創(chuàng)建的活動一起提供內(nèi)容上下文以限制目錄中的內(nèi)容的更改范圍。最后,所述創(chuàng)建活動的步驟可以可替代地包括創(chuàng)建支持市場門戶解決方案的活動以及為購物者訪問的市場中的每個商店提供活動令牌。
當(dāng)結(jié)合附圖查看本發(fā)明的以下非限制的詳細(xì)說明時,對于本領(lǐng)域的技術(shù)人員來說,如僅由權(quán)利要求限定的本發(fā)明的其他方面和特征將變得顯而易見。
圖1是配置成管理用于可修改的SOA組件的業(yè)務(wù)上下文服務(wù)的商業(yè)系統(tǒng)的示意圖;圖2是示出了用于使用圖1的商業(yè)系統(tǒng)的業(yè)務(wù)上下文服務(wù)的過程的方塊圖;圖3是示出了用于在組件內(nèi)使用圖1的商業(yè)系統(tǒng)的業(yè)務(wù)上下文服務(wù)的過程的方塊圖;圖4是示出了業(yè)務(wù)上下文服務(wù)體系結(jié)構(gòu)的對象圖;圖5A和5B合起來是示出了被配置成允許對圖4的體系結(jié)構(gòu)的各種訪問的體系結(jié)構(gòu)的對象圖;以及圖6是示出了用于利用本發(fā)明的上下文來建立新的解決方案的過程的流程圖。
具體實施例方式
如本領(lǐng)域的技術(shù)人員將理解的,本發(fā)明可以被包括為方法、系統(tǒng)或計算機(jī)程序產(chǎn)品。因此,本發(fā)明可以采取完全硬件實施例、完全軟件實施例(包括固件、駐留軟件、微代碼等)或組合了軟件和硬件方面的實施例的形式,所有這些實施例在此通常被稱為“電路”或“模塊”。此外,本發(fā)明可以采取在計算機(jī)可用存儲介質(zhì)(所述介質(zhì)中包括有計算機(jī)可用程序代碼)上的計算機(jī)程序產(chǎn)品的形式。
可以使用任何適合的計算機(jī)可讀介質(zhì)。所述計算機(jī)可用或計算機(jī)可讀介質(zhì)例如可以是(但不限于)電子、磁、光、電磁、紅外或半導(dǎo)體系統(tǒng)、裝置、設(shè)備或傳播介質(zhì)。計算機(jī)可讀介質(zhì)的更具體的實例(非窮舉的列表)將包括以下項具有一條或多條線的電連接、便攜式計算機(jī)軟盤、硬盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦寫可編程只讀存儲器(EPROM或閃存)、光纖、便攜式光盤只讀存儲器(CD-ROM)、光存儲設(shè)備、諸如那些支持英特網(wǎng)或內(nèi)聯(lián)網(wǎng)的傳輸介質(zhì)或磁存儲設(shè)備。注意,所述計算機(jī)可用或計算機(jī)可讀介質(zhì)甚至可以是程序被打印在其上的紙張或其他適合的介質(zhì),因為所述程序可以通過例如光掃描所述紙張或其他介質(zhì)被電子地捕獲,然后被編譯、解釋或另外以適合的方式被處理(如果必要),然后被存儲在計算機(jī)存儲器中。在此文檔的上下文中,計算機(jī)可用或計算機(jī)可讀介質(zhì)可以是任何能夠包含、存儲、傳送、傳播或傳輸由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與指令執(zhí)行系統(tǒng)、裝置或設(shè)備有關(guān)的程序的介質(zhì)。
用于執(zhí)行本發(fā)明的操作的計算機(jī)程序代碼可以以面向?qū)ο蟮木幊陶Z言(如Java 7、Smalltalk或C++)來編寫。但是,用于執(zhí)行本發(fā)明的操作的所述計算機(jī)程序代碼也可以以傳統(tǒng)的過程編程語言(如“C”編程語言)來編寫。所述程序代碼可以完全地在用戶計算機(jī)上、部分地在用戶計算機(jī)上、作為單獨的軟件包、部分地在用戶計算機(jī)上并部分地在遠(yuǎn)程計算機(jī)上或完全地在遠(yuǎn)程計算機(jī)上執(zhí)行。在后者的情況中,所述遠(yuǎn)程計算機(jī)可以通過局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)與所述用戶計算機(jī)相連,或者可以進(jìn)行與外部計算機(jī)的連接(例如,利用英特網(wǎng)服務(wù)提供商并通過英特網(wǎng))。
參考根據(jù)本發(fā)明的實施例的方法、裝置(系統(tǒng))和計算機(jī)程序產(chǎn)品的流程圖和/或方塊圖在下面描述了本發(fā)明。將理解,所述流程圖和/或方塊圖的每個方塊以及所述流程圖和/或方塊圖中的方塊的組合可以由計算機(jī)程序指令來實現(xiàn)。這些計算機(jī)程序指令可以被提供給通用計算機(jī)、專用計算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器以產(chǎn)生一種機(jī)器,以便通過所述計算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器執(zhí)行的所述指令將創(chuàng)建用于實現(xiàn)所述流程圖和/或方塊圖方塊(多個)中指定的功能/操作的裝置。
這些計算機(jī)程序指令也可以被存儲在能夠以特定方式引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理裝置執(zhí)行功能的計算機(jī)可讀存儲器中,以便存儲在所述計算機(jī)可讀存儲器中的所述指令將產(chǎn)生一件包括實現(xiàn)在所述流程圖和/或方塊圖方塊(多個)中指定的功能/操作的指令裝置的制品。
所述計算機(jī)程序指令還可以被加載到計算機(jī)或其他可編程數(shù)據(jù)處理裝置上以導(dǎo)致將在所述計算機(jī)或其他可編程裝置上執(zhí)行一系列的操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的過程,以便在所述計算機(jī)或其他可編程裝置上執(zhí)行的所述指令將提供用于實現(xiàn)在所述流程圖和/或方塊圖方塊(多個)中指定的功能/操作的步驟。
本發(fā)明是一種適合用在商業(yè)系統(tǒng)中的業(yè)務(wù)上下文模型。在本發(fā)明中,所述業(yè)務(wù)上下文模型可以包括用于管理用于所述商業(yè)系統(tǒng)中的可修改SOA組件的業(yè)務(wù)上下文的方法、系統(tǒng)和裝置。具體地說,業(yè)務(wù)上下文引擎可以提供并管理在商業(yè)會話中活動的生存期上規(guī)定業(yè)務(wù)組件的行為特征的上下文。通過為特定的商業(yè)解決方案選擇一組適當(dāng)?shù)臉I(yè)務(wù)上下文,所述上下文可以根據(jù)解決方案的要求改變所述解決方案的業(yè)務(wù)過程的輸出,而不要求修改形成所述商業(yè)解決方案的SOA組件代碼。
圖1是被配置為管理用于可修改SOA組件的業(yè)務(wù)上下文服務(wù)的示例性非唯一商業(yè)系統(tǒng)的示意圖。所述商業(yè)系統(tǒng)可以包括一個或多個調(diào)用客戶機(jī)平臺的服務(wù),所述客戶機(jī)平臺包括Web應(yīng)用105以及諸如門戶客戶機(jī)、簡單對象訪問協(xié)議(SOAP)客戶機(jī)和Web服務(wù)客戶機(jī)之類的所列出的其他客戶機(jī)140。為了有效地進(jìn)行說明,僅詳細(xì)示出了Web應(yīng)用105。
Web應(yīng)用105可以被通信地連接到組件邏輯容器145,組件邏輯容器145進(jìn)而又可以被通信地連接到永久性存儲裝置190。Web應(yīng)用105可以包括服務(wù)器小程序引擎110,其可以通過操作服務(wù)器小程序115來處理對商業(yè)服務(wù)的請求125。操作服務(wù)器小程序115又可以被配置為調(diào)用同時邏輯地鏈接到商業(yè)應(yīng)用視圖130和組件外觀(facade)155(其被編程為調(diào)用組件邏輯容器145中放置的一個或多個組件165內(nèi)的業(yè)務(wù)邏輯)的操作120。
例如,組件外觀155可以是被邏輯地連接到一個或多個組件165(當(dāng)被組合時形成商業(yè)系統(tǒng)解決方案)的組件無狀態(tài)會話bean(SSB)。組件165中的每個組件都可以包括具有一個或多個任務(wù)命令180的控制器命令170??刂破髅?70可以進(jìn)一步被邏輯地鏈接到配置為訪問數(shù)據(jù)庫190中的永久數(shù)據(jù)的訪問邏輯175。類似地,商業(yè)應(yīng)用視圖130可以包括同樣被配置為訪問數(shù)據(jù)庫190中的永久數(shù)據(jù)的訪問邏輯135。
特別地,組件外觀155可以被連接到業(yè)務(wù)上下文引擎150。業(yè)務(wù)上下文引擎150可以管理活動(其中所述活動可以包括來自一個或多個服務(wù)客戶機(jī)的一系列連續(xù)請求125),以便將所述連續(xù)的一系列請求125看作所述服務(wù)客戶機(jī)與由組件165定義的商業(yè)系統(tǒng)服務(wù)之間的單個對話。上下文引擎150負(fù)責(zé)管理與活動關(guān)聯(lián)的業(yè)務(wù)上下文。
如從圖1的示意圖將顯而易見的,圖1的SOA可以被分成兩個主要部分上下文引擎和組件服務(wù)。所述上下文引擎提供上下文相關(guān)的服務(wù),而所述組件服務(wù)將外觀提供給命令并有助于在所述商業(yè)系統(tǒng)中實例化和執(zhí)行命令。在更具體的圖示中,圖2是示出了在執(zhí)行系統(tǒng)組件的業(yè)務(wù)邏輯的過程中利用圖1的商業(yè)系統(tǒng)的業(yè)務(wù)上下文服務(wù)的過程的方塊圖。
如圖2所示,除了業(yè)務(wù)上下文引擎230之外,客戶機(jī)計算過程210還可以建立到業(yè)務(wù)組件220的通信鏈接。業(yè)務(wù)組件220可以包括組件外觀240,通過組件外觀240可以調(diào)用形式為控制器命令250和下層任務(wù)命令260業(yè)務(wù)邏輯。業(yè)務(wù)上下文引擎230又可以包括連接到一個或多個業(yè)務(wù)上下文280的業(yè)務(wù)上下文服務(wù)270。
在操作中,客戶機(jī)計算過程210可以從可以包括一組特定業(yè)務(wù)上下文的業(yè)務(wù)上下文引擎230獲得活動令牌??蛻魴C(jī)計算過程210隨后可以在業(yè)務(wù)任務(wù)期間將所述活動令牌傳遞給業(yè)務(wù)組件220以便提供用于完成所述任務(wù)的上下文信息。例如,業(yè)務(wù)組件220還可以利用所述活動令牌的特定信息以到業(yè)務(wù)上下文引擎230的應(yīng)用編程接口(API)的方式來訪問業(yè)務(wù)上下文280的元素。
為了調(diào)用業(yè)務(wù)組件上的方法,客戶機(jī)210或組件外觀240可以通過首先調(diào)用業(yè)務(wù)上下文服務(wù)270的接口來獲得活動令牌。在獲得所述活動令牌的過程中,客戶機(jī)210或組件外觀240可選地可以提供在創(chuàng)建新的活動期間可以被用來填充預(yù)加載的上下文的初始化數(shù)據(jù)。隨后,當(dāng)在到業(yè)務(wù)組件220的接口上調(diào)用特定方法時,客戶機(jī)210可以將所述活動令牌傳遞給組件外觀240。
所述活動令牌可以被用來將一組在特定客戶機(jī)請求期間有效的上下文與各種業(yè)務(wù)組件相關(guān)聯(lián)。所述客戶機(jī)可以在每次請求時提供所述活動令牌以指示客戶機(jī)所希望來自所述業(yè)務(wù)組件的經(jīng)歷。這些上下文可以包括(通過實例的方式)解決方案上下文,其指示活動中所請求的操作是由指定的實體執(zhí)行還是通過代表指定實體行動的實體來執(zhí)行。所述上下文還可以包括在此提及的提供全球化信息的全球化上下文、提供用于促銷權(quán)利程序的信息的權(quán)利上下文、提供用于指定內(nèi)容的版本信息的內(nèi)容上下文、指示具有多個任務(wù)的過程的當(dāng)前任務(wù)或狀態(tài)的任務(wù)上下文以及提供審計信息的審計上下文。
可以提供對于每個活動都存在的基本上下文。所述基本上下文可以包括所述活動可以被綁定在其下的商店標(biāo)識符。所述基本上下文還可以包括用于驗證的呼叫方標(biāo)識符,以及由業(yè)務(wù)邏輯使用的運行為標(biāo)識符。所述全球化上下文可以指示活動的全球化屬性(如語言、貨幣和場所)。在此方面,所述全球化上下文包含了客戶機(jī)的全球化首選項。所述權(quán)利上下文可以保存與當(dāng)前合同、會話合同以及合格的合同有關(guān)的信息。所述任務(wù)上下文可以被用來指示當(dāng)前正在被管理員執(zhí)行的一組任務(wù)中的一個任務(wù)。最后,內(nèi)容上下文可以保存與任務(wù)、工作空間以及創(chuàng)作操作在其下被執(zhí)行的項目有關(guān)的信息。
在處理任務(wù)時,可以跨一個或多個業(yè)務(wù)上下文來維護(hù)業(yè)務(wù)任務(wù)的上下文,所述一個或多個業(yè)務(wù)上下文可以被結(jié)合到在不同業(yè)務(wù)組件之間傳遞的活動令牌中或被所述活動令牌所引用。因此,可以跨請求和事務(wù)來維護(hù)每個業(yè)務(wù)上下文的狀態(tài)。
多個業(yè)務(wù)組件可以在諸如同一虛擬機(jī)之類的同一處理地址空間內(nèi)運行。在此情況下,每個組件都可以共享同一業(yè)務(wù)上下文引擎。因此,包含或引用活動的上下文的活動令牌的傳遞可以在組件內(nèi)調(diào)用期間在組件之間直接發(fā)生。具體地說,圖3是示出了圖1的商業(yè)系統(tǒng)的業(yè)務(wù)上下文服務(wù)的組件內(nèi)使用的過程的方塊圖。如圖3所示,位于同一處理地址空間內(nèi)的兩個業(yè)務(wù)組件310、320可以共享業(yè)務(wù)上下文引擎330。因此,為了在組件內(nèi)調(diào)用期間在組件之間傳遞活動的上下文,由業(yè)務(wù)上下文引擎330產(chǎn)生的令牌可以直接在業(yè)務(wù)組件310、320之間傳遞。
如圖2和3所示,所述業(yè)務(wù)上下文引擎可以被邏輯地分成業(yè)務(wù)上下文服務(wù)和一個或多個業(yè)務(wù)上下文。所述業(yè)務(wù)上下文服務(wù)可以包括其中服務(wù)關(guān)聯(lián)了對于有限生存期在單個標(biāo)識符下由各種組件所使用的多個唯一上下文-活動自身?;顒拥纳嫫诳梢钥缍鄠€請求和事務(wù)。更具體地說,所述業(yè)務(wù)上下文服務(wù)是負(fù)責(zé)代表客戶機(jī)來管理活動的解決方案控制器可以用來管理業(yè)務(wù)組件所需的一組上下文的工具。所述業(yè)務(wù)上下文服務(wù)還可以用作組件使用其來獲得所述組件所需的各種上下文的接口。
所述業(yè)務(wù)上下文進(jìn)而提供了組件所需的數(shù)據(jù)和服務(wù)。具體地說,業(yè)務(wù)上下文可以具有以下特征-上下文可以根據(jù)解決方案要求來建立影響等效輸入的業(yè)務(wù)組件的輸出的執(zhí)行環(huán)境。
-對于同一組上下文,給定輸入的業(yè)務(wù)組件所產(chǎn)生的輸出是相同的。
-上下文無需被業(yè)務(wù)過程的客戶機(jī)所直接調(diào)用。相反,業(yè)務(wù)組件可以在請求執(zhí)行期間使用由所述上下文提供的服務(wù)。
-上下文提供了一組服務(wù)方法并可選地可以提供數(shù)據(jù)。
-上下文的存在時間開始于活動的創(chuàng)建并終止于活動的完成。
在進(jìn)一步的圖示中,圖4是示出了示例性業(yè)務(wù)上下文服務(wù)體系結(jié)構(gòu)的對象圖。所述體系結(jié)構(gòu)可以包括實現(xiàn)業(yè)務(wù)上下文服務(wù)接口430的業(yè)務(wù)上下文服務(wù)實現(xiàn)類410。業(yè)務(wù)上下文服務(wù)實現(xiàn)類410可以包括對至少一個可以實現(xiàn)活動數(shù)據(jù)接口440的活動數(shù)據(jù)實現(xiàn)類420的引用。最后,業(yè)務(wù)上下文服務(wù)實現(xiàn)類410可以包括對至少一個活動數(shù)據(jù)名稱值對類450的引用。
業(yè)務(wù)上下文服務(wù)接口430可以定義多個用于創(chuàng)建和管理活動的上下文的方法成員,包括一個或多個用于在活動開始時調(diào)用業(yè)務(wù)上下文服務(wù)的方法。例如,響應(yīng)于為具有指定的活動數(shù)據(jù)的新活動調(diào)用業(yè)務(wù)上下文服務(wù),可以利用所述指定的活動數(shù)據(jù)來創(chuàng)建活動。此外,可以利用指定的活動數(shù)據(jù)名稱值對來創(chuàng)建活動。另外,還可以根據(jù)現(xiàn)有活動的復(fù)制品來創(chuàng)建新的活動。最后,現(xiàn)有活動可以具有綁定到所述活動的新的上下文以便支持動態(tài)上下文創(chuàng)建。
通常,被配置成在本發(fā)明的業(yè)務(wù)上下文服務(wù)體系結(jié)構(gòu)中使用的業(yè)務(wù)上下文類(未示出)可以實現(xiàn)兩個接口。第一個接口可以是API接口,業(yè)務(wù)組件可以使用其來與業(yè)務(wù)上下文實例交互并使用由業(yè)務(wù)上下文實例提供的數(shù)據(jù)來檢索或填充上下文信息。第二個接口可以是服務(wù)提供方接口(SPI),其由業(yè)務(wù)上下文服務(wù)使用以創(chuàng)建業(yè)務(wù)上下文實例并向所述業(yè)務(wù)上下文實例指示以下項業(yè)務(wù)上下文實例何時使用初始化數(shù)據(jù)來填充其數(shù)據(jù)成員、業(yè)務(wù)上下文實例何時繼續(xù)保持其數(shù)據(jù)成員、業(yè)務(wù)上下文實例何時從永久性介質(zhì)重新加載其數(shù)據(jù)成員,以及業(yè)務(wù)上下文實例何時復(fù)制自身。
作為一個實例,所述業(yè)務(wù)上下文服務(wù)的API可以包括-begin(...)-所述組件外觀可以調(diào)用begin(...)方法來獲得新的活動。所述活動可以被與配置文件中定義的新的業(yè)務(wù)上下文實例相關(guān)聯(lián)。
-complete(...)-所述組件外觀可以調(diào)用complete(...)方法來終止活動并破壞其關(guān)聯(lián)的業(yè)務(wù)上下文實例組。
-clone(...)-所述組件外觀可以通過復(fù)制存儲在現(xiàn)有業(yè)務(wù)上下文實例中的信息來創(chuàng)建新的活動。
相比之下,所述業(yè)務(wù)上下文服務(wù)的SPI可以包括-startRequest(...)-業(yè)務(wù)組件可以在為與活動關(guān)聯(lián)的請求或事務(wù)執(zhí)行任何上下文相關(guān)的操作之前調(diào)用startRequest(...)方法。因此,所述業(yè)務(wù)上下文服務(wù)可以執(zhí)行有關(guān)與所述活動關(guān)聯(lián)的上下文的任何必需的預(yù)處理。
-endRequest(...)-業(yè)務(wù)組件可以在為與活動關(guān)聯(lián)的當(dāng)前請求或事務(wù)執(zhí)行所有上下文相關(guān)的操作之后調(diào)用endRequest(...)方法。因此,所述業(yè)務(wù)上下文服務(wù)可以執(zhí)行有關(guān)與所述活動關(guān)聯(lián)的上下文的任何必需的后處理。
-bindContext(...)-bindContext(...)方法允許業(yè)務(wù)組件動態(tài)地將新的上下文與活動關(guān)聯(lián)。
-findContext(...)-findContext(...)方法允許業(yè)務(wù)組件檢索與活動關(guān)聯(lián)的上下文信息。
-updateContext(...)-updateContext(...)方法允許業(yè)務(wù)組件更新上下文。
特別地,可以以多種方式來訪問業(yè)務(wù)上下文服務(wù)實現(xiàn)類410,包括通過無狀態(tài)會話bean和通過Web服務(wù)包裝。在更具體的圖示中,圖5A和5B合起來是示出了被配置成允許對圖4的業(yè)務(wù)上下文服務(wù)體系結(jié)構(gòu)的各種訪問的體系結(jié)構(gòu)的對象圖。具體地說,在圖5A中,實現(xiàn)業(yè)務(wù)上下文服務(wù)接口530的業(yè)務(wù)上下文服務(wù)實現(xiàn)510可以由訪問bean 540通過Web服務(wù)包裝520來間接地訪問??商娲?,如圖5B中所示,可以以包裝560的無狀態(tài)會話bean 570的方式通過服務(wù)包裝bean 560來間接地訪問業(yè)務(wù)上下文服務(wù)實現(xiàn)510。
為了使用本發(fā)明的SOA體系結(jié)構(gòu)來構(gòu)建解決方案,解決方案建立器可以使用一組SOA組件來組裝一組業(yè)務(wù)過程。業(yè)務(wù)上下文服務(wù)可以使此任務(wù)變得容易,因為上下文服務(wù)可以使所述組件彼此適應(yīng)并適應(yīng)于所述解決方案。圖6是示出了用于在本發(fā)明的SOA體系結(jié)構(gòu)中創(chuàng)建新的解決方案的過程的流程圖。在方塊610中,可以為新的解決方案確定一組所需的業(yè)務(wù)過程。每個業(yè)務(wù)過程可以包括一個或多個組件。在方塊620中,可以確定哪個現(xiàn)有組件可以被用來為新的解決方案建立所需的業(yè)務(wù)過程。
在方塊630中,還可以確定在不需要更改SOA組件的情況下哪個新的業(yè)務(wù)上下文是新的解決方案所需的。隨后,在方塊640中,可以創(chuàng)建任何丟失的組件。為了創(chuàng)建丟失的組件,必須知道如何將新的組件用于現(xiàn)有的解決方案。特定于解決方案的行為被標(biāo)識和實現(xiàn)為業(yè)務(wù)上下文。最后,在方塊650中可以確定將如何創(chuàng)建用于所述解決方案的活動。在此方面,業(yè)務(wù)過程的活動可以跨多個組件和多個事務(wù)。
例如,根據(jù)上述過程實現(xiàn)的呼叫中心解決方案可以包括用于電話銷售代表的活動和用于每個主叫客戶的活動。作為銷售代表的登錄過程的一部分,可以在業(yè)務(wù)上下文服務(wù)時調(diào)用“begin()”操作。begin()調(diào)用可以創(chuàng)建用于銷售代表的第一個活動,其中所述銷售代表同時被指派為主叫方標(biāo)識符和運行為標(biāo)識符。對于所有的無順序操作,將使用此活動。但是,當(dāng)客戶呼叫銷售代表時,可以使用已創(chuàng)建的活動的上下文來調(diào)用“clone()”操作以便為主叫客戶創(chuàng)建新的活動。在此情況下,銷售代表可以繼續(xù)與主叫方標(biāo)識符關(guān)聯(lián),但是所述客戶可以與運行為標(biāo)識符關(guān)聯(lián)。
在所有的情況中,可以為呼叫中心中的所有操作傳遞活動令牌,以便所述操作可以檢索所述活動的上下文以確定涉及哪個客戶(如果存在)。此外,在呼叫中心的情況下,可以使用附加的上下文。例如,可以將審計上下文與每個呼叫一起提供給業(yè)務(wù)邏輯,以便可以跨所有主叫客戶來監(jiān)視銷售代表的業(yè)務(wù)活動。由于活動被映射到由銷售代表服務(wù)的客戶,所以業(yè)務(wù)審計上下文可以生成描述銷售代表為每個客戶服務(wù)所用的時長以及在給定時間段內(nèi)銷售代表為多少客戶服務(wù)的報告。
與呼叫中心相比,還可以根據(jù)本發(fā)明的過程來創(chuàng)建目錄內(nèi)容解決方案。在目錄內(nèi)容解決方案實例中,可以限制目錄的內(nèi)容以便對目錄的添加可以被限于取決于查看器的視圖。為了支持目錄中條目的范圍,當(dāng)管理目錄的內(nèi)容時,可以將管理員指派給負(fù)責(zé)管理目錄的任務(wù)。將不會使在該任務(wù)中執(zhí)行的更改對其他任務(wù)可見,直到所述更改被批準(zhǔn)并被提升到基本目錄為止。具體地說,可以在管理員接受任務(wù)時將任務(wù)上下文添加到當(dāng)前活動。所述內(nèi)容任務(wù)可以在任務(wù)間分離數(shù)據(jù)。例如,在調(diào)用活動中的組件之前,內(nèi)容上下文可以選擇與當(dāng)前任務(wù)關(guān)聯(lián)的合適的模式以便在訪問數(shù)據(jù)存儲庫中的數(shù)據(jù)中使用。所選擇的模式可以導(dǎo)致從目錄內(nèi)容中檢索所需的內(nèi)容。
最后,可以根據(jù)本發(fā)明來創(chuàng)建市場門戶解決方案。在所述市場門戶解決方案中,一組公司或商店可以為用戶提供豐富的產(chǎn)品選擇和購買機(jī)會。當(dāng)訪問市場門戶時,購物者可以訪問多個商店并在不同的商店進(jìn)行訂購。通過提供每個訪問的商店的不同活動,可以無縫地監(jiān)視與市場中的不同商店的交互。此外,對于購物者已訪問過的商店,可以為該商店使用現(xiàn)有的活動,以便避免不必要地創(chuàng)建額外的活動。
所述流程圖和方塊圖示出了根據(jù)本發(fā)明的各種實施例的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品的可能實現(xiàn)的體系結(jié)構(gòu)、功能和操作。在此方面,所述流程圖或方塊圖中的每個方塊都可以表示代碼的模塊、段或部分,所述代碼包括用于實現(xiàn)指定的邏輯功能(多個)的一個或多個可執(zhí)行指令。還應(yīng)指出,在某些可替代實現(xiàn)中,在方塊中說明的功能可以不按圖中說明的順序發(fā)生。例如,示出為連續(xù)的兩個方塊可以實際上被基本同時地執(zhí)行,或者某些時候,取決于所涉及的功能,可以以相反的順序執(zhí)行所述方塊。還將指出,所述方塊圖和/或流程圖的每個方塊以及所述方塊圖和/或流程圖中的方塊的組合可以由執(zhí)行指定功能或操作的基于硬件的專用系統(tǒng)或?qū)S糜布陀嬎銠C(jī)指令的組合來實現(xiàn)。
根據(jù)本發(fā)明的一個方面,提供了一種用于通過業(yè)務(wù)上下文來修改面向服務(wù)的體系結(jié)構(gòu)(SOA)中的商業(yè)系統(tǒng)組件的系統(tǒng)。所述系統(tǒng)包括用于為提出的解決方案確定所需業(yè)務(wù)過程組的裝置;用于標(biāo)識所述SOA中能夠支持所述所需業(yè)務(wù)過程組的現(xiàn)有的所述商業(yè)系統(tǒng)組件并創(chuàng)建新的商業(yè)系統(tǒng)組件,以便所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件結(jié)合可以支持用于所述提出的解決方案的所述所需業(yè)務(wù)過程組的裝置;用于選擇一組上下文來修改所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件以支持用于所述提出的解決方案的所述所需業(yè)務(wù)過程組的裝置;以及,用于利用所述選擇的上下文組來為所述提出的解決方案創(chuàng)建活動的裝置。
在一個優(yōu)選實施例中,所述用于選擇一組上下文來修改所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件以支持用于所述提出的解決方案的所述所需業(yè)務(wù)過程組的裝置包括用于選擇一組包括基本上下文的上下文的裝置。
在一個優(yōu)選實施例中,所述用于選擇一組上下文來修改所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件以支持用于所述提出的解決方案的所述所需業(yè)務(wù)過程組的裝置包括用于從包括全球化上下文、內(nèi)容上下文、任務(wù)上下文、權(quán)利上下文和審計上下文的組中選擇附加上下文的裝置。
在一個優(yōu)選實施例中,所述用于創(chuàng)建活動的裝置包括用于為每個電話服務(wù)代表和呼叫該電話服務(wù)代表的客戶創(chuàng)建用于支持呼叫中心解決方案的活動的裝置。
在一個優(yōu)選實施例中,所述系統(tǒng)還包括用于提供審計上下文以便在所述創(chuàng)建的活動中使用的裝置。
在一個優(yōu)選實施例中,所述用于創(chuàng)建活動的裝置包括用于創(chuàng)建用于支持目錄管理任務(wù)的活動以及隨同所述創(chuàng)建的活動一起提供內(nèi)容上下文以限制目錄中的內(nèi)容的更改范圍的裝置。
在一個優(yōu)選實施例中,所述用于創(chuàng)建活動的裝置包括用于創(chuàng)建支持市場門戶解決方案的活動以及為購物者訪問的所述市場中的每個商店提供活動令牌的裝置。
此處使用的術(shù)語只是為了描述特定的實施例并且并非旨在作為本發(fā)明的限制。如此處所使用的,單數(shù)形式“a”、“an”和“the”旨在同樣包括復(fù)數(shù)形式,除非上下文明確地另有所指。還將理解,當(dāng)在此說明書中使用時,術(shù)語“包括”和/或“包含”指定了聲明的特征、整數(shù)、步驟、操作、元素和/或組件的存在,但是并不排除一個或多個其他特征、整數(shù)、步驟、操作、元素、組件和/或其組的存在或增加。
對本領(lǐng)域的技術(shù)人員顯而易見的是,可以從此處描述的特定實施例做出大量修改和改變而不偏離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種用于通過業(yè)務(wù)上下文來修改面向服務(wù)的體系結(jié)構(gòu)中的商業(yè)系統(tǒng)組件的方法,所述方法包括為提出的解決方案確定所需業(yè)務(wù)過程組;標(biāo)識所述面向服務(wù)的體系結(jié)構(gòu)中能夠支持所述所需業(yè)務(wù)過程組的現(xiàn)有的所述商業(yè)系統(tǒng)組件并創(chuàng)建新的商業(yè)系統(tǒng)組件,以便所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件結(jié)合可以支持用于所述提出的解決方案的所述所需業(yè)務(wù)過程組;選擇一組上下文來修改所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件以支持用于所述提出的解決方案的所述所需業(yè)務(wù)過程組;以及利用所述選擇的上下文組來為所述提出的解決方案創(chuàng)建活動。
2.根據(jù)權(quán)利要求1的方法,其中選擇一組上下文來修改所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件以支持用于所述提出的解決方案的所述所需業(yè)務(wù)過程組包括選擇一組包括基本上下文的上下文。
3.根據(jù)權(quán)利要求2的方法,其中選擇一組上下文來修改所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件以支持用于所述提出的解決方案的所述所需業(yè)務(wù)過程組還包括從包括全球化上下文、內(nèi)容上下文、任務(wù)上下文、權(quán)利上下文和審計上下文的組中選擇附加上下文。
4.根據(jù)權(quán)利要求1的方法,其中創(chuàng)建活動包括為每個電話服務(wù)代表和呼叫該電話服務(wù)代表的客戶創(chuàng)建用于支持呼叫中心解決方案的活動。
5.根據(jù)權(quán)利要求4的方法,還包括提供審計上下文以便在所述創(chuàng)建的活動中使用。
6.根據(jù)權(quán)利要求1的方法,其中創(chuàng)建活動包括創(chuàng)建用于支持目錄管理任務(wù)的活動以及隨同所述創(chuàng)建的活動一起提供內(nèi)容上下文以限制目錄中的內(nèi)容的更改范圍。
7.根據(jù)權(quán)利要求1的方法,其中創(chuàng)建活動包括創(chuàng)建支持市場門戶解決方案的活動以及為購物者訪問的所述市場中的每個商店提供活動令牌。
8.一種用于通過業(yè)務(wù)上下文來修改面向服務(wù)的體系結(jié)構(gòu)中的商業(yè)系統(tǒng)組件的系統(tǒng),所述系統(tǒng)包括用于為提出的解決方案確定所需業(yè)務(wù)過程組的裝置;用于標(biāo)識所述面向服務(wù)的體系結(jié)構(gòu)中能夠支持所述所需業(yè)務(wù)過程組的現(xiàn)有的所述商業(yè)系統(tǒng)組件并創(chuàng)建新的商業(yè)系統(tǒng)組件,以便所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件結(jié)合可以支持用于所述提出的解決方案的所述所需業(yè)務(wù)過程組的裝置;用于選擇一組上下文來修改所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件以支持用于所述提出的解決方案的所述所需業(yè)務(wù)過程組的裝置;以及用于利用所述選擇的上下文組來為所述提出的解決方案創(chuàng)建活動的裝置。
9.根據(jù)權(quán)利要求8的系統(tǒng),其中所述用于選擇一組上下文來修改所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件以支持用于所述提出的解決方案的所述所需業(yè)務(wù)過程組的裝置包括用于選擇一組包括基本上下文的上下文的裝置。
10.根據(jù)權(quán)利要求9的系統(tǒng),其中所述用于選擇一組上下文來修改所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件以支持用于所述提出的解決方案的所述所需業(yè)務(wù)過程組的裝置包括用于從包括全球化上下文、內(nèi)容上下文、任務(wù)上下文、權(quán)利上下文和審計上下文的組中選擇附加上下文的裝置。
11.根據(jù)權(quán)利要求8的系統(tǒng),其中所述用于創(chuàng)建活動的裝置包括用于為每個電話服務(wù)代表和呼叫該電話服務(wù)代表的客戶創(chuàng)建用于支持呼叫中心解決方案的活動的裝置。
12.根據(jù)權(quán)利要求11的系統(tǒng),還包括用于提供審計上下文以便在所述創(chuàng)建的活動中使用的裝置。
13.根據(jù)權(quán)利要求8的系統(tǒng),其中所述用于創(chuàng)建活動的裝置包括用于創(chuàng)建用于支持目錄管理任務(wù)的活動以及隨同所述創(chuàng)建的活動一起提供內(nèi)容上下文以限制目錄中的內(nèi)容的更改范圍的裝置。
14.根據(jù)權(quán)利要求8的系統(tǒng),其中所述用于創(chuàng)建活動的裝置包括用于創(chuàng)建支持市場門戶解決方案的活動以及為購物者訪問的所述市場中的每個商店提供活動令牌的裝置。
15.一種用于通過業(yè)務(wù)上下文來修改面向服務(wù)的體系結(jié)構(gòu)中的商業(yè)系統(tǒng)組件的計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品包括其中包含有計算機(jī)可讀程序代碼的計算機(jī)可讀介質(zhì),所述計算機(jī)可讀程序代碼被配置成執(zhí)行權(quán)利要求1-7中的任一權(quán)利要求的方法的步驟。
全文摘要
一種用于通過業(yè)務(wù)上下文來修改SOA中的商業(yè)系統(tǒng)組件的方法、系統(tǒng)和裝置。用于通過業(yè)務(wù)上下文來修改SOA中的商業(yè)系統(tǒng)組件的方法可以包括確定用于提出的解決方案的所需業(yè)務(wù)過程組。所述SOA中的現(xiàn)有商業(yè)系統(tǒng)組件可以被標(biāo)識為能夠支持所述所需業(yè)務(wù)過程組。此外,可以創(chuàng)建新的商業(yè)系統(tǒng)組件,以便所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件結(jié)合可以支持所述用于提出的解決方案的所需業(yè)務(wù)過程組。可以選擇一組上下文來修改所述現(xiàn)有的商業(yè)系統(tǒng)組件和所述創(chuàng)建的組件以支持用于所述提出的解決方案的所述所需業(yè)務(wù)過程組。最后,可以利用所述選擇的上下文組來創(chuàng)建用于所述提出的解決方案的活動。
文檔編號G06Q30/00GK1855146SQ20061006705
公開日2006年11月1日 申請日期2006年3月31日 優(yōu)先權(quán)日2005年4月28日
發(fā)明者D·胡西亞爾, V·陳, M·W·哈巴德 申請人:國際商業(yè)機(jī)器公司