微软一家人---在云端运行的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下载,请点击这里。