<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rob Tiffany &#187; MEAP</title>
	<atom:link href="http://robtiffany.com/tag/meap/feed/" rel="self" type="application/rss+xml" />
	<link>http://robtiffany.com</link>
	<description>Author, Mobility Strategist at Microsoft, Speaker, Advisor, Technology Executive, Former Navy Submariner</description>
	<lastBuildDate>Wed, 16 May 2012 01:19:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>MEAP Mistakes</title>
		<link>http://robtiffany.com/meap-mistakes/</link>
		<comments>http://robtiffany.com/meap-mistakes/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 18:41:51 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Consumerization]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=1470</guid>
		<description><![CDATA[I continue to see people refer to buying a &#8221;MEAP&#8221; as if it&#8217;s a noun, a thing, or a shrinkwrapped 4GL product. It&#8217;s important to remember that Mobile Enterprise Application Platform (MEAP) is a Gartner Magic Quadrant where a stack of &#8230; <a href="http://robtiffany.com/meap-mistakes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h3>I continue to see people refer to buying a &#8221;MEAP&#8221; as if it&#8217;s a noun, a thing, or a shrinkwrapped 4GL product.</h3>
<p>It&#8217;s important to remember that Mobile Enterprise Application Platform (MEAP) is a Gartner Magic Quadrant where a stack of products from a given vendor do their best to align to 8 critical capabilities to provide the best possible ROI for customers:</p>
<ol>
<li>Integrated Development Environment (IDE for device &amp; server coding)  &gt; Does you vendor deliver a well-known IDE used by tens of millions of developers around the world?</li>
<li>Application Client Runtime (Thick/Thin cross-platform runtime)  &gt; Does your vendor provide a proven runtime used by millions of apps?</li>
<li>Enterprise Application Integration Tools (Adapters to backend packages/data sources)  &gt; Does your vendor provide a consistent adapter framework?</li>
<li>Packaged Mobile Apps or Components (Cross-platform apps &amp; libraries)  &gt; Does you vendor actually make widely-used apps that run on multiple platforms?</li>
<li>Multichannel Tools or Servers (Similar to IDE + servers supporting open protocols)  &gt; Does your vendor sell widely-used &amp; supported servers and wire protocols?</li>
<li>Management Tools (Tools to support mobile app lifecycle)  &gt; Does your vendor provide secure app provisioning to devices and policy enforcement?</li>
<li>Security (Data in transit + data at rest + data going through adapters)  &gt; Does your vendor provide encryption and digital signing?</li>
<li>Hosting (Cloud capabilities) &gt; Does your vendor have a massive cloud infrastructure?  I can count the major players on one hand.</li>
</ol>
<p>Rather than going out on the marketplace trying to buy a &#8220;MEAP,&#8221; comprised of little-known, proprietary tools and servers, you might find that the existing tools, servers, and management packages in your enterprise already align with Gartner&#8217;s critical capabilities and can be used to build and support multiple, mobile applications.<br />
-Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/meap-mistakes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Consumerization of IT Collides with MEAP: Android &gt; Cloud</title>
		<link>http://robtiffany.com/consumerization-of-it-collides-with-meap-android-cloud/</link>
		<comments>http://robtiffany.com/consumerization-of-it-collides-with-meap-android-cloud/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 05:25:12 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[MEAP]]></category>
		<category><![CDATA[ACS]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[AppFabric]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Claims]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[CoIT]]></category>
		<category><![CDATA[Consumerization]]></category>
		<category><![CDATA[Consumerization of IT]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[Dalvik]]></category>
		<category><![CDATA[Device Management]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[ERP]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[Honeycomb]]></category>
		<category><![CDATA[Ice Cream Sandwich]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[On-Premises]]></category>
		<category><![CDATA[Private Cloud]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[SQL Azure Data Sync]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[System Center]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://robtiffany.com/meap/consumerization-of-it-collides-with-meap-android-cloud</guid>
		<description><![CDATA[In my ‘Consumerization of IT Collides with MEAP’ article last week, I described how to connect Android smartphones and tablets to Microsoft’s On-Premise infrastructure. In this week’s scenario, I’ll use the picture below to illustrate how Android utilizes many of &#8230; <a href="http://robtiffany.com/consumerization-of-it-collides-with-meap-android-cloud/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In my ‘<a href="http://robtiffany.com/meap/consumerization-of-it-collides-with-meap-android-on-premises" target="_blank">Consumerization of IT Collides with MEAP’ article last week</a>, I described how to connect Android smartphones and tablets to Microsoft’s On-Premise infrastructure. In this week’s scenario, I’ll use the picture below to illustrate how Android utilizes many of Gartner’s Mobile Enterprise Application Platform Critical Capabilities to connect to Microsoft’s Cloud services in Azure:</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2011/11/image.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://robtiffany.com/wp-content/uploads/2011/11/image_thumb.png" width="596" height="317" /></a></p>
<p>As you can see from the picture above: </p>
<ol>
<li>For the <strong>Management Tools Critical Capability</strong>, there is no Cloud-based device management solution, policy-enforcement, or software distribution solution from Microsoft for Android. As I mentioned in last week’s post, consumer software distribution comes from the Android Market and the enterprise equivalent is facilitated via internal web servers and user-clickable URLs. Since Android is a wide-open system, competing markets and app stores are on the rise from Amazon and others. </li>
<li>For both the Client and Server <strong>Integrated Development Environment (IDE) and Multichannel Tool Critical Capability</strong>, Android uses Visual Studio. Endpoint development consists of HTML5, ECMAScript 5, and CSS3 delivered by ASP.NET via Web Roles. WCF REST + JSON Web services can also be created and consumed via Ajax calls from the browser. On the Cloud side of things, the Windows Azure SDK plugs into Visual Studio and provides Android developers with everything they need to build Cloud applications. It includes a Cloud emulator to simulate all aspects of Windows Azure and AppFabric on their development computer. In scenarios where native development is required by the customers, the <a href="https://github.com/microsoft-dpe/wa-toolkit-android" target="_blank">Windows Azure Toolkit for Android</a> can be used to allow Java via Eclipse to securely communicate with the Microsoft cloud. </li>
<li>For the cross-platform <strong>Application Client Runtime Critical Capability</strong>, Android uses the WebKit browser called Chrome to provide HTML5 + CSS3 + ECMAScript5 capabilities. Offline storage is important to keep potentially disconnected Android smartphones and tablets working and this is facilitated by Web Storage which is accessible via JavaScript. </li>
<li>For the<strong> Security Critical Capability</strong>, Android 3.0 and higher provides hardware encryption based on the user’s device passcode for data-at-rest. Data-in-transit is secured via SSL and VPN. LDAP API support allows it to access corporate directory services. Auth in the Microsoft cloud is handled via the Windows Azure AppFabric Access Control Service (ACS). </li>
<li>For the<strong> Enterprise Application Integration Tools Critical Capability</strong>, Android can reach out to servers directly via Web Services or indirectly through the Cloud via the Windows Azure AppFabric Service Bus to connect to other enterprise packages. </li>
<li>The <strong>Multichannel Server Critical Capability</strong> to support any open protocol is handled automatically by Windows Azure. Cross-Platform wire protocols riding on top of HTTP are exposed by Windows Communication Foundation (WCF) and include SOAP, REST and Atompub. Cross-Platform data serialization is also provided by WCF including XML, JSON, and OData. These Multichannel capabilities support thick clients making web service calls as well as thin web clients making Ajax calls. Distributed caching to dramatically boost the performance of any client is provided by Windows Azure AppFabric Caching. </li>
<li>As you might imagine, the <strong>Hosting Critical Capability</strong> is handled by Windows Azure. Beyond providing the most complete solution of any Cloud provider, Windows Azure Connect provides an IPSec-protected connection with your On-Premises network and SQL Azure Data Sync can be used to move data between SQL Server and SQL Azure. This gives you the Hybrid Cloud solution you might be looking for. </li>
<li>For the <strong>Packaged Mobile Apps or Components Critical Capability</strong>, Android runs cross-platform mobile apps including <a href="https://market.android.com/details?id=com.skype.raider&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5za3lwZS5yYWlkZXIiXQ..">Skype</a>, <a href="https://market.android.com/details?id=com.microsoft.bing&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5taWNyb3NvZnQuYmluZyJd">Bing</a>, <a href="https://market.android.com/details?id=msn.android#?t=W251bGwsMSwxLDIxMiwibXNuLmFuZHJvaWQiXQ..">MSN</a>, <a href="https://market.android.com/details?id=com.microsoft.tag.app.reader&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5taWNyb3NvZnQudGFnLmFwcC5yZWFkZXIiXQ..">Tag</a>, <a href="https://market.android.com/details?id=com.hotmail.Z7&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5ob3RtYWlsLlo3Il0.">Hotmail</a>, and of course the critical ActiveSync component that makes push emails, contacts, calendars, and device management policies possible.</li>
</ol>
<p><a href="http://robtiffany.com/wp-content/uploads/2011/11/Samsung-Galaxy-Nexus-UK.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="Samsung-Galaxy-Nexus-UK" border="0" alt="Samsung-Galaxy-Nexus-UK" src="http://robtiffany.com/wp-content/uploads/2011/11/Samsung-Galaxy-Nexus-UK_thumb.jpg" width="124" height="236" /></a></p>
<p>While Android 3.0 and higher meets many of Gartner’s Critical Capabilities, it doesn’t fare very well when it comes to cloud-based device management.&#160; While other mobile device platforms also come up short in this department, I’m sure this will change in the coming year.&#160; The tidal wave of CoIT means that device management in the future will look very different from how it did 5 years ago.&#160; Expect a clear separation between corporate apps/data and personal apps/data to be managed.</p>
<p>Best Regards, </p>
<p>Rob </p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/consumerization-of-it-collides-with-meap-android-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Consumerization of IT Collides with MEAP: iPhone + iPad &gt; Cloud</title>
		<link>http://robtiffany.com/consumerization-of-it-collides-with-meap-iphone-ipad-cloud/</link>
		<comments>http://robtiffany.com/consumerization-of-it-collides-with-meap-iphone-ipad-cloud/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 20:32:24 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[MEAP]]></category>
		<category><![CDATA[ACS]]></category>
		<category><![CDATA[AppFabric]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Consumerization]]></category>
		<category><![CDATA[Emulator]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[OData]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[SQL Azure Data Sync]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://robtiffany.com/meap/consumerization-of-it-collides-with-meap-iphone-ipad-cloud</guid>
		<description><![CDATA[In my ‘Consumerization of IT Collides with MEAP’ article last week, I described how to connect iPhones and iPads to Microsoft’s On-Premise infrastructure. In this week’s scenario, I’ll use the picture below to illustrate how iOS utilizes many of Gartner’s &#8230; <a href="http://robtiffany.com/consumerization-of-it-collides-with-meap-iphone-ipad-cloud/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In my ‘<a href="http://robtiffany.com/meap/consumerization-of-it-collides-with-meap-iphone-ipad-on-premises" target="_blank">Consumerization of IT Collides with MEAP’ article last week</a>, I described how to connect iPhones and iPads to Microsoft’s On-Premise infrastructure. In this week’s scenario, I’ll use the picture below to illustrate how iOS utilizes many of Gartner’s Mobile Enterprise Application Platform Critical Capabilities to connect to Microsoft’s Cloud services in Azure:</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2011/10/image1.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://robtiffany.com/wp-content/uploads/2011/10/image_thumb1.png" alt="image" width="596" height="317" border="0" /></a></p>
<p>As you can see from the picture above:</p>
<ol>
<li>For the <strong>Management Tools Critical Capability</strong>, there is no Cloud-based device management solution, policy-enforcement, or software distribution solution from Microsoft for iOS.  As I mentioned in last week’s post, consumer software distribution comes from the App Store and the enterprise equivalent is facilitated via internal web servers and user-clickable URLs.</li>
<li>For both the Client and Server <strong>Integrated Development Environment (IDE) and Multichannel Tool Critical Capability</strong>, iOS uses Visual Studio.  Endpoint development consists of HTML5, ECMAScript 5, and CSS3 delivered by ASP.NET via Web Roles.  WCF REST + JSON Web services can also be created and consumed via Ajax calls from the browser.  On the Cloud side of things, the Windows Azure SDK plugs into Visual Studio and provides iOS developers with everything they need to build Cloud applications. It includes a Cloud emulator to simulate all aspects of Windows Azure and AppFabric on their development computer. In scenarios where native development is required by the customers, the <a href="https://github.com/microsoft-dpe/wa-toolkit-ios" target="_blank">Windows Azure Toolkit for iOS</a> can be used to allow XCode/Objective-C to securely communicate with the Microsoft cloud.</li>
<li>For the cross-platform <strong>Application Client Runtime Critical Capability</strong>, iOS uses the WebKit browser called Safari to provide HTML5 + CSS3 + ECMAScript5 capabilities. Offline storage is important to keep potentially disconnected iPhones and iPads working and this is facilitated by Web Storage which is accessible via JavaScript.</li>
<li>For the<strong> Security Critical Capability</strong>, iOS provides AES 256 hardware encryption as well as Data Protection based on the user’s device passcode for data-at-rest. Data-in-transit is secured via SSL, VPN, and 802.1X.  Auth in the Microsoft cloud is handled via the Windows Azure AppFabric Access Control Service (ACS).</li>
<li>For the<strong> Enterprise Application Integration Tools Critical Capability</strong>, iOS can reach out to servers directly via Web Services or indirectly through the Cloud via the Windows Azure AppFabric Service Bus to connect to other enterprise packages.</li>
<li>The <strong>Multichannel Server Critical Capability</strong> to support any open protocol is handled automatically by Windows Azure. Cross-Platform wire protocols riding on top of HTTP are exposed by Windows Communication Foundation (WCF) and include SOAP, REST and Atompub. Cross-Platform data serialization is also provided by WCF including XML, JSON, and OData. These Multichannel capabilities support thick clients making web service calls as well as thin web clients making Ajax calls. Distributed caching to dramatically boost the performance of any client is provided by Windows Azure AppFabric Caching.</li>
<li>As you might imagine, the <strong>Hosting Critical Capability</strong> is handled by Windows Azure. Beyond providing the most complete solution of any Cloud provider, Windows Azure Connect provides an IPSec-protected connection with your On-Premises network and SQL Azure Data Sync can be used to move data between SQL Server and SQL Azure. This gives you the Hybrid Cloud solution you might be looking for.</li>
<li>For the <strong>Packaged Mobile Apps or Components Critical Capability</strong>, iOS runs cross-platform mobile apps including OneNote, Bing, Tag, and of course the critical ActiveSync component that makes push emails, contacts, calendars, and device management policies possible.</li>
</ol>
<p><a href="http://robtiffany.com/sync-framework/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/attachment/ipad" rel="attachment wp-att-1046"><img class="aligncenter size-full wp-image-1046" title="iPad" src="http://robtiffany.com/wp-content/uploads/2011/09/iPad.png" alt="" width="113" height="144" /></a></p>
<p>While iOS meets many of Gartner’s Critical Capabilities, it doesn’t fare very well when it comes to cloud-based device management.  That being said, this is not a strong area for many mobile endpoints at this stage of the game.</p>
<p>Next week, I’ll cover how Android connects to an On-Premises Microsoft infrastructure.</p>
<p>Best Regards,</p>
<p>Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/consumerization-of-it-collides-with-meap-iphone-ipad-cloud/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sync Framework v4 is now Open Source, and ready to Connect any Device to SQL Server and SQL Azure</title>
		<link>http://robtiffany.com/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/</link>
		<comments>http://robtiffany.com/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/#comments</comments>
		<pubDate>Sun, 11 Sep 2011 20:54:27 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Sync Framework]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Consumerization]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[SQL Server Compact]]></category>
		<category><![CDATA[Sync]]></category>
		<category><![CDATA[Synchronize]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=1014</guid>
		<description><![CDATA[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 &#8230; <a href="http://robtiffany.com/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>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&#8217;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&#8217;s largest organizations over the last decade, data sync has always been a critical ingredient.</p>
<p><a href="http://robtiffany.com/sync-framework/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/attachment/sql-azure_rgb_2" rel="attachment wp-att-1027"><img class="alignright size-medium wp-image-1027" title="SQL Azure" src="http://robtiffany.com/wp-content/uploads/2011/09/SQL-Azure_rgb_2-300x92.png" alt="" width="300" height="92" /></a><a href="http://robtiffany.com/sync-framework/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/attachment/microsoft-sql-server-2008" rel="attachment wp-att-1026"><img class="aligncenter size-medium wp-image-1026" title="SQL Server" src="http://robtiffany.com/wp-content/uploads/2011/09/microsoft-sql-server-2008-300x246.jpg" alt="" width="300" height="246" /></a></p>
<p>The new <strong><a title="Sync Framework Toolkit" href="http://code.msdn.microsoft.com/Sync-Framework-Toolkit-4dc10f0e" target="_blank">Sync Framework Toolkit</a></strong> found on MSDN builds on the existing Sync Framework 2.1&#8242;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 <a title="OData" href="http://www.odata.org/" target="_blank">OData </a>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.</p>
<p><a href="http://robtiffany.com/sync-framework/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/attachment/sync" rel="attachment wp-att-1032"><img class="aligncenter size-full wp-image-1032" title="sync" src="http://robtiffany.com/wp-content/uploads/2011/09/sync.png" alt="" width="256" height="256" /></a>The Sync Framework Toolkit provides all the features enabled by the<a href="http://blogs.msdn.com/b/sync/archive/2010/11/16/sync-framework-4-0-october-2010-ctp-refreshed-on-11-16.aspx">Sync Framework 4.0 October 2010 CTP</a>.  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 <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache 2.0 license</a> and the server-side source code under the <a href="http://mef.codeplex.com/license">MS-LPL license</a>.  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.</p>
<p><a href="http://robtiffany.com/sync-framework/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/attachment/windowsslate" rel="attachment wp-att-1051"><img class="alignleft size-full wp-image-1051" title="WindowsSlate" src="http://robtiffany.com/wp-content/uploads/2011/09/WindowsSlate.png" alt="" width="182" height="115" /></a><a href="http://robtiffany.com/sync-framework/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/attachment/windowsphone" rel="attachment wp-att-1050"><img class="alignleft size-full wp-image-1050" title="WindowsPhone" src="http://robtiffany.com/wp-content/uploads/2011/09/WindowsPhone.png" alt="" width="152" height="153" /></a><a href="http://robtiffany.com/sync-framework/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/attachment/mc55a0_lg_us-en-2" rel="attachment wp-att-1048"><img class="alignleft size-thumbnail wp-image-1048" title="MC55A0_LG_US-EN" src="http://robtiffany.com/wp-content/uploads/2011/09/MC55A0_LG_US-EN1-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://robtiffany.com/sync-framework/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/attachment/html5_logo_512" rel="attachment wp-att-1045"><img class="alignleft size-thumbnail wp-image-1045" title="HTML5_Logo_512" src="http://robtiffany.com/wp-content/uploads/2011/09/HTML5_Logo_512-150x150.png" alt="" width="150" height="150" /></a><a href="http://robtiffany.com/sync-framework/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/attachment/mac" rel="attachment wp-att-1047"><img class="alignleft size-full wp-image-1047" title="Mac" src="http://robtiffany.com/wp-content/uploads/2011/09/Mac.png" alt="" width="184" height="106" /></a><a href="http://robtiffany.com/sync-framework/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/attachment/blackberry" rel="attachment wp-att-1044"><img class="alignleft size-full wp-image-1044" title="Blackberry" src="http://robtiffany.com/wp-content/uploads/2011/09/Blackberry.png" alt="" width="173" height="173" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://robtiffany.com/sync-framework/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/attachment/ipad" rel="attachment wp-att-1046"><img class="alignleft size-full wp-image-1046" title="iPad" src="http://robtiffany.com/wp-content/uploads/2011/09/iPad.png" alt="" width="113" height="144" /></a><a href="http://robtiffany.com/sync-framework/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/attachment/android" rel="attachment wp-att-1043"><img class="alignleft size-full wp-image-1043" title="Android" src="http://robtiffany.com/wp-content/uploads/2011/09/Android.png" alt="" width="154" height="153" /></a><a href="http://robtiffany.com/sync-framework/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/attachment/symbian" rel="attachment wp-att-1049"><img class="alignleft size-full wp-image-1049" title="Symbian" src="http://robtiffany.com/wp-content/uploads/2011/09/Symbian.png" alt="" width="152" height="163" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>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&#8217;m sold!</p>
<p>I think you&#8217;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.</p>
<p>Keep Synching,</p>
<p>Rob</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Consumerization of IT Collides with MEAP: Windows Phone &gt; Cloud</title>
		<link>http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-phone-cloud/</link>
		<comments>http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-phone-cloud/#comments</comments>
		<pubDate>Mon, 29 Aug 2011 21:49:41 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[MEAP]]></category>
		<category><![CDATA[ACS]]></category>
		<category><![CDATA[AppFabric]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Consumerization]]></category>
		<category><![CDATA[Emulator]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IE9]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Isolated Storage]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[SQL Azure Data Sync]]></category>
		<category><![CDATA[SQL Compact]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows phone]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://robtiffany.com/meap/consumerization-of-it-collides-with-meap-windows-phone-cloud</guid>
		<description><![CDATA[In this week’s scenario, I’ll illustrate how Windows Phone utilizes many of Gartner’s Mobile Enterprise Application Platform Critical Capabilities to connect to Microsoft’s Cloud services in Azure <a href="http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-phone-cloud/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><font size="3">In my Consumerization of IT Collides with MEAP article last week, I described how to connect a Windows Phone device to Microsoft’s On-Premise infrastructure. In this week’s scenario, I’ll use the picture below to illustrate how Windows Phone utilizes many of Gartner’s Mobile Enterprise Application Platform Critical Capabilities to connect to Microsoft’s Cloud services in Azure:</font></p>
<p><a href="http://robtiffany.com/wp-content/uploads/2011/08/image2.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://robtiffany.com/wp-content/uploads/2011/08/image_thumb2.png" width="596" height="321" /></a></p>
<p><font size="3">As you can see from the picture above:</font></p>
<ol>
<li><font size="3">For the <strong>Management Tools Critical Capability</strong>, there is no Cloud-based device management solution for Windows Phone.&#160; Targeted and beta software distribution is supported through the Windows Phone Marketplace via Windows Live ID’s and deep links. </font></li>
<li><font size="3">For both the Client and Server <strong>Integrated Development Environment (IDE) and Multichannel Tool Critical Capability</strong>, Windows Phone uses Visual Studio.&#160; The free Windows Phone SDK plugs into Visual Studio and provides developers with everything they need to build mobile applications. It even includes a Windows Phone emulator so developers don’t have to own a phone to develop apps.&#160; On the Cloud side of things, the Windows Azure SDK plugs into Visual Studio and provides developers with everything they need to build Cloud applications. It includes a Cloud emulator to simulate all aspects of Windows Azure on their development computer. </font></li>
<li><font size="3">For the cross-platform <strong>Application Client Runtime Critical Capability</strong>, Windows Phone uses the Silverlight flavor of .NET for thick clients. For thin clients, it uses Internet Explorer 9 to provide HTML5 + CSS3 + ECMAScript5 capabilities. Offline storage is important to keep potentially disconnected mobile clients working and this is facilitated by SQL Server Compact + Isolated Storage for thick clients and Web Storage for thin clients. </font></li>
<li><font size="3">For the<strong> Security Critical Capability</strong>, Windows Phone provides security for 3rd party application data-at-rest via AES 256, data-in-transit via SSL, &amp; Authorization/Authentication via the Windows Azure AppFabric Access Control Service (ACS).</font> </li>
<li><font size="3">For the<strong> Enterprise Application Integration Tools Critical Capability</strong>, Windows Phone can reach out to servers directly via Web Services or indirectly through the Cloud via the Windows Azure AppFabric Service Bus to connect to other enterprise packages. </font></li>
<li><font size="3">The <strong>Multichannel Server Critical Capability</strong> to support any open protocol is handled automatically by Windows Azure. Cross-Platform wire protocols riding on top of HTTP are exposed by Windows Communication Foundation (WCF) and include SOAP, REST and Atompub. Cross-Platform data serialization is also provided by WCF including XML, JSON, and OData.&#160; These Multichannel capabilities support thick clients making web service calls as well as thin web clients making Ajax calls. Distributed caching to dramatically boost the performance of any client is provided by Windows Azure AppFabric Caching. </font></li>
<li><font size="3">As you might imagine, the <strong>Hosting Critical Capability</strong> is handled by Windows Azure. Beyond providing the most complete solution of any Cloud provider, Windows Azure Connect provides an IPSec-protected connection with your On-Premises network and SQL Azure Data Sync can be used to move data between SQL Server and SQL Azure. This gives you the Hybrid Cloud solution you might be looking for. </font></li>
<li><font size="3">For the <strong>Packaged Mobile Apps or Components Critical Capability</strong>, Windows Phone runs cross-platform mobile apps include Office/Lync/IE/Outlook/Bing. </font></li>
</ol>
<p><font size="3">As you can see, Windows Phone meets many of Gartner’s Critical Capabilities, but is missing cloud-based device management and isn’t as strong as Windows 7 in areas of full-device security.</font></p>
<p><font size="3">Next week, I’ll cover how Windows Embedded Handheld (Windows Mobile 6.5.3) connects to an On-Premises Microsoft infrastructure.</font></p>
<p><font size="3">Best Regards,</font></p>
<p><font size="3">Rob</font></p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-phone-cloud/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Consumerization of IT Collides with MEAP: Windows Phone &gt; On Premise</title>
		<link>http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-phone-on-premise/</link>
		<comments>http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-phone-on-premise/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 14:15:59 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Consumerization]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[On-Premises]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Windows phone]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=907</guid>
		<description><![CDATA[In this week’s scenario, I’ll illustrate how Windows Phone utilizes many of Gartner’s Critical Capabilities to connect to Microsoft’s On-Premise infrastructure. <a href="http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-phone-on-premise/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In my Consumerization of IT Collides with MEAP article last week, I described how to connect a Windows 7 device to Microsoft’s Cloud servers in Azure.  In this week’s scenario, I’ll use the picture below to illustrate how Windows Phone utilizes many of Gartner’s Critical Capabilities to connect to Microsoft’s On-Premise infrastructure:</p>
<p><a href="http://robtiffany.com/meap/consumerization-of-it-collides-with-meap-windows-phone-on-premise/attachment/meapwp7onpremise" rel="attachment wp-att-910"><img class="aligncenter size-large wp-image-910" title="MEAPWP7OnPremise" src="http://robtiffany.com/wp-content/uploads/2011/08/MEAPWP7OnPremise-1024x550.png" alt="" width="600" height="322" /></a></p>
<p>As you can see from the picture above:</p>
<ol>
<li>For the <strong>Management Tools Critical Capability</strong>, Windows Phone uses Microsoft Exchange for On-Premise policy enforcement but has no private software distribution equivalent to System Center Configuration Manager 2007.  Targeted and beta software distribution is supported through the Windows Phone Marketplace via Windows Live ID&#8217;s and deep links.</li>
<li>For both the Client and Server <strong>Integrated Development Environment (IDE) and Multichannel Tool Critical Capability</strong>, Windows Phone uses Visual Studio. The free Windows Phone SDK plugs into Visual Studio and provides developers with everything they need to build mobile applications.  It even includes a Windows Phone emulator so developers don&#8217;t have to own a phone to develop apps.</li>
<li>For the cross-platform <strong>Application Client Runtime Critical Capability</strong>, Windows Phone uses the Silverlight flavor of .NET for thick clients. For thin clients, it uses Internet Explorer 9 to provide HTML5 + CSS3 + ECMAScript5 capabilities. Offline storage is important to keep potentially disconnected mobile clients working and this is facilitated by SQL Server Compact + Isolated Storage for thick clients and Web Storage for thin clients.</li>
<li>For the<strong> Security Critical Capability</strong>, Windows Phone provides security for 3rd party application data-at-rest via AES 256, data-in-transit via SSL, &amp; Authorization/Authentication via Active Directory.  Full device encryption or encryption of PIM/Email data is not supported.</li>
<li>For the<strong> Enterprise Application Integration Tools Critical Capability</strong>, Windows Phone can reach out to servers directly via Web Services or indirectly via SQL Server or BizTalk using SSIS/Adapters to connect to other enterprise packages.</li>
<li>The <strong>Multichannel Server Critical Capability</strong> to support any open protocol directly, via Reverse Proxy, or VPN is facilitated by ISA/TMG/UAG/IIS.  Crosss-Platform wire protocols riding on top of HTTP are exposed by Windows Communication Foundation (WCF) and include SOAP, REST and Atompub. Cross-Platform data serialization is also provided by WCF including XML, JSON, and OData.  These Multichannel capabilities support thick clients making web service calls as well as thin web clients making Ajax calls.  Distributed caching to dramatically boost the performance of any client is provided by Windows Server AppFabric Caching.</li>
<li>While the <strong>Hosting Critical Capability</strong> may not be as relevant in an on-premises scenario, Windows Azure Connect provides an IPSec-protected connection to the Cloud and SQL Azure Data Sync can be used to move data between SQL Server and SQL Azure.</li>
<li>For the <strong>Packaged Mobile Apps or Components Critical Capability</strong>, Windows Phone runs cross-platform mobile apps include Office/Lync/IE/Outlook/Bing.</li>
</ol>
<p>As you can see, Windows Phone meets many of Gartner’s Critical Capabilities, but isn&#8217;t as strong as Windows 7 in areas of full-device security and device management.</p>
<p>Next week, I’ll cover how Windows Phone connects to the Cloud.</p>
<p>Best Regards,</p>
<p>Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-phone-on-premise/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Consumerization of IT Collides with MEAP: Windows &gt; Cloud</title>
		<link>http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-cloud/</link>
		<comments>http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-cloud/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 04:51:39 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[MEAP]]></category>
		<category><![CDATA[ACS]]></category>
		<category><![CDATA[ADFS]]></category>
		<category><![CDATA[ADO.NET]]></category>
		<category><![CDATA[AppFabric]]></category>
		<category><![CDATA[Auth]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Azure AppFabric]]></category>
		<category><![CDATA[CIO]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[CoIT]]></category>
		<category><![CDATA[Consumerization]]></category>
		<category><![CDATA[Consumerization of IT]]></category>
		<category><![CDATA[Critical Capabilities]]></category>
		<category><![CDATA[CTO]]></category>
		<category><![CDATA[Device Management]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[ERP]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IE9]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Integrated Development Environment]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[IT Director]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[MDM]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[OData]]></category>
		<category><![CDATA[On-Premises]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[SOAP]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[SQL Azure Data Sync]]></category>
		<category><![CDATA[Sync]]></category>
		<category><![CDATA[Sync Framework]]></category>
		<category><![CDATA[Web Role]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[Web Storage]]></category>
		<category><![CDATA[WIF]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Intune]]></category>
		<category><![CDATA[Worker Role]]></category>

		<guid isPermaLink="false">http://robtiffany.com/meap/consumerization-of-it-collides-with-meap-windows-cloud</guid>
		<description><![CDATA[In my Consumerization of IT Collides with MEAP article last week, I described how to connect a Windows 7 device to Microsoft’s On-Premises servers.&#160; Whether you’re talking about a Windows 7 tablet or laptop, I showed that you can follow &#8230; <a href="http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-cloud/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In my Consumerization of IT Collides with MEAP article last week, I described how to connect a Windows 7 device to Microsoft’s On-Premises servers.&#160; Whether you’re talking about a Windows 7 tablet or laptop, I showed that you can follow the Garter MEAP Critical Capabilities to integrate with our stack in a consistent manner.&#160; Remember, the ability to support multiple mobile apps across multiple mobile platforms, using the same software stack is a key tenant to MEAP.&#160; It’s all about avoiding point solutions.</p>
<p>If you need a refresher on the Gartner MEAP Critical Capabilities, check out: <a title="http://robtiffany.com/meap/consumerization-of-it-collides-with-meap-windows-on-premises" href="http://robtiffany.com/meap/consumerization-of-it-collides-with-meap-windows-on-premises">http://robtiffany.com/meap/consumerization-of-it-collides-with-meap-windows-on-premises</a>&#160;</p>
<p>In this week’s scenario, I’ll use the picture below to illustrate how Mobile versions of Windows 7 in the form of slates, laptops, and tablets utilize some or all of Gartner’s Critical Capabilities to connect to Microsoft’s Cloud infrastructure:</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2011/08/image1.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://robtiffany.com/wp-content/uploads/2011/08/image_thumb1.png" width="596" height="318" /></a></p>
<p>As you can see from the picture above:</p>
<ol>
<li>For the <strong>Management Tools Critical Capability</strong>, Windows 7 uses Windows Intune for Cloud-based device management and software distribution. </li>
<li>For both the Client and Server <strong>Integrated Development Environment (IDE) and Multichannel Tool Critical Capability</strong>, Windows 7 uses Visual Studio. The Windows Azure SDK plugs into Visual Studio and provides developers with everything they need to build Cloud applications.&#160; It even includes a Cloud emulator to simulate all aspects of Windows Azure on their development computer. </li>
<li>For the cross-platform <strong>Application Client Runtime Critical Capability</strong>, Windows 7 uses .NET (Silverlight/WPF/WinForms) for thick clients. For thin clients, it uses Internet Explorer 9 to provide HTML5 + CSS3 + ECMAScript5 capabilities. Offline storage is important to keep potentially disconnected mobile clients working and this is facilitated by SQL Server Compact + Isolated Storage for thick clients and Web Storage for thin clients. </li>
<li>For the<strong> Security Critical Capability</strong>, Windows 7 provides security for data at rest via Bitlocker, data in transit via SSL, &amp; Authorization/Authentication via the Windows Azure AppFabric Access Control Serivce (ACS). </li>
<li>For the<strong> Enterprise Application Integration Tools Critical Capability</strong>, Windows 7 can reach out to servers directly via Web Services or indirectly through the Cloud via the Windows Azure AppFabric Service Bus to connect to other enterprise packages. </li>
<li>The <strong>Multichannel Server Critical Capability</strong> to support any open protocol is handled automatically by Windows Azure. Crosss-Platform wire protocols riding on top of HTTP are exposed by Windows Communication Foundation (WCF) and include SOAP, REST and Atompub. Cross-Platform data serialization is also provided by WCF including XML, JSON, and OData. Cross-Platform data synchronization if provided by the Sync Framework. These Multichannel capabilities support thick clients making web service calls as well as thin web clients making Ajax calls. Distributed caching to dramatically boost the performance of any client is provided by Windows Azure AppFabric Caching. </li>
<li>As you might imagine, the <strong>Hosting Critical Capability</strong> is knocked out of the park with Windows Azure.&#160; Beyond providing the most complete solution of any Cloud provider, Windows Azure Connect provides an IPSec-protected connection with your On-Premises network and SQL Azure Data Sync can be used to move data between SQL Server and SQL Azure.&#160; This gives you the Hybrid Cloud solution you might be looking for. </li>
<li>For the <strong>Packaged Mobile Apps or Components Critical Capability</strong>, Windows 7 runs cross-platform mobile apps include Office/Lync/IE/Outlook/Bing. </li>
</ol>
<p>As you can see from this and last week’s article, Windows 7 meets all of Gartner’s Critical Capabilities whether it’s connecting to Microsoft’s On-Premises or Cloud servers and infrastructure.&#160; They great takeaway from the picture above, is Windows 7 only needs to know how to integrate its apps with WCF in the exact same way as is does in the On-Premises scenario.&#160; Windows developers can focus on Windows without having to concern themselves with the various options provided by Windows Azure.&#160; Cloud developers just need to provide a WCF interface to the mobile clients. </p>
<p>When an employee walks in the door with a wireless Windows 7 Slate device, you can rest assured that you can make them productive via Windows Azure without sacrificing any of the Gartner Critical Capabilities.</p>
<p>Next week, I’ll cover how Windows Phone connects to an On-Premises Microsoft infrastructure.</p>
<p>Best Regards,</p>
<p>Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-cloud/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Consumerization of IT Collides with MEAP: Windows &gt; On-Premises</title>
		<link>http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-on-premises/</link>
		<comments>http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-on-premises/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 21:23:07 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[MEAP]]></category>
		<category><![CDATA[CIO]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[CoIT]]></category>
		<category><![CDATA[Consumerization]]></category>
		<category><![CDATA[Consumerization of IT]]></category>
		<category><![CDATA[Critical Capabilities]]></category>
		<category><![CDATA[CTO]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[ERP]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Integrated Development Environment]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[IT Director]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[On-Premises]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://robtiffany.com/meap/consumerization-of-it-collides-with-meap-windows-on-premises</guid>
		<description><![CDATA[The Consumerization of IT is an unstoppable force where employees are bringing every kind of mobile device imaginable into the office expecting to be productive.  Over the course of the next 20 articles, I’ll describe how IT professionals can use &#8230; <a href="http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-on-premises/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The Consumerization of IT is an unstoppable force where employees are bringing every kind of mobile device imaginable into the office expecting to be productive.  Over the course of the next 20 articles, I’ll describe how IT professionals can use the principles of Gartner MEAP to connect any type of mobile device to Microsoft’s On-Premises and Cloud servers.</p>
<p>Gartner specifies the following Critical Capabilities that must be addressed in order for a given product or stack of products to be considered a Mobile Enterprise Application Platform (MEAP):</p>
<ul>
<li><strong>Integrated Development Environment</strong><br />
<blockquote><p>A dedicated environment or plug-in for composing backend server and client side logic, including UI and UX</p></blockquote>
</li>
<li><strong>Application Client Runtime</strong><br />
<blockquote><p>The client runtime logic for the application, either in native format or packaged within a container.</p></blockquote>
</li>
<li><strong>Enterprise Application Integration Tools</strong><br />
<blockquote><p>Tools for integration of mobile server with back end systems, both bespoke and purchased apps or application suites.</p></blockquote>
</li>
<li><strong>Packaged Mobile Apps or Components</strong><br />
<blockquote><p>Self standing mobile applications or components.</p></blockquote>
</li>
<li><strong>Multichannel Tools or Servers</strong><br />
<blockquote><p>Tools that allow for &#8220;write once, run anywhere&#8221; thick or rich mobile clients, cross compilers or environments or platforms that allow business logic to be supported across thin, thick, and rich mobile architectures.</p></blockquote>
</li>
<li><strong>Management Tools</strong><br />
<blockquote><p>Tools for provisioning, supporting, debugging, updating or decommissioning mobile applications.</p></blockquote>
</li>
<li><strong>Security </strong><br />
<blockquote><p>Tools for ensuring the security and privacy of enterprise data on board the device, while transiting through wired or wireless networks, through peripherals, and with backend systems and integration packages.</p></blockquote>
</li>
<li><strong>Hosting</strong><br />
<blockquote><p>The ability to host all development, provisioning, management functions, and optionally corporate data.</p></blockquote>
</li>
</ul>
<ul>In this first scenario, I’ll use the picture below to illustrate how Mobile versions of Windows 7 in the form of slates, laptops, and tablets utilize some or all of Gartner’s Critical Capabilities to connect to an On-Premise Microsoft infrastructure:</ul>
<p><a href="http://robtiffany.com/wp-content/uploads/2011/08/image.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://robtiffany.com/wp-content/uploads/2011/08/image_thumb.png" alt="image" width="600" height="323" border="0" /></a></p>
<p>As you can see from the picture above, Windows 7:</p>
<ol>
<li>For the <strong>Management Tools Critical Capability</strong>, Windows 7 uses System Center Configuration Manager (SCCM) 2007 for on-premises device management and software distribution.</li>
<li>For both the Client and Server <strong>Integrated Development Environment (IDE) and Multichannel Tool Critical Capability</strong>, Windows 7 uses Visual Studio.</li>
<li>For the cross-platform <strong>Application Client Runtime Critical Capability</strong>, Windows 7 uses .NET (Silverlight/WPF/WinForms) for thick clients.  For thin clients, it uses Internet Explorer 9 to provide HTML5 + CSS3 + ECMAScript5 capabilities.  Offline storage is important to keep potentially disconnected mobile clients working and this is facilitated by SQL Server Compact + Isolated Storage for thick clients and Web Storage for thin clients.</li>
<li>For the<strong> Security Critical Capability</strong>, Windows 7 provides security for data at rest via Bitlocker, data in transit via SSL+VPN, data in the database via RSA/AES, &amp; Authorization/Authentication via Active Directory.</li>
<li>For the<strong> Enterprise Application Integration Tools Critical Capability</strong>, Windows 7 can reach out to servers directly via Web Services or indirectly via SQL Server or BizTalk using SSIS/Adapters/Sync to connect to other enterprise packages.</li>
<li>The <strong>Multichannel Server Critical Capability</strong> to support any open protocol directly, via Reverse Proxy, or VPN is facilitated by ISA/TMG/UAG/IIS.  Crosss-Platform wire protocols riding on top of HTTP are exposed by Windows Communication Foundation (WCF) and include SOAP, REST and Atompub. Cross-Platform data serialization is also provided by WCF including XML, JSON, and OData. Cross-Platform data synchronization if provided by the Sync Framework.  These Multichannel capabilities support thick clients making web service calls as well as thin web clients making Ajax calls.  Distributed caching to dramatically boost the performance of any client is provided by Windows Server AppFabric Caching.</li>
<li>While the <strong>Hosting Critical Capability</strong> may not be as relevant in an on-premises scenario, Windows Azure Connect provide an IPSec-protected connection to the Cloud and SQL Azure Data Sync can be used to move data between SQL Server and SQL Azure.</li>
<li>For the <strong>Packaged Mobile Apps or Components Critical Capability</strong>, Windows 7 runs cross-platform mobile apps include Office/Lync/IE/Outlook/Bing.</li>
</ol>
<p>It should come as no surprise that Windows 7 has a compelling and complete MEAP story to address the issues surrounding the Consumerization of IT (CoIT) when an employee walks in the door with a wireless Windows 7 Slate device.</p>
<p>Next week, I’ll cover how Windows 7 connects to the Cloud.</p>
<p>Best Regards,</p>
<p>Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/consumerization-of-it-collides-with-meap-windows-on-premises/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Confronting the Consumerization of IT with Microsoft MEAP</title>
		<link>http://robtiffany.com/confronting-the-consumerization-of-it-with-microsoft-meap/</link>
		<comments>http://robtiffany.com/confronting-the-consumerization-of-it-with-microsoft-meap/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 06:42:46 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[.NET Compact Framework]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mobile Middleware]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=509</guid>
		<description><![CDATA[CIOs are asking for help in confronting the tidal wave of mobile devices entering the enterprise.  IT departments have raised the white flag as attempts to block consumer-focused smartphones and tablets have failed.  The Consumerization of IT has been a &#8230; <a href="http://robtiffany.com/confronting-the-consumerization-of-it-with-microsoft-meap/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">CIOs are asking for help in confronting the tidal wave of mobile devices entering the enterprise.  IT departments have raised the white flag as attempts to block consumer-focused smartphones and tablets have failed.  The Consumerization of IT has been a growing trend fueled by cloud-delivered services and compelling mobile devices with wireless capabilities.  This trend snowballs more and more each year, meaning it&#8217;s time to embrace it rather than put your head in the sand.  Microsoft MEAP is the answer.  I&#8217;ve been talking to you about how Microsoft aligns with Gartner&#8217;s Mobile Enterprise Application Platform (MEAP) for years now, and I wanted to update you on how we&#8217;ve evolved with respect to Gartner&#8217;s Critical Capabilities.  As a refresher, MEAP is Software + Services that allow IT orgs to extend corporate apps to mobile employees and business partners.  This platform must support:</p>
<ol>
<li>
<div style="text-align: left;">Multiple mobile applications</div>
</li>
<li>
<div style="text-align: left;">Multiple mobile operating systems</div>
</li>
<li>
<div style="text-align: left;">Multiple backend systems maximizing ROI vs. tactical solutions</div>
</li>
</ol>
<p style="text-align: left;">It&#8217;s already a $1 Billion business and 95% of orgs will choose MEAP over point solutions by 2012.   The picture below represents some of our familiar cloud and on-premise servers on top and a wide spectrum of mobile devices from Microsoft and other manufacturers on the bottom: </p>
<p style="text-align: left;"><a href="http://robtiffany.com/wp-content/uploads/2011/01/MEAP7.png"><img class="aligncenter size-full wp-image-512" title="Microsoft MEAP" src="http://robtiffany.com/wp-content/uploads/2011/01/MEAP7.png" alt="Microsoft MEAP" width="1032" height="542" /></a></p>
<p>Let&#8217;s do a quick rundown of Gartner&#8217;s Critical Capability list so you can see how we rise to their challenge:</p>
<ol>
<li>Integrated Development Environment for composing server and client-side logic: Microsoft Visual Studio supports on-premise and cloud server development and targets clients such as Windows, Windows Phone 7, Windows Mobile, the Web, Nokia S60, and the Macintosh. </li>
<li>Application Client Runtime: Various flavors of Microsoft .NET (Silverlight, .NET, Compact Framework) run on <a title="Windows Azure" href="http://www.microsoft.com/windowsazure/" target="_blank">Azure</a>, Windows Server, Windows, the Mac, Windows Phone 7, Windows Mobile, and Nokia S60.  Guess what, you can use <a title="MonoTouch" href="http://monotouch.net/" target="_blank">MonoTouch </a>to take your .NET skills to the iPhone, iPad and iPod Touch.  <a title="MonoDroid" href="http://monodroid.net/" target="_blank">MonoDroid </a>is in the preview stage and will bring .NET to Android phones and tablets in the future.</li>
<li>Enterprise Application Integration Tools: Connecting mobile devices to a variety of backend packages like Dynamics or SAP is critical.  Microsoft supports this integration in the cloud via Windows Azure AppFabric and on-premise though SQL Server Integration Services and dozens of adapters.  Tools like our Business Intelligence Dev Studio make EAI a repeatable, drag and drop exercise.</li>
<li>Packaged Mobile Apps: Microsoft delivers the Office suite across Windows, Windows Phone 7, Windows Mobile, the Web and the Mac.  Office will be coming to Nokia in the future and One Note just arrived on iOS.</li>
<li>Multichannel Servers: Windows Server + SQL Server on-premise and Windows Azure + SQL Azure in the cloud represents Microsoft&#8217;s mobile middleware platforms.  Windows Communication Foundation (WCF) delivers cross-platform SOAP &amp; REST Web Services and cross-platform wire protocols like XML, JSON and OData.</li>
<li>Software Distribution: Microsoft System Center Configuration Manager supports pushing software out to Windows and Windows Mobile.  Windows Phone 7 has Marketplace for this function.</li>
<li>Security: Data-in-transit is secured by SSL across all platforms.  Data-at-Rest security for apps is facilitated on Windows by BitLocker, Windows Mobile through encryption policies and Windows Phone 7 through <a title="Windows Phone 7 Encryption" href="http://robtiffany.com/windows-phone-7/dont-forget-to-encrypt-your-windows-phone-7-data" target="_blank">AESManaged </a>in Silverlight.  Cross-platform auth is facilitated by Microsoft Windows Identity Foundation so devices can access resources via a Windows Live ID, Facebook, Google, Yahoo, ADFS and others.</li>
<li>Hosting: It goes without saying the Microsoft knocks the hosting requirement out of the park with Azure.</li>
</ol>
<p>So what do I want you to take away from all this?</p>
<p>Microsoft has a great MEAP stack comprised of servers and skillsets you probably already have at your company.  You get maximum reuse on our servers and in our cloud which means you save money when it&#8217;s time to build and deploy your second, third and fourth mobile app without new training, new servers, and different technologies each time.  I hope you&#8217;re pleasantly surprised to see that our .NET application runtime lives on so many mobile platforms.  Again, this means that your existing .NET skills can be reused on Microsoft devices, the Web, Mac, Nokia and even the iPad.  Who knew?  I&#8217;m looking forward to bring Android into the .NET camp as well. </p>
<p>It&#8217;s a brave new world of disparate devices connected to the cloud.  Companies have no choice but to target most all of them when constructing B2C apps to sell products or bring in new customers.  They&#8217;ve also found that this is the case in supporting their own employees and business partners with B2E and B2B apps.  No single company has so many different skillsets and competencies to pull this off.</p>
<p>There is one thing that most companies do have though.  A Microsoft infrastructure in their data center or the cloud, Windows on desktops, laptops and tablets, plus teams of .NET developers.  As I&#8217;ve just shown you, these .NET developers armed with Visual Studio or MonoTouch can be unleashed to allow you to reach almost every mobile platform.  This dramatically reduces the amount of extra Java and Eclipse skills that you&#8217;ll consider bringing in-house or outsourcing in order to target platforms like Android or the Blackberry.  Through the magic of WCF, all these platforms can connect to your critical Microsoft back-end resources and beyond.  You save money on training, use the servers you already have, resuse business logic and get to market faster.  No matter what platform you need to target, Microsoft and its partners want to help you reach your goals.</p>
<p>Looks like you&#8217;re already ahead of the game in taking on the Consumerization of IT.</p>
<p>-Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/confronting-the-consumerization-of-it-with-microsoft-meap/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SQL Server Compact 4.0 Lands on the Web</title>
		<link>http://robtiffany.com/sql-server-compact-4-0-lands-on-the-web/</link>
		<comments>http://robtiffany.com/sql-server-compact-4-0-lands-on-the-web/#comments</comments>
		<pubDate>Tue, 18 Jan 2011 06:31:33 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[SQL Server Compact]]></category>
		<category><![CDATA[.NET Compact Framework]]></category>
		<category><![CDATA[ADO.NET]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Merge Replication]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[RDA]]></category>
		<category><![CDATA[Remote Data Access]]></category>
		<category><![CDATA[SQL CE]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SSCE]]></category>
		<category><![CDATA[Sync]]></category>
		<category><![CDATA[Sync Framework]]></category>
		<category><![CDATA[Synchronize]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows CE]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[Windows phones]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=486</guid>
		<description><![CDATA[With the new version 4.0, the little-database-that-could has grown up into a powerful server database ready to take on the web. <a href="http://robtiffany.com/sql-server-compact-4-0-lands-on-the-web/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A decade has passed since I first started using SQL CE on my Compaq iPAQ.  What started as a great upgrade to Pocket Access turned into the ultimate embedded database for Windows CE, the Pocket PC, Windows Mobile and Windows Phones.  The one-two punch of Outlook Mobile synchronizing email with Exchange and SQL Server Compact synchronizing data with SQL Server helped set the mobile enterprise on fire.  In 2005, version 3.0 supported Windows Tablets and progressive enhancements to the code base led to full Windows support on both x86 and x64 platforms.  With the new version 4.0, the little-database-that-could has grown up into a powerful server database ready to take on the web. </p>
<p>We&#8217;ve come a long way and you&#8217;re probably wondering what qualifies this new embedded database to take on the Internet:</p>
<ul>
<li>Native support for x64 Windows Servers</li>
<li>Virtual memory usage has been optimized to ensure the database can support up to 256 open connections &#8211; (Are you actually using 256 pooled connections with your &#8220;Big&#8221; database today?)</li>
<li>Supports databases up to 4 GB in size &#8211; (Feel free to implement your own data sharding scheme<a href="http://robtiffany.com/wp-content/uploads/2011/01/sqlserver_sql_server_2008_logo.png"><img class="alignright size-medium wp-image-496" title="SQL Server Compact" src="http://robtiffany.com/wp-content/uploads/2011/01/sqlserver_sql_server_2008_logo-300x246.png" alt="SQL Server Compact" width="180" height="148" /></a>)</li>
<li>Developed, stress-tested, and tuned to support ASP.NET web applications</li>
<li>Avoids the interprocess communications performance hit by running in-process with your web application</li>
<li>Row-level locking to boost concurrency</li>
<li>Step up to Government + Military grade security SHA2 algorithm to secure data with FIPS compliance</li>
<li>Enhanced data reliability via true atomicity, consistency, isolation, and durability (ACID) support</li>
<li>Transaction support to commit and roll back grouped changes</li>
<li>Full referential integrity with cascading deletes and updates</li>
<li>Support ADO.NET Entity Framework 4 &#8211; (Do I hear WCF Data Services?)</li>
<li>Paging queries are supported via T-SQL syntax to only return the data you actually need</li>
</ul>
<p>Wow, that&#8217;s quite a list!  SQL Server Compact 4.0 databases are easily developed using the new WebMatrix IDE or through Visual Studio 2010 SP1.  I&#8217;m loving the new ASP.NET Web Pages.  It reminds me of the good old days of building web applications with Classic ASP back in the 90&#8242;s with Visual InterDev and Homesite.</p>
<p>What about Mobility?</p>
<p>Since SQL Server Compact owes its heritage to mobile and embedded versions of Windows, you might be wanting to know what our story is there.  The good news is that you can build and deploy v4.0 databases on Windows XP, Windows Vista, and Windows 7.  If you want to implement an occasionally-connected solution that utilizes the Sync Framework, Remote Data Access (RDA), or Merge Replication, you&#8217;ll need to stick with SQL Server Compact 3.5 SP2.  Time and resource-constraints prevented the Compact team from enabling these features.  Luckily, single-user WPF/WinForms database applications running on Windows Slates, laptops and Windows Embedded Handheld devices will work just fine with the v3.5 SP2 runtime.  Get a jumpstart with this by pickup up &#8220;Enterprise Data Synchronization with Microsoft SQL Server 2008 and SQL Server Compact 3.5 Mobile Merge Replication&#8221; at   <a href="http://www.amazon.com/Enterprise-Synchronization-Microsoft-Compact-Replication/dp/0979891213/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1281715114&amp;sr=1-1">http://www.amazon.com/Enterprise-Synchronization-Microsoft-Compact-Replication/dp/0979891213/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1281715114&amp;sr=1-1</a> to start building those MEAP solutions.</p>
<p>With the tidal wave of Windows Slates hitting the market, a secure, powerful mobile database that allows users to work offline and syncs with SQL Server is definitely going to be a hot item!</p>
<p>So run, don&#8217;t walk to the Microsoft Download site to download the Next-Gen database for the web:</p>
<p><a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=033cfb76-5382-44fb-bc7e-b3c8174832e2">http://www.microsoft.com/downloads/en/details.aspx?FamilyID=033cfb76-5382-44fb-bc7e-b3c8174832e2</a></p>
<p>If you need to support occasionally-connected mobile applications with sync capabilities on muliple Windows platforms, download SQL Server Compact 3.5 SP2:</p>
<p><a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e497988a-c93a-404c-b161-3a0b323dce24">http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e497988a-c93a-404c-b161-3a0b323dce24</a></p>
<p>Keep Syncing,</p>
<p>Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/sql-server-compact-4-0-lands-on-the-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Windows Phone 7 Mobile Enterprise Application Platform (MEAP) Tech Ed Video</title>
		<link>http://robtiffany.com/the-windows-phone-7-mobile-enterprise-application-platform-meap-tech-ed-video/</link>
		<comments>http://robtiffany.com/the-windows-phone-7-mobile-enterprise-application-platform-meap-tech-ed-video/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 21:11:29 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[Windows Phone 7 Developer Tools]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile Middleware]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[Sync Framework]]></category>
		<category><![CDATA[Visual Studio 2010 Express for Windows Phone]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=395</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object class="player" width="645" height="363" type="application/x-silverlight-2" data="data:application/x-silverlight-2,"><param value="http://www.msteched.com/ClientBin/players/VideoPlayer2009_03_27.xap" name="source" /><param value="m=http://ecn.channel9.msdn.com/o9/te/Europe/2010/wmv/wph212-lnc.wmv,thumbnail=http://www.msteched.com/Skins/TechEdOnline/Styles/images/DefaultPlayerBackground.png,autohide=true,showembed=true" name="initParams" /><param value="#00000000" name="background" /><param name="minRuntimeVersion" value="3.0.50106.0" /><param name="windowless" value="true" /><param name="enableGPUAcceleration" value="true" /><param name="autoUpgrade" value="true" /><a href="http://go.microsoft.com/fwlink/?LinkID=149156&#038;v=3.0.50106.0" style="text-decoration:none"><br />
	  <img src="http://www.msteched.com/Skins/TechEdOnline/Styles/images/NoSilverlight.jpg" alt="Get Microsoft Silverlight" style="border-style:none"/><br />
  </a><br />
</object></p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/the-windows-phone-7-mobile-enterprise-application-platform-meap-tech-ed-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://ecn.channel9.msdn.com/o9/te/Europe/2010/wmv/wph212-lnc.wmv" length="65167819" type="video/asf" />
		</item>
		<item>
		<title>Come and Meet the Windows Phone 7 Team @ Tech Ed Europe 2010</title>
		<link>http://robtiffany.com/come-and-meet-the-windows-phone-7-team-tech-ed-europe-2010/</link>
		<comments>http://robtiffany.com/come-and-meet-the-windows-phone-7-team-tech-ed-europe-2010/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 15:52:10 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[Mobile Middleware]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Sync]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Visual Studio 2010 Express for Windows Phone]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=369</guid>
		<description><![CDATA[Do you have a burning question related to Windows Phone?  Are you unsure, confused or need more information?  Do you have feedback you want to share?  Whatever your motivation, this session is not to be missed.  For one time only &#8230; <a href="http://robtiffany.com/come-and-meet-the-windows-phone-7-team-tech-ed-europe-2010/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>Do you have a burning question related to <strong>Windows Phone</strong>?  Are you unsure, confused or need more information?  Do you have feedback you want to share?  Whatever your motivation, this session is not to be missed.  For one time only at Tech Ed Europe 2010, you will have virtually all the Windows Phone speakers in one room to answer your questions, listen to your feedback and discuss anything Windows Phone 7!  This session has proven to be very lively in the past and with such a great platform to talk about, we expect it to be even more so this year!</div>
<p></p>
<div>Come spend some time with <strong>me</strong>, <strong>Augusto Valdez</strong>, <strong>Daniel Bouie</strong>, <strong>Jaime Rodriguez</strong>, <strong>Larry Lieberman</strong>, and <strong>Maarten Struys</strong> at session <strong>WPH117-IS</strong>  next week in <strong>Berlin at <a href="http://europe.msteched.com/default.aspx" target="_blank">Tech Ed Europe 2010</a></strong>!</div>
<div>-Rob</div>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/come-and-meet-the-windows-phone-7-team-tech-ed-europe-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Windows Phone 7 Mobile Enterprise Application Platform (MEAP) @ Tech Ed Europe 2010</title>
		<link>http://robtiffany.com/the-windows-phone-7-mobile-enterprise-application-platform-meap-tech-ed-europe-2010/</link>
		<comments>http://robtiffany.com/the-windows-phone-7-mobile-enterprise-application-platform-meap-tech-ed-europe-2010/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 18:18:53 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile Middleware]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Sync]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=364</guid>
		<description><![CDATA[A Mobile Enterprise Application Platform (MEAP) allows corporate IT departments to support multiple mobile applications on a single platform. Gartner states that this market currently tops $1 billion, and forecasts that 95% of the world&#8217;s organizations will standardize on a &#8230; <a href="http://robtiffany.com/the-windows-phone-7-mobile-enterprise-application-platform-meap-tech-ed-europe-2010/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A Mobile Enterprise Application Platform (MEAP) allows corporate IT departments to support multiple mobile applications on a single platform. Gartner states that this market currently tops $1 billion, and forecasts that 95% of the world&#8217;s organizations will standardize on a single MEAP offering by 2012. Companies looking for a better ROI are moving to reusable platforms instead of building tactical, ad-hoc mobile solutions that support only a single app.</p>
<p>Attendees of this session will learn how to save money by steering away from point solutions and moving on to Microsoft&#8217;s MEAP stack. Come see what Microsoft&#8217;s Next-Gen Mobile Enterprise Application Platform looks like, and learn how it will support the cloud and a broader range of mobile platforms and operating systems, including Windows Phone 7.</p>
<div>Come check out session <strong>WPH212-LNC</strong> and I’ll see you next week in <strong>Berlin at <a href="http://europe.msteched.com/default.aspx" target="_blank">Tech Ed Europe 2010</a></strong>!</div>
<p>-Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/the-windows-phone-7-mobile-enterprise-application-platform-meap-tech-ed-europe-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Discover the future of Windows Phone 7 in the Enterprise at Tech Ed North America 2010</title>
		<link>http://robtiffany.com/discover-the-future-of-windows-phone-7-in-the-enterprise-at-tech-ed-north-america-2010/</link>
		<comments>http://robtiffany.com/discover-the-future-of-windows-phone-7-in-the-enterprise-at-tech-ed-north-america-2010/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 01:51:00 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[Windows phone]]></category>
		<category><![CDATA[.NET Compact Framework]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[iPAQ]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[Pocket PC]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[ROI]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server Compact]]></category>
		<category><![CDATA[Tech Ed]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://robtiffany.com/windows-phone/discover-the-future-of-windows-phone-7-in-the-enterprise-at-tech-ed-north-america-2010</guid>
		<description><![CDATA[Ten years ago, we created the Pocket PC and Compaq launched the iPAQ. This would become the most compelling Mobile Enterprise Application Platform of the last decade.&#160; In 2006 I created the Windows Mobile Line of Business Accelerator to help &#8230; <a href="http://robtiffany.com/discover-the-future-of-windows-phone-7-in-the-enterprise-at-tech-ed-north-america-2010/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2>Ten years ago, we created the Pocket PC and Compaq launched the iPAQ. </h2>
</p>
<h4>This would become the most compelling Mobile Enterprise Application Platform of the last decade.&#160; In 2006 I created the Windows Mobile Line of Business Accelerator to help jumpstart the efforts of corporate developers + enterprise ISVs with advanced tools and technologies like the .NET Compact Framework, SQL Server Compact and Visual Studio.</h4>
<p>&#160;</p>
<h4>It’s a new decade and we’ve created the most powerful Mobile Enterprise Application Platform ever with Windows Phone 7.&#160; Next week at Tech Ed North America 2010, I will begin the process of jumpstarting your enterprise development efforts again with Silverlight, WCF, Azure and Visual Studio 2010.&#160; Give yourself an edge and come check out my sessions:</h4>
<p>&#160;</p>
<h2>Developing Occasionally Connected Applications for Windows Phone 7</h2>
<h4>The Silverlight development environment has proven itself to be a rich, capable, and adaptable runtime that has reached across platforms to support Windows, the Mac and the Web. Silverlight has now become the application platform for Windows Phone 7, which is great news for new and existing Silverlight developers looking to support this exciting new phone platform. To ensure the best experience for mobile users, apps built for Windows Phone 7 must implement an occasionally-connected pattern of development that Silverlight developers for the other platforms may find unfamiliar. In this session, learn how to build mobile apps that adjust their behavior based on changing network conditions. Also learn how to conquer unreliable wireless networks by implementing RESTful principles to ensure your messages are both compact and fast. Then take those WCF REST services and use them to retrieve database tables, rows, and columns in order to drive the behavior of your mobile applications. Finally, learn how to build an in-memory database that you can query with LINQ and save its data to Isolated Storage to ensure that your Windows Phone apps keep working regardless of network conditions.</h4>
<p>&#160;</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2010/06/ContosoBottling.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="ContosoBottling" border="0" alt="ContosoBottling" src="http://robtiffany.com/wp-content/uploads/2010/06/ContosoBottling_thumb.png" width="360" height="601" /></a>&#160;</p>
<h2>Microsoft’s Next Generation Mobile Enterprise Application Platform (MEAP)</h2>
<h4>A Mobile Enterprise Application Platform (MEAP) allows corporate IT departments to support multiple mobile applications on a single platform. Gartner states that this market currently tops $1 billion and forecasts that 95% of the world&#8217;s organizations will standardize on a single MEAP offering by 2012. Companies looking for a better ROI are moving to reusable platforms instead of building tactical, ad-hoc mobile solutions that support only a single app. Attendees of this session will learn how to save money by steering away from point solutions and on to Microsoft&#8217;s MEAP stack. Come see what Microsoft&#8217;s Next-Gen Mobile Enterprise Application Platform looks like and learn how it will support a broader range of mobile platforms and operating systems including Windows Phone 7 and Azure.</h4>
<p>&#160;</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2010/06/image.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://robtiffany.com/wp-content/uploads/2010/06/image_thumb.png" width="624" height="401" /></a></p>
<p>&#160;</p>
<h4>See you in New Orleans!</h4>
<h4>- Rob</h4>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/discover-the-future-of-windows-phone-7-in-the-enterprise-at-tech-ed-north-america-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mobile Merge Replication Performance and Scalability Cheat Sheet</title>
		<link>http://robtiffany.com/mobile-merge-replication-performance-and-scalability-cheat-sheet/</link>
		<comments>http://robtiffany.com/mobile-merge-replication-performance-and-scalability-cheat-sheet/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 21:06:00 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Sync]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Distributor]]></category>
		<category><![CDATA[Enterprise Data Synchronization]]></category>
		<category><![CDATA[High Availability]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Internet Information Services]]></category>
		<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Merge Replication]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[Mobile Middleware]]></category>
		<category><![CDATA[Publication]]></category>
		<category><![CDATA[Publisher]]></category>
		<category><![CDATA[SQL CE]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server Compact]]></category>
		<category><![CDATA[SSCE]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Subscriber]]></category>
		<category><![CDATA[Synchronize]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Windows phone]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://robtiffany.com/sql-server-compact/meap-mobile-merge-replication-performance-and-scalability-cheat-sheet</guid>
		<description><![CDATA[If your Mobile Enterprise Application Platform (MEAP) is using SQL Server Merge Replication to provide the mobile middleware and reliable wireless wire protocol for SQL Server Compact (SSCE) running on Windows Mobile 5/6.x devices + Windows XP/Vista/7 laptops, desktops and tablets; below is a guide to help you build the fastest, most scalable systems: <a href="http://robtiffany.com/mobile-merge-replication-performance-and-scalability-cheat-sheet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If your Mobile Enterprise Application Platform (MEAP) is using SQL Server <em><strong>Merge Replication</strong></em> to provide the mobile middleware and reliable wireless wire protocol for SQL Server Compact (SSCE) running on Windows Mobile and Windows Embedded Handheld devices + Windows XP/Vista/7 tablets, laptops, desktops, slates, and netbooks; below is a guide to help you build the fastest, most scalable systems:</p>
<h2>Active Directory</h2>
<ul>
<li>Since your clients will be passing in their Domain\username + password credentials when they sync, both IIS and SQL Server will make auth requests of the Domain Controller. Ensure that you have at least a primary and backup Domain Controller, that the NTDS.dit disk drives are big enough to handle the creation of a large number of new AD DS objects (mobile users and groups), and that your servers have enough RAM to cache all those objects in memory.</li>
</ul>
<h2>Database Schema</h2>
<ul>
<li>Ensure your schema is sufficiently de-normalized so that you never have to perform more than a 4-way JOIN across tables. This affects server-side JOIN filters as well as SSCE performance.</li>
<li>To ensure uniqueness across all nodes participating in the sync infrastructure, use GUIDs for your primary keys so that SQL Server doesn’t have to deal with the overhead of managing Identity ranges. Make sure to mark your GUIDs as <strong>ROWGUIDCOL</strong> for that table so that Merge won’t try to add an additional <strong>Uniqueidentifier</strong> column to the table.  Don&#8217;t create clustered indexes when using GUIDs as primary keys because they will suffer horrible fragmentation that will rapidly degrade performance.  Just use a normal index.</li>
<li>Create clustered indexes for your primary keys when using Indentity columns, Datetime, or other natural keys.  Ensure that every column in every table that participates in a WHERE clause is indexed.</li>
</ul>
<h2>Distributor</h2>
<ul>
<li>If your network connection is fast and reliable like Wi-Fi or Ethernet, your SSCE client has more than 32 MB of free RAM, and SQL Server isn&#8217;t experiencing any deadlocks due to contention with ETL operations or too many concurrent Merge Agents, create a new Merge Agent Profile based on the <strong>High Volume Server-to-Server Profile</strong> so that SQL Server will perform more work per round-trip and speed up your synchronizations.</li>
<li>If you&#8217;re using a 2G/3G Wireless Wide Area Network connection, create a Merge Agent Profile based on the <strong>Default Profile</strong> so that SQL Server will perform less work and use fewer threads per round-trip during synchronization than the <strong>High Volume Server to Server Profile</strong> which will help to reduce server locking contention and perform less work per round trip which will make your synchronizations more likely to succeed.</li>
<li>In order to prevent SQL Server from performing Metadata Cleanup every time a Subscriber synchronizes, set the <strong>–MetadataRetentionCleanup</strong> parameter to <strong>0</strong>.</li>
<li>As SQL Server has to scale up to handle a higher number of concurrent users in the future, locking contention will increase due to more Merge Agents trying to perform work at the same time.  When this happens, adjust the parameters of the <strong>Default Profile</strong> so that both <strong> –SrcThreads</strong> and <strong>–DestThreads</strong> are equal to <strong>1</strong>.</li>
</ul>
<h2>Publication</h2>
<ul>
<li>When defining the Articles you’re going to sync, only check the minimum tables and columns needed by the Subscriber to successfully perform its work.</li>
<li>For Lookup/Reference tables that aren’t modified by the Subscriber, mark those as <strong>Download-only</strong> to prevent change-tracking metadata from being sent to the Subscriber.</li>
<li>Despite the fact the <strong>column-level</strong> tracking sends less data over the air, stick with <strong>row-level</strong> tracking so SQL Server won’t have to do as much work to track the changes.</li>
<li>Use the default conflict resolver where the “Server wins” unless you absolutely need a different manner of picking a winner during a conflict.</li>
<li>Use Static Filters to reduce the amount of server data going out to all Subscribers.</li>
<li>Make limited use of Parameterized Filters which are designed to reduce and further specify the subset of data going out to a particular Subscriber based on a HOST_NAME() which creates data partitions.  This powerful feature slows performance and reduces scalability with each additional filter, so it must be used sparingly.</li>
<li><em><strong>Keep filter queries simple</strong></em> and don’t use IN clauses, sub-selects or any kind of circular logic.</li>
<li>Strive to always create &#8220;well-partitioned&#8221; Articles where all changes that are uploaded/downloaded are mapped to only the single partition ID for best performance and scalability.
<ul>
<li>When using Parameterized Filters, always create non-overlapping data partitions where each row from a filtered table only goes to a single Subscriber instead of more than one which will avoid the use of certain Merge metadata tables.</li>
<li>Each Article in this scenario can only be pubished to a single Publication</li>
<li>A Subscriber cannot insert rows that do not belong to its partition ID.</li>
<li>A Subscriber cannot update columns that are involved in filtering.</li>
<li>In a join filter hierarchy, a regular article cannot be the parent of a &#8220;well-partitioned&#8221; article.</li>
<li>The join filter in which a well-partitioned article is the child must have the join_unique_key set to a value of 1 which relates to the <strong>Unique key</strong> check box of the Add Join dialog.  This means there&#8217;s a one-to-one or one-to-many relationship with the foreign key.</li>
<li>Each &#8220;well-partitioned&#8221; Article can have only one subset or join filter. The article can have a subset filter and be the parent of a join filter, but cannot have a subset filter and be the child of a join filter.</li>
</ul>
</li>
<li>Never extend a filter out to more than 4 joined tables.</li>
<li>Do not filter tables that are primarily lookup/reference tables, small tables, and tables with data that does not change.</li>
<li>Schedule the Snapshot Agent to run once per day to create an unfiltered schema Snapshot.</li>
<li>Set your Subscriptions to expire as soon as possible to keep the amount change-tracking metadata SQL Server has to manage to an absolute minimum. Normally, set the value to 2 to accommodate 3-day weekends since 24 hours are automatically added to the time to account for multiple time zones. If server-side change tracking isn’t needed and Subscribers are pulling down a new database every day and aren’t uploading data, then set the expiration value to 1.</li>
<li>Set <strong>Allow parameterized filters</strong> equal to True.</li>
<li>Set <strong>Validate Subscribers</strong> equal to HOST_NAME().</li>
<li>Set <strong>Precompute partitions</strong> equal to True to allow SQL Server to optimize synchronization by computing in advance which data rows belong in which partitions.</li>
<li>Set <strong>Optimize synchronization</strong> equal to False if <strong>Precompute partitions</strong> is equal to True.  Otherwise set it to True to optimize filtered Subscriptions by storing more metadata at the Publisher.</li>
<li>Set <strong>Limit concurrent processes</strong> equal to True.</li>
<li>Set <strong>Maximum concurrent processes</strong> equal to the number of SQL Server processor cores.  If exceesive locking contention occurs, reduce the number of concurrent processes until the problem is fixed.</li>
<li>Set <strong>Replicate schema changes</strong> equal to True.</li>
<li>Check <strong>Automatically define a partition and generate a snapshot if needed when a new Subscriber tries to synchronize</strong>. This will reduce Initialization times since SQL Server creates and applies snapshots using the fast BCP utility instead of a series of slower SELECT and INSERT statements.</li>
<li>Add data partitions based on unique HOST_NAMEs and schedule the Snapshot Agent to create those filtered Snapshots nightly or on the weekend so they’ll be built using the fast BCP utility and waiting for new Subscribers to download in the morning.</li>
<li>Ensure that SQL Server has 1 processor core and 2 GB of RAM for every 100 concurrent Subscribers utilizing bi-directional sync. Add 1 core and 2 GB of RAM server for every additional 100 concurrent Subscribers you want to add to the system.  Never add more Subscribers and/or IIS servers without also adding new cores and RAM to the Publisher.</li>
<li>Turn off <strong>Hyperthreading</strong> in the BIOS of the SQL Server as it has been known to degrade SQL Server performance.</li>
<li>Do not add your own user-defined triggers to tables on a Published database since Merge places 3 triggers on each table already.</li>
<li>Add one or more <strong>Filegroups</strong> to your database to contain multiple, secondary database files spread out across many physical disks.</li>
<li>Limit use of large object types such as text, ntext, image, varchar(max), nvarchar(max) or varbinary(max) as they require a significant memory allocation and will negatively impact performance.</li>
<li>Set SQL Servers’s minimum and maximum memory usage to within 2 GB of total system memory so it doesn’t have to allocate more memory on-demand.</li>
<li>Always use SQL Server 2008 R2 and Windows Server 2008 R2 since they work better together because they take advantage of the next generation networking stack which dramatically increases network throughput. They can also scale up as high as 256 cores.</li>
<li>Due to how Merge Replication tracks changes with triggers, Merge Agents, and tracking tables, it will create locking contention withDML/ ETL operations.  This contention degrades server performance which negatively impacts sync times with devices.  This contention should be mitgated by performing large INSERT/UPDATE/DELETE DML/ETL operations during a nightly maintenance window when Subscribers aren’t synchronizing.</li>
<li>Since Published databases result in slower DML/ETL operations, perform changes in bulk by using XML Stored Procedures to boost performance.</li>
<li>To improve the performance of pre-computed partitions when DML/ETL operations result in lots of data changes, ensure that changes to a Parent table in a join filter are made before corresponding changes in the child tables.  This means that when DML/ETL operations are pushing new data into SQL Server, they must add master data to the parent filter table first, and then add detail data to all the related child tables second, in order for that data to be pre-computed and optimized for sync.</li>
<li>Create filter partitions based on things that don’t change every day.  Partitions that are added and deleted from SQL Server and Subscribers that move from one partition to another is very disruptive to the performance of Merge Replication.</li>
<li>Always perform initializations and re-initializations over Wi-Fi or Ethernet when the device is docked because this is the slowest operation where the entire database must be downloaded instead of just deltas.  To determine rough estimates for initialization, multiply the size of the resulting SSCE .sdf file <strong>x</strong> the bandwidth speed available to the device.  A file copy over the expected network will also yield estimates for mininum sync times.  These times don&#8217;t include the work SQL Server and IIS must perform to provide the data or data INSERT times on SSCE.</li>
<li>If your SQL Server Publisher hits a saturation point with too many concurrent mobile Subscribers, you can scale it out creating a Server/Push Republishing hierarchy. Put the primary SQL Server Publisher at the top of the pyramid and have two or more SQL Servers subscribe to it. These can be unfiltered Subscriptions where all SQL Servers get the same data or the Subscribers can filter their data feeds by region for example. Then have the Subscribing SQL Servers Publish their Subscription for consumption by mobile SSCE clients.</li>
<li>Create just a single Publication.</li>
</ul>
<h2>Internet Information Services</h2>
<ul>
<li>Use the x64 version of the <strong>SQL Server Compact 3.5 SP2 Server Tools</strong> with Windows Server 2008 R2 running inside IIS 7.5.</li>
<li>Use a single Server Agent in a single Virtual Directory.</li>
<li>Ensure the IIS Virtual Directory where the Server Agent resides is on a fast solid-state drive that’s separate from the disk where Windows Server is installed to better support file I/O.</li>
<li>Use a low-end server with 2 processor cores and 2 GB of RAM to support 400 concurrent Subscribers queued at the same time.</li>
<li>Set the MAX<strong>_THREADS_PER_POOL </strong>Server Agent registry key equal to 2 to match the IIS processor cores and RAM. Do not set this value to a higher number than the number of cores.</li>
<li>Set the <strong>MAX_PENDING_REQUEST</strong> Server Agent registry key equal to 400 which means the Server Agent will queue up to 400 concurrent Subscribers waiting for one of the 2 worker threads to become available to sync with SQL Server.</li>
<li>Set the <strong>IIS Connection Limits</strong> property to 400 to prevent an unlimited number of connections reaching the Server Agent.</li>
<li>Add a new load-balanced IIS server for every additional 400 concurrent Subscribers you want to add to the system.</li>
</ul>
<h2>Subscriber</h2>
<ul>
<li>Use the appropriate x64, x86 or ARM version of SQL Server Compact 3.5 SP2 to take advantage of the <strong>PostSyncCleanup</strong> property of the <strong>SqlCeReplication</strong> object that can reduce the time it takes to perform an initial synchronization. Set the <strong>PostSyncCleanup</strong> property equal to 3 where neither <strong>UpdateStats</strong> nor <strong>CleanByRetention</strong> are performed.</li>
<li>Increase the <strong>Max Buffer Size</strong> connection string parameter to <strong>1024</strong> on a phone and <strong>4096</strong> on a PC to boost both replication and SQL query processing performance. If you have more RAM available, set those values even higher until you reach the law of diminishing returns.</li>
<li>Keep your SSCE database compact and fast by setting the <strong>Autoshrink Threshold</strong> connection string parameter to 10 so it starts reclaiming empty data pages once the database has become 10% fragmented.</li>
<li>Replication performance testing must be performed using actual PDAs to observe how available RAM, storage space and CPU speed affect moving data into the device’s memory area and how quickly this data is inserted into the SSCE database tables.  Since the SSCE database doubles in size during replication, the device must have enough storage available or the operation will fail.  Having plenty of available RAM is important so that SSCE can utilize its memory buffer to complete a Merge Replication operation more quickly.  With plenty of available RAM and storage, a fast CPU will make all operations faster.</li>
<li>The PDA must have at least an extra 32 MB of available free RAM that can be used by the .NET Compact Framework (NETCF) application.  If additional applications are running on the device at the same time, even more RAM is needed.  If a NETCF application has insufficient RAM is will discard its compiled code and run in interpreted mode which will slow the application down.  If the NETCF app is still under memory pressure after discarding compiled code, Windows Mobile will first tell the application to return free memory to the operating system and then will terminate the app if needed.</li>
<li>Set the <strong>CompressionLevel</strong> property of the <strong>SqlCeReplication </strong>object to 0 for fast connections and increment it from 1 to 6 on slower connections like GPRS to increase speed and reduce bandwidth consumption.</li>
<li>Tune the <strong>ConnectionRetryTimeout</strong>, <strong>ConnectTimeout</strong>, <strong>ReceiveTimeout</strong> and <strong>SendTimeout</strong> properties of the <strong>SqlCeReplication</strong> object based on expected bandwidth speeds:</li>
</ul>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="160"><strong>Property</strong></td>
<td valign="top" width="160"><strong>High Bandwidth</strong></td>
<td valign="top" width="160"><strong>Medium Bandwidth</strong></td>
<td valign="top" width="160"><strong>Low Bandwidth</strong></td>
</tr>
<tr>
<td valign="top" width="160">ConnectionRetryTimeout</td>
<td valign="top" width="160">30</td>
<td valign="top" width="160">60</td>
<td valign="top" width="160">120</td>
</tr>
<tr>
<td valign="top" width="160">ConnectTimeout</td>
<td valign="top" width="160">3000</td>
<td valign="top" width="160">6000</td>
<td valign="top" width="160">12000</td>
</tr>
<tr>
<td valign="top" width="160">ReceiveTimeout</td>
<td valign="top" width="160">1000</td>
<td valign="top" width="160">3000</td>
<td valign="top" width="160">6000</td>
</tr>
<tr>
<td valign="top" width="160">SendTimeout</td>
<td valign="top" width="160">1000</td>
<td valign="top" width="160">3000</td>
<td valign="top" width="160">6000</td>
</tr>
</tbody>
</table>
<ul>
<li>You can decrease potentially slow SSCE file I/O by adjusting the Flush Interval connection string parameter to write committed transactions to disk less often than the default of every 10 seconds.  Test longer intervals between flushes like 20 or 30 seconds. Keep in mind that these transactions can be lost if the disk or system fails before flushing occurs so be careful.</li>
<li>When replicating data that has been captured in the field by the device, perform Upload-only syncs to shorten the duration.</li>
</ul>
<h2>Storage</h2>
<ul>
<li>Use a Fibre Channel SAN with 15k RPM or solid-state disks for best I/O performance.</li>
<li>Databases should reside on a RAID 10, unshared LUN comprised of at least 6 disks.</li>
<li>Database logs should reside on a RAID 10, unshared LUN comprised of at least 6 disks.</li>
<li>Tempdb should reside on a RAID 10, unshared LUN comprised of at least 6 disks.</li>
<li>The Tempdb log should reside on a RAID 10, unshared LUN comprised of at least 6 disks.</li>
<li>The Snapshot share should reside on a RAID 10, unshared LUN comprised of at least 6 disks.  This disk array should be large enough to accommodate a growing number of filtered Snapshots. Snapshot folders for Subscribers that no longer use the system must be manually deleted.</li>
<li>Merge Replication metadata tables should reside on a RAID 10, unshared LUN comprised of at least 6 disks.</li>
<li>Increase your Host Bus Adapter (HBA) queue depths to 64.</li>
<li>Your Publication database should be broken up into half the number of files as the SQL Server has processor cores. Each file must be the same size.</li>
<li>Tempdb should be pre-sized with an auto-growth increment of 10%. It should be broken up into the same number of files as the SQL Server has processor cores. Each file must be the same size.</li>
</ul>
<h2>High Availability</h2>
<ul>
<li>Load-balance the IIS servers to scale them out. Enable Server Affinity (stickiness) since the <strong>Replication Session Control Blocks</strong> that transmit data between the Server Agent and SSCE are stateful. Test to ensure that your load-balancer is actually sending equal amounts of Subscriber sync traffic to each IIS server.  Some load-balancers can erroneously send all traffic to a single IIS server if not properly configured.</li>
<li>Implement Windows Clustering so that SQL Server can failover to a second node.</li>
<li>Using SQL Server Mirroring so that your Published database will failover to a standby server.</li>
<li>Make a second SQL Server into an unfiltered Subscriber to your Publisher so that it can take over Merge Replication duties for mobile clients as a Republisher if the primary SQL Server fails. SSCE clients would just have to reinitialize their Subscriptions to begin synchronizing with the new Republisher.</li>
</ul>
<h2>Ongoing Maintenance</h2>
<ul>
<li>Use the Replication Monitor to have a real-time view of the synchronization performance of all your Subscribers.</li>
<li>Use the web-based SQL Server Compact Server Agent Statistics and Diagnostics tools to monitor the health and activity of the Server Agent running on IIS.</li>
<li>Create a SQL Job to execute the <strong>sp_MSmakegeneration</strong> stored procedure after large DML operations. Regular execution after INSERTING/UPDATING/DELETING data from either DML/ETL operations or after receiving lots of changes from Subscribers will maintain subsequent sync performance. Executing this stored procedure from the server-side is preferable to having it executed as a result of a Subscriber sync which would block all other Subscribers.</li>
<li>During your nightly maintenance window, rebuild the indexes and update the statistics of the following Merge Replication metadata tables:
<ul>
<li><strong>MSmerge_contents</strong></li>
<li><strong>MSmerge_tombstone</strong></li>
<li><strong>MSmerge_genhistory</strong></li>
<li><strong>MSmerge_current_partition_mappings</strong></li>
<li><strong>MSmerge_past_partition_mappings</strong></li>
<li><strong>MSmerge_generation_partition_mappings</strong></li>
</ul>
</li>
<li>If you notice performance degradation during the day due to a large number of Subscribers making large changes to the database, you can updates the statistics (with fullscan) of the Merge Replication metadata tables more frequently throughout the day to force stored proc recompiles to get a better query plan.
<ul>
<li>UPDATE STATISTICS MSmerge_generation_partition_mappings WITH FULLSCAN</li>
<li>UPDATE STATISTICS MSmerge_genhistory WITH FULLSCAN</li>
</ul>
</li>
<li>Rebuild/defrag indexes on your database tables and Merge Replication metadata tables throughout the day to reduce locking contention and maintain performance.</li>
<li>Use the Missing Indexes feature of SQL Server to tell you which indexes you could add that would give your system a performance boost. Do not add recommended indexes to Merge system tables.</li>
<li>Use the Database Engine Tuning Advisor to give you comprehensive performance tuning recommendations that cover every aspect of SQL Server.</li>
<li>Monitor the performance of the following counters:
<ul>
<li><strong>Processor Object: % Processor Time: </strong>This counter represents the percentage of processor utilization. A value over 80% is a CPU bottleneck.</li>
<li><strong>System Object: Processor Queue Length: </strong>This counter represents the number of threads that are delayed in the processor Ready Queue and waiting to be scheduled for execution. A value over 2 is bottleneck and shows that there is more work available than the processor can handle. Remember to divide the value by the number of processor cores on your server.</li>
<li><strong>Memory Object: Available Mbytes: </strong>This counter represents the amount of physical memory available for allocation to a process or for system use. Values below 10% of total system RAM indicate that you need to add additional RAM to your server.</li>
<li><strong>PhysicalDisk Object: % Disk Time: </strong>This counter represents the percentage of time that the selected disk is busy responding to read or write requests. A value greater than 50% is an I/O bottleneck.</li>
<li><strong>PhysicalDisk Object: Average Disk Queue Length: </strong>This counter represents the average number of read/write requests that are queued on a given physical disk. If your disk queue length is greater than 2, you’ve got an I/O bottleneck with too many read/write operations waiting to be performed.</li>
<li><strong>PhysicalDisk Object: Average Disk Seconds/Read and Disk Seconds/Write: </strong>These counters represent the average time in seconds of a read or write of data to and from a disk. A value of less than 10 ms is what you’re shooting for in terms of best performance. You can get by with subpar values between 10 – 20 ms but anything above that is considered slow. Times above 50 ms represent a very serious I/O bottleneck.</li>
<li><strong>PhysicalDisk Object: Average Disk Reads/Second and Disk Writes/Second: </strong>These counters represent the rate of read and write operations against a given disk. You need to ensure that these values stay below 85% of a disk’s capacity by adding disks or reducing the load from SQL Server. Disk access times will increase exponentially when you get beyond 85% capacity.</li>
</ul>
</li>
<li>A limited number of database schema changes can be made and synchronized down to SSCE Subscribers without any code changes which makes it easier to update your system as it evolves over time.</li>
<li>Use a Merge Replication Test Harness to stress test the entire system.  The ability to simulate hundreds or thousands of concurrent synchronizing Subscribers allows you to monitor performance and the load on the system.  This is helpful in properly configuring and tuning SQL Server, IIS, and the Windows Mobile devices.  It will tell you where you’re having problems and it will let you predict how much server hardware you will need to support growing numbers of Subscribers over time.  It’s also very important to simulate worst-case scenarios that you never expect to happen.</li>
</ul>
<p>I hope this information sufficiently empowers you to take on the largest MEAP solutions that involve SQL Server Merge Replication and SQL Server Compact.  If you need a deeper dive, go check out my book on Enterprise Data Synchronization <a title="http://www.amazon.com/Enterprise-Synchronization-Microsoft-Compact-Replication/dp/0979891213/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1271964573&amp;sr=1-1" href="http://www.amazon.com/Enterprise-Synchronization-Microsoft-Compact-Replication/dp/0979891213/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1271964573&amp;sr=1-1">http://www.amazon.com/Enterprise-Synchronization-Microsoft-Compact-Replication/dp/0979891213/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1271964573&amp;sr=1-1</a> over at Amazon.  Now go build a fast and scalable solution for your company or your customers.</p>
<p>Best Regards,</p>
<p>Rob</p>
<p>P.S.  If your solution doesn&#8217;t require all the advanced features found in Merge Replication, I highly recommend you use Remote Data Access (RDA).  This is a much simpler sync technology that&#8217;s extremely fast, scalable, and easier to manage.</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/mobile-merge-replication-performance-and-scalability-cheat-sheet/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

