Windows Azure移动服务为Win8和iPhone创造后端

云计算
Windows前段开发者有足够的on their plates可以简单的从Windows 32桌面和Web应用迁移到XAML/C#或者HTML5/JavaScript,而且新的Windows Runtime (WinRT) 是Windows商店应用。

Windows前段开发者有足够的on their plates可以简单的从Windows 32桌面和Web应用迁移到XAML/C#或者HTML5/JavaScript,而且新的Windows Runtime (WinRT) 是Windows商店应用。

用Microsoft Account(以前是Live ID)为用户身份验证和授权,培训团队新的后端代码技能的成本会让人望而怯步。增加了使用Windows Notification Services (WNS)的消息,电子邮件和SMS也用Windows Azure SQL Databases (WASDB)结构化存储,目标是Windows 8和Azure:微软的遗留迂回路线,而且一切变化的有点多。

为了轻松的让.NET开发者进入这个多种设备的***新世界,包括Win32笔记本电脑到触屏平板电脑和智能手机,微软的Windows Azure团队发布了Windows Azure Mobile Services (WAMS)预览版。最初的发布只支持Windows商店应用(以前是Windows 8应用);微软最近承诺支持iOS和Android设备。

此次发布包含下列内容:

1、移动服务选项增加了新的HTML Windows Azure Management Portal生成后端数据库、身份认证/授权、通知和自动化服务器端脚本服务。

2、Apache 2.0许可证下的开源WAMS Client SDK预览版,可以从GitHub下载;SDK要求Windows 8 RTM和Visual Studio 2012 RTM。

3、应用示例展示WAMS多租户性能,也可以从GitHub下载。这个示例除了移动开发者页面的教程提供的和OakLeaf Systems博客之外的。

4、商店菜单增加了Visual Studio 2012的Project菜单,加快Windows商店应用注册和部署。

5、Visual Studio 2012打开一个表格报刊开发者Windows 8许可证,创建Windows商店应用要用到。

WAMS消除了手工需求,多达一千多行的XAML和C#要执行并配置Windows Azure SQL Database (WASDB),类似的也有针对客户端和设备不可知的移动后端的Access Control and Service Bus通知组件。RESTful后端使用OData的新JSON轻型负荷选择用最小的数据开销来支持多种前段操作系统。WAMS的动态模式(Dynamic Schema)性能自动生成WASDB表模式和关系,因此前段设计者不需要数据库设计技能。

扩展WAMS设备和性能

Scott Guthrie是微软的合作VP,负责Windows Azure开发,他在博客中宣布了如下的支持设备和功能:

1、支持iOS,企业可以连接iPhone和iPad应用到移动服务(Mobile Service)

2、移动服务支持Facebook,、Twitter和谷歌认证

3、移动服务支持Blob、Table、Queue和Service Bus

4、可以从移动服务发送电子邮件(和SendGrid合作)

5、可以从移动服务发送SMS消息(和Twilio合作)

6、在美国西部地区部署移动服务

升级并没有修复GitHub 示例文件中原来的来自Developer Center或者Paul Batum的原始DoTo示例应用的Get Started with data或者Get Started with push notifications C# 和JavaScript示例项目。 #p# 

开始Data Service

在你开始测试驱动WAMS之前,至少需要一个微软庄户(以前是Live ID)和Windows Azure试阅。下一步,从Windows Azure Management Portal点击账户标签(Account tab)请求访问WAMS预览版,预览性能链接,然后移动服务部分的“Try It Now”按钮。

一到两天内你会收到一封电子邮件消息,指导你如何增加移动服务项目到portal的导航面板上。在预览期内,你可以创建十个免费的移动服务。

点击+New按钮,选择移动服务并点击创建,打开一个表格,使用现有的Windows Azure SQL数据库或者创建一个新的。示例ToDo应用,是基于WAMS开发者中心的三个“Getting Started …”例子,用一个简单的TodoItem表,通过id (bigint, idenitity), text (nvarchar(max))和完整的(bit)列采集和存储任务数据。

在合并这些性能时,动态模式(Dynamic Schemas)功能自动增加userId (nvarchar(max))和 channel (nvarchar(max))列进行授权和身份认证。当你按下F5在Visual Studio 2012中构建和运行时,服务生成展示这个应用的主要形式所有的XAML和C#代码(参照图一)。

 

图二、TodoItem表权限表格的形式让开发者选择用户授权读、插入、更新和删除操作的层级

 

图一,使用动态模式性能增加channels和columns进行授权和身份认证

在用Visual Studio 2012测试初始客户端应用时,为了避免意外行为,使用你进行试验或者订阅相同的微软账户来请求进入WAMS预览版并登陆Windows 8。

用服务器权限和客户端脚本增加用户身份认证和授权

