<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Rob Tiffany's Windows Mobile Accelerator : IIS</title><link>http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx</link><description>Tags: IIS</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>What ever happened to RDA?</title><link>http://blogs.msdn.com/robtiffany/archive/2009/09/22/what-ever-happened-to-rda.aspx</link><pubDate>Wed, 23 Sep 2009 03:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9898243</guid><dc:creator>robtiffany</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/robtiffany/comments/9898243.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robtiffany/commentrss.aspx?PostID=9898243</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;Who remembers using Remote Data Access to synchronize data between SQL Server and SQL Server Compact?&amp;nbsp; I certainly do!&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Before I dove head first into the world of Merge Replication, I always used RDA to get my customers up and running quickly.&amp;nbsp; Mobilizing an organization’s workforce quickly and easily is what it’s all about so they can start reaping the benefits.&amp;nbsp; In addition to a speedy time to market, there’s no faster or more scalable mobile sync technology on the market anywhere.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;So why wouldn’t I always use RDA?&amp;nbsp; Here’s a quick list:&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;You’re using Identity columns. &lt;/LI&gt;
&lt;LI&gt;You want to replicate schema changes to the client. &lt;/LI&gt;
&lt;LI&gt;You want change tracking on both the client and server to perform diffs of each of the tables during a sync instead of re-downloading the entire table. &lt;/LI&gt;
&lt;LI&gt;You want to automatically resolve conflicts that arise when 2 people update the same data. &lt;/LI&gt;
&lt;LI&gt;You want referential integrity constraints to be pushed down to the client database from SQL Server. &lt;/LI&gt;
&lt;LI&gt;You don’t want to write code to perform synchronization or filter data. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;If anything on the above list applied to you, you would shift to Merge Replication because it could manage ranges of Identity columns, push down schema changes, only sync data differences, resolve conflicts and push down a database’s referential integrity constraints.&amp;nbsp; Merge requires almost no code to get started and tables and columns are filtered visually via a wizard.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;So why might you choose to use RDA?&amp;nbsp; Here’s another list:&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Your Primary Keys use GUIDs instead of Identity columns. &lt;/LI&gt;
&lt;LI&gt;Users don’t overwrite each other’s data so you don’t need conflict resolution.&amp;nbsp; The rule of “Last in Wins” works for you. &lt;/LI&gt;
&lt;LI&gt;While you want indexes to be pushed down, you don’t care if your local SSCE database has referential integrity constraints applied. &lt;/LI&gt;
&lt;LI&gt;You want to wrap the changes you upload to SQL Server in a transaction so that all changes are applied or none of them are. &lt;/LI&gt;
&lt;LI&gt;Change tracking on the client is good enough and re-downloading updated server tables doesn’t take too long. &lt;/LI&gt;
&lt;LI&gt;You developers don’t mind writing some sync code. &lt;/LI&gt;
&lt;LI&gt;Be able to execute SQL and Stored Procedures directly against SQL Server via IIS.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;If your solution meets the criteria in the list above, you’re probably a good candidate for using RDA instead of Merge.&amp;nbsp; Are there any other choices out there?&lt;/P&gt;
&lt;P&gt;Back at MEDC 2007, we announced a new data replication technology for devices called Occasionally Connected Sync that would sit somewhere between RDA and Merge.&amp;nbsp; OCS as it used to be called was renamed Sync Services for ADO.NET and then was eventually merged into the Sync Framework.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The Sync Framework is a developer-focused technology:&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Supports conflict resolution. &lt;/LI&gt;
&lt;LI&gt;Change tracking on the server as well as the client so that only data differences are exchanged. &lt;/LI&gt;
&lt;LI&gt;Peer to Peer sync in the forthcoming v2 of Sync Framework. &lt;/LI&gt;
&lt;LI&gt;Sync with databases other than SQL Server. &lt;/LI&gt;
&lt;LI&gt;Best suited for SSCE running on a desktop or laptop. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;The clearest differentiation that the Sync Framework has over Merge is its provider model which allows it to sync with other ADO.NET databases like Oracle or DB2.&amp;nbsp; SQL Server supports built-in P2P Transactional replication and v2 of the Sync Framework will allow you to do this via WCF.&amp;nbsp; If you development team doesn’t mind writing lots of sync code and needs to support scenarios like synchronizing with other databases from SSCE on the desktop, then the Sync Framework might be the way to go for you.&amp;nbsp; I wouldn’t yet recommend the Sync Framework for device sync since its wire protocol is currently based on the DataSet which may cause out of memory errors on Windows phones with limited working sets.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;So where does this leave RDA?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The reason I’m writing this blog post is because time and time again I run into customer sync scenarios that don’t always need the power of Merge or the extra flexibility of the Sync Framework.&amp;nbsp; Most field service applications follow the same kind of pattern:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Lots of download-only lookup/reference tables that aren’t changed by the user. &lt;/LI&gt;
&lt;LI&gt;Tables that are pushed down to the device that tell a user where to go and what to do. &lt;/LI&gt;
&lt;LI&gt;Tables (sometimes empty) that are used to capture data from the user in the field that are upload-only. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;These kinds of schemas don’t require conflict resolvers or server change tracking and are therefore well suited for RDA.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What’s the big benefit of using RDA if a sync scenario meets its criteria?&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;You won’t modify SQL Server’s schema with GUIDs and Triggers. &lt;/LI&gt;
&lt;LI&gt;You won’t degrade the performance of SQL Server by having it track changes and maintain extra metadata. &lt;/LI&gt;
&lt;LI&gt;You will have the fastest and most scalable sync solution with least amount of hardware. &lt;/LI&gt;
&lt;LI&gt;Time to market is shorter. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;The big takeaway here is that I want you to consider your sync solution carefully before choosing a technology.&amp;nbsp; If your customer’s needs are met by RDA, then you should use it and reap the benefits of developing and deploying a simpler solution with fewer moving parts.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Remember Occam's Razor.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;-Rob&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9898243" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge/default.aspx">Merge</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SSCE/default.aspx">SSCE</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+2005+Compact+Edition/default.aspx">SQL Server 2005 Compact Edition</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Smartphone/default.aspx">Smartphone</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+Compact/default.aspx">SQL Server Compact</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Sync/default.aspx">Sync</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Sync+Framework/default.aspx">Sync Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Sync+Services+for+ADO.NET/default.aspx">Sync Services for ADO.NET</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge+Replication/default.aspx">Merge Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Pocket+PC/default.aspx">Pocket PC</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/RDA/default.aspx">RDA</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Remote+Data+Access/default.aspx">Remote Data Access</category></item><item><title>Mobile Architecture Pocket Guide v1.1</title><link>http://blogs.msdn.com/robtiffany/archive/2009/01/17/mobile-architecture-pocket-guide-v1-1.aspx</link><pubDate>Sat, 17 Jan 2009 21:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9336308</guid><dc:creator>robtiffany</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/robtiffany/comments/9336308.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robtiffany/commentrss.aspx?PostID=9336308</wfw:commentRss><description>&lt;P&gt;Just wanted to let everyone know that version 1.1 of the &lt;SPAN class=CodePlexPageHeader id=ctl00_ctl00_MasterContent_Content_TitleLabel&gt;Mobile Architecture Pocket Guide&lt;/SPAN&gt; is now available on CodePlex at &lt;A href="http://www.codeplex.com/AppArch/Release/ProjectReleases.aspx?ReleaseId=19798" mce_href="http://www.codeplex.com/AppArch/Release/ProjectReleases.aspx?ReleaseId=19798"&gt;http://www.codeplex.com/AppArch/Release/ProjectReleases.aspx?ReleaseId=19798&lt;/A&gt;.&amp;nbsp; This is the first patterns &amp;amp; practices update to this guide since 2002 so it's a welcome sight to to have it out there for all our Windows Mobile developers.&lt;/P&gt;
&lt;P&gt;I've spent the last couple of months working with J.D. Meier, Rabi Satter, Rob Boucher and the rest of the P&amp;amp;P team&amp;nbsp;to tune, tweak and update the new Mobile Architecture Pocket Guide to ensure that it's as accurate and relevant to today's Windows Mobile platform and runtimes as possible.&amp;nbsp; The guide's chapters include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Ch 01&amp;nbsp;&amp;gt; Mobile Application Architecture 
&lt;LI&gt;Ch 02&amp;nbsp;&amp;gt; Architecture and Design Guidelines 
&lt;LI&gt;Ch 03&amp;nbsp;&amp;gt; Presentation Layer Guidelines 
&lt;LI&gt;Ch 04&amp;nbsp;&amp;gt; Business Layer Guidelines 
&lt;LI&gt;Ch 05&amp;nbsp;&amp;gt; Data Access Layer Guidelines 
&lt;LI&gt;Ch 06&amp;nbsp;&amp;gt; Service Layer Guidelines 
&lt;LI&gt;Ch 07&amp;nbsp;&amp;gt; Communication Guidelines 
&lt;LI&gt;Ch 08&amp;nbsp;&amp;gt; Deployment Patterns &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Our goal is to empower our Windows Mobile developer community as much as possible, and while this guide may seem like it's targeted exclusively to developers, I ensured that the IT Pro side of the house is &lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi"&gt;accommodated &lt;/SPAN&gt;as well.&amp;nbsp; Mobile infrastructure elements of this guide include System Center Mobile Device Manager (Deployment), SQL Server (Sync Services&amp;nbsp;+ Merge), IIS (Web Services +&amp;nbsp;Sync + WCF), Exchange (WCF Store and Forward) and Active Directory (Auth).&lt;/P&gt;
&lt;P&gt;Download it,&amp;nbsp;take if for a spin, and give us your feedback so we can keep improving it.&lt;/P&gt;
&lt;P&gt;- Rob&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9336308" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge/default.aspx">Merge</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SSCE/default.aspx">SSCE</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Smartphone/default.aspx">Smartphone</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Wireless/default.aspx">Wireless</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Active+Directory/default.aspx">Active Directory</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Custom+Controls/default.aspx">Custom Controls</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Mobile+Web/default.aspx">Mobile Web</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SDK/default.aspx">SDK</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+Compact/default.aspx">SQL Server Compact</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Sync/default.aspx">Sync</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Sync+Framework/default.aspx">Sync Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Sync+Services+for+ADO.NET/default.aspx">Sync Services for ADO.NET</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge+Replication/default.aspx">Merge Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Pocket+PC/default.aspx">Pocket PC</category></item><item><title>See you in Barcelona for Tech Ed EMEA Dev</title><link>http://blogs.msdn.com/robtiffany/archive/2008/11/07/see-you-in-barcelona-for-tech-ed-emea-dev.aspx</link><pubDate>Fri, 07 Nov 2008 19:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9052478</guid><dc:creator>robtiffany</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/robtiffany/comments/9052478.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robtiffany/commentrss.aspx?PostID=9052478</wfw:commentRss><description>&lt;P&gt;&lt;IMG title="Tech Ed EMEA" style="WIDTH: 554px; HEIGHT: 74px" height=79 alt="Tech Ed EMEA" src="http://farm4.static.flickr.com/3026/3010814268_02d772bb84.jpg?v=0" width=500 mce_src="http://farm4.static.flickr.com/3026/3010814268_02d772bb84.jpg?v=0"&gt;&lt;/P&gt;
&lt;P&gt;Looking forward to seeing lots of familiar faces and meeting new ones starting December 10th at Tech Ed EMEA!&amp;nbsp; While I ran the Windows Mobile track for Tech Ed North America last June in Orlando, this time around I'll just be delivering a couple of presentations and spending most of my time helping empower delegates to create incredible mobile applications.&amp;nbsp; I'll be delivering the following breakout&amp;nbsp;sessions:&lt;/P&gt;
&lt;P&gt;
&lt;TABLE class="" style="WIDTH: 555px; BORDER-COLLAPSE: collapse; HEIGHT: 396px" width=555 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" style="BACKGROUND: lightgrey" colSpan=5&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;&lt;!--&lt;a href="vcal.aspx?SessionID=65987321-8208-452a-b4bc-befcb98f5156"&gt;&lt;img src="resources/images/addcal.gif" border=0&gt;&lt;/a&gt;--&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=100&gt;&lt;B&gt;MBL301&lt;/B&gt; &lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;&lt;B&gt;What's New in the Windows Mobile Line of Business Solution Accelerator 2008&lt;/B&gt; &lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;November 10 16:00 - 17:15 &lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;Room 121 &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" colSpan=5&gt;&lt;I&gt;This session walks through the new features that we have added to the Windows Mobile Line of Business Accelerator 2008; features such as adapting your application to any device or screen size with a single binary, sync services, store and forward, and advanced data access objects with Microsoft .NET CF 3.5.&lt;/I&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" colSpan=5&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BACKGROUND: lightgrey" colSpan=5&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;&lt;!--&lt;a href="vcal.aspx?SessionID=e952d144-33e4-4602-8339-0350d5834668"&gt;&lt;img src="resources/images/addcal.gif" border=0&gt;&lt;/a&gt;--&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=100&gt;&lt;B&gt;MBL310&lt;/B&gt; &lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;&lt;B&gt;Mobilize your Enterprise and Achieve Global Scalability with Windows Mobile and SQL Server Compact&lt;/B&gt; &lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;November 11 15:15 - 16:30 &lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;Room 121 &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" colSpan=5&gt;&lt;I&gt;With the world's largest organizations rolling out tens of thousands of Windows Mobile devices to empower their respective workforces, the ability to create mobile line-of-business solutions that can support large user populations is critical. Based on his third book on Windows Mobile development, Rob Tiffany shows you how to take the Microsoft SQL Server data you use to run your organization and make it available to all your mobile employees. Utilizing the performance, scale-out, and filtering capabilities of Merge Replication Republishing, Rob shows you how to build an n-tier mobile synchronization architecture designed to scale to hundreds of thousands of devices. Take the guesswork out of mobilizing your enterprise by tapping into the experience of one of the world's foremost authorities on Windows Mobile infrastructure and development.&lt;/I&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" colSpan=5&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BACKGROUND: lightgrey" colSpan=5&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;See you there!&lt;/P&gt;
&lt;P&gt;- Rob&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9052478" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge/default.aspx">Merge</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SSCE/default.aspx">SSCE</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+2005+Compact+Edition/default.aspx">SQL Server 2005 Compact Edition</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Smartphone/default.aspx">Smartphone</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Wireless/default.aspx">Wireless</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Book/default.aspx">Book</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Author/default.aspx">Author</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Publisher/default.aspx">Publisher</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/MEDC/default.aspx">MEDC</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/MVP/default.aspx">MVP</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Tech+Ed/default.aspx">Tech Ed</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+Compact/default.aspx">SQL Server Compact</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Sync/default.aspx">Sync</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Sync+Framework/default.aspx">Sync Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Sync+Services+for+ADO.NET/default.aspx">Sync Services for ADO.NET</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Republishing/default.aspx">Republishing</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Pocket+PC/default.aspx">Pocket PC</category></item><item><title>Chapter 1 of my new Book is Ready!</title><link>http://blogs.msdn.com/robtiffany/archive/2008/10/23/chapter-1-of-my-new-book-is-ready.aspx</link><pubDate>Fri, 24 Oct 2008 04:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9013958</guid><dc:creator>robtiffany</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/robtiffany/comments/9013958.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robtiffany/commentrss.aspx?PostID=9013958</wfw:commentRss><description>&lt;H3&gt;Mobile Data Synchronization with Microsoft SQL Server 2005 and SQL Server Compact &amp;gt; Second Edition&lt;/H3&gt;
&lt;H4&gt;&lt;STRONG&gt;Achieving Global Scalability via Merge Replication Republishing&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;Download and review the PDF from my Windows Live SkyDrive @ &lt;/P&gt;
&lt;P&gt;&lt;A href="http://cid-8b9c82da88af61fc.skydrive.live.com/self.aspx/Sync/Ch%201.pdf" mce_href="http://cid-8b9c82da88af61fc.skydrive.live.com/self.aspx/Sync/Ch%201.pdf"&gt;http://cid-8b9c82da88af61fc.skydrive.live.com/self.aspx/Sync/Ch%201.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/robtiffany/WindowsLiveWriter/Chapter1ofmynewBookisReady_FFFA/ContosoSM_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=484 alt=ContosoSM src="http://blogs.msdn.com/blogfiles/robtiffany/WindowsLiveWriter/Chapter1ofmynewBookisReady_FFFA/ContosoSM_thumb.jpg" width=364 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The new book shows you how to scale out your Merge Replication Architecture with Republishing.&amp;nbsp; It's chock full of new insight to show you how to get the most performance and scalability out of your system.&amp;nbsp; It also shows you how to make replication Subscriptions available to the Internet via ISA Server 2006 or System Center Mobile Device Manager.&lt;/P&gt;
&lt;P&gt;Check it out and let me know what you think.&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Rob&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9013958" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge/default.aspx">Merge</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SSCE/default.aspx">SSCE</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+2005+Compact+Edition/default.aspx">SQL Server 2005 Compact Edition</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Smartphone/default.aspx">Smartphone</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Wireless/default.aspx">Wireless</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/CDMA/default.aspx">CDMA</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/GSM/default.aspx">GSM</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/UMTS/default.aspx">UMTS</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/EV-DO/default.aspx">EV-DO</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/RSA/default.aspx">RSA</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Book/default.aspx">Book</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Publisher/default.aspx">Publisher</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Apple/default.aspx">Apple</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+Compact/default.aspx">SQL Server Compact</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Sync/default.aspx">Sync</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Sync+Framework/default.aspx">Sync Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Sync+Services+for+ADO.NET/default.aspx">Sync Services for ADO.NET</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge+Replication/default.aspx">Merge Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Republishing/default.aspx">Republishing</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Pocket+PC/default.aspx">Pocket PC</category></item><item><title>Listen to Rob's Windows Mobile Interview on .NET Rocks!</title><link>http://blogs.msdn.com/robtiffany/archive/2008/10/09/listen-to-rob-s-windows-mobile-interview-on-net-rocks.aspx</link><pubDate>Thu, 09 Oct 2008 23:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8993275</guid><dc:creator>robtiffany</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/robtiffany/comments/8993275.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robtiffany/commentrss.aspx?PostID=8993275</wfw:commentRss><description>&lt;P&gt;&amp;nbsp;&lt;A href="http://www.dotnetrocks.com/"&gt;&lt;IMG src="http://www.dotnetrocks.com/slices/top.jpg" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I was recently interviewed by Carl Franklin and Richard Campbell who run one of the Internet's most popular developer sites, .NET Rocks!&amp;nbsp; You can catch the interview at &lt;A href="http://www.dotnetrocks.com/default.aspx?showNum=384"&gt;http://www.dotnetrocks.com/default.aspx?showNum=384&lt;/A&gt;&amp;nbsp;where you can either listen to it live via the website, or download it to your favorite device to listen later.&lt;/P&gt;
&lt;P&gt;I cover the current state of Windows Mobile + the entire ecosystem including OEMs, Mobile Operators, developers and who does what within&amp;nbsp;Microsoft's Mobile Commications Business in Redmond&amp;nbsp;and the Mobile Development Center in &lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Hyderabad&lt;/SPAN&gt;.&amp;nbsp; I take Carl and Richard on a deep dive of our latest mobile development technologies and techniques with the .NET Compact Framework, SQL Server Compact, and WCF Store and Forward just to name a few.&amp;nbsp; I also cover all the features of System Center Mobile Device Manager including OTA software distribution, Group Policies, Mobile VPN security and Domain join.&lt;/P&gt;
&lt;P&gt;Download it and give it a listen &lt;/P&gt;
&lt;P&gt;- Rob&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8993275" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge/default.aspx">Merge</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SSCE/default.aspx">SSCE</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+2005+Compact+Edition/default.aspx">SQL Server 2005 Compact Edition</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Smartphone/default.aspx">Smartphone</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Wireless/default.aspx">Wireless</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/GSM/default.aspx">GSM</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/EV-DO/default.aspx">EV-DO</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/BizTalk/default.aspx">BizTalk</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/AES/default.aspx">AES</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Direct3D+Mobile/default.aspx">Direct3D Mobile</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Graphics/default.aspx">Graphics</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/iPhone/default.aspx">iPhone</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/MEDC/default.aspx">MEDC</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+Compact/default.aspx">SQL Server Compact</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Sync/default.aspx">Sync</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Sync+Framework/default.aspx">Sync Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Sync+Services+for+ADO.NET/default.aspx">Sync Services for ADO.NET</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge+Replication/default.aspx">Merge Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Pocket+PC/default.aspx">Pocket PC</category></item><item><title>My New Book is Now Available!</title><link>http://blogs.msdn.com/robtiffany/archive/2008/01/07/my-new-book-is-now-available.aspx</link><pubDate>Tue, 08 Jan 2008 01:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7020885</guid><dc:creator>robtiffany</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/robtiffany/comments/7020885.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robtiffany/commentrss.aspx?PostID=7020885</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;"Windows Mobile Data Synchronization with SQL Server 2005 and SQL Server Compact 3.1" is now available&amp;nbsp;in print!&amp;nbsp; Those of you in the continental U.S. can just buy it directly from the Hood Canal Press site at &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;&lt;A href="http://www.hoodcanalpress.com/catalog.htm"&gt;http://www.hoodcanalpress.com/catalog.htm&lt;/FONT&gt;&lt;/A&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;&amp;nbsp;and get free ground&amp;nbsp;shipping.&amp;nbsp; It's on&amp;nbsp;Amazon in the U.S. so you can order it at &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;&lt;A href="http://www.amazon.com/Windows-Mobile-Synchronization-Server-Compact/dp/0979891205/ref=sr_1_13?ie=UTF8&amp;amp;s=books&amp;amp;qid=1199744085&amp;amp;sr=1-13"&gt;http://www.amazon.com/Windows-Mobile-Synchronization-Server-Compact/dp/0979891205/ref=sr_1_13?ie=UTF8&amp;amp;s=books&amp;amp;qid=1199744085&amp;amp;sr=1-13&lt;/A&gt;&amp;nbsp;as well&lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;.&amp;nbsp; At&amp;nbsp;Amazon UK you can find it&amp;nbsp;here &lt;A href="http://www.amazon.co.uk/Windows-Mobile-Synchronization-Server-Compact/dp/0979891205/ref=sr_1_7?ie=UTF8&amp;amp;s=books&amp;amp;qid=1199744162&amp;amp;sr=1-7"&gt;http://www.amazon.co.uk/Windows-Mobile-Synchronization-Server-Compact/dp/0979891205/ref=sr_1_7?ie=UTF8&amp;amp;s=books&amp;amp;qid=1199744162&amp;amp;sr=1-7&lt;/A&gt;.&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;Go buy it and start building large-scale line of business and consumer applications for Windows Mobile!&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;-Rob&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7020885" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge/default.aspx">Merge</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SSCE/default.aspx">SSCE</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+2005+Compact+Edition/default.aspx">SQL Server 2005 Compact Edition</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Smartphone/default.aspx">Smartphone</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Wireless/default.aspx">Wireless</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Active+Directory/default.aspx">Active Directory</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Book/default.aspx">Book</category></item><item><title>Yes, We Can Scale to 1,200 Concurrent Subscribers!</title><link>http://blogs.msdn.com/robtiffany/archive/2007/12/23/yes-we-can-scale-to-1-200-concurrent-subscribers.aspx</link><pubDate>Mon, 24 Dec 2007 07:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6850860</guid><dc:creator>robtiffany</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/robtiffany/comments/6850860.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robtiffany/commentrss.aspx?PostID=6850860</wfw:commentRss><description>&lt;P&gt;Yet again, I've&amp;nbsp;doubled the number of concurrent Subscribers to 1,200 where each Subscriber is equivalant to a&amp;nbsp;Windows Mobile device.&amp;nbsp; I used&amp;nbsp;6 servers running 200 Subscribers each to create client load, plus&amp;nbsp;3 load-balanced&amp;nbsp;IIS servers, and a separate&amp;nbsp;SQL Server Distributor and&amp;nbsp;Publisher.&amp;nbsp; Each IIS server had&amp;nbsp;its MAX_THREAD_PER_POOL registry setting set to 10 and had to&amp;nbsp;handle 400 concurrent Subscribers.&amp;nbsp;&amp;nbsp;With 1,200 concurrent Subscribers contending for resources on every tier,&amp;nbsp;the system&amp;nbsp;performed 10,693 syncs per hour, which is half the&amp;nbsp;22,401 syncs per hour that&amp;nbsp;I saw when running 600 Subscribers back at the Partner Summit.&amp;nbsp; That being said, the system held steady at the number of rows it could change and replicate per hour:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Rows changed:&amp;nbsp;&amp;nbsp;12,831,600 per hour&amp;nbsp; |&amp;nbsp;&amp;nbsp;307,958,400 per day 
&lt;LI&gt;Bytes per row: 116 
&lt;LI&gt;Data replicated:&amp;nbsp;&amp;nbsp;1.42 GB per hour&amp;nbsp; |&amp;nbsp;&amp;nbsp;34 GB per day&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The longest and average sync times jumped significantly over the results I got with 600 concurrent Subscribers:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Longest sync time: 17 minutes&lt;/LI&gt;
&lt;LI&gt;Shortest sync time: .5 seconds&lt;/LI&gt;
&lt;LI&gt;Average sync time: 6 minutes, 38 seconds&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Just like in Vegas and at the Partner Summit,&amp;nbsp;the IIS and SQL Servers are chilling out throughout this test with the IIS servers and Distributor using more memory:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;IIS1: CPU: 8%&amp;nbsp; |&amp;nbsp; Mem:&amp;nbsp;229 MB&amp;nbsp; |&amp;nbsp; Network Utilization: 1% 
&lt;LI&gt;IIS2: CPU: 14%&amp;nbsp; |&amp;nbsp; Mem:&amp;nbsp;225 MB&amp;nbsp; |&amp;nbsp; Network Utilization: 1% 
&lt;LI&gt;IIS3: CPU: 8%&amp;nbsp; |&amp;nbsp; Mem:&amp;nbsp;226 MB&amp;nbsp; |&amp;nbsp; Network Utilization: .89% 
&lt;LI&gt;SQL Distributor: CPU: 5%&amp;nbsp; | Mem:&amp;nbsp;2.95 GB&amp;nbsp; |&amp;nbsp; Network Utilization: .32% 
&lt;LI&gt;SQL Publisher:&amp;nbsp;CPU: 36%&amp;nbsp; |&amp;nbsp; Mem: 4.12 GB&amp;nbsp; |&amp;nbsp; Network Utilization: 1%&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The obvious takeaway from this test is that we can scale to 1,200 concurrent Subscribers but we're no longer sustaining an upward curve in performance.&amp;nbsp; In fact, the curve has started heading downward.&amp;nbsp; Does performance always head northward in a linear fashion forever in other systems?&amp;nbsp; Of course not, so don't be bummed.&amp;nbsp; I think a system that can change and replicate almost 14 million rows per hour while accomodating 1,200 Subscribers that are making 1,200 row changes per sync is pretty incredible!&amp;nbsp; Remember, real-world systems don't have each Windows Mobile device make 1,200 rows changes every time they sync.&amp;nbsp; My portable data center and test harness is designed to dramatically exceed what one would see in the real world!&lt;/P&gt;
&lt;P&gt;I might be crazy, but I don't want to give up on pushing the performance of this system higher without a fight!&amp;nbsp; Therefore, I'm going to run this test again with 1,200 concurrent Subscribers, except next time I'll use 6 IIS servers.&amp;nbsp; If you remember, I didn't just double the number of Subscribers replicating against SQL Server, I also doubled the number of Subscribers hitting each IIS server.&amp;nbsp; I went from 200 to 400.&amp;nbsp; By adding 3 more IIS servers, I'll be backing the number of Subscribers per IIS server down to 200 again.&amp;nbsp; Don't be fooled by those low CPU numbers on the 3 IIS servers.&amp;nbsp; The ISAPI DLL gets all it can handle long before you begin to stress the server as a whole.&amp;nbsp; Also, reading to and writing from all those .IN and .OUT files creates a lot of I/O.&amp;nbsp; Stay tuned to see what happens...&lt;/P&gt;
&lt;P&gt;- Rob&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6850860" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge/default.aspx">Merge</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+2005+Compact+Edition/default.aspx">SQL Server 2005 Compact Edition</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Active+Directory/default.aspx">Active Directory</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Publisher/default.aspx">Publisher</category></item><item><title>Windows Mobile Partner Summit Day 1</title><link>http://blogs.msdn.com/robtiffany/archive/2007/12/12/windows-mobile-partner-summit-day-1.aspx</link><pubDate>Wed, 12 Dec 2007 22:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6750384</guid><dc:creator>robtiffany</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/robtiffany/comments/6750384.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robtiffany/commentrss.aspx?PostID=6750384</wfw:commentRss><description>&lt;P&gt;The Windows Mobile Partner Summit is going great&amp;nbsp;and the event looks to be twice as big as last year.&amp;nbsp; It's always nice to reconnect with our partner community.&amp;nbsp; Steve Hegenderfer was kind&amp;nbsp;enough to allow me to bring&amp;nbsp;my rack of servers to his event.&amp;nbsp; This time, I have a much lighter, 24U half rack which is much easier to move around.&amp;nbsp; At the Dev Connections conference, I used a new stress test designed to push the number of row changes per sync.&amp;nbsp; At that event, I used 300 concurrent Subscribers to perform 23,330 syncs per hour and&amp;nbsp;make changes to 7,000,000 rows per hour.&amp;nbsp; Each complete row change consisted of 116 bytes of data which meant I changed and replicated 812 MB of data per hour.&lt;/P&gt;
&lt;P&gt;This time around I decided to double the number of concurrent Subscribers to 600.&amp;nbsp;&amp;nbsp;Keep in mind that each Subscriber is equivalant to a&amp;nbsp;Windows Mobile device.&amp;nbsp; I used&amp;nbsp;6 servers running 100 Subscribers each to create client load, 3 load-balanced&amp;nbsp;IIS servers, and a separate&amp;nbsp;SQL Server Distributor and&amp;nbsp;Publisher.&amp;nbsp;&amp;nbsp;With 600 concurrent Subscribers contending for resources, I managed to perform 22,401 syncs per hour which is slightly fewer syncs than I saw when running only 300 Subscribers back in Vegas.&amp;nbsp; The important story here is that I almost doubled the number of rows I changed and replicated per hour:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Rows changed:&amp;nbsp;&amp;nbsp;13,440,600 per hour&amp;nbsp; |&amp;nbsp;&amp;nbsp;322,574,400 per day &lt;/LI&gt;
&lt;LI&gt;Data replicated:&amp;nbsp;&amp;nbsp;1.45 GB per hour&amp;nbsp; |&amp;nbsp;&amp;nbsp;34.8 GB per day&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Just like in Vegas,&amp;nbsp;the IIS and SQL Servers where just chilling out throughout this test:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;IIS1: CPU: 7%&amp;nbsp; |&amp;nbsp; Mem:&amp;nbsp;188 MB&amp;nbsp; |&amp;nbsp; Network Utilization: .69% 
&lt;LI&gt;IIS2: CPU: 8%&amp;nbsp; |&amp;nbsp; Mem:&amp;nbsp;187 MB&amp;nbsp; |&amp;nbsp; Network Utilization: .88% 
&lt;LI&gt;IIS3: CPU: 5%&amp;nbsp; |&amp;nbsp; Mem:&amp;nbsp;185 MB&amp;nbsp; |&amp;nbsp; Network Utilization: .95% 
&lt;LI&gt;SQL Distributor: CPU: 5%&amp;nbsp; | Mem:&amp;nbsp;994 MB&amp;nbsp; |&amp;nbsp; Network Utilization: .77% 
&lt;LI&gt;SQL Publisher:&amp;nbsp;CPU: 36%&amp;nbsp; |&amp;nbsp; Mem: 4.11 GB&amp;nbsp; |&amp;nbsp; Network Utilization: 1%&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;This is truly incredible and further proves that SQL Server 2005 + SQL Server Compact 3.1 + Merge Replication is the most powerful data sync technology on the market today.&lt;/P&gt;
&lt;P&gt;- Rob&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6750384" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge/default.aspx">Merge</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+2005+Compact+Edition/default.aspx">SQL Server 2005 Compact Edition</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Smartphone/default.aspx">Smartphone</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Active+Directory/default.aspx">Active Directory</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Book/default.aspx">Book</category></item><item><title>New Mobile Merge Replication Benchmarks</title><link>http://blogs.msdn.com/robtiffany/archive/2007/11/09/new-mobile-merge-replication-benchmarks.aspx</link><pubDate>Fri, 09 Nov 2007 21:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6024636</guid><dc:creator>robtiffany</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/robtiffany/comments/6024636.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robtiffany/commentrss.aspx?PostID=6024636</wfw:commentRss><description>&lt;P&gt;I just finished up a week of teaching attendees&amp;nbsp;at the Dev Connections conference how to setup and use mobile merge replication to sync data between their Windows Mobile devices and SQL Server 2005.&amp;nbsp; As usual, I brought along my favorite teaching tool, my portable data center, to take attendees on deep dives of the 4 different tiers of my replication architecture.&amp;nbsp; This time around, I changed the way my stress test harness works.&amp;nbsp; In the past, my goal has always been to see how many Subscribers I could connect to the system at the same time.&amp;nbsp; With the new test, I'm stressing the system to a much greater degree with my software to push the envelope in regards to how many table row changes&amp;nbsp;I can make per hour.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;With an eye towards the stress testing system that has helped give iAnywhere's ASA database and MobiLink replication server a dominant market position, I built a similar test where the amount of data in each row changed is exactly&amp;nbsp;116 bytes each time.&amp;nbsp; I think the iAnywhere stress test used 92 byte rows.&amp;nbsp; I used 3 servers to create client load, 3 load-balanced&amp;nbsp;IIS servers, and a separate&amp;nbsp;SQL Server Distributor and&amp;nbsp;Publisher.&amp;nbsp;&amp;nbsp;The results I got from my test harness performing 23,330 syncs per hour&amp;nbsp;are nothing short of spectacular:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Rows changed:&amp;nbsp; 7,000,000 per hour&amp;nbsp; |&amp;nbsp; 168,000,000 per day&lt;/LI&gt;
&lt;LI&gt;Data replicated:&amp;nbsp; 812 MB per hour&amp;nbsp; |&amp;nbsp; 19.4 GB per day&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Now check out how the IIS and SQL Servers where just chilling out throughout this test:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;IIS1: CPU: 5%&amp;nbsp; |&amp;nbsp; Mem: 216 MB&amp;nbsp; |&amp;nbsp; Network Utilization: .44%&lt;/LI&gt;
&lt;LI&gt;IIS2: CPU: 7%&amp;nbsp; |&amp;nbsp; Mem: 147 MB&amp;nbsp; |&amp;nbsp; Network Utilization: .13%&lt;/LI&gt;
&lt;LI&gt;IIS3: CPU: 8%&amp;nbsp; |&amp;nbsp; Mem: 170 MB&amp;nbsp; |&amp;nbsp; Network Utilization: .42%&lt;/LI&gt;
&lt;LI&gt;SQL Distributor: CPU: 5%&amp;nbsp; | Mem: 2.15 GB&amp;nbsp; |&amp;nbsp; Network Utilization: .58%&lt;/LI&gt;
&lt;LI&gt;SQL Publisher:&amp;nbsp;CPU: 17%&amp;nbsp; |&amp;nbsp; Mem: 4.25 GB&amp;nbsp; |&amp;nbsp; Network Utilization: 1%&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Not bad!&amp;nbsp; Thanks to Loke Uei, we were also able to give away 300 copies of my new book that walks you through the construction of this scalable mobile merge replication system.&amp;nbsp; Lots of Windows Mobile developers and IT Pros are now empowered to "mobilize" their organization's data out to mobile field personnel.&amp;nbsp; Just as important, they can take the proof back to their respective organizations that this technology is build to perform and&amp;nbsp;scale!&lt;/P&gt;
&lt;P&gt;I'm just getting started with this new test harness.&amp;nbsp; Come to the Windows Mobile Partner Summit in December to see me push this system even further and break new replication records!&lt;/P&gt;
&lt;P&gt;- Rob&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6024636" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge/default.aspx">Merge</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SSCE/default.aspx">SSCE</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+2005+Compact+Edition/default.aspx">SQL Server 2005 Compact Edition</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Smartphone/default.aspx">Smartphone</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Wireless/default.aspx">Wireless</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Active+Directory/default.aspx">Active Directory</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Book/default.aspx">Book</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Publisher/default.aspx">Publisher</category></item><item><title>Chapter 1: Getting Started with Merge Replication</title><link>http://blogs.msdn.com/robtiffany/archive/2007/09/09/chapter-1-getting-started-with-merge-replication.aspx</link><pubDate>Mon, 10 Sep 2007 08:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4851303</guid><dc:creator>robtiffany</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/robtiffany/comments/4851303.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robtiffany/commentrss.aspx?PostID=4851303</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;The&amp;nbsp;non-linear fashion by which&amp;nbsp;I've been writing this book reminds me of the way Pulp Fiction&amp;nbsp;jumps around.&lt;/STRONG&gt;&amp;nbsp; Chapter&amp;nbsp;1 is ready to go&amp;nbsp;so you can&amp;nbsp;get started with Merge Replication for Windows Mobile devices.&amp;nbsp; In addition to obvious technology walkthroughs, I also decided to add a bunch of scenarios that illustrate how mobile data synchronization can add tangible business value to existing endeavors.&lt;/P&gt;
&lt;P&gt;The book is called &lt;STRONG&gt;"Windows Mobile Data Synchronization with SQL Server 2005 and SQL Server Compact 3.1"&lt;/STRONG&gt; and it's being published by &lt;STRONG&gt;Hood Canal Press&lt;/STRONG&gt;.&amp;nbsp; Click on&amp;nbsp;Chapter1.pdf below to&amp;nbsp;download Chapter&amp;nbsp;1 on&amp;nbsp;getting started with Merge Replication.&lt;/P&gt;&lt;IFRAME style="BORDER-RIGHT: #dde5e9 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #dde5e9 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 3px; BORDER-LEFT: #dde5e9 1px solid; WIDTH: 240px; PADDING-TOP: 0px; BORDER-BOTTOM: #dde5e9 1px solid; HEIGHT: 66px; BACKGROUND-COLOR: #ffffff" marginWidth=0 marginHeight=0 src="http://cid-8b9c82da88af61fc.skydrive.live.com/embedrowdetail.aspx/Public/Chapter1.pdf" frameBorder=0 scrolling=no mce_src="http://cid-8b9c82da88af61fc.skydrive.live.com/embedrowdetail.aspx/Public/Chapter1.pdf"&gt;&lt;/IFRAME&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4851303" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge/default.aspx">Merge</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SSCE/default.aspx">SSCE</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+2005+Compact+Edition/default.aspx">SQL Server 2005 Compact Edition</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Active+Directory/default.aspx">Active Directory</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Security/default.aspx">Security</category></item><item><title>Chapter 3: Configuring the Publisher</title><link>http://blogs.msdn.com/robtiffany/archive/2007/08/31/chapter-3-configuring-the-publisher.aspx</link><pubDate>Sat, 01 Sep 2007 08:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4682289</guid><dc:creator>robtiffany</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/robtiffany/comments/4682289.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robtiffany/commentrss.aspx?PostID=4682289</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;The biggest and most comprehensive chapter of the new book is ready to preview!&lt;/STRONG&gt;&amp;nbsp; Chapter 3 is ready to go for some relaxing Labor Day weekend reading.&amp;nbsp; It's the deepest coverage that I've seen on all the nuances of the SQL Server Publisher for mobile replication if I may say so myself.&lt;/P&gt;
&lt;P&gt;The book is called &lt;STRONG&gt;"Windows Mobile Data Synchronization with SQL Server 2005 and SQL Server Compact 3.1"&lt;/STRONG&gt; and it's being published by &lt;STRONG&gt;Hood Canal Press&lt;/STRONG&gt;.&amp;nbsp; Click on&amp;nbsp;Chapter3.pdf below to&amp;nbsp;download Chapter&amp;nbsp;3 on installing and configuring&amp;nbsp;the SQL Server Publisher.&lt;/P&gt;&lt;IFRAME style="BORDER-RIGHT: #dde5e9 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #dde5e9 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 3px; BORDER-LEFT: #dde5e9 1px solid; WIDTH: 240px; PADDING-TOP: 0px; BORDER-BOTTOM: #dde5e9 1px solid; HEIGHT: 66px; BACKGROUND-COLOR: #ffffff" marginWidth=0 marginHeight=0 src="http://cid-8b9c82da88af61fc.skydrive.live.com/embedrowdetail.aspx/Public/Chapter3.pdf" frameBorder=0 scrolling=no mce_src="http://cid-8b9c82da88af61fc.skydrive.live.com/embedrowdetail.aspx/Public/Chapter3.pdf"&gt;&lt;/IFRAME&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4682289" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge/default.aspx">Merge</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SSCE/default.aspx">SSCE</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+2005+Compact+Edition/default.aspx">SQL Server 2005 Compact Edition</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Smartphone/default.aspx">Smartphone</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Active+Directory/default.aspx">Active Directory</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Security/default.aspx">Security</category></item><item><title>Chapter 4 Refresh: Web Synchronization</title><link>http://blogs.msdn.com/robtiffany/archive/2007/08/30/chapter-4-refresh-web-synchronization.aspx</link><pubDate>Fri, 31 Aug 2007 04:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4657761</guid><dc:creator>robtiffany</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/robtiffany/comments/4657761.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robtiffany/commentrss.aspx?PostID=4657761</wfw:commentRss><description>&lt;P&gt;I've made some updates and additions to chapter 4 for you to&amp;nbsp;look at.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The book is called &lt;STRONG&gt;"Windows Mobile Data Synchronization with SQL Server 2005 and SQL Server Compact 3.1"&lt;/STRONG&gt; and it's being published by &lt;STRONG&gt;Hood Canal Press&lt;/STRONG&gt;.&amp;nbsp; Click on&amp;nbsp;Chapter4.pdf below to&amp;nbsp;download Chapter 4 on installing and configuring Web Synchronization on your IIS server.&lt;/P&gt;&lt;IFRAME style="BORDER-RIGHT: #dde5e9 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #dde5e9 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 3px; BORDER-LEFT: #dde5e9 1px solid; WIDTH: 240px; PADDING-TOP: 0px; BORDER-BOTTOM: #dde5e9 1px solid; HEIGHT: 66px; BACKGROUND-COLOR: #ffffff" marginWidth=0 marginHeight=0 src="http://cid-8b9c82da88af61fc.skydrive.live.com/embedrowdetail.aspx/Public/Chapter4.pdf" frameBorder=0 scrolling=no mce_src="http://cid-8b9c82da88af61fc.skydrive.live.com/embedrowdetail.aspx/Public/Chapter4.pdf"&gt;&lt;/IFRAME&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4657761" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge/default.aspx">Merge</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SSCE/default.aspx">SSCE</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+2005+Compact+Edition/default.aspx">SQL Server 2005 Compact Edition</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Active+Directory/default.aspx">Active Directory</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Security/default.aspx">Security</category></item><item><title>Chapter 4: Web Synchronization</title><link>http://blogs.msdn.com/robtiffany/archive/2007/08/08/chapter-4-web-synchronization.aspx</link><pubDate>Thu, 09 Aug 2007 06:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4304526</guid><dc:creator>robtiffany</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/robtiffany/comments/4304526.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robtiffany/commentrss.aspx?PostID=4304526</wfw:commentRss><description>&lt;P&gt;As I mentioned in a previous post, my latest book is underway.&amp;nbsp; For those of you who visited my&amp;nbsp;booth at MEDC 2007 in Las Vegas or Tech Ed 2007 in Orlando and wondered how I built my 4-tier merge replication architecture, your questions are about to be answered as I promised.&amp;nbsp; The good news is I won't make you wait to buy the whole book from Amazon, Borders, or Barnes and Noble.&amp;nbsp; As I complete each chapter, I'm making a downloadable PDF available via the Windows Live&amp;nbsp;SkyDrive service&amp;nbsp;to jumpstart your efforts and to receive your feedback.&lt;/P&gt;
&lt;P&gt;The book is called &lt;STRONG&gt;"Windows Mobile Data Synchronization with SQL Server 2005 and SQL Server Compact 3.1"&lt;/STRONG&gt; and it's being published by &lt;STRONG&gt;Hood Canal Press&lt;/STRONG&gt;.&amp;nbsp; Click on&amp;nbsp;Chapter4.pdf below to&amp;nbsp;download Chapter 4 on installing and configuring Web Synchronization on your IIS server.&lt;/P&gt;&lt;IFRAME style="BORDER-RIGHT: #dde5e9 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #dde5e9 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 3px; BORDER-LEFT: #dde5e9 1px solid; WIDTH: 240px; PADDING-TOP: 0px; BORDER-BOTTOM: #dde5e9 1px solid; HEIGHT: 66px; BACKGROUND-COLOR: #ffffff" marginWidth=0 marginHeight=0 src="http://cid-8b9c82da88af61fc.skydrive.live.com/embedrowdetail.aspx/Public/Chapter4.pdf" frameBorder=0 scrolling=no&gt;&lt;/IFRAME&gt;
&lt;P&gt;Rob&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4304526" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge/default.aspx">Merge</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SSCE/default.aspx">SSCE</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+2005+Compact+Edition/default.aspx">SQL Server 2005 Compact Edition</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Active+Directory/default.aspx">Active Directory</category></item><item><title>The new book is underway...</title><link>http://blogs.msdn.com/robtiffany/archive/2007/07/11/the-new-book-is-underway.aspx</link><pubDate>Thu, 12 Jul 2007 01:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3820812</guid><dc:creator>robtiffany</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/robtiffany/comments/3820812.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robtiffany/commentrss.aspx?PostID=3820812</wfw:commentRss><description>&lt;P&gt;As some of you know, I've been building and piecing together the documentation necessary to build out a scalable merge replication architecture for your Windows Mobile devices.&amp;nbsp; If you've been to MEDC 2007 in Las Vegas or Tech Ed 2007 in Orlando, you may have stopped at my booth where I demonstrated a 4-Tier merge replication architecture with 800 subscribers synchronizing simultaneously.&amp;nbsp; You might also have worked through my hands-on lab to see how to construct much of this architecture in a Virtual PC.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Now that I'm taking some time off at the beach this summer, I'm putting together all the best practices, how-to's, and step-by-step instructions so you can&amp;nbsp;build a highly performant and scalable data synchronization architecture for your organization.&amp;nbsp; This will be my 3rd book covering the constantly evolving Windows Mobile platform.&amp;nbsp; This one will be different in that it won't be as developer-focused as the previous two and will instead empower the IT Professional.&lt;/P&gt;
&lt;P&gt;The title will be:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;"Windows Mobile Data Synchronization with SQL Server 2005 and SQL Server Compact 3.1"&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The tentative chapter list is as follows:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Introduction&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Domain Security&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Configure the Distributor&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Configure the Publisher&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Configure Web Synchronization&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Build the Client&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Ongoing Maintenance&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;I expect the first draft to be completed by the end of July.&lt;/P&gt;
&lt;P&gt;Rob&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3820812" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Merge/default.aspx">Merge</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SSCE/default.aspx">SSCE</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+2005+Compact+Edition/default.aspx">SQL Server 2005 Compact Edition</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Wireless/default.aspx">Wireless</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Active+Directory/default.aspx">Active Directory</category></item><item><title>Book Review: Professional Microsoft Smartphone Programming</title><link>http://blogs.msdn.com/robtiffany/archive/2007/06/16/book-review-professional-microsoft-smartphone-programming.aspx</link><pubDate>Sun, 17 Jun 2007 06:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3351169</guid><dc:creator>robtiffany</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/robtiffany/comments/3351169.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robtiffany/commentrss.aspx?PostID=3351169</wfw:commentRss><description>&lt;P&gt;A collegue of mine, Pei Zheng, who works in OEM Services for Mobility at Microsoft recently dropped off a new book he wrote with Baijian Yang and Lionel Ni.&amp;nbsp; It's titled &lt;A class="" href="http://www.amazon.com/Professional-Microsoft-Smartphone-Programming-Baijian/dp/0471762938/ref=pd_bbs_sr_1/105-6118863-5322861?ie=UTF8&amp;amp;s=books&amp;amp;qid=1182050439&amp;amp;sr=1-1" target=_blank mce_href="http://www.amazon.com/Professional-Microsoft-Smartphone-Programming-Baijian/dp/0471762938/ref=pd_bbs_sr_1/105-6118863-5322861?ie=UTF8&amp;amp;s=books&amp;amp;qid=1182050439&amp;amp;sr=1-1"&gt;"Professional Microsoft Smartphone Progamming"&lt;/A&gt; and it's published by Wiley Publishing under the Wrox imprint.&amp;nbsp; This may very well be the first book written about developing for the Windows Mobile Smartphone platform with the .NET Compact Framework 2.0.&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.amazon.com/Professional-Microsoft-Smartphone-Programming-Baijian/dp/0471762938/ref=pd_bbs_sr_1/105-6118863-5322861?ie=UTF8&amp;amp;s=books&amp;amp;qid=1182050439&amp;amp;sr=1-1" target=_blank mce_href="http://www.amazon.com/Professional-Microsoft-Smartphone-Programming-Baijian/dp/0471762938/ref=pd_bbs_sr_1/105-6118863-5322861?ie=UTF8&amp;amp;s=books&amp;amp;qid=1182050439&amp;amp;sr=1-1"&gt;&lt;IMG style="WIDTH: 200px; HEIGHT: 250px" height=250 src="http://farm2.static.flickr.com/1422/558791112_3d2fccfd5a.jpg?v=0" width=200 mce_src="http://farm2.static.flickr.com/1422/558791112_3d2fccfd5a.jpg?v=0"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I appreciate how the book tackles issues surrounding Smartphone-specific topics like UI design and flow.&amp;nbsp; The authors discuss things like how to create and navigate a multi-form app as well as how&amp;nbsp;to deal with things like T9 input mode, keyboard input and working with soft keys.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The authors do a great job on the device and application security front by covering topics like application signing, privileged and unprivileged apps, trusted apps, and security policies.&amp;nbsp; They even walk the reader through the certificate management lifecycle including obtaining certificates, signing apps, and then using XML provisioning files to provision a device.&amp;nbsp; The book then goes on to provide in-depth coverage of data encryption on the device with algorithms like AES 256 and data protection over the wire with TLS.&lt;/P&gt;
&lt;P&gt;One of my favorite chapters goes after Performance issues with guns blazing!&amp;nbsp; They point to the .NET Compact Framework Performance Counters which can now be read in real-time with the Remote Performance Monitor as the best way to monitor what's going on under the hood of your application.&amp;nbsp; The authors then drill into CLR performance categories like garbage collection, call overhead, math, reflection, and the use of Generics.&amp;nbsp; Performance and memory management are two of the most important issues to deal with in Windows Mobile application development and it's great to see these topics get full coverage here.&amp;nbsp; I enthusiastically recommend this book to anyone interested in diving into the world of Window Mobile Standard/Smartphone development.&lt;/P&gt;
&lt;P&gt;Rob&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3351169" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SSCE/default.aspx">SSCE</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/SQL+Server+2005+Compact+Edition/default.aspx">SQL Server 2005 Compact Edition</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/Smartphone/default.aspx">Smartphone</category><category domain="http://blogs.msdn.com/robtiffany/archive/tags/IIS/default.aspx">IIS</category></item></channel></rss>