★★★本博客欢迎转载,但请注明版权、原文链接,谢谢。
Memento..
My stories in my way..
posts - 39,comments - 591,trackbacks - 13

相信大家看完本套教程前7篇后,已经对Azure Services Platform已经有了一个比较全面的了解。现在我们一起动动手,以最最简单的留言板为例,使用Azure Services Platform中的的Windows Azure作为主机、SQL Data Services作为数据存储,来了解开发、部署Azure应用程序的全过程。

如果您的准备只是还不够充分,请先选择性地快速浏览以下几篇文章:

【准备知识0】INTRODUCING THE AZURE SERVICES PLATFORM

【准备知识1】忘掉SQL Server 200X——Introducing SQL Data Services(SDS)

【准备知识2】别把Windows Azure当虚拟主机使—理解Windows Azure服务架构

【准备知识3】赤手空拳玩转 SQL Data Services(SDS)

【准备知识4】SQL Data Services 编程基础

 

最终效果图如下:(也可通过http://ibm.cloudapp.net查看网络版本)

 无标题6

 

开发过程:

1.启动本机Windows Azure SDK里的Development Fabric,打开本机的调试运行环境。

无标题16

 

2.打开VS2008,新建Visual C# – Cloud Service – Web Cloud Service项目。本例非常简单,只需要使用Web Role。
关于Web Role和Worker Role的区别于联系,请参考【准备知识2】。

无标题5

新建项目后,解决方案中将出现GuestBook和GuestBook_WebRole两个项目。其中GuestBook是关于Roles的配置文件,在本例中可以不去理会它。本例主要操作的是GuestBook_WebRole项目,即一个ASP.NET网站项目。

image 

 

3.打开SQL Data Services SDK里的SDS Explorer。配置好用户名、密码;新建Authority和Container。 具体操作过程请参考【准备知识3】。

image

无标题  无标题2

 

4.在这里,我们新建了名叫“guestbook”的Authority和一个叫做“1st”的Container。现在我们将它们配置到GuestBook_WebRole项目的web.config文件里面,以便程序读取。

无标题4

 

5.在GuestBook_WebRole中新建CloudDataHelper类。里面写入对SQL Data Service的一些基本操作。详细代码见附件。

以下是读取配置文件和存储数据的函数示例。

image

image

 

6.在Default.aspx页中拖入几个控件和简单的逻辑代码。呵呵,这就不用我教了吧?详细内容同样包含在附件里。

无标题7

 

7.F5进行Debug运行。如果运行成功的话,首页会出现在你的面前——就像调试传统的ASP.NET Web Application一样。同时,在Development Fabric里会出现一些相关的信息。

 

8.如果你已经对Debug的效果满意,那么就需要将我们的第一个“云端应用”部署到“云”上面去咯~

  在GuestBook项目上单击右键,选择Publish(发布)

无标题8

如果发布成功,此时VS会弹出两个框在你面前:

包含发布文件的文件夹和Azure Services Developer Portal(需用LiveID登录)

image 

无标题10 

 

9.在Azure Services Developer Portal里新建“Windows Azure”-“Hosted Services”项目。填写一些简单的信息。
如果你有关于Azure Services Developer Portal的疑问,请参考【准备知识0】.

无标题11

无标题12

 

10.介绍一下Hosted Service的主界面吧:如下图。每个Host在Windows Azure上的应用程序包括两种状态(或者理解为两个不同的部署平台):Production和Staging. 简单地说,Production是正式部署的地方,Staging是放内部测试部署的备份服务器。

 无标题13

 

11.我们先把我们的应用程序部署到Staging服务器上。点击上图中的Deploy按钮,进入以下界面。根据提示上传刚才Publish时生成的两个文件。无标题14

 

12.在Staging服务器上Deploy成功后,点击下图中间的圆圈,将Staging服务器上的内容交换到Production服务器上,并点击”Run”按钮。注意:这两个过程都需要较长的等待。

无标题15

 

13.如果部署成功,你会看到类似下图的界面。当“WebRole”标识下出现绿色的小勾并带有”Started”字样,说明此时你已经可以在网络上访问你的“云应用程序”了。如http://ibm.cloudapp.net无标题17

 

 

呵呵,很容易吧?赶快去体验你自己的云端应用吧! : )

