<?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: Modularizing your Grails Application &#8211; Domain Classes</title> <atom:link href="http://www.nslms.com/2010/03/10/modularizing-your-grails-application-domain-classes/feed/" rel="self" type="application/rss+xml" /><link>http://www.nslms.com/2010/03/10/modularizing-your-grails-application-domain-classes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link> <description></description> <lastBuildDate>Fri, 02 Dec 2011 06:36:17 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3</generator> <item><title>By: Luis</title><link>http://www.nslms.com/2010/03/10/modularizing-your-grails-application-domain-classes/comment-page-1/#comment-1601</link> <dc:creator>Luis</dc:creator> <pubDate>Sat, 09 Apr 2011 16:52:59 +0000</pubDate> <guid
isPermaLink="false">http://www.nslms.com/?p=417#comment-1601</guid> <description>Hi,
One of the things that worry me when sharing a domain model and of course the same database between two applications is how the 2nd level hibernate cache could mess things up.
One application could have a different view of the data than another app.
Did you think about this issue?</description> <content:encoded><![CDATA[<p>Hi,</p><p>One of the things that worry me when sharing a domain model and of course the same database between two applications is how the 2nd level hibernate cache could mess things up.</p><p>One application could have a different view of the data than another app.</p><p>Did you think about this issue?</p> ]]></content:encoded> </item> <item><title>By: Grails cette semaine (2011-12) – Traduction de l’article original</title><link>http://www.nslms.com/2010/03/10/modularizing-your-grails-application-domain-classes/comment-page-1/#comment-1599</link> <dc:creator>Grails cette semaine (2011-12) – Traduction de l’article original</dc:creator> <pubDate>Mon, 28 Mar 2011 21:32:42 +0000</pubDate> <guid
isPermaLink="false">http://www.nslms.com/?p=417#comment-1599</guid> <description>[...] Modulariser votre application Grails – Classes de Domaine [...]</description> <content:encoded><![CDATA[<p>[...] Modulariser votre application Grails – Classes de Domaine [...]</p> ]]></content:encoded> </item> <item><title>By: An Army of Solipsists &#187; Blog Archive &#187; This Week in Grails (2011-12)</title><link>http://www.nslms.com/2010/03/10/modularizing-your-grails-application-domain-classes/comment-page-1/#comment-1597</link> <dc:creator>An Army of Solipsists &#187; Blog Archive &#187; This Week in Grails (2011-12)</dc:creator> <pubDate>Mon, 28 Mar 2011 02:21:33 +0000</pubDate> <guid
isPermaLink="false">http://www.nslms.com/?p=417#comment-1597</guid> <description>[...] Modularizing your Grails Application – Domain Classes [...]</description> <content:encoded><![CDATA[<p>[...] Modularizing your Grails Application – Domain Classes [...]</p> ]]></content:encoded> </item> <item><title>By: luk</title><link>http://www.nslms.com/2010/03/10/modularizing-your-grails-application-domain-classes/comment-page-1/#comment-1593</link> <dc:creator>luk</dc:creator> <pubDate>Thu, 10 Mar 2011 09:16:11 +0000</pubDate> <guid
isPermaLink="false">http://www.nslms.com/?p=417#comment-1593</guid> <description>&lt;blockquote cite=&quot;#commentbody-1561&quot;&gt;
&lt;strong&gt;&lt;a href=&quot;#comment-1561&quot; rel=&quot;nofollow&quot;&gt;Emmett&lt;/a&gt; :&lt;/strong&gt;
While Ill be using the spring security plugin for security in the web app i’m not sure what the best way would be to manage authentication and authorization to consumers (i.e. a native iphone/android apps) of the restful services exposed by the 2nd web app
&lt;/blockquote&gt;
You can still use spring security with basic auth for services and standard web form login for webapp:
http://burtbeckwith.github.com/grails-spring-security-core/docs/manual/guide/9%20Authentication.html</description> <content:encoded><![CDATA[<blockquote
cite="#commentbody-1561"><p> <strong><a
href="#comment-1561" rel="nofollow">Emmett</a> :</strong></p><p>While Ill be using the spring security plugin for security in the web app i’m not sure what the best way would be to manage authentication and authorization to consumers (i.e. a native iphone/android apps) of the restful services exposed by the 2nd web app</p></blockquote><p>You can still use spring security with basic auth for services and standard web form login for webapp:<br
/> <a
href="http://burtbeckwith.github.com/grails-spring-security-core/docs/manual/guide/9%20Authentication.html" rel="nofollow">http://burtbeckwith.github.com/grails-spring-security-core/docs/manual/guide/9%20Authentication.html</a></p> ]]></content:encoded> </item> <item><title>By: kai</title><link>http://www.nslms.com/2010/03/10/modularizing-your-grails-application-domain-classes/comment-page-1/#comment-1589</link> <dc:creator>kai</dc:creator> <pubDate>Wed, 02 Mar 2011 10:59:32 +0000</pubDate> <guid
isPermaLink="false">http://www.nslms.com/?p=417#comment-1589</guid> <description>Hello Ryan
Any finding on a solution for reference integrity between domain objects? Thanks</description> <content:encoded><![CDATA[<p>Hello Ryan<br
/> Any finding on a solution for reference integrity between domain objects? Thanks</p> ]]></content:encoded> </item> <item><title>By: Alfonso Rivero</title><link>http://www.nslms.com/2010/03/10/modularizing-your-grails-application-domain-classes/comment-page-1/#comment-1583</link> <dc:creator>Alfonso Rivero</dc:creator> <pubDate>Wed, 23 Feb 2011 17:44:20 +0000</pubDate> <guid
isPermaLink="false">http://www.nslms.com/?p=417#comment-1583</guid> <description>Hi Ryan, thanks for your article.
I&#039;m trying to figure out if I should include into the plugin project all controllers, filters, configuration and domains for security (ie spring-secury-core) because is a common functionality for all my dependent projects or into each project.
Thanks</description> <content:encoded><![CDATA[<p>Hi Ryan, thanks for your article.<br
/> I&#8217;m trying to figure out if I should include into the plugin project all controllers, filters, configuration and domains for security (ie spring-secury-core) because is a common functionality for all my dependent projects or into each project.</p><p>Thanks</p> ]]></content:encoded> </item> <item><title>By: Adrian Mirjan</title><link>http://www.nslms.com/2010/03/10/modularizing-your-grails-application-domain-classes/comment-page-1/#comment-1581</link> <dc:creator>Adrian Mirjan</dc:creator> <pubDate>Tue, 22 Feb 2011 15:10:26 +0000</pubDate> <guid
isPermaLink="false">http://www.nslms.com/?p=417#comment-1581</guid> <description>Thank you for a great article Ryan! Really helped. Also thanks to those who left comments as I found a lot of useful info there. :)</description> <content:encoded><![CDATA[<p>Thank you for a great article Ryan! Really helped. Also thanks to those who left comments as I found a lot of useful info there. <img
src='http://www.nslms.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p> ]]></content:encoded> </item> <item><title>By: Emmett</title><link>http://www.nslms.com/2010/03/10/modularizing-your-grails-application-domain-classes/comment-page-1/#comment-1561</link> <dc:creator>Emmett</dc:creator> <pubDate>Wed, 02 Feb 2011 20:38:04 +0000</pubDate> <guid
isPermaLink="false">http://www.nslms.com/?p=417#comment-1561</guid> <description>@RyanG, @Fletch
thanks for the advice folks. I think I will use the domain plugin in a seperate webapp and use that web app especially for exposing services (probalbly through REST)
Also one more question, if I may..
While Ill be using the spring security plugin for security in the web app i&#039;m not sure what the best way would be to manage authentication and authorization to consumers (i.e. a native iphone/android apps) of the restful services exposed by the 2nd web app
thanks again
Emmett</description> <content:encoded><![CDATA[<p>@RyanG, @Fletch<br
/> thanks for the advice folks. I think I will use the domain plugin in a seperate webapp and use that web app especially for exposing services (probalbly through REST)</p><p>Also one more question, if I may..<br
/> While Ill be using the spring security plugin for security in the web app i&#8217;m not sure what the best way would be to manage authentication and authorization to consumers (i.e. a native iphone/android apps) of the restful services exposed by the 2nd web app</p><p>thanks again<br
/> Emmett</p> ]]></content:encoded> </item> <item><title>By: RyanG</title><link>http://www.nslms.com/2010/03/10/modularizing-your-grails-application-domain-classes/comment-page-1/#comment-1558</link> <dc:creator>RyanG</dc:creator> <pubDate>Mon, 31 Jan 2011 18:17:08 +0000</pubDate> <guid
isPermaLink="false">http://www.nslms.com/?p=417#comment-1558</guid> <description>Fletch,
It sounds like for your particular environment, using a Grails plugin to contain your DBO abstraction won&#039;t work out well.
This article is targeted towards those who are using a 100% Grails stack and want to reuse their domain classes in two or more applications.
Since some of the applications which you want to share the same data model are in frameworks besides Grails, you&#039;ll have to take another approach.
Without knowing a lot about your application, I&#039;d suggest that you bundle all of the DBO abstraction into a shared java library.  The underlying technology would have to be something like Hibernate or straight JDBC to be most compatible.
You could (as you noted) also expose your data model via a much richer webservice for other clients.  Though, I would advise against this if you need a great deal of access and control over the data model.</description> <content:encoded><![CDATA[<p>Fletch,</p><p>It sounds like for your particular environment, using a Grails plugin to contain your DBO abstraction won&#8217;t work out well.</p><p>This article is targeted towards those who are using a 100% Grails stack and want to reuse their domain classes in two or more applications.</p><p>Since some of the applications which you want to share the same data model are in frameworks besides Grails, you&#8217;ll have to take another approach.</p><p>Without knowing a lot about your application, I&#8217;d suggest that you bundle all of the DBO abstraction into a shared java library.  The underlying technology would have to be something like Hibernate or straight JDBC to be most compatible.</p><p>You could (as you noted) also expose your data model via a much richer webservice for other clients.  Though, I would advise against this if you need a great deal of access and control over the data model.</p> ]]></content:encoded> </item> <item><title>By: RyanG</title><link>http://www.nslms.com/2010/03/10/modularizing-your-grails-application-domain-classes/comment-page-1/#comment-1557</link> <dc:creator>RyanG</dc:creator> <pubDate>Mon, 31 Jan 2011 18:11:38 +0000</pubDate> <guid
isPermaLink="false">http://www.nslms.com/?p=417#comment-1557</guid> <description>Emmet,
Were I faced with the same scenario, I would probably setup a separate grails application which exposes your domain classes via a SOAP or REST/JSON web service, and leave the main grails application unchanged in the way it accesses your domain classes.
The underlying reason for writing this article was how to use the same Grails domain classes (including all of the GORM and meta programming magic) in more than one Grails application.  Basically making your DBO abstraction portable so that many different systems can access the data model in a shared, and predictable manner.
If your main application, which consumes the domain classes in your plugin, uses GORM directly on the domain classes, you&#039;d have to do a lot of refactoring to abstract that behavior into services.
By launching a totally separate app which exposes your domain model via a webservice, you also have the choice to limit that service to only the data access which would be necessary for remote clients.  For instance, your main application may need to do a complex query across many domain objects, and have write access to everything, where a remote client may only need to have read access to a few domain objects.
You can even make the webservice appear to be part of your main application by putting it in an appropriate application context in Tomcat which I talk about in &lt;a href=&quot;http://www.nslms.com/2010/03/31/grails-and-tomcat6-deployment-notes/&quot; rel=&quot;nofollow&quot;&gt;this post&lt;/a&gt;.  I.E. http://www.yourmainapp.com/api/
If you&#039;re strict about version control you can make sure that the main application, and the webservice layer are both consuming the same version of the domain classes plugin, and it&#039;ll work seamlessly!</description> <content:encoded><![CDATA[<p>Emmet,</p><p>Were I faced with the same scenario, I would probably setup a separate grails application which exposes your domain classes via a SOAP or REST/JSON web service, and leave the main grails application unchanged in the way it accesses your domain classes.</p><p>The underlying reason for writing this article was how to use the same Grails domain classes (including all of the GORM and meta programming magic) in more than one Grails application.  Basically making your DBO abstraction portable so that many different systems can access the data model in a shared, and predictable manner.</p><p>If your main application, which consumes the domain classes in your plugin, uses GORM directly on the domain classes, you&#8217;d have to do a lot of refactoring to abstract that behavior into services.</p><p>By launching a totally separate app which exposes your domain model via a webservice, you also have the choice to limit that service to only the data access which would be necessary for remote clients.  For instance, your main application may need to do a complex query across many domain objects, and have write access to everything, where a remote client may only need to have read access to a few domain objects.</p><p>You can even make the webservice appear to be part of your main application by putting it in an appropriate application context in Tomcat which I talk about in <a
href="http://www.nslms.com/2010/03/31/grails-and-tomcat6-deployment-notes/" rel="nofollow">this post</a>.  I.E. <a
href="http://www.yourmainapp.com/api/" rel="nofollow">http://www.yourmainapp.com/api/</a></p><p>If you&#8217;re strict about version control you can make sure that the main application, and the webservice layer are both consuming the same version of the domain classes plugin, and it&#8217;ll work seamlessly!</p> ]]></content:encoded> </item> </channel> </rss>
