Frontend build tools | Competence Center Frontend & UX, Ordina
Switching on the cloud for Silverlight MSDN Live Meeting 27-06-2011 Gill Cleeren Microsoft Regional...
-
date post
22-Dec-2015 -
Category
Documents
-
view
214 -
download
0
Transcript of Switching on the cloud for Silverlight MSDN Live Meeting 27-06-2011 Gill Cleeren Microsoft Regional...
Switching on the cloud for Silverlight
MSDN Live Meeting27-06-2011
Gill CleerenMicrosoft Regional Director – Silverlight MVPOrdina Belgium
About myself...
• Gill Cleeren• Microsoft Regional Director• MVP ASP.NET• .NET Architect @Ordina (www.ordina.be) • Speaker (TechDays, DevDays, NDC Norway,
Spring Conference UK, SQL Server Saturday Switzerland, TechEd Berlin, SDC...)
• Visug user group lead (www.visug.be)• Author (Silverlight 4 Data and services cookbook)• Blog: www.snowball.be• Email: [email protected] • Twitter: @gillcleeren
Agenda
• What is Windows Azure?– Parts of Windows Azure– Why does a Silverlight developer need to care?– Developing for Windows Azure
• Required tools• Emulators (“local cloud”)• Azure Portal
• Moving Silverlight applications to the cloud– Database only– WCF
• What with REST
– Entire Silverlight applications– RIA Services– Azure as intermediate layer for Twitter
Agenda (2)
• Using blob storage– Accessing files in blob storage– XAP hosted in blob storage
• (optional) Windows Phone 7 and Azure– Accessing services in the cloud
WHAT IS WINDOWS AZURE?
What is a Cloud Platform ?
"The concept, quite simply, is that vast computing resources will reside somewhere out there in the ether (rather than in your computer room) and we'll connect to them and use them as needed." Jonathan Weber (The Times Online)
So, Windows Azure then?• An operating system for the cloud• Internet Scale• Microsoft data centers • Based on internet standards (Interopability)• Features– Service Management / Scalability– Compute power– Storage
• Familiar tools for development
Windows AzureCloud Operating System:More value than what you think of with the term “OS” however!
Virtual NetworkComput
eStorage
Run code in the cloud
Scalable storage for files
Connect cloud with on-premise
Microsoft is committed to the cloud!
Software-as-a-Service
consume
“SaaS”Platform-as-a-Service
build
“PaaS”Infrastructure-as-a-
Servicehost
“IaaS”
Abstraction
Cloud Services
Packaged Software
Storage
Servers
Networking
O/S
Middleware
Virtualization
Data
Applications
Runtime
You m
anag
e
Infrastructure
(as a Service)
Storage
Servers
Networking
O/S
Middleware
Virtualization
Data
Applications
Runtime
Man
ag
ed b
y v
en
dor
You m
anag
e
Platform(as a
Service)
Man
ag
ed b
y v
en
dor
You m
anag
e
Storage
Servers
Networking
O/S
Middleware
Virtualization
Applications
Runtime
Data
Software(as a
Service)
Man
ag
ed b
y v
en
dor
Storage
Servers
Networking
O/S
Middleware
Virtualization
Applications
Runtime
Data
Although the abstraction is raised, developers still need to know what happens behind the scenes!
Parts of Windows Azure
• Hosted services–Web role• IIS in the cloud• For running ASP.NET applications
–Worker role• Run any executable in the cloud (own
database, server...)
Parts of Windows Azure (2)
• Azure storage– Scalable storage in the cloud– 100TB per storage account– Auto-scale to meet massive volume and
throughput– Accessible via RESTful Web Service API• Access from Windows Azure Compute• Access from anywhere via internet• Supporting .NET Client Library
Parts of Windows Azure (3)
• Azure storage– Blob storage– Table storage– Queue storage
Parts of Windows Azure (4)
• SQL Azure– Familiar SQL Server relational database
model delivered as a service• Highly available
– Contains:• Database• Reporting• Data sync
Parts of Windows Azure (5)
• AppFabric– Access control– Service bus– Caching
Why does a Silverlight developer need to care?
• Azure targets web applications• Highly available• Easy scaling–May not be important for XAP– Important for services and database
Developing for Windows Azure• Required tools– Visual Studio (duh)– Azure SDK– Azure Tools
Installs Compute emulatorStorage emulator
• Account on Windows Azure
Management portal
MOVING SILVERLIGHT APPLICATIONS TO THE CLOUD
Let’s move!
• Silverlight applications can be “moved” to Azure on different levels– Database only–WCF/ASMX/REST services– All-in: Move the hosting site• XAP in webrole• XAP in blob storage
– RIA Services
Hosting site
Scenario
Silverlight application
Service layer (WCF, REST...) Database
CASE 1: DATABASE ONLY
Hosting site
Scenario
Silverlight application
Service layer (WCF, REST...) Database
Database only
• Case:– A Silverlight business app–WCF services to expose the data– Data in a SQL Server 2008 database
• Task: move database only to the cloud
Database only
• Steps:– Create database on SQL Azure– Use Migration wizard to export database
to Azure– Change connection strings in service
configuration
DEMODatabase only
CASE 2: WCF SERVICE
Hosting site
Scenario
Silverlight application
Service layer (WCF, REST...) Database
WCF service
• Case:– Silverlight business application
communicates with WCF service, service exposes data
– Data is migrated to SQL Azure
• Task: move WCF service to Azure
Side information
• Silverlight can communicate with – ASMX– WCF (using BasicHttpBinding)
• Both expose a WSDL file– Used by Visual Studio to generate proxy class– Generates config containing service location
in Silverlight applicationPossible to
move existing service “use” cloud services inside VS Silverlight
project
Silverlight and WCF service
• Steps:– Create Cloud project– Add webrole to contain service hosting
site (ASP or WCF)– Test in compute emulator– Update Silverlight configuration to use
new service address– Deploy service package to the cloud– Re-deploy new Silverlight application
DEMOSilverlight and WCF service
REST service
• Case:– Silverlight business application
communicates with REST service, service exposes data• A WCF service can be configured to work as
a REST service
– Data is migrated to SQL Azure
• Task: move REST service to Azure
Side information
• REST (REpresentational State Transfer)– Protocol based on web standards (GET, PUT...)– All information is a resource– Information exchanged over XML or JSON
• Using WCF, we can create REST services– Silverlight sends request to URL– Service responds with XML– Silverlight can parse the XML
Possible to move the REST service to Azure
Silverlight and REST service
• Steps:– Create Cloud solution– Move service hosting site to webrole (ASP
or WCF)– Test in compute emulator– Update Silverlight configuration to use new
service address– Deploy service package to the cloud– Re-deploy new Silverlight application(Yes, this is identical!)
DEMOREST service
CASE 3: MOVE SILVERLIGHT TO THE CLOUD
Hosting site
Scenario
Silverlight application
Service layer (WCF, REST...) Database
Move Silverlight to the cloud
• Case:– Database hosted in SQL Azure–WCF Service hosted in Windows Azure
(web role)– Silverlight application and hosting
website need to move to the cloud
• Task: –Move Silverlight hosting site to (other)
web role
Side information
• Silverlight is just a XAP file, hosted inside an HTML, ASPX, PHP... page
• XAP file is downloaded from– Azure Hosted service– Azure Storage
• Site can be a web role
Move Silverlight to the cloud
• Steps:– Add second web role to cloud project OR
second cloud project (accessible via port number)
– (optional) Create a new hosted service for this role
DEMOMove Silverlight to the cloud
CASE 4: RIA SERVICES IN THE CLOUD
RIA Services in the cloud
• Case– Silverlight application that uses RIA
Services– Server-side use of Entity Framework– Database is moved to SQL Azure
• Task: – All-in approach: move everything to the
cloud
Side information
• RIA Services create a link between server-side and client-side project
• Hosting site requires configuration changes and assembly references – RIA Services is not installed on your
Azure VM!
• Specific template exists if starting from scratch
RIA Services in the cloud
• Steps:– Add new web role to cloud project–Move service hosting site to webrole – Change configuration– Set Copy local to true for RIA Services
assemblies– Deploy Silverlight XAP along with
services• Services can be in a different assembly, will
be hosted alongside
DEMORIA Services in the cloud
CASE 5: USE AZURE AS TWITTER INTERMEDIATE
Scenario
Silverlight Twitter
SERVICE
Use Azure as Twitter intermediate
• Case–We want to use Twitter API in in-browser
Silverlight apps• Need to build intermediate service layer
• Task:– Use Windows Azure for this purpose
Side information
• Twitter doesn’t expose a policy file• In-browser Silverlight apps need this
file to access the service Intermediate service layer is required
DEMOUse Azure as Twitter intermediate
USING BLOB STORAGE
Blob storage
• Blobs can be used to– Store images and videos used in
Silverlight application• Possible to generate build a service that
allows access for a limited time to a resource (Shared Access Signatures)
Blob storage
• Blobs can be used to• Store XAP of Silverlight applicationWhy?
– Azure does not support updating just the XAP file (you can work around it using the VM Role)
– Easy versioning of just the Silverlight application
Things to keep in mind– The MIME type needs to be set to application/x-
silverlight-app– Cross-domain issues in 2 ways!
» XAP hosted in blob storage, service on your domain» “Regular” cross-domain issues
DEMOUsing Blog Storage
DEMOThe XAP in blob storage
WINDOWS PHONE AND AZURE
Hello? Windows Phone
• Windows Phone == Silverlight API Most things we looked at work for WP7 as well
• Different models meet– Phone = not always connected– Cloud = there when you need it
• 2 options– Phone “calls” cloud– Cloud “calls” phone• Push notifications
Phone “calls” cloud
• These things just work–WCF/ASMX/REST service hosted in Azure• HTTP-based communication
– Database behind service in SQL Azure–WCF Data Services (oData)– XML/JSON/SOAP • Remember: the smaller the data, the better!
• Note: No cross-domain policy file required!
Phone “calls” cloud
• WP7 can not work with– RIA Services– Sockets– Duplex bindings
DEMOWP7 and WCF Data Services in the cloud
Summary
• Silverlight apps work in harmony with Azure– Database– Service layer– Silverlight app
• Blob storage is useful– For resources– For XAP hosting
Q&A
THANK YOU
Stay up to date with MSDN Belux• Register for our newsletters and stay up to date:
http://www.msdn-newsletters.be– Technical updates– Event announcements and registration– Top downloads
• Follow our bloghttp://blogs.msdn.com/belux
• Join us on Facebookhttp://www.facebook.com/msdnbehttp://www.facebook.com/msdnbelux
• LinkedIn: http://linkd.in/msdnbelux/ • Twitter: @msdnbelux
Download MSDN/TechNet Desktop Gadget
http://bit.ly/msdntngadget
Switching on the cloud for Silverlight
MSDN Live Meeting27-06-2011
Gill CleerenMicrosoft Regional Director – Silverlight MVPOrdina Belgium