監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

基于SOA的體系架構(gòu)設(shè)計(jì)

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

來源:泛普軟件 基于SOA的體系架構(gòu)設(shè)計(jì)

當(dāng)我在為全球酒店在線預(yù)訂系統(tǒng)做架構(gòu)設(shè)計(jì)時(shí),我發(fā)現(xiàn)一個(gè)頭疼的問題是如何保證系統(tǒng)與分布在全球各地的酒店之間完成消息的交互?

一個(gè)妥協(xié)的辦法是,我們?yōu)榫频旯芾碚咛峁┕芾砉δ苋肟冢芾砣藛T可以將酒店的客房及客房類型的數(shù)據(jù)輸入到系統(tǒng)的數(shù)據(jù)庫中。發(fā)布到在線預(yù)訂系統(tǒng)中的客房數(shù)據(jù)必須是預(yù)留的,如此方可以避免在線預(yù)訂者與酒店本身顧客對(duì)于客房資源的爭(zhēng)用。

客房資源雖然得到了妥善的安排,但造成的問題是客房可能會(huì)被閑置,從而造成資源的浪費(fèi)。例如,某酒店為在線預(yù)訂系統(tǒng)預(yù)留了50間客房。為了保證在線預(yù)訂系統(tǒng)的顧客可以順利地預(yù)訂到合適的客房,這50間客房不允許非在線預(yù)訂者預(yù)訂。假設(shè)整個(gè)酒店共有200間客房,如果150間客房均已入住了顧客,那么即使酒店還空著這50間客房,對(duì)于那些實(shí)際到酒店訂房的客人而言,酒店的大堂經(jīng)理也只能抱歉地說客滿了。

我們當(dāng)然可以及時(shí)地更新這些數(shù)據(jù),然而這會(huì)給管理員帶來工作上的負(fù)擔(dān)。考慮全球時(shí)區(qū)不同的情況,有可能每個(gè)酒店的管理員都需要24小時(shí)的值守。

最好的辦法當(dāng)然是讓各個(gè)酒店的數(shù)據(jù)與在線預(yù)訂系統(tǒng)的數(shù)據(jù)實(shí)現(xiàn)共享。然而這會(huì)帶來三個(gè)問題:

1、全球的酒店系統(tǒng)需要定義統(tǒng)一的接口標(biāo)準(zhǔn);

2、如何保障酒店數(shù)據(jù)訪問的安全性?

3、全球的各個(gè)酒店可能會(huì)使用不同的系統(tǒng),如何保障它們與在線預(yù)訂系統(tǒng)之間的互操作性?

SOA可以使得這些問題迎刃而解。雖然我們很難要求全球的酒店系統(tǒng)都遵循統(tǒng)一的酒店接口標(biāo)準(zhǔn),但鑒于酒店的行業(yè)特征,定義統(tǒng)一的服務(wù)契約(ServiceContract)是完全可行的。當(dāng)然,我們首先需要解決消息的定義,如此我們就可以定義如下的服務(wù)契約:

[ServiceContract]

以下是引用片段:

ReservationResponseReserve(ReservationRequestrequest);

自從WebService誕生以來,對(duì)于WebService安全性的討論就沒有停止過。例如Microsoft推出的WSE。.NET3.0下的WCF則完全支持WS-Security、WS-Trust和WS-SecureConversation等安全策略。如果再考慮用戶的權(quán)限控制,以及WAN和LAN的防火墻配置,數(shù)據(jù)訪問的安全性可以得到較好的保證。

SOA本身就是為互操作性(interoperability)而生的,這也正是SOA的最大價(jià)值體現(xiàn)。只要提供了WebService,我們就可以通過WCF調(diào)用這些服務(wù)。如果有的系統(tǒng)無法提供WebService,例如RPG和COBOL,我們可以通過HostIntegrationServer(HIS),使得應(yīng)用程序接口能夠?qū)崿F(xiàn).NETWebService。

用戶可以通過PC、laptop或者PDA訪問在防火墻保護(hù)下的酒店在線預(yù)訂系統(tǒng),查詢/預(yù)訂/退訂房間。系統(tǒng)通過WCF技術(shù)跨應(yīng)用程序地訪問各個(gè)酒店提供的WebService。這些酒店系統(tǒng)分布在世界各地,它們實(shí)現(xiàn)WebService的方式可能是WCF、WebSphere,也可能通過HostIntegrationServer實(shí)現(xiàn)。這些WebService都遵守一個(gè)共同的服務(wù)契約,并被定義為統(tǒng)一的服務(wù)接口。

為了定義與管理酒店的業(yè)務(wù)流程與工作流,系統(tǒng)還必須部署B(yǎng)izTalkServer。此外,該服務(wù)器還要負(fù)責(zé)管理事務(wù),處理異常消息的傳遞。

沒有SOA和WebService,要實(shí)現(xiàn)這樣的全球酒店在線預(yù)訂系統(tǒng)是很難想象的,特別是新設(shè)計(jì)的在線預(yù)訂系統(tǒng)還必須考慮兼容舊有的酒店系統(tǒng)。此外,我們不能奢望酒店的預(yù)訂服務(wù)流程是一成不變的,利用SOA,可以很好地隔離服務(wù)的提供者與調(diào)用者之間的依賴,實(shí)現(xiàn)系統(tǒng)的松散耦合。只要在設(shè)計(jì)中遵循了“服務(wù)是自治的”這一原則,并且能夠較好地定義服務(wù)的邊界,即使服務(wù)的實(shí)現(xiàn)發(fā)生了變化,對(duì)于整個(gè)系統(tǒng)而言,也不會(huì)嚴(yán)重到傷筋動(dòng)骨的地步。重要的是,我們必須改變系統(tǒng)設(shè)計(jì)的思路與精神,利用面向服務(wù)而非面向?qū)ο蟮姆绞絹砜紤]架構(gòu)的整體設(shè)計(jì)。

發(fā)布:2007-04-23 11:54    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
杭州OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普杭州OA行業(yè)資訊其他應(yīng)用

杭州OA軟件 杭州OA新聞動(dòng)態(tài) 杭州OA信息化 杭州OA快博 杭州OA行業(yè)資訊 杭州軟件開發(fā)公司 杭州門禁系統(tǒng) 杭州物業(yè)管理軟件 杭州倉庫管理軟件 杭州餐飲管理軟件 杭州網(wǎng)站建設(shè)公司