經(jīng)過設計,智能客戶端應用程序可以將胖客戶端應用程序的傳統(tǒng)優(yōu)點與瘦客戶端應用程序的可管理性優(yōu)點結(jié)合起來。然而,要完全實現(xiàn)智能客戶端應用程序的優(yōu)點,需要考慮許多體系結(jié)構(gòu)和設計問題。本指南描述了您在設計和實現(xiàn)智能客戶端應用程序時將面臨的體系結(jié)構(gòu)和設計難題。它提供了有關(guān)如何克服這些難題的指導,從而使您能夠在盡可能短的時間內(nèi)實現(xiàn)智能客戶端應用程序的優(yōu)點。
胖客戶端應用程序
在二十世紀九十年代中期,為 Microsoft® Windows® 操作系統(tǒng)開發(fā)的胖客戶端應用程序的數(shù)量急劇增長。設計這些客戶端的目的是利用本地硬件資源以及客戶端操作系統(tǒng)平臺的功能。
盡管許多上述應用程序的功能令人印象深刻,但它們都具有局限性。許多上述應用程序是獨立的并且在客戶計算機上工作,對它們的工作環(huán)境所知甚少或一無所知。該環(huán)境包括其他計算機和網(wǎng)絡上的任何服務,以及用戶計算機上的任何其他應用程序。非常常見的情況是,應用程序之間的集成局限于使用 Windows 提供的剪切或復制并粘貼功能在應用程序之間傳輸少量的數(shù)據(jù)。
有一些有助于提高胖客戶端應用程序連接性的技術(shù)。例如,兩層應用程序使多個用戶可以訪問駐留在網(wǎng)絡上的公用數(shù)據(jù),而 DCOM 使應用程序可以具有更高的分布性。(就 DCOM 而言,不再將邏輯和狀態(tài)與客戶計算機相聯(lián)系,而是將其封裝在對象內(nèi),然后在多臺計算機中分布這些對象。)但是,連接的應用程序的開發(fā)要復雜得多。隨著這些分布式應用程序的規(guī)模和復雜性逐漸增加,將越來越難以維持客戶端應用程序及它們使用的服務之間的緊耦合。
盡管胖客戶端通常提供了高質(zhì)量、響應迅速的用戶體驗,并且具有良好的開發(fā)人員和平臺支持,但它們非常難于部署和維護。隨著應用程序和客戶端平臺的復雜性不斷增加,以可靠且安全的方式將應用程序部署到客戶計算機的難度也將不斷增加。如果部署了不兼容的共享組件或軟件庫,則一個應用程序可以很容易地破壞另一個應用程序,這種現(xiàn)象稱為應用程序脆弱性。新版本的應用程序通常通過重新部署整個應用程序來提供,這可能使應用程序脆弱性問題變得更加嚴重。
瘦客戶端應用程序
Internet 提供了傳統(tǒng)胖客戶端模型的替代模型,它解決了許多與應用程序部署和維護相關(guān)聯(lián)的問題?;跒g覽器的瘦客戶端應用程序是在中央 Web 服務器上部署和更新的;因此,它們消除了將應用程序的任何部分顯式部署到客戶計算機并加以管理的必要性。
該模型使各個公司可以非常高效地將它們的應用程序公開給規(guī)模龐大、多種多樣的外部受眾。因為瘦客戶端已被證明能夠高效地解決一些部署和可管理性問題,所以它們現(xiàn)在用于向組織內(nèi)的用戶提供對許多業(yè)務線 (LOB) 應用程序的訪問,以及向客戶和合作伙伴提供對面向外界的應用程序的訪問。盡管事實上這兩種用戶的需要和期望通常是根本不同的,也是如此。
瘦客戶端應用程序具有一些缺點。瀏覽器必須總是具有網(wǎng)絡連接。這意味著移動用戶在斷開連接時將無法訪問應用程序,因此當他們返回辦公室時,必須重新輸入數(shù)據(jù)。而且,常用的應用程序功能(如拖放、撤消-重復以及上下文相關(guān)幫助)可能不可用,這可能降低應用程序的可用性。
因為應用程序的大部分邏輯和狀態(tài)位于服務器上,所以瘦客戶端會頻繁地向服務器發(fā)回數(shù)據(jù)和處理請求。瀏覽器必須等待響應到達,然后用戶才能繼續(xù)使用該應用程序;因此,該應用程序的響應速度通常要比胖客戶端應用程序慢得多。該問題在低帶寬或高延遲的情況下被惡化了,并且產(chǎn)生的性能問題可能導致應用程序可用性和用戶效率大幅度下降。要求輸入大量數(shù)據(jù)以及/或者在多個窗口中頻繁導航的 LOB 應用程序尤其會受到這一問題的影響。
智能客戶端應用程序
經(jīng)過設計,智能客戶端應用程序可以將胖客戶端應用程序的優(yōu)點與瘦客戶端應用程序的部署和可管理性優(yōu)點結(jié)合起來,盡管這兩種方法之間的平衡的準確性質(zhì)取決于確切的情況。
智能客戶端應用程序通常具有形形色色的要求,因此在設計和實現(xiàn)方面會有極大的差異。但是,所有智能客戶端都具有下列部分或全部特征:
• | 利用本地資源 |
• | 利用網(wǎng)絡資源 |
• | 支持偶爾連接的用戶 |
• | 提供智能安裝和更新 |
• | 提供客戶端設備靈活性 |
許多應用程序不需要具有上述所有特征。當您設計您的智能客戶端時,將需要仔細考慮您的應用程序方案,并且決定您的智能客戶端應用程序要求具備上述哪些特征。要將上述所有特征合并到您的應用程序中,將需要進行非常認真的計劃和設計,并且在很多情況下您將需要大量的實現(xiàn)資源。
注 .NET 框架可以幫助您實現(xiàn)智能客戶端應用程序的許多特征。該框架提供了具備自我描述能力且牢固綁定的程序集,并且支持單獨和并列安裝應用程序的多個版本,從而有助于減少與胖客戶端相關(guān)聯(lián)的應用程序部署和脆弱性問題。.NET 框架基類庫為與 Web 服務進行交互提供了廣泛的支持,并且提供了 Windows 窗體。通過使用公共語言運行庫 (CLR),您可以利用任何受到 .NET 支持的語言來開發(fā)智能客戶端。
使用本地資源
設計良好的智能客戶端應用程序最大限度地利用了代碼和數(shù)據(jù)部署在客戶端上并且在本地執(zhí)行和訪問這一事實。它為應用程序提供了內(nèi)容豐富且響應迅速的用戶界面,以及強大的客戶端處理能力。例如,它可能使用戶能夠執(zhí)行復雜的數(shù)據(jù)操作、可視化、搜索或排序操作。
智能客戶端可以利用客戶端硬件資源(如電話或條碼讀取器)以及其他軟件和應用程序。這使它們非常適合于解決瘦客戶端應用程序(如銷售點終端應用程序)無法很好解決的問題。智能客戶端還可以利用本地軟件(如 Microsoft Office 應用程序)或客戶計算機上安裝的任何 LOB 應用程序。通過創(chuàng)建能夠與多個 LOB 應用程序集成并對這些應用程序進行協(xié)調(diào)的解決方案,您的用戶可以更為有效地工作,進行更好的決策,并減少數(shù)據(jù)輸入錯誤。此類解決方案還可以使您的應用程序更加緊密地與用戶的工作環(huán)境集成(例如,通過采用自定義的或熟悉的用戶界面),從而降低培訓成本。
可以通過智能客戶端應用程序集成或協(xié)調(diào)其他客戶端應用程序,以便提供一致且高效的總體解決方案。這些應用程序還應該了解正在使用應用程序的上下文,并且應該適應該上下文以盡可能地幫助用戶;例如,通過根據(jù)用戶的使用模式或角色搶先緩存適當且有用的數(shù)據(jù)。
通過最大限度地使用本地資源以及將本地資源集成到您的智能客戶端應用程序,可以使您的應用程序更好、更有效地使用已經(jīng)提供給您的硬件。非常常見的情況是,處理能力、內(nèi)存和高級圖形功能沒有得到利用。使用客戶計算機上的資源還可以減少服務器端硬件要求。
使用網(wǎng)絡資源
智能客戶端可以通過網(wǎng)絡消耗和使用不同的服務和數(shù)據(jù)。它們是從許多不同的源檢索數(shù)據(jù)的有效方式,并且可以設計為對數(shù)據(jù)進行分析或整合,從而使用戶能夠進行更為有效和明智的決策。例如,智能客戶端可以使用映射服務來提供有關(guān)地點和駕駛方向的詳細信息。
智能客戶端應用程序應該盡可能地連接,并且應該利用可以通過網(wǎng)絡使用的資源和服務。它們不應該是獨立的應用程序,并且應該總是構(gòu)成更大的分布式解決方案的一部分。智能客戶端應用程序起碼應該使用有助于維護該應用程序以及提供部署和更新服務的集中式服務。
智能客戶端應用程序的連接性質(zhì)使其可以提供有價值的數(shù)據(jù)整合、分析和轉(zhuǎn)換服務。它們使用戶可以實時地或者在一段時間內(nèi)協(xié)作完成任務。在許多情況下,智能客戶端應用程序可以向用戶提供類似于門戶的功能,從而將完全不同的數(shù)據(jù)和服務加以協(xié)調(diào)并集成到總體解決方案中。
支持偶爾連接的用戶
可以將智能客戶端設計為向偶爾連接到網(wǎng)絡的用戶提供功能,從而使用戶可以在明確脫機、使用低帶寬或高延遲網(wǎng)絡,或者連接時斷時續(xù)的情況下繼續(xù)高效地工作。對于移動應用程序,智能客戶端還可以優(yōu)化網(wǎng)絡帶寬 — 例如,通過將請求批量發(fā)送到服務器,以便更好地使用代價昂貴的連接。
即使當客戶端大多數(shù)時間都連接到網(wǎng)絡時,智能客戶端應用程序也可通過以智能方式緩存數(shù)據(jù)和管理連接來改善性能和可用性。例如,在低帶寬或高延遲環(huán)境中,智能客戶端應用程序可以用特殊的方式管理連接,即不損害應用程序的可用性和響應性,并且用戶可以繼續(xù)高效地工作。
通過使用戶能夠在斷開連接或只偶爾連接的情況下工作,提高了用戶的工作效率和滿意度。智能客戶端應用程序應該致力于在脫機時提供盡可能多的功能。
提供智能安裝和更新
傳統(tǒng)胖客戶端所具有的一些最大的問題發(fā)生在部署或更新應用程序的時候。許多胖客戶端應用程序具有大量復雜的安裝要求,并且可能通過注冊組件以及/或者在公共位置安裝 DLL 來共享代碼,從而導致應用程序脆弱性和更新困難。
可以對智能客戶端應用程序進行設計,以使其按照遠比傳統(tǒng)胖客戶端應用程序更智能和靈活的方式來管理它們的部署和更新。它們可以避免上述常見問題,從而有助于減少應用程序的管理成本。
有許多部署智能客戶端的不同方式。這些方式包括:簡單地將文件復制到本地計算機;使用非接觸式部署自動從中央服務器下載代碼;或者使用企業(yè)推技術(shù)如 Microsoft Systems Management Server (SMS) 來部署 Windows Installer 軟件包。您選擇的方法將依賴于您的特定情況。
智能客戶端應用程序可以在其運行時或位于后臺時對自身進行自動更新。這一功能使其可以逐個角色地進行更新;以分階段的方式更新,從而可以將應用程序推介給先導小組或受限的用戶組;或者按照制定的時間表更新。
.NET 框架使您可以對應用程序組件進行強命名,這意味著應用程序可以指定用來生成和測試其確切版本的組件,并通過這些版本的組件運行。.NET 框架使應用程序可以相互隔離,以便在安裝一個應用程序時不會破壞另一個應用程序,并且同一應用程序的多個版本可以并列部署。這些功能大大簡化了應用程序部署,并且消除了許多與胖客戶端應用程序相關(guān)聯(lián)的應用程序脆弱性問題。
提供客戶端設備靈活性
智能客戶端還可以提供靈活且可自定義的客戶端環(huán)境,從而使用戶可以將應用程序配置為支持他或她喜歡的工作方式。智能客戶端應用程序沒有被限制到桌面計算機或膝上型計算機。隨著小規(guī)模設備的連接性和能力的增加,愈發(fā)需要能夠提供對多個設備上重要數(shù)據(jù)和服務的訪問的有用客戶端應用程序。與 .NET 框架壓縮版一起,.NET 框架提供了一個可用來生成智能客戶端應用程序的通用平臺。
可以對智能客戶端進行設計以使其適應宿主環(huán)境,并且為它們運行時所在的設備提供適當?shù)墓δ?。例如,適合在 Pocket PC 上運行的智能客戶端應用程序應該提供相應的用戶界面,該用戶界面在較小的屏幕區(qū)域上被調(diào)整為使用筆針。
在許多情況下,您需要設計多個版本的智能客戶端應用程序,每個版本都面向特定的設備類型,以便充分利用該設備所支持的特定功能。因為小規(guī)模設備通常在提供完整范圍的智能客戶端應用程序功能方面受到限制,所以它們可能只提供對功能完善的智能客戶端應用程序所提供的數(shù)據(jù)和服務子集的移動訪問,或者它們可用于在用戶移動時收集和整合數(shù)據(jù)。最后,可以由功能更加完善的智能客戶端應用程序或服務器端應用程序來分析或處理這些數(shù)據(jù)。
能夠感知目標設備的功能和使用環(huán)境(無論它是桌面、膝上型、平板還是移動設備),以及能夠定制應用程序以提供最適當?shù)墓δ?,這些都是許多智能客戶端應用程序的基本特點。
智能客戶端在設計和實現(xiàn)方面差異極大,這既包括應用程序要求,也包括可以使用它們的方案和環(huán)境的數(shù)量。因此,智能客戶端可以采取許多不同的形式和風格。根據(jù)智能客戶端應用程序所面向的平臺,可以將這些形式劃分為三大類:
• | Windows 智能客戶端應用程序 |
• | Office 智能客戶端應用程序 |
• | 移動智能客戶端應用程序 |
智能客戶端應用程序面向上述一種或多種平臺是很常見的情況,具體取決于用戶的角色以及需要的功能。這種靈活性是智能客戶端應用程序的主要長處之一。
本指南的其余部分將重點討論所有三種類型的智能客戶端應用程序所共有的問題,而不是詳細解釋影響個別類別的問題。但是,依次對各個類型進行簡要分析,以便您可以確定哪種風格的應用程序最適合您的情況,這將是很有用的。
Office 智能客戶端應用程序
Microsoft Office System 2003 為您提供了用來生成智能客戶端應用程序(尤其是在企業(yè)設置中)的有用平臺。通過 Office 智能客戶端解決方案,您可以將通過 Web 服務訪問的數(shù)據(jù)源與 Word 2003、Excel 2003、InfoPath 2003 或其他 Office應用程序的功能集成起來,以開發(fā)智能客戶端解決方案。
這樣的 Office 智能客戶端應用程序可以成為組織的信息管理周期的集成部分,而不只是文檔數(shù)據(jù)的靜態(tài)容器。當用戶在文檔內(nèi)工作時,它們可以提供上下文相關(guān)的數(shù)據(jù),以及可以將 Web 服務公開的數(shù)據(jù)轉(zhuǎn)換為有用信息的工作流和任務指導、數(shù)據(jù)分析、協(xié)作、報告和呈現(xiàn)功能。
Microsoft Office 支持 XML,并且可以將該數(shù)據(jù)與文檔的其他方面分開,以便它可以由其他應用程序重新使用。因為 Microsoft Office 中的應用程序數(shù)據(jù)可以由多個應用程序中相同的客戶定義 XML 架構(gòu)進行說明,所以開發(fā)人員可以將這些數(shù)據(jù)集成到智能客戶端應用程序中。
Microsoft Office 2003 具有許多用于生成智能客戶端解決方案的重要功能和選項。這些功能和選項包括:
• | 智能標記。智能標記為應用程序提供一種方法,可以為用戶提供與文檔內(nèi)容有關(guān)的上下文相關(guān)數(shù)據(jù),用戶在文檔內(nèi)工作時,可以通過該方法容易地查看和使用相關(guān)信息。例如,使用智能標記,可以在文檔內(nèi)引用客戶時提供相應客戶的帳戶狀態(tài),或者可以在鍵入訂單 ID 時提供訂單狀態(tài)信息。這種上下文相關(guān)的反饋使用戶可以在工作時進行更為明智的決策。 |
• | 智能文檔。智能文檔為用戶提供了更為強大的與文檔和業(yè)務 Web 服務進行交互的方法。智能文檔是 Word 2003 和 Excel 2003(它們具有基礎 XML 結(jié)構(gòu)和自定義的任務窗格)的一種新的解決方案模型??梢允褂迷撊蝿沾案裣蛴脩麸@示上下文信息、任務、工具、后續(xù)步驟以及其他相關(guān)信息。用戶能夠通過與該任務窗格交互來啟動其他操作和任務,從而可以構(gòu)建綜合性業(yè)務解決方案。 |
• | 適用于 Microsoft Office System 的 Microsoft Visual Studio_ 工具。該工具套件使開發(fā)人員能夠通過使用 Microsoft Visual Studio .NET 2003 開發(fā)系統(tǒng)來創(chuàng)建托管代碼 Office 智能客戶端應用程序。開發(fā)人員可以將文檔解決方案與基礎代碼分開(與以前的包含帶有自定義邏輯的 Visual Basic for Applications 宏的智能客戶端模型相比,這是一種替代解決方案)。通過將托管代碼與 Microsoft Office 一起使用,開發(fā)人員可以獲得更多為智能客戶端解決方案創(chuàng)建、部署和管理更新的有效選項。 |
• | Microsoft Office InfoPath™ 2003。InfoPath 2003 是能夠使用類似于表單的界面從用戶那里收集結(jié)構(gòu)性數(shù)據(jù)的應用程序。InfoPath 2003 提供了對 XML Web 服務(一種基于表單的用戶界面)的支持,以及對標準技術(shù)(如 WSDL 和 UDDI)的支持。InfoPath 2003 支持有限的脫機使用,方法是允許用戶在脫機時與表單進行交互,然后允許用戶在聯(lián)機時將該表單轉(zhuǎn)發(fā)給 Web 服務。 |
移動智能客戶端應用程序
移動智能客戶端是在智能設備上運行的應用程序,這些智能設備包括 Pocket PC、Smartphone 以及其他超小型臺式設備(如機頂盒)。這些應用程序是使用 .NET 框架壓縮版(它是完整 .NET 框架的子集)開發(fā)的。
.NET 框架壓縮版具有完整 .NET 框架的許多功能,支持 XML,并且消耗 Web 服務。它被進行了優(yōu)化以便在超小型臺式設備上使用,并且它包含用于開發(fā)用戶界面的 Windows 窗體設計器。
通過使用 Visual Studio .NET 智能設備項目,您可以開發(fā)能夠在 .NET 框架壓縮版上運行的智能客戶端。采用這一方法,您可以通過在超小型臺式設備的模擬器上使用 Visual Studio .NET 來開發(fā)、測試和調(diào)試應用程序。模擬器的使用大大加快了這些類型應用程序的開發(fā)和測試速度。
移動智能客戶端應用程序通常用于提供對重要數(shù)據(jù)和服務的移動訪問,或者在用戶處于移動狀態(tài)時收集和整合數(shù)據(jù)。這些類型應用程序的示例有保險和金融數(shù)據(jù)收集應用程序、庫存管理應用程序和個人工作效率管理應用程序。
對智能客戶端和瘦客戶端進行取舍
要針對您的情況選擇正確的應用程序體系結(jié)構(gòu),必須考慮許多因素。要確定智能客戶端方法是否最適合您的應用程序,請認真考慮您當前和將來業(yè)務應用程序的需要。如果您的應用程序基于不適合的體系結(jié)構(gòu),則它可能無法滿足用戶和整個企業(yè)的要求和期望。如果以后更改體系結(jié)構(gòu)以滿足新的要求或者利用新的機遇,則可能要付出極為高昂的代價。
如果您需要向各種外部受眾提供面向外界的應用程序,則瘦客戶端體系結(jié)構(gòu)通常最為適當;而對于需要與其他客戶端應用程序或硬件集成或者對它們進行協(xié)調(diào),或者需要脫機工作或通過響應迅速的用戶界面提供特定高性能功能的內(nèi)部應用程序而言,智能客戶端體系結(jié)構(gòu)通常最為適當。
實際上,這兩種方法在很大程度上互相重疊,而且每種方法都具有明顯的優(yōu)點和缺點。您只有在認真考慮您的要求并且了解如何在您所處的場合下應用每種方法之后,才能夠選擇正確的方法。您可以使用表 1.1 來幫助您對智能客戶端和瘦客戶端體系結(jié)構(gòu)進行取舍。
表 1.1 瘦客戶端和智能客戶端的特點
特點 | 瘦客戶端 | 智能客戶端 |
提供內(nèi)容豐富的用戶界面 | 可以,但難以開發(fā)、測試和調(diào)試。通常將應用程序與單個瀏覽器聯(lián)系起來。 | 是。更易于開發(fā)、測試和調(diào)試。 |
可以利用本地計算機上的硬件資源 | 是,但只能通過 COM 組件使用。 | 是 |
可以與其他本地應用程序交互 | 否 | 是 |
可以多線程化 | 否 | 是 |
可以脫機工作 | 否 | 是 |
在低帶寬和高延遲環(huán)境中可以很好地執(zhí)行。 | 否 | 是 |
易于部署 | 是 | 不一定。困難程度取決于應用程序要求。 |
低維護和更改管理成本 | 是 | 不一定。成本取決于應用程序要求。 |
可以部署到具有不同功能的多種客戶端上。 | 是,盡管更復雜的瘦客戶端可能要求單個瀏覽器。 | 是??梢栽谥С?/span> .NET 框架(包括 .NET 框架壓縮版)的任何平臺上部署。 |
智能客戶端體系結(jié)構(gòu)難題
智能客戶端的體系結(jié)構(gòu)難題不同于瘦客戶端,并且您需要在您的應用程序設計中予以考慮。智能客戶端應用程序具有顯著的優(yōu)點,但是您只有在適當?shù)亟鉀Q這些難題之后才能實現(xiàn)這些優(yōu)點。
通過智能客戶端可以將數(shù)據(jù)和邏輯分發(fā)到客戶計算機,而瘦客戶端則傾向于將數(shù)據(jù)和邏輯集中存放在 Web 服務器和其他后端服務中。盡管可以通過智能客戶端方法使應用程序變得更加高效,并且不需要與服務器進行往返通訊以確定后續(xù)步驟,但您需要考慮到應用程序及其數(shù)據(jù)現(xiàn)在比瘦客戶端應用程序分布得更為廣泛,并且相應地修改您的設計。
如果您要在客戶端上實現(xiàn)業(yè)務規(guī)則,您將需要在必要時更新這些規(guī)則,而不是更新整個應用程序。這可能意味著您需要使用不同的機制來分別更新該應用程序以及更新該應用程序內(nèi)部的業(yè)務規(guī)則。
通過在客戶端上緩存數(shù)據(jù),您可以顯著改善應用程序的性能和可用性,但您必須確保適當?shù)厮⑿聰?shù)據(jù)并且不會使用陳舊的數(shù)據(jù)。因為許多用戶可以訪問和使用相同的數(shù)據(jù),您還必須考慮數(shù)據(jù)并發(fā)的影響。您的應用程序必須能夠處理出現(xiàn)的數(shù)據(jù)沖突或一致問題,因為應用程序現(xiàn)在分布得更為廣泛,并且可以脫機操作。
.NET 框架在智能客戶端應用程序的宿主方式方面提供了極大的靈活性。應用程序可以作為傳統(tǒng)桌面應用程序運行,還可以宿主在 Office 或 Microsoft Internet Explorer 內(nèi)。也可以進行許多種組合。例如,Windows 窗體應用程序可以宿主 Internet Explorer 或 Office 組件,并且任何宿主都可以包含任何其他宿主。
您可以將不穩(wěn)定的應用程序邏輯(例如,控制大訂單折扣的業(yè)務規(guī)則)結(jié)合到根據(jù)需要通過 HTTP 下載的程序集中。這樣做消除了在開發(fā)新應用程序邏輯時部署新版本客戶端應用程序的需要。您可以使用與附加(或不常使用)應用程序功能相同的模型,以便使初始應用程序規(guī)模保持最小,并且根據(jù)需要安裝附加功能。
您可以選擇將您的智能客戶端作為復合應用程序進行部署,此時許多應用程序組合起來構(gòu)成一個統(tǒng)一的解決方案。可以通過耦合桌面應用程序,或者通過提供一般性的外殼應用程序以容納多個共同構(gòu)成解決方案的輕型應用程序,來構(gòu)成這樣的解決方案。
當用戶必須訪問許多應用程序以完成其工作時,復合應用程序尤其有用。例如,呼叫中心中的客戶服務代理通常必須使用許多 LOB 應用程序,包括桌面應用程序、基于瀏覽器的應用程序以及基于終端的應用程序。所有這些 LOB 應用程序都可以宿主到在它們之間提供集成的普通 Windows 窗體應用程序中,從而大大簡化用戶的工作,最為重要的是減少花在特定呼叫上的時間。通過提供普通外殼來宿主這些 LOB 應用程序,可以在不同的解決方案中開發(fā)、測試和重用通用基礎結(jié)構(gòu)功能,如安全性、部署、窗口管理、應用程序集成、審核等等,從而使 LOB 應用程序的開發(fā)人員能夠?qū)⒕杏跇I(yè)務功能。
面向服務的體系結(jié)構(gòu)的出現(xiàn)意味著您可以設計智能客戶端來利用網(wǎng)絡服務。所有此類服務都是以行業(yè)標準方式提供的,這就改善了互操作性、開發(fā)人員工具支持以及在智能客戶端應用程序中內(nèi)置新功能的容易程度。