<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Web Service Software Factory &#8211; Data Access CRUD!</title>
	<atom:link href="http://www.udidahan.com/2006/09/24/web-service-software-factory-data-access-crud/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.udidahan.com/2006/09/24/web-service-software-factory-data-access-crud/</link>
	<description>Enterprise Development Expert &#38; SOA Specialist</description>
	<lastBuildDate>Sun, 14 Mar 2010 06:27:00 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Edward</title>
		<link>http://www.udidahan.com/2006/09/24/web-service-software-factory-data-access-crud/comment-page-1/#comment-3957</link>
		<dc:creator>Edward</dc:creator>
		<pubDate>Tue, 07 Aug 2007 08:38:02 +0000</pubDate>
		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/320#comment-3957</guid>
		<description>I am using the factory (Data Access Layer generation) in a project with post graduate students. The initial generation of the layer seems adequate, however it is very difficult customise. The interface dependancies means one cannot add methods easily to individual objects without implementing the same interface on all dependant objects. This is a problem as the factory only generates (allows) one delete (stored procedure) mapping per business entity (and in effect per CRUD operation. To add CRUD methods one ends up modifying your business logic to by-pass some of the factory code; the framework is not easily extensible in this way...</description>
		<content:encoded><![CDATA[<p>I am using the factory (Data Access Layer generation) in a project with post graduate students. The initial generation of the layer seems adequate, however it is very difficult customise. The interface dependancies means one cannot add methods easily to individual objects without implementing the same interface on all dependant objects. This is a problem as the factory only generates (allows) one delete (stored procedure) mapping per business entity (and in effect per CRUD operation. To add CRUD methods one ends up modifying your business logic to by-pass some of the factory code; the framework is not easily extensible in this way&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Avy</title>
		<link>http://www.udidahan.com/2006/09/24/web-service-software-factory-data-access-crud/comment-page-1/#comment-2323</link>
		<dc:creator>Avy</dc:creator>
		<pubDate>Fri, 15 Jun 2007 09:19:30 +0000</pubDate>
		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/320#comment-2323</guid>
		<description>Udi,

Thanks for your reply. I agree with you entity data objects should not depend on data access and that&#039;s exactly what web service software factory does. Data Access components do the data access and pass back the entity objects. 

About business components, I believe they should initiate the data access and then apply any business logic (or business illogic) to the data retrieved or to be inserted. Let&#039;s say we&#039;ve got address and customer business components and they have to be inserted. Who&#039;d do the transaction? and obviously, we wouldn&#039;t want our address component to know about customer and vice versa. So what we could do is may be have workflow manager class (kind of domain model) which would manage the transactions between the components. 

I normally do stuff like this. But I&#039;d like to see how you work with stuff like this.

Cheers,

A.</description>
		<content:encoded><![CDATA[<p>Udi,</p>
<p>Thanks for your reply. I agree with you entity data objects should not depend on data access and that&#8217;s exactly what web service software factory does. Data Access components do the data access and pass back the entity objects. </p>
<p>About business components, I believe they should initiate the data access and then apply any business logic (or business illogic) to the data retrieved or to be inserted. Let&#8217;s say we&#8217;ve got address and customer business components and they have to be inserted. Who&#8217;d do the transaction? and obviously, we wouldn&#8217;t want our address component to know about customer and vice versa. So what we could do is may be have workflow manager class (kind of domain model) which would manage the transactions between the components. </p>
<p>I normally do stuff like this. But I&#8217;d like to see how you work with stuff like this.</p>
<p>Cheers,</p>
<p>A.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: thesoftwaresimplist</title>
		<link>http://www.udidahan.com/2006/09/24/web-service-software-factory-data-access-crud/comment-page-1/#comment-2306</link>
		<dc:creator>thesoftwaresimplist</dc:creator>
		<pubDate>Thu, 14 Jun 2007 14:32:38 +0000</pubDate>
		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/320#comment-2306</guid>
		<description>Avy,

Thanks for your comment.

Personally, I prefer that the objects that represent the entity data in the system not depend on data access. It hurts their testability. The question then becomes what logic stays in the business components - do they activate data access code too? And what about classes in the Service Layer - do they call into the data access too, or just deal with business components, or know about business entities as well? Who manages the transactions?

When working with the Domain Model Pattern, I have clear answers to all these questions, as well as highly testable code.

Code organization stays just as clear, but you get much fewer dependencies between your &quot;layers&quot;.

Once I find a good example online I&#039;ll put up a link to it.</description>
		<content:encoded><![CDATA[<p>Avy,</p>
<p>Thanks for your comment.</p>
<p>Personally, I prefer that the objects that represent the entity data in the system not depend on data access. It hurts their testability. The question then becomes what logic stays in the business components &#8211; do they activate data access code too? And what about classes in the Service Layer &#8211; do they call into the data access too, or just deal with business components, or know about business entities as well? Who manages the transactions?</p>
<p>When working with the Domain Model Pattern, I have clear answers to all these questions, as well as highly testable code.</p>
<p>Code organization stays just as clear, but you get much fewer dependencies between your &#8220;layers&#8221;.</p>
<p>Once I find a good example online I&#8217;ll put up a link to it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Avy</title>
		<link>http://www.udidahan.com/2006/09/24/web-service-software-factory-data-access-crud/comment-page-1/#comment-2304</link>
		<dc:creator>Avy</dc:creator>
		<pubDate>Thu, 14 Jun 2007 14:18:46 +0000</pubDate>
		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/320#comment-2304</guid>
		<description>Hi,

I&#039;ve also tried Micrsoft&#039;s webservice software factory. I agree with you that object oriented technology is the agreed upon methodology. But that could depend on the level of detail you&#039;re looking at. Business entities and business components are different objects. Not just data and functionality separate. BE does the writing to DB and handles data communication b/w layers. BCs deal with Business logic. 

Also, there are somethings called Code organization. This certainly helps in organizing code. I&#039;ve been using these patterns and I never came across much trouble. I&#039;ve also seen ppl suffering using these patterns and that&#039;s mostly because they misunderstand the patterns. And I don&#039;t follow any pattern blindly I evaluate it and try n make the best out of it in best suitable situations. Anyway, these are my thoughts about what you wrote.

Cheers,
A.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I&#8217;ve also tried Micrsoft&#8217;s webservice software factory. I agree with you that object oriented technology is the agreed upon methodology. But that could depend on the level of detail you&#8217;re looking at. Business entities and business components are different objects. Not just data and functionality separate. BE does the writing to DB and handles data communication b/w layers. BCs deal with Business logic. </p>
<p>Also, there are somethings called Code organization. This certainly helps in organizing code. I&#8217;ve been using these patterns and I never came across much trouble. I&#8217;ve also seen ppl suffering using these patterns and that&#8217;s mostly because they misunderstand the patterns. And I don&#8217;t follow any pattern blindly I evaluate it and try n make the best out of it in best suitable situations. Anyway, these are my thoughts about what you wrote.</p>
<p>Cheers,<br />
A.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
