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

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

申請免費試用、咨詢電話:400-8352-114

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

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

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

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

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

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

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

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

3、全球的各個酒店可能會使用不同的系統(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誕生以來,對于WebService安全性的討論就沒有停止過。例如Microsoft推出的WSE。.NET3.0下的WCF則完全支持WS-Security、WS-Trust和WS-SecureConversation等安全策略。如果再考慮用戶的權(quán)限控制,以及WAN和LAN的防火墻配置,數(shù)據(jù)訪問的安全性可以得到較好的保證。

SOA本身就是為互操作性(interoperability)而生的,這也正是SOA的最大價值體現(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)用程序地訪問各個酒店提供的WebService。這些酒店系統(tǒng)分布在世界各地,它們實現(xiàn)WebService的方式可能是WCF、WebSphere,也可能通過HostIntegrationServer實現(xiàn)。這些WebService都遵守一個共同的服務(wù)契約,并被定義為統(tǒng)一的服務(wù)接口。

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

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

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

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

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

咨詢:400-8352-114

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

QQ在線咨詢

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

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