根據(jù)摩根史旦利在2004年二月對(duì) CIO 的 IT 預(yù)算調(diào)查 (Morgan Stanley CIO Survey),有幾個(gè)重要的訊息值得探討,在軟件預(yù)算分類中,application Integration 是僅次于更新服務(wù)器操作系統(tǒng)的最重要項(xiàng)目,可見整合應(yīng)用系統(tǒng),深化商業(yè)流程自動(dòng)化,將是最重要的軟件開發(fā)工作。在同一份調(diào)查中同時(shí)揭露 Application Outsourcing 高居信息服預(yù)算的第一位,顯示信息人員必須將重點(diǎn)放在最高階的信息工作上面,例如實(shí)時(shí)匯集客戶信息以快速響應(yīng)客戶需求,設(shè)計(jì)自動(dòng)化的商業(yè)流程以降低營(yíng)運(yùn)成本,增加信息系統(tǒng)商業(yè)智能以協(xié)助決策人員做正確的判定。我們需要一個(gè)穩(wěn)定且具有高度整合能力的信息架構(gòu)做為基礎(chǔ),方能達(dá)成這些高價(jià)值的工作。服務(wù)導(dǎo)向架構(gòu) SOA 是系統(tǒng)整合的最佳方案我們很早就了解系統(tǒng)整合的重要性,所以嘗試了各種解決方案,并且獲得一些成果。最早的解決方案是數(shù)據(jù)的整合,整合數(shù)據(jù)帶來(lái)立即的好處,使用者可以快速取得所需的所有資料。但是因?yàn)槠髽I(yè)的應(yīng)用系統(tǒng)通常來(lái)自不同的供貨商,所以整合所有的數(shù)據(jù)庫(kù)非常不輕易。后來(lái)的方法則是 AP-to-AP 的 EAI 整合方案,由 AP 與其它的系統(tǒng)溝通,取回所有需要的數(shù)據(jù),這方法的缺點(diǎn)在于應(yīng)用系統(tǒng)采用不同的通訊協(xié)議與 API,當(dāng)多個(gè)系統(tǒng)互動(dòng)時(shí),需要的轉(zhuǎn)接程序與數(shù)據(jù)轉(zhuǎn)換程序大量增加,假如要與其它企業(yè)的應(yīng)用系統(tǒng)互動(dòng),則情況變得更為復(fù)雜。服務(wù)導(dǎo)向架構(gòu) SOA 使用 xml 與 Web Services 為底層基礎(chǔ),解決通訊協(xié)議與數(shù)據(jù)溝通的問題,而且包含安全、交易、商業(yè)流程整合等等功能,使 SOA 成為最有彈性的系統(tǒng)整合方案。服務(wù)導(dǎo)向架構(gòu) SOA 的特質(zhì)有別于傳統(tǒng)的系統(tǒng)整合方案,SOA 具有幾個(gè)重要的特質(zhì)。第一個(gè)特質(zhì)是每個(gè)服務(wù) (Service)有一個(gè)明確的界限,其它的程序只能透過服務(wù)窗口要求服務(wù)。第二個(gè)特質(zhì)是獨(dú)立自主 (Autonomous),每個(gè)服務(wù)不必倚賴其它的系統(tǒng),我們獨(dú)立布署服務(wù),并且治理多重版本,別的程序不能存取服務(wù)內(nèi)部的功能與數(shù)據(jù),例如傳進(jìn)來(lái)的數(shù)據(jù)既不能修改,也不能退回。第三個(gè)特質(zhì)是共享 Data Schema 與數(shù)據(jù)規(guī)定 (Validation Contract),因?yàn)槊總€(gè)服務(wù)使用的內(nèi)部數(shù)據(jù)格式不一定相同,所以不可以傳遞對(duì)象,而且數(shù)據(jù)必須符合規(guī)定,Text Format Data 是以前常用的方法,現(xiàn)在 XML 則是最佳選擇。第四個(gè)特質(zhì)是運(yùn)用 Policy,SOA 使用 policy 設(shè)計(jì)連接端口規(guī)定、數(shù)據(jù)規(guī)定、功能規(guī)定、安全規(guī)定等等,并且協(xié)調(diào)服務(wù)之間的互動(dòng)流程。導(dǎo)入服務(wù)導(dǎo)向架構(gòu) SOA 的策略導(dǎo)入服務(wù)導(dǎo)向架構(gòu) SOA 的最佳策略是與現(xiàn)有的系統(tǒng)共存,而不是替換已經(jīng)運(yùn)行中的系統(tǒng),例如 EDI 系統(tǒng)已經(jīng)廣泛地運(yùn)行于全球前 10,000 大企業(yè)的電子式交易,RosettaNET 是最成功的信息電子 & 半導(dǎo)體產(chǎn)業(yè)的供給鏈系統(tǒng)。但是全球仍有數(shù)量龐大的中小企業(yè)與難以估計(jì)的終端系統(tǒng) (End User Devices),它們皆希望以便利、低成本的方式與其它系統(tǒng)進(jìn)行 AP-to-AP 的整合運(yùn)算,所以為現(xiàn)行系統(tǒng)提供 Web Services 將是最佳的擴(kuò)展策略。導(dǎo)入服務(wù)導(dǎo)向架構(gòu) SOA 的最佳實(shí)務(wù) (Best PRacrtices)•導(dǎo)入服務(wù)導(dǎo)向架構(gòu)必須有整體的規(guī)劃,確實(shí)執(zhí)行每個(gè)步驟,方能克服障礙,確保成功,下列是為一些寶貴的經(jīng)驗(yàn)法則,對(duì)導(dǎo)入 SOA 有相當(dāng)大的幫助。
•制定統(tǒng)一的 Data Schema(Canonical Schema):例如原來(lái)的 Customer 數(shù)據(jù)在 ERP 與 CRM 系統(tǒng)有不同的格式,在 SOA 中必須有統(tǒng)一的 Schema。
•延伸 Legacy System:使用 Web services 把 Legacy System 包裝起來(lái)提供開放的服務(wù),是一種不錯(cuò)的選擇。