<?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: Should we use JHeadstart for our ADF Project? It is NOT a black or white decision!</title>
	<atom:link href="http://technology.amis.nl/2008/02/20/should-we-use-jheadstart-for-our-adf-project-it-is-not-a-black-or-white-decision/feed/" rel="self" type="application/rss+xml" />
	<link>http://technology.amis.nl/2008/02/20/should-we-use-jheadstart-for-our-adf-project-it-is-not-a-black-or-white-decision/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=should-we-use-jheadstart-for-our-adf-project-it-is-not-a-black-or-white-decision</link>
	<description></description>
	<lastBuildDate>Fri, 12 Apr 2013 10:04:09 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>By: Valerie Kalusinski</title>
		<link>http://technology.amis.nl/2008/02/20/should-we-use-jheadstart-for-our-adf-project-it-is-not-a-black-or-white-decision/#comment-5205</link>
		<dc:creator>Valerie Kalusinski</dc:creator>
		<pubDate>Tue, 17 Jun 2008 16:32:31 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=2868#comment-5205</guid>
		<description><![CDATA[Hi,
We are developping applications with ADF and JHeadStart and have noticied that the performance is extremely different depending on the browser used.
These are the times we noticed:
*Execute Search:
-IE: 7&#039;&#039;
-FF: 2&#039;&#039;
-Safari: 1&#039;&#039;
*Next N rows:
-IE: 5&#039;&#039;
-FF: 3&#039;&#039;
-Safari: 1&#039;&#039;
*Insert new row:
-IE: 7&#039;&#039;
-FF: 3&#039;&#039;
-Safari: 1&#039;&#039;
*Insert, update, delete, undo row:
-IE: 8&#039;&#039;
-FF: 3&#039;&#039;
-Safari: 1&#039;&#039;
Have you seen something similar ?
Thanks and best regards.]]></description>
		<content:encoded><![CDATA[<p>Hi,<br />
We are developping applications with ADF and JHeadStart and have noticied that the performance is extremely different depending on the browser used.<br />
These are the times we noticed:<br />
*Execute Search:<br />
-IE: 7&#8221;<br />
-FF: 2&#8221;<br />
-Safari: 1&#8221;<br />
*Next N rows:<br />
-IE: 5&#8221;<br />
-FF: 3&#8221;<br />
-Safari: 1&#8221;<br />
*Insert new row:<br />
-IE: 7&#8221;<br />
-FF: 3&#8221;<br />
-Safari: 1&#8221;<br />
*Insert, update, delete, undo row:<br />
-IE: 8&#8221;<br />
-FF: 3&#8221;<br />
-Safari: 1&#8221;<br />
Have you seen something similar ?<br />
Thanks and best regards.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sandra Muller</title>
		<link>http://technology.amis.nl/2008/02/20/should-we-use-jheadstart-for-our-adf-project-it-is-not-a-black-or-white-decision/#comment-5204</link>
		<dc:creator>Sandra Muller</dc:creator>
		<pubDate>Mon, 25 Feb 2008 15:58:07 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=2868#comment-5204</guid>
		<description><![CDATA[Jan, I assume that when you write about &quot;keep up with subsequent releases of JHeadstart&quot;, you refer to the effort of upgrading your custom generator templates to the new JHeadstart release. When you have made a customization of any of the default JHeadstart templates, and a new JHeadstart release ships a modified version of that default template, then it is a good idea to check if you want the same modifications in your customized template.
There are 3 main reasons why JHeadstart could modify a default template: 1) to add a new generation feature, 2) to fix a bug, 3) to comply with changed requirements of the underlying technology, like a new release of ADF Faces with different component names (see also http://www.oracle.com/technology/products/jheadstart/jhsfeaturelist.html#r11 Upgrading to JDeveloper R11 and Beyond). All 3 reasons are excellent reasons to want to change your custom templates as well. Reason 1 to give you even more long-term payback, and reasons 2 and 3 to ensure that your application works correctly. The changes for reason 2 and 3 you would have to make anyway, and the nice thing when using JHeadstart generator templates is that you don&#039;t have to make them in every page, but only in the templates you customized, which are easy to find.
To make sure that the generated part of your custom built application can keep up with subsequent releases of JHeadstart, I recommend applying the best practice described in section 4.7.2 of the JHeadstart Developer&#039;s Guide (http://download.oracle.com/consulting/jhsdevguide1013.pdf) : If your custom template is based on a default template, name it such that you can easily see on which default template it is based, and clearly mark in the content which lines differ from the default template (using Velocity comments preceded by ##). Also describe in comment why the change was made (what you want to achieve). In addition, we recommend using SubVersion (see section 2.1 Setting Up Version Control System) for easy identification of the changes in the default templates after installing a new JHeadstart version, so that you can also apply these changes to your custom templates if necessary.
Then, if you want to upgrade to a higher JHeadstart version, you can install the new JHeadstart which overwrites the default templates, and before committing those changes to Subversion, check which ones have changed. For the custom templates based on changed default templates, check exactly which changes were made to the default templates (see the screenshots in http://blogs.oracle.com/jheadstart/2007/02/20#a138) and determine if you need to copy those changes to your own template. That should be easy to determine depending on the kind of customization you made, which you can read in the Velocity comments.]]></description>
		<content:encoded><![CDATA[<p>Jan, I assume that when you write about &#8220;keep up with subsequent releases of JHeadstart&#8221;, you refer to the effort of upgrading your custom generator templates to the new JHeadstart release. When you have made a customization of any of the default JHeadstart templates, and a new JHeadstart release ships a modified version of that default template, then it is a good idea to check if you want the same modifications in your customized template.<br />
There are 3 main reasons why JHeadstart could modify a default template: 1) to add a new generation feature, 2) to fix a bug, 3) to comply with changed requirements of the underlying technology, like a new release of ADF Faces with different component names (see also <a href="http://www.oracle.com/technology/products/jheadstart/jhsfeaturelist.html#r11" rel="nofollow">http://www.oracle.com/technology/products/jheadstart/jhsfeaturelist.html#r11</a> Upgrading to JDeveloper R11 and Beyond). All 3 reasons are excellent reasons to want to change your custom templates as well. Reason 1 to give you even more long-term payback, and reasons 2 and 3 to ensure that your application works correctly. The changes for reason 2 and 3 you would have to make anyway, and the nice thing when using JHeadstart generator templates is that you don&#8217;t have to make them in every page, but only in the templates you customized, which are easy to find.<br />
To make sure that the generated part of your custom built application can keep up with subsequent releases of JHeadstart, I recommend applying the best practice described in section 4.7.2 of the JHeadstart Developer&#8217;s Guide (<a href="http://download.oracle.com/consulting/jhsdevguide1013.pdf" rel="nofollow">http://download.oracle.com/consulting/jhsdevguide1013.pdf</a>) : If your custom template is based on a default template, name it such that you can easily see on which default template it is based, and clearly mark in the content which lines differ from the default template (using Velocity comments preceded by ##). Also describe in comment why the change was made (what you want to achieve). In addition, we recommend using SubVersion (see section 2.1 Setting Up Version Control System) for easy identification of the changes in the default templates after installing a new JHeadstart version, so that you can also apply these changes to your custom templates if necessary.<br />
Then, if you want to upgrade to a higher JHeadstart version, you can install the new JHeadstart which overwrites the default templates, and before committing those changes to Subversion, check which ones have changed. For the custom templates based on changed default templates, check exactly which changes were made to the default templates (see the screenshots in <a href="http://blogs.oracle.com/jheadstart/2007/02/20#a138" rel="nofollow">http://blogs.oracle.com/jheadstart/2007/02/20#a138</a>) and determine if you need to copy those changes to your own template. That should be easy to determine depending on the kind of customization you made, which you can read in the Velocity comments.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jan Vervecken</title>
		<link>http://technology.amis.nl/2008/02/20/should-we-use-jheadstart-for-our-adf-project-it-is-not-a-black-or-white-decision/#comment-5203</link>
		<dc:creator>Jan Vervecken</dc:creator>
		<pubDate>Sat, 23 Feb 2008 13:14:47 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=2868#comment-5203</guid>
		<description><![CDATA[hi (I am not the other &quot;Jan&quot; who also posted comments here.) While Lucas Jellema is writing about &quot;a mix of completely generated pages, non-generated pages and in-betweenies&quot;, and Sandra Muller writes &quot;However, the payback is in the medium to long-term.&quot;. I wonder, how to make sure that your custom built ((partly) generated) application can keep up with subsequent releases of JHeadstart, to get that long-term payback? Or is &quot;long-term payback&quot; something one should not be looking for in our agile industry?
regards
Jan Vervecken]]></description>
		<content:encoded><![CDATA[<p>hi (I am not the other &#8220;Jan&#8221; who also posted comments here.) While Lucas Jellema is writing about &#8220;a mix of completely generated pages, non-generated pages and in-betweenies&#8221;, and Sandra Muller writes &#8220;However, the payback is in the medium to long-term.&#8221;. I wonder, how to make sure that your custom built ((partly) generated) application can keep up with subsequent releases of JHeadstart, to get that long-term payback? Or is &#8220;long-term payback&#8221; something one should not be looking for in our agile industry?<br />
regards<br />
Jan Vervecken</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sandra Muller</title>
		<link>http://technology.amis.nl/2008/02/20/should-we-use-jheadstart-for-our-adf-project-it-is-not-a-black-or-white-decision/#comment-5202</link>
		<dc:creator>Sandra Muller</dc:creator>
		<pubDate>Fri, 22 Feb 2008 17:35:15 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=2868#comment-5202</guid>
		<description><![CDATA[Lucas, you said: JHeadstart provides a great way for relatively inexperienced developers to become productive, but it can be a trap if developers are not coached and even coaxed to look in depth at what is generated, how the run time JHeadstart infrastructure facilitates generic functionality and how these can be manipulated and refined. I agree that it is very important that the developers are trained and coached in ADF basics as well as JHeadstart generation. That is why our ADF JHeadstart workshop spends 3 days on ADF without JHeadstart and only 1 day on JHeadstart generation! The last day is spent on using your ADF knowledge to customize JHeadstart (exactly the thing that people that rely too much on the generator cannot do) and on implementing Java EE security.

I agree with Lonneke that most IT cost is not in development, but in maintaining and supporting an application. I don&#039;t agree that if 100% generation of the last 5% is time absorbing, you should not do it. There is more to JHeadstart than just the time gain in building the pages. I refer back to an old article by Steven Davelaar about 100% generating with Designer/Forms Generator: 100% Generation: No More Excuses! (see http://www.oracle.com/technology/products/headstart/pdf/gen100.pdf ) Some of the aspects described there apply here as well (though I think that JHeadstart provides more gain in the first incarnation than Headstart did for Forms):

The cost vs. benefit of 100% generation is one that must be looked at over its entire payback period, not just in the first incarnation. In the first release of a system, using a rigorous metadata-based approach to engineering systems may require additional design time. However, the payback is in the medium to long-term. The iterative phases of system development, and especially its maintenance and enhancement phases are when payback for generation occurs. [...] One of the most important prerequisites for achieving 100% generation is in the very beginning of the project: a reasonable project planning! If you have relatively inexperienced developers on your project, do not underestimate the learning time.

For this reason I think that we should also try to 100% generate the last 5%, at least if the pages involve reading or writing data collections.]]></description>
		<content:encoded><![CDATA[<p>Lucas, you said: JHeadstart provides a great way for relatively inexperienced developers to become productive, but it can be a trap if developers are not coached and even coaxed to look in depth at what is generated, how the run time JHeadstart infrastructure facilitates generic functionality and how these can be manipulated and refined. I agree that it is very important that the developers are trained and coached in ADF basics as well as JHeadstart generation. That is why our ADF JHeadstart workshop spends 3 days on ADF without JHeadstart and only 1 day on JHeadstart generation! The last day is spent on using your ADF knowledge to customize JHeadstart (exactly the thing that people that rely too much on the generator cannot do) and on implementing Java EE security.</p>
<p>I agree with Lonneke that most IT cost is not in development, but in maintaining and supporting an application. I don&#8217;t agree that if 100% generation of the last 5% is time absorbing, you should not do it. There is more to JHeadstart than just the time gain in building the pages. I refer back to an old article by Steven Davelaar about 100% generating with Designer/Forms Generator: 100% Generation: No More Excuses! (see <a href="http://www.oracle.com/technology/products/headstart/pdf/gen100.pdf" rel="nofollow">http://www.oracle.com/technology/products/headstart/pdf/gen100.pdf</a> ) Some of the aspects described there apply here as well (though I think that JHeadstart provides more gain in the first incarnation than Headstart did for Forms):</p>
<p>The cost vs. benefit of 100% generation is one that must be looked at over its entire payback period, not just in the first incarnation. In the first release of a system, using a rigorous metadata-based approach to engineering systems may require additional design time. However, the payback is in the medium to long-term. The iterative phases of system development, and especially its maintenance and enhancement phases are when payback for generation occurs. [...] One of the most important prerequisites for achieving 100% generation is in the very beginning of the project: a reasonable project planning! If you have relatively inexperienced developers on your project, do not underestimate the learning time.</p>
<p>For this reason I think that we should also try to 100% generate the last 5%, at least if the pages involve reading or writing data collections.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jan</title>
		<link>http://technology.amis.nl/2008/02/20/should-we-use-jheadstart-for-our-adf-project-it-is-not-a-black-or-white-decision/#comment-5201</link>
		<dc:creator>Jan</dc:creator>
		<pubDate>Thu, 21 Feb 2008 22:28:37 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=2868#comment-5201</guid>
		<description><![CDATA[&quot;Sorry if I hammered away too enthusiastically, I did not mean to hit youâ€¦&quot;

Come on! I think/thought your post was right on the mark Lonneke - no need to apologize, you didn&#039;t call names now did you?
I for one whole heartily agree that JHeadstart lures in the Designer/Forms crowd and gets them acquainted with bad practices from day one. UI generation is bad for anything that is beyond emp&#124;dept, and the 100% generation promise a myth. It was then with &#039;Headstart&#039; and now is with &#039;JHeadstart&#039;]]></description>
		<content:encoded><![CDATA[<p>&#8220;Sorry if I hammered away too enthusiastically, I did not mean to hit youâ€¦&#8221;</p>
<p>Come on! I think/thought your post was right on the mark Lonneke &#8211; no need to apologize, you didn&#8217;t call names now did you?<br />
I for one whole heartily agree that JHeadstart lures in the Designer/Forms crowd and gets them acquainted with bad practices from day one. UI generation is bad for anything that is beyond emp|dept, and the 100% generation promise a myth. It was then with &#8216;Headstart&#8217; and now is with &#8216;JHeadstart&#8217;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lonneke Dikmans</title>
		<link>http://technology.amis.nl/2008/02/20/should-we-use-jheadstart-for-our-adf-project-it-is-not-a-black-or-white-decision/#comment-5200</link>
		<dc:creator>Lonneke Dikmans</dc:creator>
		<pubDate>Thu, 21 Feb 2008 19:22:32 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=2868#comment-5200</guid>
		<description><![CDATA[Lucas,

I agree with you: JHeadstart will give you more than just generation. But it is not very informative nor fun to read the posts of two bloggers who agree with each other: I decided to focus on the point I disagree with. That concerns the statements that there are only small risks.  In my experience, Oracle shops that are experts in Forms and Designer start using JHeadstart. This means they use it *because* it generates code. Because they aren&#039;t expert Java users, and are used to creating PL/SQL procedures and not used to refactoring, they will take everything that is generated at face value. Moreover a lot of people that are used generating Forms from Designer feel you should only generate everything or nothing (this is what I have encountered over the years, not my view of how it should be). Novice or intermediate programmers are intimidated by all the code that is generated at once, they don&#039;t know where to start. Project managers don&#039;t estimate enough time to program because it is generated etc etc. Extending JHeadstart or maintaining the generator is far out of their reach and interest.
Second of all, with ADF BC without JHeadstart you have the same problem: people will take a shortcut and generate business components from the datamodel to build their GUI with. Leading to the problems in the user interface I described. It will reflect the datamodel instead of the conceptual model that it should represent.
To conclude: the problem is that the tool (in this case JHeadstart and/or business components) will lure people into bad habits where it can do real damage. It is something that I have seen with other tools as well: once you get the user interface wrong, you spend a lot of time fixing and rebuilding.
Now, this does not mean you should never use JHeadstart of course: you made a great case for using it that I don&#039;t need to repeat. Also Sandra Muller made a good point: you could easily design the user interface, decide to use ADF faces, create the business components you need and then generate the code you need. You can then save you some days of development in the lifetime of an application. Again, most IT cost is not in development, but in maintaining and supporting an application. It all depends on the business case.
To conclude: No need to change the title: I get your point, I agree with most of it, I just don&#039;t agree with everything ;-) Sorry if I hammered away too enthusiastically, I did not mean to hit you...]]></description>
		<content:encoded><![CDATA[<p>Lucas,</p>
<p>I agree with you: JHeadstart will give you more than just generation. But it is not very informative nor fun to read the posts of two bloggers who agree with each other: I decided to focus on the point I disagree with. That concerns the statements that there are only small risks.  In my experience, Oracle shops that are experts in Forms and Designer start using JHeadstart. This means they use it *because* it generates code. Because they aren&#8217;t expert Java users, and are used to creating PL/SQL procedures and not used to refactoring, they will take everything that is generated at face value. Moreover a lot of people that are used generating Forms from Designer feel you should only generate everything or nothing (this is what I have encountered over the years, not my view of how it should be). Novice or intermediate programmers are intimidated by all the code that is generated at once, they don&#8217;t know where to start. Project managers don&#8217;t estimate enough time to program because it is generated etc etc. Extending JHeadstart or maintaining the generator is far out of their reach and interest.<br />
Second of all, with ADF BC without JHeadstart you have the same problem: people will take a shortcut and generate business components from the datamodel to build their GUI with. Leading to the problems in the user interface I described. It will reflect the datamodel instead of the conceptual model that it should represent.<br />
To conclude: the problem is that the tool (in this case JHeadstart and/or business components) will lure people into bad habits where it can do real damage. It is something that I have seen with other tools as well: once you get the user interface wrong, you spend a lot of time fixing and rebuilding.<br />
Now, this does not mean you should never use JHeadstart of course: you made a great case for using it that I don&#8217;t need to repeat. Also Sandra Muller made a good point: you could easily design the user interface, decide to use ADF faces, create the business components you need and then generate the code you need. You can then save you some days of development in the lifetime of an application. Again, most IT cost is not in development, but in maintaining and supporting an application. It all depends on the business case.<br />
To conclude: No need to change the title: I get your point, I agree with most of it, I just don&#8217;t agree with everything <img src='http://technology.amis.nl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Sorry if I hammered away too enthusiastically, I did not mean to hit you&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lucas Jellema</title>
		<link>http://technology.amis.nl/2008/02/20/should-we-use-jheadstart-for-our-adf-project-it-is-not-a-black-or-white-decision/#comment-5199</link>
		<dc:creator>Lucas Jellema</dc:creator>
		<pubDate>Thu, 21 Feb 2008 06:43:27 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=2868#comment-5199</guid>
		<description><![CDATA[Hi Lonneke,
&lt;br /&gt;&lt;br /&gt;
Thanks for your reaction. Reading your comment here and the article on your blog, I realize that I have failed to get my main point across. I wanted to make it clear that in my mind there is no such thing as a JHeadstart application. We develop ADF applications, with their own specific UI, interaction patterns and functionality. You should not and need not be able to see whether that ADF application was developed by a team of 10 programmers in Canada or a team of 5 whizkids in India working with 3 project leaders in The Netherlands and nor should you have to see whether JHeadstart has been a tool in developing that application. JHeadstart does not define what the application looks like or offers in terms of functionality. The end-user does, and the implementation technology, i.e. ADF, should make it possible.
&lt;br /&gt;&lt;br /&gt;
My whole point was that JHeadstart can be used in certain ways. I very much regard it as an electric screwdriver - or whatever rocking term is used for such an appliance. At first I was hesitant to use one for my DIY jobs. Suppose its battery would run out or the thing would break, then what? But of course when your piece of furniture is done, it does not matter whether you benefited from your power tool or struggled to get those screws in by hand. And if the power tool breaks after half the screws are done, well at least you had the benefit for those first 50% screws.
&lt;br /&gt;&lt;br /&gt;
On my current project, we develop an ADF application. The User Interaction Design was done my someone who does not know ADF. The application we develop, does not look like &#039;typical ADF&#039;  in anyway. You would not be able to readily tell the technology used for implementing the application. We also use JHeadstart. In fact, we use more of it than I would have expected, as it turns out that much more of that very un-JHeadstart style UI turns out to be fit for generating after all. However, we can stop generating at any point and continue by hand. Without JHeadstart we would have to do everything by hand anyway, so whatever we got from JHeadstart - as long as it is in the right direction - is beneficial.
&lt;br /&gt;&lt;br /&gt;
For that same reason, I am not afraid of a dependency on the JHeadstart team, as in my view there is none. I get a generator that I can use or not use. If I do not use it, I do everything by hand. If I use it, the first 30-80% of many of my pages is done for me - and then I do it the rest by hand. If the generator is no longer available, I drop it. Nothing lost and potentially a lot gained. As far as the run-time infrastructure is concerned: they consist of a number of well documented sources; my colleague could have written them, but some Oracle team in The Netherlands did it instead. I do not see much danger of a dependency here. We can take these components and start refactoring, extending and complementing them. Again, the gain is obvious, the risks are small.
&lt;br /&gt;&lt;br /&gt;
Furthermore, an important point I was trying to make is that JHeadstart is not only a generator. It is a combination of two things, and even for ADF applications that are completely hand-built, I put it that JHeadstart provides a run-time infrastructure that benefits most ADF applications, regardless of whether they aree generated completely, generated at first than manually finished or not generated at all.
&lt;br /&gt;&lt;br /&gt;
You keep hammering away at the Generation topic. Suggesting that generation will inevitably lead to an application that does not fulfill the user&#039;s requirements in an optimal way. While my whole point was that JHeadstart is not just for generation and is certainly in my view not to be used for complete generation. So in effect, I pretty much agree with all your arguments - only they do not apply to the case I was making.
&lt;br /&gt;&lt;br /&gt;
I was not making a case for generation of all applications when I stated that almost all ADF applications could benefit from JHeadstart. I merely pointed out that for any ADF application you need generic infrastructure, on top of the standard features/functionality of ADF. And JHeadstart provides a set that could well be the first step in that generic infrastructure, saving you many days of development.
&lt;br /&gt;&lt;br /&gt;
Maybe I should have used a different title for my article. Something like: JHeadstart, it is not (just) about generation.
&lt;br /&gt;&lt;br /&gt;
best regards,
&lt;br /&gt;&lt;br /&gt;
Lucas]]></description>
		<content:encoded><![CDATA[<p>Hi Lonneke,</p>
<p>Thanks for your reaction. Reading your comment here and the article on your blog, I realize that I have failed to get my main point across. I wanted to make it clear that in my mind there is no such thing as a JHeadstart application. We develop ADF applications, with their own specific UI, interaction patterns and functionality. You should not and need not be able to see whether that ADF application was developed by a team of 10 programmers in Canada or a team of 5 whizkids in India working with 3 project leaders in The Netherlands and nor should you have to see whether JHeadstart has been a tool in developing that application. JHeadstart does not define what the application looks like or offers in terms of functionality. The end-user does, and the implementation technology, i.e. ADF, should make it possible.</p>
<p>My whole point was that JHeadstart can be used in certain ways. I very much regard it as an electric screwdriver &#8211; or whatever rocking term is used for such an appliance. At first I was hesitant to use one for my DIY jobs. Suppose its battery would run out or the thing would break, then what? But of course when your piece of furniture is done, it does not matter whether you benefited from your power tool or struggled to get those screws in by hand. And if the power tool breaks after half the screws are done, well at least you had the benefit for those first 50% screws.</p>
<p>On my current project, we develop an ADF application. The User Interaction Design was done my someone who does not know ADF. The application we develop, does not look like &#8216;typical ADF&#8217;  in anyway. You would not be able to readily tell the technology used for implementing the application. We also use JHeadstart. In fact, we use more of it than I would have expected, as it turns out that much more of that very un-JHeadstart style UI turns out to be fit for generating after all. However, we can stop generating at any point and continue by hand. Without JHeadstart we would have to do everything by hand anyway, so whatever we got from JHeadstart &#8211; as long as it is in the right direction &#8211; is beneficial.</p>
<p>For that same reason, I am not afraid of a dependency on the JHeadstart team, as in my view there is none. I get a generator that I can use or not use. If I do not use it, I do everything by hand. If I use it, the first 30-80% of many of my pages is done for me &#8211; and then I do it the rest by hand. If the generator is no longer available, I drop it. Nothing lost and potentially a lot gained. As far as the run-time infrastructure is concerned: they consist of a number of well documented sources; my colleague could have written them, but some Oracle team in The Netherlands did it instead. I do not see much danger of a dependency here. We can take these components and start refactoring, extending and complementing them. Again, the gain is obvious, the risks are small.</p>
<p>Furthermore, an important point I was trying to make is that JHeadstart is not only a generator. It is a combination of two things, and even for ADF applications that are completely hand-built, I put it that JHeadstart provides a run-time infrastructure that benefits most ADF applications, regardless of whether they aree generated completely, generated at first than manually finished or not generated at all.</p>
<p>You keep hammering away at the Generation topic. Suggesting that generation will inevitably lead to an application that does not fulfill the user&#8217;s requirements in an optimal way. While my whole point was that JHeadstart is not just for generation and is certainly in my view not to be used for complete generation. So in effect, I pretty much agree with all your arguments &#8211; only they do not apply to the case I was making.</p>
<p>I was not making a case for generation of all applications when I stated that almost all ADF applications could benefit from JHeadstart. I merely pointed out that for any ADF application you need generic infrastructure, on top of the standard features/functionality of ADF. And JHeadstart provides a set that could well be the first step in that generic infrastructure, saving you many days of development.</p>
<p>Maybe I should have used a different title for my article. Something like: JHeadstart, it is not (just) about generation.</p>
<p>best regards,</p>
<p>Lucas</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lucas Jellema</title>
		<link>http://technology.amis.nl/2008/02/20/should-we-use-jheadstart-for-our-adf-project-it-is-not-a-black-or-white-decision/#comment-5198</link>
		<dc:creator>Lucas Jellema</dc:creator>
		<pubDate>Wed, 20 Feb 2008 22:31:41 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=2868#comment-5198</guid>
		<description><![CDATA[Also see the interestingly sharply formulated reaction by Lonneke Dikmans at &lt;a href=&quot;http://www.approach-alliance.nl/index.php?option=com_jd-wp&amp;Itemid=2&amp;p=47&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;User experience canâ€™t be generated &lt;/a&gt;.]]></description>
		<content:encoded><![CDATA[<p>Also see the interestingly sharply formulated reaction by Lonneke Dikmans at <a href="http://www.approach-alliance.nl/index.php?option=com_jd-wp&#038;Itemid=2&#038;p=47" target="_blank" rel="nofollow">User experience canâ€™t be generated </a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lonneke Dikmans</title>
		<link>http://technology.amis.nl/2008/02/20/should-we-use-jheadstart-for-our-adf-project-it-is-not-a-black-or-white-decision/#comment-5197</link>
		<dc:creator>Lonneke Dikmans</dc:creator>
		<pubDate>Wed, 20 Feb 2008 22:17:14 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=2868#comment-5197</guid>
		<description><![CDATA[You make a very great case, but I disagree: 15 years ago, IT was not as important as a communication tool from companies to customers as it is now. Every company tries to interact with its customers online, so generating the user interface will cost you more money than that is saves in a modern world. See my blog: http://www.approach-alliance.nl/index.php?option=com_jd-wp&amp;Itemid=2&amp;p=47)]]></description>
		<content:encoded><![CDATA[<p>You make a very great case, but I disagree: 15 years ago, IT was not as important as a communication tool from companies to customers as it is now. Every company tries to interact with its customers online, so generating the user interface will cost you more money than that is saves in a modern world. See my blog: <a href="http://www.approach-alliance.nl/index.php?option=com_jd-wp&#038;Itemid=2&#038;p=47" rel="nofollow">http://www.approach-alliance.nl/index.php?option=com_jd-wp&#038;Itemid=2&#038;p=47</a>)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lucas Jellema</title>
		<link>http://technology.amis.nl/2008/02/20/should-we-use-jheadstart-for-our-adf-project-it-is-not-a-black-or-white-decision/#comment-5196</link>
		<dc:creator>Lucas Jellema</dc:creator>
		<pubDate>Wed, 20 Feb 2008 16:31:22 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=2868#comment-5196</guid>
		<description><![CDATA[Mais oui Nigel! It is a parallel that had struck me in the past as well. Both the benefits and the dangers: you can develop Oracle Forms applications through the use of Oracle CASE Generator or Oracle Designer without knowing the first thing about Oracle Forms. That may lead to a needlessly limited or even sometimes erroneous use of the technology. And the single minded focus on 100% generation that makes generation of the last 5% (or even 1%) of a page a nightmare and a real time absorber! At the same, developers - either Oracle Forms or Oracle ADF today - need to be willing to let go of some of their freedom in order to benefit from the structured and productive (at least first shot) approach offered by either Designer or JHeadstart. It is often perceived as a corset that restricts a developer&#039;s freedom - though at the same time you can claim it provides support and structure to the developer and it allows her or him to focus on the specific functionality rather than generic components and repetitive actions.&lt;br /&gt;&lt;br /&gt; Thanks for your reaction and best regards,&lt;br /&gt;&lt;br /&gt;Lucas]]></description>
		<content:encoded><![CDATA[<p>Mais oui Nigel! It is a parallel that had struck me in the past as well. Both the benefits and the dangers: you can develop Oracle Forms applications through the use of Oracle CASE Generator or Oracle Designer without knowing the first thing about Oracle Forms. That may lead to a needlessly limited or even sometimes erroneous use of the technology. And the single minded focus on 100% generation that makes generation of the last 5% (or even 1%) of a page a nightmare and a real time absorber! At the same, developers &#8211; either Oracle Forms or Oracle ADF today &#8211; need to be willing to let go of some of their freedom in order to benefit from the structured and productive (at least first shot) approach offered by either Designer or JHeadstart. It is often perceived as a corset that restricts a developer&#8217;s freedom &#8211; though at the same time you can claim it provides support and structure to the developer and it allows her or him to focus on the specific functionality rather than generic components and repetitive actions.</p>
<p> Thanks for your reaction and best regards,</p>
<p>Lucas</p>
]]></content:encoded>
	</item>
</channel>
</rss>
