windows phone 7 in azure

45
anytao We build apps. Windows Phone in Azure Wang Tao / 2011-12-17

Upload: tao-wang

Post on 14-Apr-2017

921 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Windows Phone 7 in azure

anytao We build apps.

Windows Phone in Azure

Wang Tao / 2011-12-17

Page 2: Windows Phone 7 in azure

• 专注于.NET,架构师,微软MVP,TechEd讲师, 著《你必须知道的.NET》。

• http://weibo.com/anytao

[email protected]

• http://okr.me

王涛 若云兄弟

Page 3: Windows Phone 7 in azure

Agenda

1 Phone + Cloud

2 关于Windows Azure

3 关于Windows Phone

4 基于推荐引擎的移动应用

5 最佳实践

Page 4: Windows Phone 7 in azure

1 Phone + Cloud

2 关于Windows Azure

3 关于Windows Phone

4 基于推荐引擎的移动应用

5 最佳实践

Page 5: Windows Phone 7 in azure

Phone + Cloud

• 趋势必行 – 数据、资源、复杂计算走向云端 – 应用、桌面深入移动端

• Cloud – 提供了更大的资源池 – 提供了一处服务、多处设备的可能 – 按需消费 – 自动管理 – 可用性

• Phone – 实现了更近的访问(LBS) – 实现了随时、随地

Page 6: Windows Phone 7 in azure

Cloud = (数据软件 + 平台 + 基础设施) × 服务

Phone = (随时 + 随地) × 服务

服务

以无限应对有限

Phone + Cloud

Page 7: Windows Phone 7 in azure

Windows Phone + Windows Azure

• PaaS(Not IaaS or SaaS) • 可伸缩性、高可靠性、安全性 • 支付系统 • 更多附加服务(ASC、Traffic Manager、Caching、

CDN) • 统一的工具和平台

– .NET/Silverlight/C#/VB .NET – Visual Studio / Expression Blend – 模拟器开发 – 易于迁移

Page 8: Windows Phone 7 in azure

Azure for Device, not only for Windows Phone

Page 9: Windows Phone 7 in azure

1 Phone + Cloud

2 关于Windows Azure

3 关于Windows Phone

4 基于推荐引擎的移动应用

5 最佳实践

Page 10: Windows Phone 7 in azure

Windows Azure

Page 11: Windows Phone 7 in azure

1 Phone + Cloud

2 关于Windows Azure

3 关于Windows Phone

4 基于推荐引擎的移动应用

5 最佳实践

Page 12: Windows Phone 7 in azure

Windows Phone 7

Page 13: Windows Phone 7 in azure

三分天下

WP7

iPhone

Android

Page 14: Windows Phone 7 in azure

1 Phone + Cloud

2 关于Windows Azure

3 关于Windows Phone

4 基于推荐引擎的移动应用

5 最佳实践

Page 15: Windows Phone 7 in azure

演示

海纳个性化应用推荐

www.haina123.com

Page 16: Windows Phone 7 in azure

面临的问题

• 高计算量服务 • 随时骤增的资源需求 • 高性能 • 缓存 • 完全自动化的部署和配置管理 • 可伸缩性、可靠性、安全性保证 • 通知服务 • 成本控制 • 与既有服务的整合 • 多移动端平台:Windows Phone、iOS、Android、Html5 • 同一个平台、同一套工具

Page 17: Windows Phone 7 in azure

基本场景

用户信息验证 计算推荐 发送通知

Page 18: Windows Phone 7 in azure

Windows Azure提供的应对之道

• 身份认证

• 存储

• 服务和计算

• 通信

• 推送通知

• 其他

Page 19: Windows Phone 7 in azure

基于推荐引擎的移动应用

通信

Page 20: Windows Phone 7 in azure

通信

• 通信模型

– Phone-initiated

– Cloud-initiated

Push VS Pull

Client-Pull Server-Push

Page 21: Windows Phone 7 in azure

Phone-initiated

• HTTP-based, request/response

• 框架选择(WCF, OData, WebRequest, etc.)

• 格式选择(SOAP, JSON, POX, etc.)

Page 22: Windows Phone 7 in azure

Cloud-Initiated

• Push Notifications

– Phone和MSPN单连接

–带宽和电池友好

–无需运维

• 3种类型

– Raw – 发送消息给application

– Toast – 发送消息给user

– Tile – 更新Tile Title

Page 23: Windows Phone 7 in azure

PN架构

Cloud Service

Windows Phone 7

MPNS

Page 24: Windows Phone 7 in azure

演示

Push notification

Page 25: Windows Phone 7 in azure

不同的Notifications

• Windows 8

– WNS, Windows Push Notification Service

• Windows Phone

– MPNS, Microsoft Push Notification Service

• iOS

– APNS, Apple Push Notification Service

• Android

– C2DM, Cloud To Device Messaging

Page 26: Windows Phone 7 in azure

基于推荐引擎的移动应用

身份认证

Page 27: Windows Phone 7 in azure

身份认证

• 使用既有身份服务

– LiveID、Facebook、OpenID

• ACS(Access Control Service)

• 自定义身份服务

– username + password

– token

Page 28: Windows Phone 7 in azure

基于推荐引擎的移动应用

存储

Page 29: Windows Phone 7 in azure

存储 • SQL Azure

–关系数据库

–高可用性

–通过服务管理

• Windows Azure Table – 非关系结构数据 – 横向扩展 – Odata

• Windows Azure Blob – 大文件 – Restful API

• Windows Azure Queue – 分布式队列

Page 30: Windows Phone 7 in azure

SQL Azure (OData Service)

• 客户端发送数据到Web Role

• Web Role将数据存储在SQL Azure

Web Role

Page 31: Windows Phone 7 in azure

Windows Azure Blobs: public blobs

• 客户端发送数据到Web Role

• Web Role将数据存储在Blobs

• 客户端直接获取Blob数据 Web Role

Page 32: Windows Phone 7 in azure

Web Role和Worker Role

• Web Role有IIS

• Worker Role 没有

– DLL with Main()

• 都实现了RoleEntryPoint

Page 33: Windows Phone 7 in azure

基于推荐引擎的移动应用

服务和计算

Page 34: Windows Phone 7 in azure

工作场景

1. Web Role接受消息

2. Web Role将工作加入队列

3. Worker Role从队列获取并处理

4. Worker Role发送通知

MPNS

Worker Role

Web Role

Page 35: Windows Phone 7 in azure

Multi-Instance

instance1 Instance1~X

HainaService

ContentService

InstanceX+1

Portal Site

Admin Site

Image Service

Page 36: Windows Phone 7 in azure

CDN

CDN

CDN

CDN

CDN

CDN

CDN

Page 37: Windows Phone 7 in azure

Traffic Manager

Page 38: Windows Phone 7 in azure

1 Phone + Cloud

2 关于Windows Azure

3 关于Windows Phone

4 基于推荐引擎的移动应用

5 最佳实践

Page 39: Windows Phone 7 in azure

UX

Design

Performance

Data

Storage

Service

Game

Network

XNA

MVVM

Marketplace

Ad

Page 40: Windows Phone 7 in azure

让开发飞一会儿。。。

Page 41: Windows Phone 7 in azure

(v1.3.0) http://watoolkitwp7.codeplex.com/

Page 43: Windows Phone 7 in azure

1 Phone + Cloud

2 关于Windows Azure

3 关于Windows Phone

4 基于推荐引擎的移动应用

5 最佳实践

Page 44: Windows Phone 7 in azure

anytao We build apps.

?

@anytao

more info at http://anytao.net/blog

Page 45: Windows Phone 7 in azure

anytao We build apps.

Thank you.