<?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>Cypris&#039; lookout &#187; XPO</title>
	<atom:link href="http://blog.nkadesign.com/category/programming/net/xpo/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.nkadesign.com</link>
	<description>Renaud Bompuis on the interwebs!</description>
	<lastBuildDate>Sat, 14 Jan 2012 06:30:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>XPO: eXpress Persistent Objects</title>
		<link>http://blog.nkadesign.com/2006/xpo-express-persistent-objects/</link>
		<comments>http://blog.nkadesign.com/2006/xpo-express-persistent-objects/#comments</comments>
		<pubDate>Fri, 09 Jun 2006 04:00:31 +0000</pubDate>
		<dc:creator>Renaud Bompuis</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[XPO]]></category>

		<guid isPermaLink="false">http://blog.nkadesign.com/?p=28</guid>
		<description><![CDATA[<img src="/wp-content/uploads/technology02.png" alt="technology02.png" title="technology02.png" align="left" width="64" height="64" hspace="5" vspace="5" border="0" /><a href="http://www.devexpress.com/Products/NET/XPO/">XPO </a>is an Object Relational Mapping .Net product from <a href="http://www.devexpress.com">Developer Express</a>, a cool company designing cool tools.
It's a programming component whose job is to abstract access to database while allowing the developer to concentrate on a simple object-oriented interface instead.]]></description>
			<content:encoded><![CDATA[<p><img src="/wp-content/uploads/technology02.png" alt="technology02.png" title="technology02.png" align="left" width="64" height="64" hspace="5" vspace="5" border="0" />
<a href="http://www.devexpress.com/Products/NET/XPO/">XPO</a> is an Object Relational Mapping .Net product from <a href="http://www.devexpress.com">Developer Express</a>, a cool company designing cool tools.<br />
It&#8217;s a programming component whose job is to abstract access to database while allowing the developer to concentrate on a simple object-oriented interface instead.<br />
<span id="more-28"></span></p>

<p>There is an impedance mismatch between the usual programming technology and the database worlds. 
The mismatch occurs because most development is object-oriented and most database systems are query-based.<br />
Getting data from the database into your objects and back is tricky and difficult to maintain: any modification in either camp needs to be reflected to the other.</p>

<p>One solution is to use an intermediate layer to take care of the impedance mismatch for us: that&#8217;s the job of he ORM.</p>

<p>When I initially took the decision to use an ORM I tried and reviewed a few. Each have a different way of doing their job and place emphasis on different things, depending on the school of thought they belong to.<br />
Most still require a database-centric view and either abstract the whole and let you deal with meta-data that used to modify both code and database or they just let you modify the database and then update automatically the code.<br />
Then there was XPO.<br />
This one was a bit different: it really completely abstracted the database. It would create and update it automatically (whenever possible) without you having to ever deal with how the data is stored: it would work in the exact same way regardless of the underlying chosen database.<br />
You could even use it on an already existing database and it would be happy to talk to it.</p>

<p>So I chose XPO.<br />
It didn&#8217;t have fancy designers but it offers a simple, reliable and flexible way to persist my objects in the database of my choosing.<br />
One thing to note too is that you can get it with full source code (not commented though).<br />
I find it reassuring when a company doesn&#8217;t mind its code to be scrutinised by its customers. It&#8217;s also proven invaluable in finding out XPO&#8217;s inner working (not that I understand a lot though).</p>

<p>I&#8217;ll be blogging a few articles in the future on various aspects of XPO that I think may be of interest to those already working with it. I&#8217;m not going to re-state what&#8217;s in the documentation or on the Developer Express (DX) community website and official pages, there is a lot of information available out there, it&#8217;s just sometimes hard to get to know the fundamentals because it&#8217;s sometime buried deep.
Whenever possible (depending on time and complexity) I&#8217;ll make a sample project. I&#8217;m even thinking about building a repository of samples showcasing various aspects of XPO.</p>

<p>Let&#8217;s see if I can hold the load for long&#8230;. I&#8217;ve also committed myself to DXCore recently&#8230; but that&#8217;s something for another post altogether&#8230;</p>

<h3>References:</h3>

<ul>
<li>Official XPO product page<br />
<a href="http://www.devexpress.com/Products/NET/XPO/">http://www.devexpress.com/Products/NET/XPO/</a></li>
<li>XPO articles on the DX Community blog<br />
<a href="http://community.devexpress.com/blogs/xpo/">http://community.devexpress.com/blogs/xpo/</a></li>
<li>DX Peer Support newsgroups<br />
<a href="http://www.devexpress.com/Support/Newsgroups.xml">http://www.devexpress.com/Support/Newsgroups.xml</a></li>
<li>DX Knowledge base articles<br />
<a href="http://devexpress.com/Support/KnowledgeBase/">http://devexpress.com/Support/KnowledgeBase/</a></li>
<li>DX Support center where additional information, tips and bug reports can be found.<br />
<a href="https://www.devexpress.com/support/center/">https://www.devexpress.com/support/center/</a></li>
<li>An extensive list and description of available ORM for .Net<br />
<a href="http://www.howtoselectguides.com/dotnet/ormapping/">http://www.howtoselectguides.com/dotnet/ormapping/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.nkadesign.com/2006/xpo-express-persistent-objects/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

