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

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

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

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

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

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

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

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

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

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

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

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

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

[ServiceContract]

以下是引用片段:

ReservationResponseReserve(ReservationRequestrequest);

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

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

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

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

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

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

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

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

咨詢:400-8352-114

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

QQ在線咨詢

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

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