An Introduction to Windows Azure platform AppFabric for Developers
Introduction to Windows Azure AppFabric Applications
-
Upload
neil-mackenzie -
Category
Technology
-
view
1.467 -
download
1
Transcript of Introduction to Windows Azure AppFabric Applications
Windows AzureAppFabric Applications
Neil Mackenzie
Who Am I
• Neil Mackenzie• Windows Azure MVP
• Book: Microsoft Windows Azure Development Cookbook
• Blog: http://convective.wordpress.com/• Twitter: @mknz
Content
• Windows Azure Platform• Application Composition• Development Environment• Production Environment
Platform as a Service
• Windows Azure– Compute, storage, connectivity– Scalable– Self-healing
• Application-hosting environment:– Websites web role– Services worker role– Operating system VM role
Windows Azure Platform
Web role Worker role
WCFQueues & Topics WF
SQL Azure
Azure Blob
Azure Table
AppFabric Applications
• Windows Azure AppFabric Applications is a Community Technology Preview supporting the composition of services into an application in a manner that simplifies the development and deployment of interacting services.
What you get in CTP 1
• AppFabric Developer Tools– Application composition– Package creation
• AppFabric Application Manager– Deployment– Monitoring
• AppFabric Container– Runtime environment
Service Composition
• Services– Properties– Endpoints
• Service references– Link endpoints
• Container Topology– Scalability (instance count)– Monitoring (trace level)
Modeled Properties
• Referenced services include the following properties:– Service-specific definition– ProvisionAction– UnprovisionAction
• E.g. SQL Azure ProvisionAction specifies a DACPAC that can provision a SQL Azure database
Referenced (External) Services
• The following external services are supported:– Service Bus Queue– Service Bus Topic– Service Bus Subscription– Windows Azure AppFabric Caching– SQL Azure– Windows Azure Blob Service– Windows Azure Table Service
• Use MEF to add other services (e.g. Bing Maps)
Service Groups
• AppFabric Applications– AppFabric Container (stateless)– Stateful AppFabric Container– Web Container
• Each service group deployed to a container• Horizontal scalability at the container level• No vertical scalability in CTP1
AppFabric Container
• Contains the following stateless services– Code– WCF Service– Workflow
Stateful AppFabric Container
• Contains the following stateful services:– Task scheduler– WCF Stateful services
Web Container
• Contains the following web-based services:– ASP.NET– WCF Domain Service – Web (for Silverlight)– WCF Service - Web
Adding a Service Reference
• New file: ServiceReferences.g.cs• Contains a class named ServiceReferences• Contains method pair for each service reference:– public static
AppFabricContainer1.StatelessContract1.Service1.IService1 CreateImport1();
• Use:CloudTableClient tableClient = ServiceReferences.CreateCloudTableClient();tableClient.CreateTableIfNotExist(tableName);
Referenced Service Objects
Service Service Object Exposed
Queue Microsoft.ServiceBus.Messaging.QueueClient
Topic Microsoft.ServiceBus.Messaging.TopicClient
Subscription Microsoft.ServiceBus.Messaging.SubscriptionClient
Caching Microsoft.ApplicationServer.Caching.DataCache
SQL Azure System.Data.SqlClient.SqlConnection
Blob Microsoft.WindowsAzure.StorageClient.CloudBlobClient
Queue Microsoft.ServiceBus.Messaging.QueueClient
Table Microsoft.WindowsAzure.StorageClient.CloudTableClient
Development Environment
• AppFabric Application storage (SQL Express)• File system (C:\AF, C:\AFSdk)• Windows Azure compute emulator– ContainerGatewayWorkerRole (1)– ContainerStatefulWorkerRole (2)– ContainerStatelessWorkerRole (2)– WebRole
• Windows Azure storage emulator
Development Demo
• Visual Studio Tooling
Applications Manager
• Applications Dashboard– Overview of the deployed applications
• Admin log– Displays deployment history
• Application– Containers– Endpoints– Logs
Cloud - Demo
• Applications Manager
How to get it
• Download Windows Azure AppFabricJune SDK CTP – June Update– http://bit.ly/o1udby – CTP can be used locally without participation in
the CTP• Apply to join the CTP at:– https://portal.appfabriclabs.com/