I got a note today from Rob Tiffany, another one of our brilliant Microsoft Architects. (I saw another one, because I like to think I am as brilliant… [Note: I do work for Microsoft too.])
Here’s Rob’s note:
Sync Framework is an amazingly effective, provider-based framework for syncing just about anything, and in fact, is the basis for SQL Azure Data Sync. This release to Open Source will really benefit the community at large, and gives an opportunity for deep .NET developers to be involved with some great bits.
The profound effects of the Consumerization of IT (CoIT) is blurring the lines between consumers and the enterprise. The fact that virtually every type of mobile device is now a candidate to make employees productive means that cross-platform, enabling technologies are a must. Luckily, Microsoft has brought the power to synchronize data with either SQL Server on-premise or SQL Azure in the cloud to the world of mobility. If you’ve ever synched the music on your iPhone with iTunes, the calendar on your Android device with Gmail, or the Outlook email on your Windows Phone with Exchange, then you understand the importance of sync. In my experience architecting and building enterprise mobile apps for the world’s largest organizations over the last decade, data sync has always been a critical ingredient.
The new Sync Framework Toolkit found on MSDN builds on the existing Sync Framework 2.1′s ability to create disconnected applications, making it easier to expose data for synchronization to apps running on any client platform. Where Sync Framework 2.1 required clients to be based on Windows, this free toolkit allows other Microsoft platforms to be used for offline clients such as Silverlight, Windows Phone 7, Windows Mobile, Windows Embedded Handheld, and new Windows Slates. Additionally, non-Microsoft platforms such as iPhones, iPads, Android phones and tablets, Blackberries and browsers supporting HTML5 are all first-class sync citizens. The secret is that we no longer require the installation of the Sync Framework runtime on client devices. When coupled with use of an open protocol like OData for data transport, no platform or programming language is prevented from synchronizing data with our on-premise and cloud databases. When the data arrives on your device, you can serialize it as JSON, or insert it into SQL Server Compact or SQLite depending on your platform preferences.
The Sync Framework Toolkit provides all the features enabled by the Sync Framework 4.0 October 2010 CTP. We are releasing the toolkit as source code samples on MSDN with the source code utilizing Sync Framework 2.1. Source code provides the flexibility to customize or extend the capabilities we have provided to suit your specific requirements. The client-side source code in the package is released under the Apache 2.0 license and the server-side source code under the MS-LPL license. The Sync Framework 2.1 is fully supported by Microsoft and the mobile-enabling source code is yours to use, build upon, and support for the apps you create.
Now some of you might be wondering why you would use a sync technology to move data rather than SOAP or REST web services. The reason has to do with performance and bandwidth efficiency. Using SOA, one would retrieve all the data needed to the device in order to see what has changed in SQL Server. The same goes for uploading data. Using the Sync Framework Toolkit, only the changes, or deltas, are transmitted over the air. The boosts performance and reduces bandwidth usage which saves time and money in a world of congested mobile data networks with capped mobile data plans. You also get a feature called batching, which breaks up the data sent over wireless networks into manageable pieces. This not only prevents you from blowing out your limited bandwidth, but it also keeps you from using too much RAM memory both on the server and your memory-constrained mobile device. When combined with conflict resolution and advanced filtering, I’m sold!
I think you’ll find the Sync Framework Toolkit to be an immensely valuable component of your MEAP solutions for the enterprise as well as the ones you build for consumers.
Well, my vacation time is quickly coming to an end, and soon it will be the New Year!I'm consistently asked what the default date/time sttings are when deploying to Windows Azure. It may not be obvious to developers new to the platform. All Windows Azure servers utilize UTC time, and 'en-US' locale settings out-of-box. It is recommended to maintain applications that can convert local time (UTC) into the desired time/date formats.
You can see this by using remote desktop to "peer into and inspect" settings on your Windows Azure deployments. You will find that the server localization settings (Control Panel) are indeed set to "United States" for location, and "English (United States)" for Language Settings.For date/time settings, "GMT Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London" is the default selection, no matter which data center you are deployed to as well.
The Fabric Controller maintains operating system time synchronization for the system when roles are first booted. You could, with the latest SDKs. utilize administrative access startup scripts to change the localization settings (including local server time), but it is not recommended you do so. Doing so will introduce instability and the fabric controller may determine your role is out of sync. You will likely end up cycling your roles as fabric attempts to bring them to goal state in such a case. A better strategy is to write our applications to be aware that they actually run with UTC and default US CultureInfo settings.
For more info on manipulating Date/Time settings with .NET Framework 4.0, refer here: http://msdn.microsoft.com/en-us/library/5hh873ya.aspx
Another huge shortcut tip: Using Remote Desktop is extremely helpful to diagnose issues with Windows Azure, including ensuring an application you might want to script during startup, will actually install and run on the virtualized role images. You can Edit your Remote Desktop connection files (.rdp) by right-clicking the file saved to your desktop, and selecting Edit. This will enable you to map your local drive to the VM, so you can seamlessly transfer files to and from the role instance you are connected to.
I'm consistently using PowerShell, or Snippet Compiler (created by Jeff Key, and available at http://www.sliver.com), to output settings, or programatically manupulate objects.PowerShell is already on the Windows Azure role instances for your enjoyment, and Snippet Compiler take a few seconds to copy & paste into the C:\Applications folder on the VM to "play with".
Season's Greetings! Eric
Well, it's official. The SharePoint Product Group (PG) just released the news on their MSDN blog (blogs.msdn.com/sharepoint), about the formal naming of "SharePoint Server 2010". I'm very excited about the news, because it drops the "MOSS" acronym, and represents the product in-line with it's true incarnation as a Server platform. Yes, it is still part of the Office arsenal, but you will notice we are positioning the "Office" brand name moving forward with the Office client applications known and loved by our customers.
I'm also elated by the recent announcement of SharePoint Designer 2007 being free to our customers, a trend I have heard will continue with SharePoint Designer 2010, but don't quote me on that. I can say that based on my internal use of early builds of Office "14" (our codename to date), especially SPD, there's a lot of welcome additions and tweaks to the platform that many developers and end-users will be truly elated with. Although I can't discuss particulars just yet, I can tell you there are huge advances in social networking, workflow, core functionality and UI. These are to name just a few, of at least 20 areas being improved, which will be headed out-the-door to a server near you. Early builds of SPD that I have played with to date, have been "awe-inspiring" and unlike any predecessor. My only regret is I don't believe it will be backward compatible with Microsoft Office SharePoint Server 2007 sites. However, the benefits of the new platform alone, will in my opinion sway many customers to actually pursue upgrades early-on, rather than later in the lifecycle.
Some of the phenomenal growth of MOSS 2007 was met with a shortage of administrators and developers with hard-core expertise. Many customers were left scrambling to find information on various parts of the platform, or worse-yet, doing things by trial and error. I'm here to tell you we are very in-tune with this message from many customers. Currently we're working hard on putting together volumes of guidance, walkthroughs, hands-on labs, and acceleration programs for our customers. The goal is to ensure that these types of content will be available early-on. Microsoft will be working hard on training our Partners & MVPs communities, and other professional developers, much earlier than our prior launches have done. We are also expecting to do the same with Microsoft Visual Studio 2010, and I am currently involved in a internal project centering around that guidance. I'm also concurrently working on an internal project creating hands-on labs for SharePoint Server 2010. These two projects, along with the training and work I have been doing in the Windows Azure space has kept me energized and has been completely exciting, despite the long hours. One of the benefits of working for the world's greatest software company is being able to help create some of the world's best software. Although, drinking from a firehose (in terms of all the new features) is an art-form. :) Some great ways you can leverage your current skill-sets, is by staying abreast of these new feature areas earlier, as they are announced, rather than later. The amount of knowledge coming down the pike is formidable, and coupled with the momentum of Windows Seven that we are expecting, it will be far easier for most to have started learning early-on. I can share with you that just for me to read some of the new features, for example, of SharePoint Server 2010, in any mediocre detail, has taken me at least 30 straight hours. (No joke.) Windows Azure (in the next iterative release) will probably have SDK changes that will take you about 5 hours, and Visual Studio 2010 another 10. Assuming you read at a fairly above-average rate like me, and understand everything right away, that's about 7 business days of straight reading. (I kid you not, as I already have learned.) So where do you start? First, keep up with the "features to be" as they are being announced on each team blog, and highlight those areas that will be most valuable to you. Second, download the CTP for Visual Studio 2010, the Windows Azure beta SDK, and start reading through those now! You will be glad you did, and the productivity gain will far exceed this time commitment once you actually set out on the RTM's of these platforms. I'm creating a series of blog posts about the new features we'll be shipping in SharePoint Server 2010, and some for Visual Studio 2010. These posts will be published once I have the okay signal, as we get the CTP of SharePoint Server 2010 out the door. I am awaiting the Beta release of Visual Studio 2010 too, as the current CTP build does not have any of the new SharePoint tools that will be baked-in. (Please don't ask when these dates will be, as I truly am not in the position to reveal that information at this time).
“What is Cloud Computing?” “How do I get started on the Azure platform?” “How can organizations benefit by using Dynamics CRM Online?” These are some of the questions answered by Microsoft’s new series of Cloud/Azure Learning Snacks. Time-strapped? You can learn something new in less than five minutes! Try a “snack” today or click here for more information: MS Learning - Windows Azure Training Catalog
Don't forget to get the newest SDK, packed with features, out at:
and here are some upcoming Azure bootcamps and events:
Azure Bootcamps - Sign up now and get your Cloud Power flowing.
Grand Rapids, MI
Little Rock, AR
Overland Park, KS
Downers Grove, IL
Des Moines, IA
St. Louis, MO
Azure Firestarter Series in East Region
- Tampa, FL – 11/8 - http://bit.ly/AzTampa
- Atlanta, GA – 11/10 - http://bit.ly/AzAtlanta
- Charlotte, NC – 11/11 - http://bit.ly/AzCharlotte
- Rochester, NY – 11/16 - http://bit.ly/AzWHenrieta
- Waltham, MA – 11/30 - http://bit.ly/AzWaltham
- New York, NY – 12/1 - http://bit.ly/AzNYC
- Malvern, PA – 12/7 - http://bit.ly/AzMalvern
- Chevy Chase, MD – 12/9 - http://bit.ly/AzChevCha
Azure Roadshow in Central Region
- Cleveland, OH, 15-Nov-2010, Register Here
- Southfield, MI, 18-Nov-2010, Register Here
- Columbus, OH , 29-Nov-2010, Register Here
- Cincinnati, OH, 30-Nov-2010, Register Here
- Nashville, TN, 1-Dec-2010, Register Here
- Memphis, TN, 2-Dec-2010, Register Here