首頁>>廠商>>CT中間件廠商>>商路通

第五代呼叫中心之SOA(二)

北京商路通信息技術(shù)有限公司 黃河 2009/11/06

第五代呼叫中心之SOA(一)

SOA的解決之道

  SOA面對的難題和夢想是:第一、軟件復(fù)用與成本攤;第二、需求滿足與變化適應(yīng);第三、軟件整合與軟件立舊。那么SOA的解決之道是什么?

  在說明這個問題之前,我們先看看古人的一個故事,很有意思。


秦國的兵工業(yè)

  縱覽兩千年前秦國的戰(zhàn)爭史幾乎就是一部典型的大軍團作戰(zhàn)史,在文治方面“略輸文采,稍遜風騷”的秦始皇在武功上卻是功勛卓著,戰(zhàn)績非凡。他驅(qū)使著秦軍這支歷史上著名的“虎狼之師”短短十年間,竟吞并六國,席卷中原,進而又北逐匈奴,南服百越,最終一統(tǒng)天下,坐擁天下。

  究竟是一種什么樣的技術(shù)力量在背后強力支撐著秦軍,使其能夠頻繁發(fā)動著大軍團作戰(zhàn),面對不同的對手不斷地取得勝利而最終在軍事上強勢崛起呢?歷史文獻中一直不曾給出過真正完整的答案。

  隨著大量秦國兵器的考古發(fā)掘,專家逐步為我們解開了這個千古迷團,一支裝備精良,武器先進的秦帝國軍隊被完整地復(fù)原,一個龐大的秦國武器設(shè)計生產(chǎn)場面也隨之真實地情景再現(xiàn)。其武器設(shè)計質(zhì)量在讓人為之嘆為觀止的同時,也給我們當今裝備研制生產(chǎn)領(lǐng)域帶來許多有益地啟示。原因很多,其中裝備設(shè)計制造標準化最是令人嘆為觀止。

  專家們對春秋戰(zhàn)國時期的兵器進行考古研究時發(fā)現(xiàn),那時各個諸侯國即使在同一地點遺留下的兵器,也存在著輕重不等,大小不一,形式多樣等普遍現(xiàn)象,而只有秦國的兵器,卻不論時間相隔多年,地點相距多遠,其造型和尺寸卻是幾乎驚人地完全一致。例如:在兵馬俑坑中發(fā)現(xiàn)的三棱箭頭有4萬多支,其制作得極其規(guī)整,箭頭底邊寬度的平均誤差只有正負0.83毫米。北京理工大學(xué)的冶金專家對秦軍箭頭做了金相分析,結(jié)果發(fā)現(xiàn)它們的金屬配比基本相同,數(shù)以萬計的箭頭竟然是按照相同的技術(shù)標準鑄造出來的。

  專家們還對秦傭坑兵器的弩機進行測試,結(jié)果發(fā)現(xiàn)數(shù)百件弩機的牙、栓、刀和其他部件,完全可以互換通用,輪廓誤差不超過1毫米。在戰(zhàn)場上,秦軍士兵可以隨時把損壞的弩機中仍舊完好的部件重新拼裝使用。專家同時還發(fā)現(xiàn)在青銅劍上有三條90多厘米長的棱線,將細長的劍身分成八個面,秦軍戈的圓弧部分加工得也十分規(guī)整,箭頭上三個流線型的表面也完全對稱。手工要完成這樣的表面加工有很大的難度,但實際情況是,兵馬俑坑中幾萬件兵器幾乎都是相同的質(zhì)量。如何保證質(zhì)量的同時大批量生產(chǎn)呢?實施標準化一定是其重要手段。盡管按今天的工業(yè)標準看,這些兵器的標準化仍舊是比較粗糙和初步的,但是,在兩千多年前,秦人執(zhí)著于統(tǒng)一標準,保證了所有秦軍戰(zhàn)士使用的都是當時最優(yōu)秀的武器。

  由秦國兵工業(yè)的強健發(fā)展直至最后奠基秦國的霸主地位,軟件從業(yè)者可以得到如下啟示:

