The Earth Rover

    上个月, 近100位大学生软件开发爱好者访问了我们事业部在上海的办公室,我和实习生石超向大家介绍了Azure Services Platform和我们中国团队在其中负责的.NET访问控制服务,并做了一个最新的机器人演示。在此,我们将这个十分钟的小讲座整理成文,希望能让您从一个侧面初步了解这个新的微软云计算平台和其中一个有趣的应用。

    大家也许都听说过火星上面的两个机器人: Spirit和Opportunity。在地球上, 我们自己用Lego Mindstorms也做了一个,我们叫它"the Earth Rover"。这是世界上第一,也是目前唯一利用微软崭新的云计算平台来控制的机器人。更确切来说,我们用Azure Services Platform中的.NET访问控制服务来决定谁能够控制它, 以及使用者有哪些控制权限。在向大家演示这个机器人前, 让我们一起先来了解一下相关的技术背景。

The Earth Rover

    21世纪是个互联网时代,大家都用过很多大型的互联网应用,比如说Facebook、淘宝。 这些应用都有至少两个共同的需求:

1. 计算能力: 公司需要技术部门去购买和维护硬件以及支持这些应用的操作系统;

2. 一系列能提供常用功能的模块。

    大多数的公司内部一般都不具备这些资源或条件,因为这不是他们的主要业务,同时他们也没有这方面的经验和技术。

微软利用在维护许多大型网站和在线应用过程中(例如Hotmail和一系列Windows Live的服务)所累积的经验与技术,创建了一个崭新的云计算平台,希望以此与大家分享这些经验、技术,让各类企业和组织能将更多的精力投入到自己的核心业务上,而这个崭新的平台叫做Azure Services Platform。

    这个平台共有两层(layer),下面的一层叫作"Windows Azure",这是在云端的Windows操作系统。用户能够在上面部署自己的.NET应用,并运行在微软的服务器上面。未来,它也能支持包括用C++等语言在内编写的本机/原属应用程序(native applications)。这就好比一家发电厂提供电能,大家不会购买自己的发电机;Windows Azure提供了计算能力,大家就没有必要为拥有计算能力而购买和维护自己的服务器了。

    在Windows Azure之上是一些积木式服务,包括云端的数据库(SQL Services),以用户为中心的Live Services和通用服务(.NET Services)。我们的机器人是用.NET Services实现的。.NET Services本身分三个子模块: 访问控制服务(Access Control), 服务总线(Service Bus) 和工作流服务 (Workflow)。

azure services platform 2 .net services 2

    在我们的技术演示中,机器人被视作为一个很宝贵的资源,它的主人要防止别人的恶意使用。为了做到这一点, 主人在访问控制服务的网站上设置了一些规则来管理控制人的权限,任何人都需要通过访问控制服务的验证才能使用这个机器人。

Controlling The Robot Five Rules for the Earth Robot

    现在,主人设置了五条规则,每条都对应了机器人的一个功能: 前进,后退,向左转,向右转和停止。如果用户同时拥有这五条规则,他/她就可以让机器人实现全部功能。在这个图里,一位被称作"TesterF"的用户有权使用全部功能。机器人的主人通过.NET访问控制服务也能很灵活的指定其他用户来操作机器人,比如说一个Windows Live ID用户,或者一个Active Directory用户。

    当然, .NET访问控制服务和Azure Services Platform还有很多其他功能,您如果感兴趣访问以下两个网站:
Azure Services Platform: https://www.microsoft.com/azure/

    .NET Services: https://www.microsoft.com/azure/netservices.mspx

    如果大家对机器人的实现感兴趣, 我们也画了一张结构图:

earth robot demo diagram 

    这个演示只是一个有趣的使用案例,如果您在家里实现了一个软件+硬件的应用,比如说,某位朋友家里有一套能从互联网控制的圣诞灯, 那么可以考虑使用.NET访问控制服务来允许自己的朋友从互联网开和关灯。您还能想到哪些有趣的使用案例?在这里留言告诉大家吧。

项目经理 辛晓闻

注:在本周末的.NET技术大会上,晓闻和另十位微软中国研发集团服务器与开发部的同事将在Common Language Runtime,.NET Framework,Web Development和Methodology & Process等方面与大家交流。

星期五:

- CLR/.NET Framework 4.0功能增强 [张羿]

- 使用Silverlight构建企业级RIA应用-现在与未来 [郭晓颖]

- 使用Azure Services Platform的.NET Services 搭建您的下一个云-端应用 [辛晓闻, 熊炜]

- Windows Forms Progress and Future [许文斌]

星期六

- Building Web Applications with .NET Now and Future [Matt Gibbs]

- Silverlight Control and Data Binding [范翔]

- Silverlight Networking [尧敏]

- 深入浅出 WF 4.0 [郜建,李丛昱]

- 微软软件研发方法与过程 [徐鹏阳]

大会具体详情请查阅网站:https://conference.softcompass.com/net2009/