项目源代码见[附件]。

posted on 2009-03-10 01:58 流牛木马 阅读(2906) 评论(15) 编辑 收藏

FeedBack:
2009-03-10 08:15 | 巴山游子      
云计算已经吹风、打雷很长时间了,但仍不见雨,现在突然看到天边飘来一朵乌云,还是值得期待哟,赶紧拿出望远镜,仔细研究研究。
谢谢LZ的分享。

 回复 引用 查看   
2009-03-10 08:40 | Artech      
收藏一下,回去看看,正需要这方面的东西。谢谢!
 回复 引用 查看   
2009-03-10 08:46 | Zmy_david      
@巴山游子
呵呵

 回复 引用 查看   
2009-03-10 08:54 | montaque      
为什么不用azure 的简单数据存储service,非要用SQL data serivce
 回复 引用 查看   
2009-03-10 09:08 | Jeffrey Zhao      
你们都有token了?
 回复 引用 查看   
2009-03-10 09:08 | Jeffrey Zhao      
--引用--------------------------------------------------
montaque: 为什么不用azure 的简单数据存储service,非要用SQL data serivce
--------------------------------------------------------
sql data service是关系型数据存储,有些地方比key/value store要好。

 回复 引用 查看   
#7楼[楼主]
2009-03-10 11:53 | 流牛木马      
@Jeffrey Zhao
@montaque
SQL Data Service是以后Azure平台的的主流数据存储方式,因为它更符合云计算的特点。Windows Azure里的Table存储只是一种非常简化的表格存储,是non-relational data tables。
呵呵,其实都无所谓的,既然微软提供了,咱都可以用。

 回复 引用 查看   
#8楼[楼主]
2009-03-10 12:15 | 流牛木马      
@Jeffrey Zhao
现在token非常好申请了,我有个朋友申请后第二天就到了。建议老赵同志重新用live或者gmail的邮箱再申请一次。

 回复 引用 查看   
2009-03-10 18:11 | Jeffrey Zhao      
@流牛木马
sql data service要引入关系型特性了阿,最近闹得很火呢。

 回复 引用 查看   
2009-03-11 18:22 | Rover.Tang      
-引用--------------------------------------------------
流牛木马: @Jeffrey Zhao
现在token非常好申请了,我有个朋友申请后第二天就到了。建议老赵同志重新用live或者gmail的邮箱再申请一次。
--------------------------------------------------------
确实。我确实是第二天就拿到了。两个都有了。

但是开发环境我就觉得超级麻烦。看我的硬盘,就觉得不够用。更不用说安装开发包了。我还在用2003的系统呢,不是VISTA。

 回复 引用 查看   
#11楼[楼主]
2009-03-17 16:32 | 流牛木马      
@Rover.Tang
呵呵,其实也不麻烦的。
加点硬盘弄个虚拟机呗。

 回复 引用 查看   
2009-05-20 21:41 | East[未注册用户]
感谢楼主分享~我现在也在摸索这个azure。现在刚接触,看那些海量英文资料实在是头痛,楼主的文章大大加速了我的学习进程~
 回复 引用   
2009-06-03 21:25 | nicolasjiang[未注册用户]
你好 楼主 我拿你的程序,改成
<add key="CloudDataAuthority" value="njguestbook"/>
<add key="CloudDataContainer" value="1st"/>
<add key="CloudDataUsername" value="nicolasjiang"/>
<add key="CloudDataPassword" value="xxxx"/>(密码)
本地调试成功了 ,部署到云上 打开 怎是个空页面??有空指教下??

 回复 引用   
2009-06-03 22:13 | nicolasjiang[未注册用户]
自己部署错了 我汗。。我在试试
 回复 引用   
2009-09-02 10:53 | 假正经哥哥      
自己写了个Helloworld 部署的时候总是不成功提示
FabricServiceUnavailable
,何解啊?

 回复 引用 查看