一 制造業(yè)和軟件業(yè)的相互羨慕

  制造業(yè)羨慕軟件業(yè),因為雖然設(shè)計成本很高,但是,設(shè)計完成后,軟件的生產(chǎn)成本極低。

  而軟件業(yè)其實更羨慕制造業(yè),生產(chǎn)成本很高,但是設(shè)計成本被成千上萬的生產(chǎn)過程攤薄了。

  從秦國的兵工業(yè)看看我們羨慕的地方。

  首先,看看復(fù)用與成本攤薄的問題,兵器的設(shè)計成本很高,需上百人年才能完成。但是,設(shè)計被復(fù)用了上百萬次后,成本被攤薄到很小很小。

  其次,看看滿足需求和變化適應(yīng)的問題,恰恰是軟件行業(yè)無法做到的,秦軍的需求非常統(tǒng)一。

  最后,看看整合與立舊的問題,由于標準,弩機的牙、栓、刀和其他部件,完全可以互換通用,輪廓誤差不超過1毫米。在戰(zhàn)場上,秦軍士兵可以隨時把損壞的弩機中仍舊完好的部件重新拼裝使用,這是軟件業(yè)最想做到的。
  其實,軟件業(yè)一直在努力向這個方向發(fā)展。

  于是,軟件工程、軟件工廠、軟件藍領(lǐng)等概念一直被軟件業(yè)追捧。當然,軟件的復(fù)雜度遠遠高于秦國的兵器,那么我們看看SOA對于幾個方面的解決之道。

二 軟件復(fù)用與成本攤薄

  當SomeThing軟件開發(fā)完成,實現(xiàn)了某種功能,如果無需在其他很多地方再重新編寫或維護它,那么無疑會提高生產(chǎn)率。然而,重用實現(xiàn)起來并不輕松,也并非自動化的。首先,必須以一種可重用的方式來組織或編寫代碼。然后,必須知道存在一段可以被重用的代碼。在組織代碼方面,不同的編程語言以不同的方式為重用提供內(nèi)置支持。過程和函數(shù)是大多數(shù)程序員所熟悉的基本單元。面向?qū)ο蟮恼Z言,比如C++和Java,還提供了定義和擴展自定義的類型或類的手段。這些特性背后的基本理念就是封裝(也就是說,只需通過一些定義良好的接口來訪問其中的功能,實現(xiàn)對于您而言是一個黑盒子)。這些特性有其用途和優(yōu)點,但是當涉及到支持更大規(guī)模的重用時,它們也存在一些局限性。

  首先,SomeThing軟件是用C++開發(fā)的,只有特別熟悉C++的程序員才能進行有效的重用。

  其次,如果A公司的開發(fā)人員開發(fā)了SomeThing軟件,A內(nèi)部的其他開發(fā)人員要發(fā)現(xiàn)SomeThing軟件可以被他使用也不是一件容易的事情,更不用說B公司、C公司的開發(fā)人員了。

  最后,這個層面上的代碼并不支持網(wǎng)絡(luò),這意味著無法跨機器調(diào)用這些代碼,也無法在另一種編程語言中透明地重用它們。例如,SomeThing軟件是C++開發(fā)的,那么不費一番工夫,我是無法在Java中調(diào)用SomeThing軟件的。

  為了這個目標,軟件業(yè)前赴后繼,用了大量的概念和方法,如面向過程、面向?qū)ο、CORBA技術(shù),ActiveX、COM技術(shù)、COM+技術(shù)、DCOM技術(shù)和Agent技術(shù)等等。

  SOA是如何解決這一問題的呢?首先讓我們看一看SOA中的術(shù)語“服務(wù)”。

  服務(wù)很難精確的定義,可以理解為被調(diào)用的功能。

這個功能有以下幾個重要的特征:
  1. 容易被找到:一個做好的服務(wù),一定告訴別人;

  2. 明確說明能干什么:接口明確描述;

  3. 獨立:不要依賴于其他的系統(tǒng)的功能和狀態(tài);

  4. 誰都能調(diào)用:不依賴于操作系統(tǒng)、編程語言和軟件部署。
  上面幾個特征表述是非常形象的表述,其實目標只有一個“希望大家都來調(diào)用我”。

  一方面,不限制操作系統(tǒng)、編程語言、軟件部署的機器;

  另一方面,更方便的讓其他軟件調(diào)用。

  W3C把SOA定義為“一組可調(diào)用的組件,其接口描述可以被公開和發(fā)現(xiàn)”。

  SOA是一種思想,它絕對不是萬能的,它需要開發(fā)者根據(jù)自身行業(yè)的特征,設(shè)計哪一部分功能作為一個組件。
  只有你的功能劃分得非常合理,才能做到軟件復(fù)用和成本攤薄。

