微軟一家人---在云端運行的ServiceBus
TECHED2008大會已過去了快一個月了,在大會上所看到的關于 Azure的介紹至今還在頭腦中不時出現。當然我本人不是什么云計算的狂熱支持者,到如今我的觀點也與蔡學鏞先生的差不多,就是關注加觀望(以免在云端一腳踏空摔下來)。另外就是我對云的興趣目前也僅限在SDS和NetServiceBus這兩方面。其中對服務總線一直感到很好奇,這一點在我之前的一篇文章中已做了一些說明。
今天的這篇文章主要是從流程上了解一下如何運行(或調試一個運行在云端ServiceBus中的service).通過它,可以對Azure的服務總線的工作原理有一個初步的認識(當然本人目前也在摸索階段)。
本文中所用的DEMO其實是AzureServicesKit中的一個例子,大家可以從網上下載該開發包。該包中有很多DEMO和相應DOCX文檔(入門教程)來了解如何開發和布置云端的應用(服務)。在最后為了便于大家直接運行測試,我直接將DEMO的源碼從AzureServicesKit拿出來便于大家下載測試。
好了,在開始運行DEMO之前,我們要先做兩個準備工作。
1.在本地的“控制面板”-->"Windows CardSpace"中創建一個卡,該卡將會用于進行服務expose(暴露)和消費(custom)時進行身份驗證時使用。如下圖:
“點擊添加卡”之后,進入到“添加卡”窗口,如下:
這里選擇“創建個人卡”之后,在編輯新卡頁中,因為只是用于測試,所以我只填寫了卡名稱,就點擊“保存”按鈕了,如下圖:
這樣我們就創建了一張卡,該卡將會用于下面在云端的服務項目安全驗證時被上傳使用。如下圖:
2.向Azure Services Platform Team 申請一個invitation code,我們接下來會用這個邀請碼創建一個在云端的項目。我假設大家已獲得了這個邀請碼,現在下面這個鏈接頁面中輸入這個CODE,并單擊“Sing Up”,如下圖:
然后點擊該頁面上的“Sign In to manage your services”,進入到創建解決方案頁面:http://portal.ex.azure.microsoft.com/NewSolution.aspx
然后點擊該頁面右上邊的“Create New Solution”。接著我們按照相應的操作提示創建我們的解決方案即可(名稱隨意,我本人創建的是“MSF_DataSyncExample”下面會用到這個解決方案的名稱)。
最后系統會跳轉到這個鏈接,如下圖:
我們點擊左上邊的“Solution Credentials”進入驗證信息設置頁面,如下:
在該頁面中我們點擊"Windows CardSpace Information Card"來加載我們剛才創建的本地卡。
在彈出的選擇卡頁面中里,選中我們剛創建的卡并上傳:
在接著的卡命名頁面中我這里將卡命名為:daizhj_card,并保存之后,系統會跳轉后上頁面:
我們看到了剛添加的一個新卡已在這里了:
到這里,準備工作就完成為了,下面用VS2008+SP1打開源碼包中的解決方案RESTSample.sln.(之前需要先安裝Microsoft .NET Services SDK Setup 0.14.318.0)。
1.這里我們先編譯運行該解決方案,并在:“Please enter the solution name to use for this lab:”提示信息后輸入剛才在Azure
中創建的Solution名稱:“MSF_DataSyncExample”并回車。
2.然后該程序會彈出選擇Card窗口,我們選擇剛才創建的Card并上傳,如下圖:
3.最后該服務就會被expose到云端了,如下圖:
這里,我們在IE地址欄中輸入當前地址(http://servicebus.widnows.net/services/MSF_DataSyncExample/Image/)
后(系統會提示再次選擇上傳本地卡),就會看到這樣一張圖:
而這張圖就是當年(1978年)微軟早期的那11個員工的照片,算是個家庭合影的,有關該照
片的信息,可以參見這個鏈接:http://www.it.com.cn/f/edu/086/23/613172.htm
其實在這里,我們可以通過下面這張圖來大體梳理一下上面的工作流程所要實現的功能:
思考:
1.通過Azure平臺的ServiceBus,我們可以將運行在本地機器上的應用(服務)發布(暴露)出去,當然會將用戶權限驗證等功能一起進行綁定,權限包括:卡或指定的Solution口令,如上圖中的Solution PassWord:
2.當客戶端(如IE)訪問時,會先對其進行身份驗證,然后再進行相應的服務訪問(消費)操作。
3.從上面兩點,可以將ServiceBus看成是一個“服務管理委員會”,將專門進行服務的expose和custom
的操作。
而下面是其SDK的內容:
1.The Service Bus is built on Windows Communication Foundation (WCF). 2.The Service Bus is the initial implementation of the ISB (Internet Service Bus) components that resides on the Web. The technical aim of the ISB is to simplify connectivity between services and clients, even if those servers and clients exist behind different firewalls and NAT routers. 3.Building applications using the Service Bus does not require a significant footprint within an organization and leads to more rapid deployments while keeping local infrastructure intact. 4.As a set of hosted integration technologies, the Service Bus reduces the cost involved in building, acquiring, and maintaining systems that might have to be built to do the same things.
好了,今天的內容就到這里了,相關的源碼還是很簡單的,主要是App.config中的內容要注意一下,那里有一些關于在云端發布服務時的身份驗證方式配置等。
DEMO下載,請點擊這里。