Search This Blog
Thursday, December 16, 2010
Detail topics on Azure
Tuesday, December 14, 2010
Developing Sequential Workflow In ASP.Net Applications
Persisting a workflow Sample
Persisting a workflow means to store a workflow in a durable medium to be loaded for later use. Some workflows are executed very shortly that they don’t need to be persisted. However, some workflows are long-running and are not completed for some period of time. This article shows how a workflow is persisted to a database and how to load it to continue execution.
Check this Aryicle below for more details. (To demonstrate how to persist a workflow, I’ll be reusing an application from my previous article entitled WPF and the Model View View Model pattern. Currently, it lets a user submit a new sales order and is added to a collection. In this article, a workflow will be use to submit and approve a sales order.)
http://www.eggheadcafe.com/tutorials/aspnet/93c7cf86-d7d8-46bf-a7f4-d5df69e3cbd1/persisting-wf-workflows.aspx
Monday, December 13, 2010
About Persistence WorkFlow
SqlWorkflowPersistenceService in Windows Workflow Foundation
http://nayyeri.net/sqlworkflowpersistenceservice-in-windows-workflow-foundationThursday, December 09, 2010
Azure + Bing Maps: Federated authentication with AppFabric ACS and Windows Live Messenger Connect
Windows Azure: Connecting to web role instance using Remote Desktop
Tuesday, December 07, 2010
Hosting workflow services in Windows Azure
<configSections>
<sectionGroup name="system.xaml.hosting" type="System.Xaml.Hosting.Configuration.XamlHostingSectionGroup, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="httpHandlers" type="System.Xaml.Hosting.Configuration.XamlHostingSection, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
sectionGroup>
configSections>
<!-- Removed other sections for clarity -–>
<system.xaml.hosting>
<httpHandlers>
<add xamlRootElementType="System.ServiceModel.Activities.WorkflowService, System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" httpHandlerType="System.ServiceModel.Activities.Activation.ServiceModelActivitiesActivationHandlerAsync, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add xamlRootElementType="System.Activities.Activity, System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" httpHandlerType="System.ServiceModel.Activities.Activation.ServiceModelActivitiesActivationHandlerAsync, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
httpHandlers>
system.xaml.hosting>
configuration>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" >
<serviceActivations>
<add relativeAddress="~/Calc.xamlx" service="Calc.xamlx" factory="System.ServiceModel.Activities.Activation.WorkflowServiceHostFactory"/>
serviceActivations>
serviceHostingEnvironment>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
behavior>
serviceBehaviors>
behaviors>
system.serviceModel>
Monday, December 06, 2010
Pushing Content from SharePoint to Windows Azure Storage
Sunday, December 05, 2010
New Full IIS Capabilities: Differences from Hosted Web Core (HWC)
What is Full IIS?
New Hosting Model
Reading config files from RoleEntryPoint and your web site
Accessing Static Members from RoleEntryPoint and your web site
Wednesday, December 01, 2010
BidNow Sample for Windows Azure
- Windows Azure (updated)
- Updated for the Windows Azure SDK 1.3
- Separated the Web and Services tier into two web roles
- Leverages Startup Tasks to register certificates in the web roles
- Updated the worker role for asynchronous processing
- SQL Azure (new)
- Moved data out of Windows Azure storage and into SQL Azure (e.g. categories, auctions, buds, and users)
- Updated the DAL to leverage Entity Framework 4.0 with appropriate data entities and sources
- Included a number of scripts to refresh and update the underlying data
- Windows Azure storage (update)
- Blob storage only used for auction images and thumbnails
- Queues allow for asynchronous processing of auction data
- Windows Azure AppFabric Caching (new)
- Leveraging the Caching service to cache reference and activity data stored in SQL Azure
- Using local cache for extremely low latency
- Windows Azure AppFabric Access Control (new)
- BidNow.Web leverages WS-Federation and Windows Identity Foundation to interact with Access Control
- Configured BidNow to leverage Live ID, Yahoo!, and Facebook by default
- Claims from ACs are processed by the ClaimsAuthenticationManager such that they are enriched by additional profile data stored in SQL Azure
- OData (new)
- A set of OData services (i.e. WCF Data Services) provide an independent services layer to expose data to difference clients
- The OData services are secured using Access Control
- Windows Phone 7 (new)
- A Windows Phone 7 client exists that consumes the OData services
- The Windows Phone 7 client leverages Access Control to access the OData services
For more details and to download Code sample of BidNow, Check this link
Windows Azure Platform Training Kit November 2010 Update
- [New lab] Advanced Web and Worker Role – shows how to use admin mode and startup tasks
- New lab] Connecting Apps With Windows Azure Connect – shows how to use Project Sydney
- [New lab] Virtual Machine Role – shows how to get started with VM Role by creating and deploying a VHD
- [New lab] Windows Azure CDN – simple introduction to the CDN
- [New lab] Introduction to the Windows Azure AppFabric Service Bus Futures – shows how to use the new Service Bus features in the AppFabric labs environment
- [New lab] Building Windows Azure Apps with Caching Service – shows how to use the new Windows Azure AppFabric Caching service
- [New lab] Introduction to the AppFabric Access Control Service V2 – shows how to build a simple web application that supports multiple identity providers
- [Updated] Introduction to Windows Azure - updated to use the new Windows Azure platform Portal
- [Updated] Introduction to SQL Azure - updated to use the new Windows Azure platform Portal
Tuesday, November 30, 2010
Monday, November 29, 2010
New version of Cerebrata Azure Management Cmdlets with SQL Azure support is now available
Sunday, November 21, 2010
What's New in Windows Azure
Now that PDC is over and all the announcements are out, I want to share my viewpoint and insights into what was announced at PDC last week.
Most of the features that got announced are not available yet and will be in CTP form early next year. Here is a quick summary of what’s coming to Windows Azure in the near future. There are broadly classified into platform enhancements, enterprise features and developer productivity.
Platform Enhancements
- VM Role – Web Role and Worker Role are boilerplate VMs to do specific kind of tasks. VM Role is a very generic VM that can be customized to run anything including legacy applications. VM Role will support Windows Server 2008 R2 images initially with support for other versions of Windows Server in the pipe. It is not clear if VM Role will run non-Windows OS images.
- Admin Mode – Through this mode, you can gain more control by running MSI or installing custom software during the startup phase of a VM. This will bring more control to Web Role and the Worker Role without compromising the flexibility of automated management capabilities.
- Full IIS Support – Till now, the Web Role ran a Hosted Web Core to host web applications. It was not a symmetrical web stack that typically runs on a Web Server. By supporting full IIS capabilities, developers can host multiple websites and tweak the web application platform like the way they do it on a Web Server.
- Extra Small Instances – This is a new size of VM that costs only $0.05 / hour. This is great for playing with the platform or to spin a bunch of VMs for parallel processing. Applications can be deployed in Extra Small Instances during debugging /testing and can be sized appropriately for the production.
Enterprise Features
- Cross Premise Connectivity – Enterprises can easily and securely extend their IP subnet to Azure VMs. This delivers on the promise of Windows Azure as an extended data center. When combined this with the VM Role features, this is a killer offering for the enterprises. Major concerns like security, latency and seamless integration with on-premise integration will be addressed through this feature.
- Join VMs to Domain – VMs running within Windows Azure can join an existing Active Directory domain in an enterprise. With this, authentication and authorization becomes easy and powerful. Even internal line of business applications that depend on NTLM authentication can be moved to Windows Azure.
- System Center Monitoring Management Pack – Through this, enterprises can manage and monitor the health of Azure VMs through the familiar System Center Operations Manager console. This is a great feature for instrumenting and managing the health of apps running within Windows Azure.
Developer Productivity
- Enhanced Developer Portal – Built using Silverlight, the new Windows Azure developer portal offers a refreshing interface to manage the cloud infrastructure. It is faster, powerful and flexible to manage Windows Azure (Compute & Storage), SQL Azure and AppFabric features.
- Remote Desktop – This is a killer feature! With this the administrator can log on to a running Web Role or a Worker Role to interactively configure and manage the instance. This will reduce the friction in managing and deploying apps on Azure.
- Enhanced Developer Tools – There are a lot of enhancements to the Dev Fabric, Visual Studio tools and even Eclipse. Dev Fabric will support VM Role and updating content in a Web Role without redeploying the whole application. PHP and Java SDK for Windows Azure is also refreshed.
Through these announcements Microsoft made a strong statement that they are serious about Cloud. Here are some underlying messages that come out:
- Blur the line between IaaS and PaaS – Microsoft never over emphasized on Windows Azure being just a PaaS platform. The plans of baking custom VMs into Windows Azure were there from day one. Today it is hard to qualify Windows Azure as just PaaS or IaaS. It is actually both!
- Windows Azure is the true Cloud OS – Taking off from the initial vision that Ray Ozzie articulated in PDC 2008, Windows Azure has emerged as the true Cloud OS that powers the whole datacenter. So, Windows Azure to datacenter is what Windows is to the Server. Windows Internal’s guru, Mark Russinovich’s Inside Windows Azure talk emphasized this fact in many words.
- Go head-on with Amazon – This is very clear! Windows Azure Platform has many pieces that are directly comparable and compete with Amazon Web Services. With VM Role, Extra Small VM Size, Cross-Premise Connectivity and a host of other features Windows Azure brings parity with Amazon Web Services.
- Establish Azure as the first and only generic PaaS – Microsoft is serious about on-boarding the PHP and the Java community on Windows Azure. The investments in Eclipse plug-in, PHP SDK and the Java SDK will payback Microsoft in the longer run. Windows Azure is truly becoming a meta-platform that can support popular runtimes and platforms including .NET, Java and PHP.
- Appeal to enterprises – Finally, there is a convincing and compelling story that Microsoft can tell the enterprises on why they should embrace Windows Azure. AppFabric, VM Role, Remote Desktop, Cross-Premise connectivity and other features reduce the barriers for enterprise adoption.
Reference: http://www.janakiramm.net/blog/windows-azure-whats-new
Comparing Microsoft Windows Azure and Amazon Web Services – Part 1/7
- Provide objective comparison between the two
- Enable enterprises and ISVs to take an informed decision
- Avoid marketing speak and buzz words
- Be neutral and unbiased in the approach
- Compute
- Storage
- Flexible Entities (Azure Tables / Amazon SimpleDB)
- Blobs (Azure Blobs / Amazon S3)
- Queues and Messages (Azure Queues / Amazon SQS)
- Persistent Block Storage (Azure Drive / Amazon EBS)
- Relational Database (SQL Azure / Amazon RDS)
- Terminology
- Size / Unit
- Limitations
- Pricing
- Security
- Language and Tools Support
Wednesday, November 17, 2010
Windows Azure Diagnostics–Where Are My Logs?
Recently I noticed that lot of developers who are just starting to use Windows Azure hit issues with diagnostics and logging. It seems I didn’t go the same path other people go, because I was able to get diagnostics running from the first time. Therefore I decided to investigate what could possibly be the problem.
I created quite simple Web application with only one Web Role and one instance of it. The only purpose of the application was to write trace message every time a button is clicked on a web page.
In the onStart() method of the Web role I commented out the following line:DiagnosticMonitor.Start("DiagnosticsConnectionString");
and added my custom log configuration:
DiagnosticMonitorConfiguration dmc =
DiagnosticMonitor.GetDefaultInitialConfiguration();
dmc.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
dmc.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
DiagnosticMonitor.Start("DiagnosticsConnectionString", dmc);
Here is also the event handler for the button:
protected void BtnSmile_Click(object sender, EventArgs e)
{
if (this.lblSmile == null || this.lblSmile.Text == "")
{
this.lblSmile.Text = ":)";
System.Diagnostics.Trace.WriteLine("Smiling...");
}
else
{
this.lblSmile.Text = "";
System.Diagnostics.Trace.WriteLine("Not smiling...");
}
}This code worked perfectly, and I was able to get my trace messages after about a minute running the app in DevFabric.
After confirming that the diagnostics infrastructure works as expected my next goal was to see under what conditions I will see no logs generated by Windows Azure Diagnostics infrastructure. I reverted all the changes in the onStart() method and ran the application again. Not very surprisingly I saw no logs after minute wait time. Somewhere in my mind popped the value 5 mins, and I decided to wait. But even after 5 or 10, or 15 mins I saw nothing in the WADLogsTable. Apparently the problem comes from the default configuration of the DiagnosticMonitor, done through the following line :
DiagnosticMonitor.Start("DiagnosticsConnectionString");
Looking at the code I discovered that the default configuration uses
ScheduledTransferPeriodInMinutes = 0
Unfortunately this doesn’t work well with Windows Azure Diagnostics infrastructure, and is the main cause for the missing logs.
I simulated that quite easily with changing the following line in my custom configuration:
dmc.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
to:
dmc.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(0);
Windows Azure Diagnostics does not accept values below 1 min for transfer period. Thus you should always get diagnostics configured according to your needs, and if you don’t want to use scheduled transfers you should make sure you push out the logs in your code.
I will continue my investigation of logging in one of my subsequent posts but for now I think this will be quite helpful for people.
Update: I circled back with our developers and they reminded me that not transfering the logs by default was intentional. The reason being that you will incurr charges for the logs stored in your storage account.
Reference : http://blog.toddysm.com/2010/04/windows-azure-diagnosticswhere-are-my-logs.html