三 需求滿足與變化適應(yīng)

  SOA的方法在需求的滿足和變化的適應(yīng)方面并沒有太多其他獨到的地方,它依然是基于軟件的復(fù)用和成本的攤薄。

  需求的滿足和變化的適應(yīng)要求服務(wù)合理地提供出來:

  第一、需要滿足服務(wù)的幾個重要特征;
  
  第二、服務(wù)要適合行業(yè)需要,是對行業(yè)需求的抽象,要考慮到行業(yè)其他軟件如何調(diào)用;

  第三、需要有合適的顆粒度,以便可以組合出各種各樣的需求,并且需求變化時可以快速重組,同時,服務(wù)的一個部分需要變更,則不要影響全局;。


  那么從本質(zhì)上來講,SOA對需求的滿足和變化的適應(yīng)方面的建議不是直接滿足需求和需求的變化,而是通過接口的調(diào)用和調(diào)用的組合來滿足的。

四 軟件整合與軟件立舊

  討論完軟件復(fù)用與成本攤薄和需求滿足與變化適應(yīng)后,軟件整合與軟件立舊就是一個非常容易理解的問題了。

  軟件以接口的形式出現(xiàn),自然軟件的整合更加容易,軟件的立舊更加輕松。

  SOA的軟件整合似乎是很理想的一件事情,如果你要開發(fā)一個軟件,用于自己網(wǎng)站的會員在網(wǎng)上預(yù)訂酒店,軟件整合的過程大致如下:
  1. 你發(fā)現(xiàn)美國的一臺服務(wù)器,上面是一個提供房源的服務(wù),你調(diào)用其中一些服務(wù),解決了房源信息問題;


  2. 你發(fā)現(xiàn)了日本的一臺服務(wù)器,上面提供了展示酒店的服務(wù),你調(diào)用其中的一些服務(wù),解決了酒店信息展示的問題;


  3. 你發(fā)現(xiàn)中國的一臺服務(wù)器,提供地圖服務(wù)....


  4. 你發(fā)現(xiàn)法國的一臺服務(wù)器,提供客戶服務(wù)的服務(wù)...


  5. ....
  組合后,你的軟件快速實現(xiàn)。

  由于你可以選擇的服務(wù)眾多,可以任意組合服務(wù)的各種功能,很好的滿足了客戶的需求。而那些服務(wù)的提供商,也通過你對他的服務(wù)的使用,獲取了收益,達到了他的軟件的復(fù)用和成本的攤薄。

SOA的支持與其中重要的概念

  “孤木難成林”,既然這個概念是解決軟件行業(yè)問題的概念,那么就需要整個軟件行業(yè)支持。目前,幾乎所有的軟件巨頭都在支持SOA,包括IBM、微軟、Oracle、BEA、SAP等等,還有一家AVAYA--我們行內(nèi)非常熟悉的廠商。SOA已經(jīng)不是一個大家爭論的概念了,而是實戰(zhàn)了。

  SOA還有兩個重要的概念,即ESB和BPM。

