<?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; Mobile Enterprise Application Platform</title>
	<atom:link href="http://robtiffany.com/tag/mobile-enterprise-application-platform/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>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: Android &gt; On-Premises</title>
		<link>http://robtiffany.com/consumerization-of-it-collides-with-meap-android-on-premises/</link>
		<comments>http://robtiffany.com/consumerization-of-it-collides-with-meap-android-on-premises/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 05:50:26 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Android]]></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 Server]]></category>
		<category><![CDATA[System Center]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://robtiffany.com/meap/consumerization-of-it-collides-with-meap-android-on-premises</guid>
		<description><![CDATA[In my last ‘Consumerization of IT Collides with MEAP’ article, I described how to connect iPhones and iPads to Microsoft’s Cloud servers in Azure. In this week’s scenario, I’ll use the picture below to illustrate how Android devices can utilize &#8230; <a href="http://robtiffany.com/consumerization-of-it-collides-with-meap-android-on-premises/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In my last <a href="http://robtiffany.com/meap/consumerization-of-it-collides-with-meap-iphone-ipad-cloud" target="_blank">‘Consumerization of IT Collides with MEAP’ article</a>, I described how to connect iPhones and iPads to Microsoft’s Cloud servers in Azure. In this week’s scenario, I’ll use the picture below to illustrate how Android devices can utilize many of Gartner’s Critical Capabilities to connect to Microsoft’s On-Premise infrastructure:</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2011/10/image2.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_thumb2.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>, Android uses Microsoft Exchange for On-Premise policy enforcement via Exchange ActiveSync (EAS) but has no private software distribution equivalent to System Center Configuration Manager 2007 from Microsoft today. Instead, in-house apps are hosted and APKs distributed via a web server over wireless by having a user click on a URL or through a variety of app stores. In the future, System Center Configuration Manager 2012 will be able to better manage Android devices.</li>
<li>For both the Client and Server <strong>Integrated Development Environment (IDE) and Multichannel Tool Critical Capability</strong>, Android uses Visual Studio. While the Server/EAI development functionality is the same as every other platform, endpoint development will consist of HTML5, ECMAScript 5, and CSS3 delivered by ASP.NET. WCF REST + JSON Web services can also be created and consumed via Ajax calls from the browser.</li>
<li>For the cross-platform <strong>Application Client Runtime Critical Capability</strong>, we will rely on Android’s WebKit browser to provide HTML5 + CSS3 + ECMAScript5 capabilities. Offline storage is important to keep potentially disconnected Android 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.</li>
<li>For the<strong> Enterprise Application Integration Tools Critical Capability</strong>, Android can reach out to servers directly via Web Services or indirectly via SQL Server (JDBC) 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. 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 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>, Android runs cross-platform mobile apps including <a title="Skype for Android" href="https://market.android.com/details?id=com.skype.raider&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5za3lwZS5yYWlkZXIiXQ.." target="_blank">Skype</a>, <a title="Bing" href="https://market.android.com/details?id=com.microsoft.bing&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5taWNyb3NvZnQuYmluZyJd" target="_blank">Bing</a>, <a title="MSN" href="https://market.android.com/details?id=msn.android#?t=W251bGwsMSwxLDIxMiwibXNuLmFuZHJvaWQiXQ.." target="_blank">MSN</a>, <a title="Tag" href="https://market.android.com/details?id=com.microsoft.tag.app.reader&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5taWNyb3NvZnQudGFnLmFwcC5yZWFkZXIiXQ.." target="_blank">Tag</a>, <a title="Hotmail" href="https://market.android.com/details?id=com.hotmail.Z7&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5ob3RtYWlsLlo3Il0." target="_blank">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/meap/consumerization-of-it-collides-with-meap-android-on-premises/attachment/samsung-galaxy-nexus-uk" rel="attachment wp-att-1142"><img class="aligncenter size-medium wp-image-1142" title="Samsung-Galaxy-Nexus" src="http://robtiffany.com/wp-content/uploads/2011/10/Samsung-Galaxy-Nexus-UK-155x300.jpg" alt="" width="155" height="300" /></a></p>
<p>Newer versions of Android (3.x/4.0) are beginning to meet more of Gartner’s Critical Capabilities. It’s really improved in the last year in areas of encryption, but device fragmentation makes this improvement uneven.  The app story is still the ‘Wild West’ since the Android Market is an un-vetted free-for-all. This big ‘red flag’ has given rise to curated app stores like the one from Amazon.  As you can see from the picture, the big gap is with the client application runtime critical capability. Native development via Java/Eclipse is where Google wants to steer you and Microsoft doesn’t make native tools, runtimes or languages for this platform. You can definitely perform your own due diligence on <a title="Mono for Android" href="http://android.xamarin.com/" target="_blank">Mono for Android </a>from our friend Miguel de Icaza and his colleagues in order to reuse your existing .NET and C# skills. From a Microsoft perspective though, you’re definitely looking at HTML5 delivered via ASP.NET.</p>
<p>Next week, I’ll cover how Android 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-android-on-premises/feed/</wfw:commentRss>
		<slash:comments>2</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>Consumerization of IT Collides with MEAP: iPhone + iPad &gt; On-Premises</title>
		<link>http://robtiffany.com/consumerization-of-it-collides-with-meap-iphone-ipad-on-premises/</link>
		<comments>http://robtiffany.com/consumerization-of-it-collides-with-meap-iphone-ipad-on-premises/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 21:27:23 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[CoIT]]></category>
		<category><![CDATA[Consumerization]]></category>
		<category><![CDATA[Consumerization of IT]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[Device Management]]></category>
		<category><![CDATA[ERP]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></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 Server]]></category>
		<category><![CDATA[System Center]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://robtiffany.com/meap/consumerization-of-it-collides-with-meap-iphone-ipad-on-premises</guid>
		<description><![CDATA[In my last ‘Consumerization of IT Collides with MEAP’ article, I described how to connect a Windows Phone device to Microsoft’s Cloud servers in Azure.  By now you’re probably thinking, “It’s easy to talk about Microsoft endpoints talking to Microsoft &#8230; <a href="http://robtiffany.com/consumerization-of-it-collides-with-meap-iphone-ipad-on-premises/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In my last <a href="http://robtiffany.com/meap/consumerization-of-it-collides-with-meap-windows-phone-cloud" target="_blank">‘Consumerization of IT Collides with MEAP’ article</a>, I described how to connect a Windows Phone device to Microsoft’s Cloud servers in Azure.  By now you’re probably thinking, “It’s easy to talk about Microsoft endpoints talking to Microsoft servers.” So in this week’s scenario, I’ll use the picture below to illustrate how iOS devices like the iPhone and iPad can utilize many of Gartner’s Critical Capabilities to connect to Microsoft’s On-Premise infrastructure:</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2011/10/image.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" src="http://robtiffany.com/wp-content/uploads/2011/10/image_thumb.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>, iOS uses Microsoft Exchange for On-Premise policy enforcement via Exchange ActiveSync (EAS) but has no private software distribution equivalent to System Center Configuration Manager 2007 from Microsoft today. Instead, in-house apps are hosted and distributed via a web server over wireless by having a user click on a URL.  In the future, System Center Configuration Manager 2012 will be able to better manage iOS devices.</li>
<li>For both the Client and Server <strong>Integrated Development Environment (IDE) and Multichannel Tool Critical Capability</strong>, iOS uses Visual Studio. While the Server/EAI development functionality is the same as every other platform, endpoint development will consist of HTML5, ECMAScript 5, and CSS3 delivered by ASP.NET.  WCF REST + JSON Web services can also be created and consumed via Ajax calls from the browser.</li>
<li>For the cross-platform <strong>Application Client Runtime Critical Capability</strong>, we will rely on iOS’s 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.  Built-in LDAP support allows it to access corporate directory services.</li>
<li>For the<strong> Enterprise Application Integration Tools Critical Capability</strong>, iOS 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>, 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>As you can see, iOS meets many of Gartner’s Critical Capabilities.  It’s really improved over the years in areas of security and device management.  As you can see from the picture, the big gap is with the client application runtime critical capability.  Native development via Xcode/Objective-C is where Apple wants to steer you and Microsoft doesn’t make native tools, runtimes or languages for this platform.  You can certainly kick the tires and perform your own due diligence on <a title="MonoTouch" href="http://xamarin.com/monotouch" target="_blank">MonoTouch </a>from our friend Miguel de Icaza and his colleagues in order to reuse your existing .NET and C# skills.  From a Microsoft perspective though, you’re definitely looking at HTML5 delivered via ASP.NET.</p>
<p>Next week, I’ll cover how iOS 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-iphone-ipad-on-premises/feed/</wfw:commentRss>
		<slash:comments>2</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>Performance and Memory Management Improvements with Windows Embedded Handheld</title>
		<link>http://robtiffany.com/performance-and-memory-management-improvements-with-windows-embedded-handheld/</link>
		<comments>http://robtiffany.com/performance-and-memory-management-improvements-with-windows-embedded-handheld/#comments</comments>
		<pubDate>Sun, 04 Sep 2011 15:49:39 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Windows Embedded Handheld]]></category>
		<category><![CDATA[.NET Compact Framework]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Device Management]]></category>
		<category><![CDATA[Merge Replication]]></category>
		<category><![CDATA[Microsoft]]></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 Compact]]></category>
		<category><![CDATA[Sync]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=944</guid>
		<description><![CDATA[It should be no surprise that over 80% of enterprise handhelds shipped are running Windows Mobile or Windows Embedded Handheld.  <a href="http://robtiffany.com/performance-and-memory-management-improvements-with-windows-embedded-handheld/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A lot has changed since the launch of Windows Phone in the Fall of 2010.  Microsoft now has a compelling phone platform that targets consumers inside and outside the office.  One thing that that hasn&#8217;t changed is the widespread use of Windows Embedded Handheld to solve tough enterprise mobility problems.  It should be no surprise that over 80% of enterprise handhelds shipped are running Windows Mobile or Windows Embedded Handheld.  They include support for barcode scanning, RFID reading, rugged hardware, every type of wireless, full device encryption, complete over-the-air software distribution and device managment support, FIPS compliance, and both capacitive touch and stylus operation.  On the application platform side of the equation, they have rich support for WinForm development using Visual Studio and the .NET Compact Framework, C++ and a full-featured database with built-in sync capabilities via SQL Server Compact.  They can easily communicate with WCF SOAP and REST web services running on Windows Servers on-premise or with Azure in the cloud.  Support for Merge Replication means faster time to market to get device synchronizing with SQL Server with almost no coding.</p>
<p><a href="http://robtiffany.com/windows-embedded-handheld/performance-and-memory-management-improvements-with-windows-embedded-handheld/attachment/motorola-es400" rel="attachment wp-att-951"><img class="alignleft size-medium wp-image-951" title="Windows Embedded Handheld" src="http://robtiffany.com/wp-content/uploads/2011/09/motorola-es400-144x300.jpg" alt="" width="144" height="300" /></a><a href="http://robtiffany.com/windows-embedded-handheld/performance-and-memory-management-improvements-with-windows-embedded-handheld/attachment/pp-psion-teklogix-12-6-10" rel="attachment wp-att-978"><img class="alignleft size-medium wp-image-978" title="pp-Psion-Teklogix-12-6-10" src="http://robtiffany.com/wp-content/uploads/2011/09/pp-Psion-Teklogix-12-6-10-183x300.jpg" alt="" width="183" height="300" /></a><a href="http://robtiffany.com/windows-embedded-handheld/performance-and-memory-management-improvements-with-windows-embedded-handheld/attachment/dolphin" rel="attachment wp-att-976"><img class="alignleft size-medium wp-image-976" title="dolphin" src="http://robtiffany.com/wp-content/uploads/2011/09/dolphin-163x300.jpg" alt="" width="163" height="300" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://robtiffany.com/windows-embedded-handheld/performance-and-memory-management-improvements-with-windows-embedded-handheld/attachment/intermec" rel="attachment wp-att-979"><img class="alignleft size-medium wp-image-979" title="intermec" src="http://robtiffany.com/wp-content/uploads/2011/09/intermec-140x300.jpg" alt="" width="140" height="300" /></a><a href="http://robtiffany.com/windows-embedded-handheld/performance-and-memory-management-improvements-with-windows-embedded-handheld/attachment/honeywell_99ex" rel="attachment wp-att-977"><img class="alignleft size-medium wp-image-977" title="honeywell_99ex" src="http://robtiffany.com/wp-content/uploads/2011/09/honeywell_99ex-127x300.jpg" alt="" width="127" height="300" /></a></p>
<p>Since Windows Embedded Handheld uses an advanced version of the operating system kernel used by Windows Mobile 6.5.3, many of the techniques and best practices I&#8217;ve taugh customers and developers all over the world still apply.  While it still uses the slotted memory model found in Windows CE 5 with 32 processes and 32 MB of memory per process, you&#8217;ll find that numerous enhancements and tuning has taken place to give your line of business apps more of what they need.  I&#8217;m talking about more memory per process and improved performance.  Therefore, I&#8217;d like you to sit back and watch the video of a presentation I delivered at Tech Ed in Los Angeles a couple of years ago so you can better learn what this mobile platform has to offer in the form of better memory management and improved performance:<br />
<iframe style="width: 512px; height: 384px;" src="http://channel9.msdn.com/Events/TechEd/Europe/2009/MOB401/player?w=512&amp;h=384" frameborder="0" scrolling="no" width="320" height="240"></iframe></p>
<p>A recent Gartner report recommends that organizations should stay with Windows Embedded Handheld as the best mobile platform for enterprise line of business needs.  Great devices are available from OEMs like Intermec, Motorola, Psion, and Honeywell just to name a few.  I hope this video helps you with any memory management or performance issues you may need to deal with in your enterprise mobile apps.</p>
<p>Best Regards,<br />
Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/performance-and-memory-management-improvements-with-windows-embedded-handheld/feed/</wfw:commentRss>
		<slash:comments>0</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>Reducing SQL Server Sync I/O Contention :: Tip 5</title>
		<link>http://robtiffany.com/reducing-sql-server-sync-io-contention-tip-5/</link>
		<comments>http://robtiffany.com/reducing-sql-server-sync-io-contention-tip-5/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 23:17:26 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Merge Replication]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[RDA]]></category>
		<category><![CDATA[Sync]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=643</guid>
		<description><![CDATA[Today&#8217;s tip is an easy one. When it comes to delivering server solutions with Windows Server and SQL Server, speed is your friend (as we used to say in the submarine service). More speed means more things can happen in &#8230; <a href="http://robtiffany.com/reducing-sql-server-sync-io-contention-tip-5/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today&#8217;s tip is an easy one.</p>
<p>When it comes to delivering server solutions with Windows Server and SQL Server, speed is your friend (as we used to say in the submarine service).  More speed means more things can happen in a given period of time.  If more things can happen in a given period of time, then you can derive greater scalability.  Duh, Winning!</p>
<p>Okay, this stuff is obvious so let&#8217;s move on.</p>
<p>Have you ever noticed when you&#8217;ve finished installing your shiny new Windows Server 2008 R2 box, the default Power Plan is set to &#8220;Balanced?&#8221;  Guess what kind of performance and scalability you get when you decide to &#8220;Go Green&#8221; and save the world with a &#8220;Balanced&#8221; power plan?  Needless to say, you&#8217;re not making the most of the high-powered CPUs you just paid big money for.</p>
<p>So how does this relate to SQL Server and reducing I/O contention?</p>
<p>Would it surprise you to know that the amount of time your CPU&#8217;s spend processing your queries could actually double with a Balanced plan?  If it takes more CPU time to execute a query, then imagine all those Merge Agent processes locking and blocking each other as they try to perform DML operations on the change tracking tables.  </p>
<p>So what&#8217;s the takeaway here?</p>
<p>Set your Windows Server 2008 R2 power plan to High Performance!  If you&#8217;re part of a Windows Domain and you need to make this setting stick, have your sys admin enforce this setting on all your SQL Servers via Group Policy.</p>
<p>Go fast or go home because your users care about performance.</p>
<p>-Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/reducing-sql-server-sync-io-contention-tip-5/feed/</wfw:commentRss>
		<slash:comments>0</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>Reducing SQL Server Sync I/O Contention :: Tip 3</title>
		<link>http://robtiffany.com/reducing-sql-server-sync-io-contention-tip-3/</link>
		<comments>http://robtiffany.com/reducing-sql-server-sync-io-contention-tip-3/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 23:43:35 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Database]]></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 Azure]]></category>
		<category><![CDATA[SQL CE]]></category>
		<category><![CDATA[SQL Server Compact]]></category>
		<category><![CDATA[SSCE]]></category>
		<category><![CDATA[Sync]]></category>
		<category><![CDATA[Sync Framework]]></category>
		<category><![CDATA[Synchronize]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=475</guid>
		<description><![CDATA[Uniqueness is a key factor when synchronizing data between SQL Server/Azure and multiple endpoints like Slates and Smartphones.  With data simultaneously created and updated on servers and clients, ensuring rows are unique to avoid key collisions is critical.  As you know, each row is uniquely identified by its Primary Key. <a href="http://robtiffany.com/reducing-sql-server-sync-io-contention-tip-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h5>GUIDs and Clustered Indexes</h5>
<p>Uniqueness is a key factor when synchronizing data between SQL Server/Azure and multiple endpoints like Slates and Smartphones.  With data simultaneously created and updated on servers and clients, ensuring rows are unique to avoid key collisions is critical.  As you know, each row is uniquely identified by its Primary Key.</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2011/01/key.png"><img class="alignleft size-medium wp-image-476" title="Primary Key" src="http://robtiffany.com/wp-content/uploads/2011/01/key-300x156.png" alt="Primary Key" width="300" height="156" /></a></p>
<p>When creating Primary Keys, it’s common to use a compound key based on things like account numbers, insert time and other appropriate business items.  It’s even more popular to create Identity Columns for the Primary Key based on an Int or BigInt data type based on what I see from my customers.  When you designate a column(s) to be a Primary Key, SQL Server automatically makes it a Clustered Index.  Clustered indexes are faster than normal indexes for sequential values because the B-Tree leaf nodes are the actual data pages on disk, rather than just pointers to data pages.</p>
<p>While Identity Columns work well in most database situations, they often break down in a data synchronization scenario since multiple clients could find themselves creating new rows using the same key value.  When these clients sync their data with SQL Server, key collisions would occur.  Merge Replication includes a feature that hands out blocks of Identity Ranges to each client to prevent this. </p>
<p>When using other Microsoft sync technologies like the Sync Framework or RDA, no such Identity Range mechanism exists and therefore I often see GUIDs utilized as Primary Keys to ensure uniqueness across all endpoints.  In fact, I see this more and more with Merge Replication too since SQL Server adds a GUID column to the end of each row for tracking purposes anyway.  Two birds get killed with one Uniqueidentifier stone. </p>
<p>Using the Uniqueidentifier data type is not necessarily a bad idea.  Despite the tradeoff of reduced join performance vs. integers, the solved uniqueness problem allows sync pros to sleep better at night.  The primary drawback with using GUIDs as Primary Keys goes back to the fact that SQL Server automatically gives those columns a Clustered Index.</p>
<p><strong>I thought Clustered Indexes were a good thing?</strong></p>
<p>They are a good thing when the values found in the indexed column are sequential.  Unfortunately, GUIDs generated with the default NewId() function are completely random and therefore create a serious performance problem.  All those mobile devices uploading captured data means lots of Inserts for SQL Server.  Inserting random key values like GUIDs can cause fragmentation in excess of 90% because new pages have to be allocated with rows pushed to the new page in order to insert the record on the existing page.  This performance-killing, space-wasting page splitting wouldn’t happen with sequential Integers or Datetime values since they actually help fill the existing page.</p>
<p> <strong>What about NEWSEQUENTIALID()?</strong></p>
<p>Generating your GUIDs on SQL Server with this function will dramatically reduce fragmentation and wasted space since it guarantees that each GUID will be sequential.  Unfortunately, this isn’t bulletproof.  If your Windows Server is restarted for any reason, your GUIDs may start from a lower range.  They’ll still be globally unique, but your fragmentation will increase and performance will decrease.  Also keep in mind that all the devices synchronizing with SQL Server will be creating their own GUIDs which blows the whole NEWSEQUENTIALID() strategy out of the water.</p>
<h5>Takeaway</h5>
<p>If you’re going to use the Uniqueidentifier data type for your Primary Keys and you plan to sync your data with RDA, the Sync Framework or Merge Replication, ensure that <strong>Create as Clustered == No</strong> for better performance.  You’ll still get fragmentation, but it will be closer to the ~30% range instead almost 100%.</p>
<p>Keep synching</p>
<p>Rob</p>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bf960cbd-b9a9-41b8-9652-5bf27b02ff01">Technorati Tags: <a rel="tag" href="http://technorati.com/tags/SQL+Server">SQL Server</a>,<a rel="tag" href="http://technorati.com/tags/SQL+Server+Compact">SQL Server Compact</a>,<a rel="tag" href="http://technorati.com/tags/Sync">Sync</a>,<a rel="tag" href="http://technorati.com/tags/GUID">GUID</a>,<a rel="tag" href="http://technorati.com/tags/Clustered+Index">Clustered Index</a>,<a rel="tag" href="http://technorati.com/tags/Microsoft">Microsoft</a>,<a rel="tag" href="http://technorati.com/tags/Windows">Windows</a>,<a rel="tag" href="http://technorati.com/tags/SQL+Azure">SQL Azure</a>,<a rel="tag" href="http://technorati.com/tags/MEAP">MEAP</a></div>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/reducing-sql-server-sync-io-contention-tip-3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Reducing SQL Server I/O Contention during Sync :: Tip 1</title>
		<link>http://robtiffany.com/reducing-sql-server-io-contention-during-sync-tip-1/</link>
		<comments>http://robtiffany.com/reducing-sql-server-io-contention-during-sync-tip-1/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 06:16:55 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[I/O]]></category>
		<category><![CDATA[LUN]]></category>
		<category><![CDATA[Merge Replication]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[RAID]]></category>
		<category><![CDATA[Remote Data Access]]></category>
		<category><![CDATA[SAN]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[SQL Server Compact]]></category>
		<category><![CDATA[SSCE]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[Sync]]></category>
		<category><![CDATA[Sync Framework]]></category>
		<category><![CDATA[Synchronize]]></category>
		<category><![CDATA[tempdb]]></category>
		<category><![CDATA[Transaction Logs]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=447</guid>
		<description><![CDATA[The act of tracking changes made by each SQL Server Compact or Silverlight sync subscriber can cause a lot of locking and blocking on the server. <a href="http://robtiffany.com/reducing-sql-server-io-contention-during-sync-tip-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h5>RAID</h5>
<p>Sync technologies like Merge Replication and the Sync Framework track changes on SQL Server using triggers, stored procedures and special tracking tables.  The act of tracking changes made by each SQL Server Compact or Silverlight sync subscriber can cause a lot of locking and blocking on the server.  This diminishes performance and sometimes leads to deadlocks. <a href="http://robtiffany.com/wp-content/uploads/2011/01/x3_wss-storageserver2_2.jpg"><img class="alignleft size-full wp-image-450" title="SAN Storage" src="http://robtiffany.com/wp-content/uploads/2011/01/x3_wss-storageserver2_2.jpg" alt="SAN Storage" width="540" height="186" /></a></p>
<p>Therefore, don&#8217;t listen to your SAN administrator when he says the RAID 5 will do.  RAID 1 or 10 must always be used for all databases, tempdb, and transaction logs.  Furthermore, each of these database objects must be placed on their own dedicated RAID arrays.  No sharing!  Remembers, as a DBA and sync expert, knowledge of SAN configuration must always be part of your skillset.</p>
<p>Keeping synching,</p>
<p>Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/reducing-sql-server-io-contention-during-sync-tip-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

