狠狠撸

狠狠撸Share a Scribd company logo
anytao
                  Windows Phone in Azure
 We build apps.
                     Wang Tao / 2011-12-17
? 专注于.NET,架构师,微软
              MVP,TechEd讲师, 著《你
              必须知道的.NET》。
王涛   若云兄弟


            ? http://weibo.com/anytao
            ? anytao@live.com
            ? http://okr.me
Agenda
1 Phone + Cloud
2 对于Windows Azure

3 对于Windows Phone

4 基于推荐引擎的移动应用
5 最佳实践
1 Phone + Cloud
2 对于Windows Azure

3 对于Windows Phone

4 基于推荐引擎的移动应用
5 最佳实践
Phone + Cloud
? 趋势必行
  –   数据、资源、复杂计算走向云端
  –   应用、桌面深入移动端
? Cloud
  –   提供了更大的资源池
  –   提供了一处服务、多处设备的可能
  –   按需消费
  –   自动管理
  –   可用性
? Phone
  – 实现了更近的访问(LBS)
  – 实现了随时、随地
Phone + Cloud



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




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


                           服务


                   以无限应对有限
Windows Phone + Windows Azure
? PaaS(Not IaaS or SaaS)
? 可伸缩性、高可靠性、安全性
? 支付系统
? 更多附加服务(ASC、Traffic Manager、Caching、
  CDN)
? 统一的工具和平台
     –   .NET/Silverlight/C#/VB .NET
     –   Visual Studio / Expression Blend
     –   模拟器开发
     –   易于迁移
Azure for Device, not only for Windows Phone
1 Phone + Cloud
2 对于Windows Azure

3 对于Windows Phone

4 基于推荐引擎的移动应用
5 最佳实践
Windows Azure
1 Phone + Cloud
2   对于Windows Azure


3 对于Windows Phone

4 基于推荐引擎的移动应用
5 最佳实践
Windows Phone   7
WP7
三分天下   iPhone

       Android
1 Phone + Cloud
2 对于Windows Azure

3 对于Windows Phone

4 基于推荐引擎的移动应用
5 最佳实践
演示
海纳个性化应用推荐
www.haina123.com
面临的问题
?   高计算量服务
?   随时骤增的资源需求
?   高性能
?   缓存
?   完全自动化的部署和配置管理
?   可伸缩性、可靠性、安全性保证
?   通知服务
?   成本控制
?   与既有服务的整合
?   多移动端平台:Windows Phone、iOS、Android、Html5
?   同一个平台、同一套工具
基本场景




 用户信息验证
  发送通知
  计算推荐
Windows Azure提供的应对之道
?   身份认证
?   存储
?   服务和计算
?   通信
?   推送通知
?   其他
通信
基于推荐引擎的移动应用
通信
? 通信模型
 – Phone-initiated
 – Cloud-initiated




           Push VS Pull
           Server-Push    Client-Pull
Phone-initiated
? HTTP-based, request/response
? 框架选择(WCF, OData, WebRequest, etc.)
? 格式选择(SOAP, JSON, POX, etc.)
Cloud-Initiated
? Push Notifications
  – Phone和MSPN单连接
  – 带宽和电池友好
  – 无需运维
? 3种类型
  – Raw – 发送消息给application
  – Toast – 发送消息给user
  – Tile – 更新Tile Title
笔狈架构
                         Cloud Service




Windows Phone 7

                             MPNS
演示
Push notification
不同的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
身份认证
基于推荐引擎的移动应用
身份认证
? 使用既有身份服务
  – LiveID、Facebook、OpenID
? ACS(Access Control Service)
? 自定义身份服务
  – username + password
  – token
存储
基于推荐引擎的移动应用
存储
? SQL Azure   ? Windows Azure
                Table
  – 关系数据库       – 非关系结构数据
  – 高可用性        – 横向扩展
  – 通过服务管理      – Odata
              ? Windows Azure
                Blob
                – 大文件
                – Restful API
              ? Windows Azure
                Queue
                – 分布式队列
SQL Azure (OData Service)
? 客户端发送数据到Web Role
? Web Role将数据存储在SQL Azure

                            Web
                            Role
Windows Azure Blobs: public blobs
? 客户端发送数据到Web Role
? Web Role将数据存储在Blobs
? 客户端直接获取Blob数据
                        Web
                        Role
Web Role和Worker Role
? Web Role有IIS
? Worker Role 没有
  – DLL with Main()
? 都实现了RoleEntryPoint
服务和计算
基于推荐引擎的移动应用
工作场景
1. Web Role接受消息
                    Web    Worker
2. Web Role将工作加     Role    Role
   入队列                              MPNS

3. Worker Role从队列
   获取并处理
4. Worker Role发送通
   知
Multi-Instance


HainaService      Portal Site
ContentService    Admin Site
                  Image Service
  Instance1~X
    instance1      InstanceX+1
CDN



CD   CD   CD     CD   CD   CD
 N   N     N      N    N   N
Traffic Manager
1 Phone + Cloud
2 对于Windows Azure

3 对于Windows Phone

4 基于推荐引擎的移动应用
5 最佳实践
Ad


                                      Game
                 Marketplace



   UX
                       Performance     Storage
        Design

                                           Network


MVVM
                          Data
                                     XNA
            Service
让开发飞一会儿。。。
(v1.3.0)
http://watoolkitwp7.codeplex.com/
Windows Azure Toolkits for Device
? WP7, http://watwp.codeplex.com/
? iOS, https://github.com/microsoft-dpe/wa-
  toolkit-ios
? Android, https://github.com/microsoft-
  dpe/wa-toolkit-android



          Azure for Device, not only for Windows Phone
1 Phone + Cloud
2 对于Windows Azure

3 对于Windows Phone

4 基于推荐引擎的移动应用
5 最佳实践
?
anytao
 We build apps.
                    @anytao
                  more info at http://anytao.net/blog
anytao
 We build apps.
                  Thank you.

More Related Content

Windows Phone 7 in azure