据研究机构Evans Data最近的云开发调查显示,30%接受调查的软件开发人员表示他们正在面向云环境开发应用,另有19%指出他们预计将在未来12个月内投入到云开发工作当中。2010年3月,微软首席执行官史蒂夫•鲍尔默在美国华盛顿大学发表演讲时也指出,微软将举全公司之力投入云计算,表示“我们将把赌注押在云计算领域”。到目前为止,微软在全球有40000多名员工在从事软件开发工作,其中约70%的员工所从事的工作与云有关,与我上面所谈到的5个方面相关,一年以后,这一比例可能会上升到90%左右。
微软云计算平台从发布测试版本到正式发布的时间也不算短了。作为技术人员就要紧紧跟随技术的脚步不断前进,并且很多开发人员已经开始尝试在这个平台之上开发他们的应用了。在本文中,你将了解到配合使用Visual Studio,如何去学习和掌握微软云计算平台,本文的主要内容包括:微软云计算平台能做什么、开发环境搭建与云应用开发过程。
微软云计算平台能做什么
根据官方资料,微软云计算平台包括三大组成部分:Windows Azure、SQL Azure、Windows Azure Platform. AppFabric。Windows Azure 可看成一个云计算服务的操作系统,也是云计算的基础服务层,主要从事虚拟化计算资源管理和智能化任务分配;SQL Azure是云中的数据库,SQL Azure运行云计算的关系数据库服务,是一种云存储的实现,并提供网络型的应用程序数据存储的服务,它的基础是SQL Server 2008;AppFabric 是一个基于 Web 的开发服务,它可以把现有应用和服务与云平台的连接和互操作变得更为简单,AppFabric作为中间件层,将起到连接非云端程序与云端程序的桥梁的功能。它提供了两大服务,服务总线和访问控制。AppFabric 让开发人员可以把精力放在他们的应用逻辑上而不是在部署和管理云服务的基础架构上。云计算平台在微软产品线中如图1所示:
图1 Windows Azure 平台
了解了微软云计算平台的整体功能后,我们具体来了解一下微软云计算平台给用户提供了什么以及在此平台上可以做什么应用。微软的架构布道者Bill Zack详述了微软云计算平台给用户提供的功能和服务主要包括计算、存储、通信、管理。如表1所示:
表1 微软云计算模式和功能
有了这么多模式和功能后,我们在云平台上就可以做一些应用和开发了,我们能做的开发主要包括三类:web应用程序、并行计算、分析应用程序,如表2所示:
表2 云应用开发类型
开发环境搭建
微软云计算平台的一大优点是能够有效利用已有的软件资源,自由选择是否采用云计算。对开发人员来说,可以使用熟悉的开发语言和工具,比如广大开发者可以使用Visual Studio在微软云平台上开发云计算应用程序。这样开发人员无需放弃现有的甚至是多年积累的开发技能和经验,无需重新花费时间成本学习全新的开发语言和工具,而且还可以从传统编程方式相对平滑地转移到面向云计算的编程方式。
除了对VS平台开发的支持,对于Java、PHP、Rupy来说,也可以使用微软云计算平台来进行云应用的开发,而且还提供了开发的SDK,其地址如下:
http://msdn.microsoft.com/zh-cn/azure/default.aspx
通过这个页面,开发人员可以找到微软官方提供的很多关于云计算的开发资源,如平台简介、VS平台开发工具包、培训工具包、实例代码、SDK、解决方案等等,除此之外,还可以去微软云计算中文博客网站,这里介绍了云计算的入门知识,其地址是:
http://blogs.msdn.com/b/azchina/
进行微软云应用的开发,需要了解开发环境和配置。在这里我们不打算对JAVA、PHP、RUPY开发环境进行介绍,有关它们的开发环境,感兴趣的读者可以参考SDK里的相关描述。在VS平台下,简单的说,我们只需要在安装了VS2008、VS2010、SQL Server 2008后,再安装一个扩展的工具包就可以进行云应用的开发了,这个扩展工具包是:Windows Azure Tools for Microsoft Visual Studio 1.1,其下载的地址是:
安装了此工具包后就能创建云应用项目,如图2所示:
图 2 VS 2010云应用项目
具体来说,VS平台下云应用的开发环境如下所述:
(1)Visual Studio .NET 2008/2010
(2).NET Framework 3.5
(3)Windows Communications Foundation
(4)ADO.NET
(5)ADO.NET Data Services
(6)Web services (REST, SOAP)
(7)XML
(8)ASP.NET
(9).NET security
(10)SQL Server database development
应用与案例
VS 2010提供了云应用的开发、调试、部署、管理的整套工具,如开发云计算的程序模式、开发云计算的资料模式、开发云计算的项目范本、离线测试云计算项目、云计算部署等等。这些功能都缩短了云应用的开发周期。从VS2010平台本身来说包括以下云应用开发工具:
(1)C#以及VB云服务项目的模版;
(2)更改Service Role设置的工具;
(3)本地开发整合Development Fabric以及Development Storage服务;
(4)在Development Fabric下的对Cloud Service Roles的调试;
(5)建立云服务软件包;
(6)浏览Azure Services Developer Portal;
在本文的案例中我们以VS2010为例,创建一个最简单的云应用,使用云服务显示当前时间,这个应用类似于培训工具包里的HelloWindowsAzure,旨在给大家介绍一下云应用开发和部署的整个过程。在VS 2010中,云应用开发主要包含5个步骤:创建云服务、配置云服务、生成云服务、运行和调试服务、发布服务,如果有需要使用云存储的应用还包括使用存储服务。在这5个步骤中,前4个步骤是开发云应用的过程,第5步是部署云应用的过程。下面我们分别介绍
(1) 创建云服务应用程序
在这里我们使用VS 2010 创建一个云应用的演示项目TimeAzure项目,如图3所示:
图3 创建TimeAzure项目
可以使用VB、C#或F#来创建 ASP.Net Web Role 、ASP.Net MVC 2 Web Role、WCF Service Web Role 、CGI Web Role、Worker Role这些云应用项目,不过ASP.Net MVC 2 Web Role项目在VS 2008的云应用项目不能够被创建。创建完成后,我们的项目组织如图4所示:
图 4 云应用项目结构
由项目结构图我们可以看到云应用项目和普通的ASP.Net项目的不同,云应用项目会产生一个云应用的项目和一个ASP.Net的项目,云应用项目对ASP.Net项目进行引用,同时云应用项目中还包含服务定义和服务配置文件,这两个文件在配置、运行和部署云应用时将要用到。
在Default.aspx页面里拖入一个Label,命名为Label1,并在Default.aspx里输入如下代码:
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> protected void Page_Load( object sender, EventArgs e)
{
this.Label1.Text = DateTime.Now.ToString();
}
转载于:http://blog.itpub.net/9914650/viewspace-666374/