第一個概念 ESB企業(yè)服務(wù)總線

  SOA的服務(wù)組件暴露的是一種粗粒度的接口,其目的是使應(yīng)用之間能夠異步共享數(shù)據(jù)。而使用ESB,一種集成架構(gòu)將應(yīng)用程序和分離的集成組件拉在一起,以產(chǎn)生服務(wù)裝配組合從而形成復(fù)合的業(yè)務(wù)流程,進而自動化一個即時企業(yè)中的業(yè)務(wù)功能。

  ESB為SOA提供實現(xiàn)骨架。那就是說,它通過一個跨越多種協(xié)議的消息總線來提供一個有關(guān)命名路由目的地的高度分布的世界來提供松散耦合的,事件驅(qū)動的SOA。ESB中的應(yīng)用程序(和集成組件)在理論上是彼此解耦的,而且通過總線彼此連接為暴露為事件驅(qū)動服務(wù)的邏輯端點。

  通過分布式的部署配置基礎(chǔ)設(shè)施,ESB能有效率地提供對在擴展企業(yè)中分布的服務(wù)的中心配置、部署和管理。一種普遍集成的新方式應(yīng)用諸如SOA、EAI、B2B和Web服務(wù)之類的技術(shù)的通常目標主要是創(chuàng)建一個集成架構(gòu),且能夠深入并且跨越整個擴展企業(yè)。對于一個集成基礎(chǔ)設(shè)施到達到這種普遍性,它必須具有下列各項特性:

  在ESB中,應(yīng)用和事件驅(qū)動服務(wù)以一種松散耦合的方式緊密地聯(lián)系在SOA中。這使得它們能夠彼此獨立運行,并且仍然能夠提供廣泛的業(yè)務(wù)功能價值。

  ESB架構(gòu)解決了這些需要,并且正在被各種通用的集成項目所采用。它也能夠在企業(yè)應(yīng)用層面普遍地伸展,不管是物理位置還是技術(shù)平臺。任何應(yīng)用都可以通過大量的連接選擇插入到一個ESB網(wǎng)絡(luò)中,并且可以立即參與到與那些通過總線暴露為共享服務(wù)的應(yīng)用之間的數(shù)據(jù)共享之中。這是 ESB 為什么經(jīng)常被稱為集成網(wǎng)絡(luò)或集成構(gòu)造的緣故。

  簡單一點,下面兩種構(gòu)架的方式,第一種,雜亂無章,第二種,非常清晰,第二種用的就是ESB的方式。


第二個概念 BPM服務(wù)流程管理

  業(yè)務(wù)流程管理系統(tǒng)(Business Process Management簡稱BPM)。BPM的定義分為合作戰(zhàn)略部分與軟件部分。其注重點是通過建模、自動化、管理和優(yōu)化任意一種業(yè)務(wù)流程,來管理公司業(yè)務(wù)流程的效率和效果。

  而SOA中的服務(wù)也是需要流程的,二者之間是需要融合的。

  沒有SOA,BPM一樣會出現(xiàn)并得到實現(xiàn),但是,在SOA將更多標準和系統(tǒng)整合成為可能的基礎(chǔ)上,通過SOA而在整體范圍內(nèi)實現(xiàn)BPM將會得到最大程度的簡化。就我聽到的最為形象的一個比喻則是,在脫離SOA協(xié)助下的BPM如同一個將一只手捆綁在背上的人努力想要去達到的目標。”

  而目前面臨的主要的問題是,當大家都去支持SOA的時候,BPM如何去實現(xiàn),或者如何去整合原有的BMP。

第五代呼叫中心之SOA(三)
第五代呼叫中心之SOA(四)
第五代呼叫中心之SOA (五)
第五代呼叫中心之SOA(六)
第五代呼叫中心之SOA(七)
第五代呼叫中心之SOA(八)
第五代呼叫中心之SOA(九)

CTI論壇編輯



相關(guān)閱讀:
第五代呼叫中心之SOA—連載1 2009-11-04
第五代呼叫中心—泰康保險電銷核動力(上) 2009-10-13
呼叫中心現(xiàn)場管理:商路通Agent Map先睹為快 2009-09-08
第五代呼叫中心項目實施的七項必練武功 2009-06-11
用第五代呼叫中心智慧構(gòu)建中國式營銷體系 2009-06-05
壤塘县| 商都县| 来宾市| 体育| 荣昌县| 泾川县| 固安县| 北海市| 松潘县| 呼伦贝尔市| 诸暨市| 丽水市| 确山县| 成武县| 宁都县| 京山县| 隆子县| 卢龙县| 六盘水市| 绥宁县| 宝丰县| 北辰区| 台安县| 镇安县| 武乡县| 固安县| 龙游县| 滕州市| 务川| 阜平县| 蒲江县| 伊宁市| 洛浦县| 开阳县| 美姑县| 尼玛县| 乳源| 银川市| 大庆市| 永福县| 万源市|