<?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>The Bozteck Blog &#187; XML</title>
	<atom:link href="http://vncscan.com/blog/tag/xml/feed/" rel="self" type="application/rss+xml" />
	<link>http://vncscan.com/blog</link>
	<description>VNCScan Enterprise Network Manager (VENM)</description>
	<lastBuildDate>Mon, 30 Jan 2012 16:25:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>VNCScan 2012 Database Edition Beta</title>
		<link>http://vncscan.com/blog/2012/01/vncscan-2012-database-edition-beta/</link>
		<comments>http://vncscan.com/blog/2012/01/vncscan-2012-database-edition-beta/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 13:32:05 +0000</pubDate>
		<dc:creator>Bozteck</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Deploy]]></category>
		<category><![CDATA[ultravnc]]></category>
		<category><![CDATA[vncscan]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://vncscan.com/blog/2012/01/vncscan-2012-database-edition-beta/</guid>
		<description><![CDATA[Bozteck takes pride in making complicated tasks simple.  That has been the philosophy behind VNCScan for the past 13 years.  We’re making some really COOL changes to the product to do just that. Historical Overview When the first versions of our VNC Manager were released way back in 1999, the data was stored in a [...]]]></description>
			<content:encoded><![CDATA[<p>Bozteck takes pride in making complicated tasks simple.  That has been the philosophy behind VNCScan for the past 13 years.  We’re making some really COOL changes to the product to do just that.</p>
<p><strong>Historical Overview</strong></p>
<p>When the first versions of our VNC Manager were released way back in 1999, the data was stored in a Microsoft Access database.  Despite the popular (and often justified) opinion of Microsoft’s Access database, there are some applications that use data “just right” for that platform and VNCScan was one of them.</p>
<p>After frustrations with requiring multiple runtimes for Access, the decision was made to move the data to an XML format.  A lot of code was written to manage that process smoothly on the thousands of existing VNCScan installs deployed all over the globe.  The XML format has been working pretty well over the past 10 years but there are some pretty serious issues that the time has come to address.</p>
<p><strong>Issues with XML Databases</strong></p>
<p>The largest sacrifice of moving to XML was the ability to share one set of data with many administrators.  When the back end was database driven, multiple computers could pull from the same data at the same time with very good performance and reliability.  After moving to flat XML files, doing so often led to groups disappearing and data files that became corrupted so badly that it prevented the program from starting up.  We had to remove any support for sharing data with XML. because of this.</p>
<p>For example, if John and Mike both point their VNCScan consoles at the same data location, they will constantly be stepping on each others changes.  An XML file must be read into memory, modified, then placed back onto the disk as a complete file (overwriting whatever is there).</p>
<p>If John reads the data into his console, then Mike makes a change to the group, and then John makes a different change to HIS copy of the group, Johns change will wipe out Mikes change even if they change different properties of the group.  If they both try to write their changes simultaneously, they end up with a corrupted XML file.</p>
<p><strong>The Great Database Debate</strong></p>
<p>A while back, I made a <a href="http://vncscan.com/blog/2009/10/back-end-database/">blog post</a> asking opinions of using an Access back end verses using a Microsoft SQL Server back end.  I received a lot of emails with great responses from so many of you!</p>
<p>On one hand, the Access database format needs to be compacted and repaired from time to time to get rid of orphaned data and “white space” in the database.  It also does not do well with a lot of threads hitting it at the same time.</p>
<p>On the other hand, Access is a very portable database format that requires no runtime (any more) to use in your program and holds up well with the type of data accesses that VNCScan performs.  I’ve also taken performance heavily into consideration with each line of code that I have written to mitigate any “over use” of the database.</p>
<p>If we were to use a SQL database, we would need to deploy the Microsoft SQL runtimes (MSDE) or require that every customer has a SQL server on premises.  For the style of data that VNCScan employs, both of those options seemed like overkills at this point.</p>
<p><strong>The Future</strong></p>
<p>The initial database version of VNCScan will be backed by a Microsoft Access database.  The code was written in a way that will make it VERY easy to port it to a SQL database in the near future.  While we have tested VNCScan extensively on the Access database, we will be watching “wide eyed” for any indication that the platform isn’t good enough.</p>
<p>I believe that by June, we will have a version that will have a choice between Access and SQL. We’re only releasing the first version as Access based to cure the ills that plague the XML.  Even with its shortcomings, Access databases are a hundred times better than XML.</p>
<p><strong>The Beta</strong></p>
<p>We are in the final stages of “dog fooding” the database version.  That means that we’re using it internally so that we feel any hardships before the beta testers do.</p>
<p>Within the next day or so, you will see a bog post with instructions and a link to try the beta.  I strongly suggest that you back up your &lt;My Documents&gt;\VNCScan folder before installing the beta.</p>
]]></content:encoded>
			<wfw:commentRss>http://vncscan.com/blog/2012/01/vncscan-2012-database-edition-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back End Database</title>
		<link>http://vncscan.com/blog/2009/10/back-end-database/</link>
		<comments>http://vncscan.com/blog/2009/10/back-end-database/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 12:18:00 +0000</pubDate>
		<dc:creator>Bozteck</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Polls and Opinions]]></category>
		<category><![CDATA[Access]]></category>
		<category><![CDATA[vncscan]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://vncscan.com/blog/2009/10/back-end-database/</guid>
		<description><![CDATA[In the early years of VNCScan, all of the data was stored in a Microsoft Access database and the settings were stored in INI files.&#160; This worked well but required that I distributed a lot of additional runtime files to access the database(pardon the pun). In late 2003, I decided to move away from Access [...]]]></description>
			<content:encoded><![CDATA[<p>In the early years of VNCScan, all of the data was stored in a Microsoft Access database and the settings were stored in INI files.&#160; This worked well but required that I distributed a lot of additional runtime files to access the database(pardon the pun).</p>
<p>In late 2003, I decided to move away from Access in favor of flat XML.&#160; To this day, I still debate with myself which was better because each have their issues.&#160; The XML file format for data made it possible to ship a smaller product with less dependencies but it severely limited the multi-user capabilities for sharing data.</p>
<p>The XML format is just plain text files. When one console reads the data and then writes a change, there’s a chance that another console that is also reading from that same textual XML file can write back what it thinks is accurate data and overwrite the first consoles changes.&#160; It can get messy real fast.</p>
<p>At least with the Access database, you could have a few users adding and reading data at the same time without overwriting the whole file just for one change to a single field.&#160; </p>
<p>I realize that Microsoft is steering its developers to their mini desktop SQL server instead of Access but it just seems like a lot of overhead for the type of data being stored.&#160; </p>
<p>Today, all of the routines needed to read and write to an Access database is built into the existing DotNet Runtime.&#160; What drove me to this XML format is no longer a problem.&#160; </p>
<p>So, what do you think?&#160; Should we make the move back to the Access database to facilitate a better multi-user experience or stick with the XML?</p>
]]></content:encoded>
			<wfw:commentRss>http://vncscan.com/blog/2009/10/back-end-database/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>