WAMS利用Windows和Windows Phone的Live SDK来提供单点登录(SSO)认证你用来登陆Windows 8的微软庄户。在我的博客中,我描述了如何在Visual Studio 2012中创建一个Package.appxmanifest文件,通过创建一个用Windows Push Notifications & Live Connect service注册应用。当WAMS团队扩展到Andioid时,使用Live SDK for iOS 和Live SDK for Android。你也可以授权新的Facebook、Google和Twitter身份提供商。

WAMS增加了简单表格Management Portal,允许开发者设置服务器端权限来授权用户访问TodoItem表(见图二)。

 

图二、TodoItem表权限表格的形式让开发者选择用户授权读、插入、更新和删除操作的层级

 

图二、TodoItem表权限表格的形式让开发者选择用户授权读、插入、更新和删除操作的层级

增加参照到Live SDK,对Microsoft.Live和Windows.UI.Popups命名空间使用声明,23行C#代码引出一个“Let This App Access Your Info?”弹窗。

服务器端脚本可以让用户通过认证信息,到达Live ID后端进行授权。脚本编辑器允许开发者轻松的添加JavaScript item.userId = user.userID声明到默认的request.execute功能,进行插入、删除和升级功能操作(参见图三)。

 

图三、服务器端脚本编辑器简化到增加单行代码通过userId值进行授权操作TodoItem表。

 

图三、服务器端脚本编辑器简化到增加单行代码通过userId值进行授权操作TodoItem表。

***,增加JavaScript query.where({ userId: user.userId });声明读功能返回登录用户的唯一内容。 #p# 

交付推动通知

WAMS和LiveID SDK也允许设备向用户推送通知,通过插入新字段到TodoItems表中。我的博客描述了如何增加Windows.Networking.PushNotifications;也有一段声明和代码声明和交付一个值到静态CurrentChannel变量,再到客户端代码。步骤1-4和1-5增加了新的DataMember属性名channel和代码,提交给ButtonSave_Click事件处理程序,总共八行C#代码。然后,你可以使用Management Portal在推送表格中注册应用的Security ID (SID),作为Windows Application Credential(Windows应用证书)之一(见图四)。

 

图四、移动服务需要Client Secret 和Package SID值来识别请求访问数据库表格的客户端。

 

图四、移动服务需要Client Secret 和Package SID值来识别请求访问数据库表格的客户端。

***,应用需要Channel表来单独存储用于推送通知的channel URI,区别于TodoItems 。你也可以增加17行C#代码(一个应用总共25行)和10行JavaScript Insert()功能代码,来完成推送通知功能(见图五)。

 

图五、最终的推送通知测试可能展示了一个或者更多的TodoItems条目的多种通知源代码

 

图五、最终的推送通知测试可能展示了一个或者更多的TodoItems条目的多种通知源代码 #p# 

用Windows商店注册应用

微软坚决要让Windows上带你和苹果的APP商店竞争,所以有望没有严苛的流程。我的博客有写我如何解决Oakleaf ToDo应用UI的不同大小的自定制位图文件(见图六和图七)。我也详细介绍了提交应用到Windows商店的流程。

 

图六、这是一个标准的150 x 150 px logo展开图;宽版Logo是300 x 150 px

 

图六、这是一个标准的150 x 150 px logo展开图;宽版Logo是300 x 150 px

 

图七、应用搜索和通知使用50 x 50 px logo展开图

 

图七、应用搜索和通知使用50 x 50 px logo展开图

Windows 8普遍应用时,应用从开始页面到***,Windows商店是部署应用的唯一手段。我为Windows商店注册递交了一个OakLeaf ToDo应用的升级版本。如果符合要求,你应该能够在十一月初通过搜索OakLeaf找到。注册队列从十月份开始变得冗长,因为2012年十月份末应用开发者纷纷去预定Windows 8 RTM。

责任编辑:王程程 来源: TechTarget中国
相关推荐

2013-12-16 13:32:33

Windows 8.2Windows 8

2011-12-16 10:00:28

2012-03-09 09:50:19

Win8系统恢复功能

2013-01-28 13:34:50

2011-10-08 13:15:52

2013-03-01 11:04:47

微软Win8Windows

2014-09-24 09:42:07

Windows 9

2012-05-18 11:18:19

Windows8Windows Sto

2014-07-08 09:18:27

WIFIWin8

2013-03-08 10:35:26

Windows BluWindows 8微软

2012-08-02 10:22:13

微软Win XPVista

2012-05-15 11:10:10

Windows8操作系统

2011-11-16 10:53:10

Win8体验

2012-06-08 14:50:43

谷歌ChromeWin8 RP

2012-06-07 16:44:36

win8 RP版评测

2013-12-12 16:09:06

微软Windows 8

2012-06-14 10:04:39

2012-03-07 10:58:16

Win8Windows Emb

2012-03-01 10:45:56

微软Windows 8

2012-02-21 22:10:23

点赞
收藏

51CTO技术栈公众号