<?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>Whitehorses Blog &#187; Oracle tools</title>
	<atom:link href="http://blog.whitehorses.nl/category/oracle-tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.whitehorses.nl</link>
	<description>Oracle, Java and SOA expertise - Lean thinking, Agile working</description>
	<lastBuildDate>Sat, 07 Jan 2012 19:37:42 +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>Smarter APEX: using collections</title>
		<link>http://blog.whitehorses.nl/2011/11/18/smarter-apex-using-collections/</link>
		<comments>http://blog.whitehorses.nl/2011/11/18/smarter-apex-using-collections/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 15:55:15 +0000</pubDate>
		<dc:creator>Michel van Zoest</dc:creator>
				<category><![CDATA[Oracle platform]]></category>
		<category><![CDATA[Oracle tools]]></category>
		<category><![CDATA[Apex]]></category>
		<category><![CDATA[apex_application]]></category>
		<category><![CDATA[apex_collection]]></category>
		<category><![CDATA[collection]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[htf]]></category>
		<category><![CDATA[htp]]></category>
		<category><![CDATA[package]]></category>

		<guid isPermaLink="false">http://blog.whitehorses.nl/?p=2421</guid>
		<description><![CDATA[When I recently created an APEX application, I was confronted with a requirement that I couldn&#8217;t directly solve. But then colleague Maarten van Luijtelaar showed me the right direction: APEX Collections! The requirement was in short this; a copier holds one or more meters to count how many copies have been printed in color, black&#38;white, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>When I recently created an APEX application, I was confronted with a requirement that I couldn&#8217;t directly solve. But then colleague Maarten van Luijtelaar showed me the right direction: APEX Collections!</p>
<p>The requirement was in short this; a copier holds one or more meters to count how many copies have been printed in color, black&amp;white, etc. a customer should be able to enter readings in an APEX application for these meters for their copiers. The number of copiers and the number of meters is dynamic. The entered meterreading should be validated against a number of given values per meter.</p>
<p>To solve the dynamic part of the requirement, I created a page based on a cursor for loop that selected all meters for any number of selected machines. The page is then built up by using the built-in Oracle htp package.<br />
This is a small snippet that shows how a field is built up.</p>
<pre class="brush: sql">htp.tableData(htf.formText('f05',
10,
10,
l_col_reading,
'style="text-align: right;color: #FF0000;font-weight: bold;border-color: #FF0000;"'));</pre>
<div class="wp-caption alignnone" style="width: 466px">
	<a href="http://blog.whitehorses.nl/wp-content/uploads/2011/11/Opvoeren-Tellerstanden-Detail.jpg"><img style="border: 0pt none;" title="Opvoeren Tellerstanden" src="http://blog.whitehorses.nl/wp-content/uploads/2011/11/Opvoeren-Tellerstanden-Detail.jpg" alt="Opvoeren Tellerstanden Detail" width="466" height="84" /></a>
	<p class="wp-caption-text">Opvoeren Tellerstanden</p>
</div>
<p>The result of this is a table with data for each meter on every line.</p>
<p>After entering the data and pressing submit, the data is first validated by a procedure, by using the APEX_APPLICATION package.</p>
<pre class="brush: sql">FOR i in 1..APEX_APPLICATION.G_f01.COUNT
LOOP
if to_number(apex_application.g_f05(i)) &gt;= to_number(apex_application.g_f11(i),'999G999G999G999')
then
l_error := '1';
end if;
END LOOP;</pre>
<p>This all worked fine, but the only problem was, that after the validation failed, the page was redrawn and the enterable fields were empty. A very big problem for customers, because if only one value failed after they have entered several dozen, they had to start over again.</p>
<p>Enter APEX_COLLECTION&#8230;</p>
<p>Inside the validation procedure I fill a collection with the essential values (so I can identify the unique row) and the entered meterreading value of course.<br />
To enhance the user experience I also kept a value to show which error exaclty caused the validation to fail.</p>
<pre class="brush: java">apex_collection.add_member( 'COL_READINGS'
, apex_application.g_f01(i)
, apex_application.g_f02(i)
, apex_application.g_f05(i)
, l_error);</pre>
<p>In the PL/SQL Region that shows the page I changed it to outer join the values from the APEX Collection with the cursor I mentioned earlier. So when the collection is empty, the field is empty, but when it was filled before validation, the that value is shown.</p>
<pre class="brush: java">select c001
, c002
, c003
, c004
from apex_collections
where collection_name = 'COL_READINGS'</pre>
<p>And by using the error I could also pinpoint the cause of the problem and show it to the customer (in this case, the entered value is lower than the previous value in the database).</p>
<div class="wp-caption alignnone" style="width: 480px">
	<a href="http://blog.whitehorses.nl/wp-content/uploads/2011/11/Opvoeren-Tellerstanden-Detail-Error.jpg"><img title="Opvoeren Tellerstand(en) Detail Error" src="http://blog.whitehorses.nl/wp-content/uploads/2011/11/Opvoeren-Tellerstanden-Detail-Error.jpg" alt="Opvoeren Tellerstand(en) Detail Error" width="480" height="82" /></a>
	<p class="wp-caption-text">Opvoeren Tellerstand(en) Detail Error</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.whitehorses.nl/2011/11/18/smarter-apex-using-collections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Results Oracle Forms Survey</title>
		<link>http://blog.whitehorses.nl/2011/10/01/results-oracle-forms-survey/</link>
		<comments>http://blog.whitehorses.nl/2011/10/01/results-oracle-forms-survey/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 23:57:06 +0000</pubDate>
		<dc:creator>Frank Dorst</dc:creator>
				<category><![CDATA[Oracle platform]]></category>
		<category><![CDATA[Oracle tools]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[adf]]></category>
		<category><![CDATA[Apex]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Oracle Forms. Forms]]></category>

		<guid isPermaLink="false">http://blog.whitehorses.nl/?p=2332</guid>
		<description><![CDATA[After reading about the results of a German survey on Forms usage, we decided to test if the results would be similar outside the German marketplace. We published our own Forms Users Survey and received 131 replies. The results are mostly in line with the findings in Germany. We do see some interesting outcomes. Forms [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>After reading about the results of a German survey on Forms usage, we decided to test if the results would be similar outside the German marketplace. We published <a title="Interesting finds in Oracle Forms survey" href="http://blog.whitehorses.nl/2011/08/31/interesting-finds-in-oracle-forms-survey/">our own Forms Users Survey</a> and received 131 replies.</p>
<p>The results are mostly in line with the <a title="Interesting finds in Oracle Forms survey" href="http://blog.whitehorses.nl/2011/08/31/interesting-finds-in-oracle-forms-survey/">findings in Germany</a>. We do see some interesting outcomes.</p>
<h2>Forms Users</h2>
<p>With the first question we identify which versions of Oracle Forms is used:</p>
<p><img style="border: 0; margin-top: 6px; margin-bottom: 6px;" src="http://chart.apis.google.com/chart?chs=540x230&amp;cht=p3&amp;chd=t:2.2,2.9,31.7,12.2,5.8,40.3,5&amp;chl=2,2%|2,9%|31,7%|12,2%|5,8%|40,3%|5,0%|&amp;chdl=4.5%20or%20before|6.0|6i%20client/server|6i%20WebForms|9i|10g|11g&amp;chtt=What%20version%28s%29%20of%20Forms%20are%20you%20running%20today?&amp;chco=FF0000|FFD800|00FFFF|4CFF00|0026FF|FF6A00|B200FF|B6FF00" alt="What version(s) of Forms are you running today?" width="540" height="230" /></p>
<p>First of all, it’s of course a big shock to see that there are still sites running Forms 4.5 out there. But seriously, more than a third of all participants is running a client/server version of Oracle Forms. Most of them are running the highest version that still supports client/server. They have probably not upgraded due to the disruptive nature of upgrade to Web Forms.</p>
<p>A large group of users is currently on 10g. They will most likely upgrade, especially since <a title="Oracle Forms Premium Support Ends December 2011" href="http://blogs.oracle.com/grantronald/entry/alert_for_forms_customers_running_oracle_forms_10g" target="_blank">premier support for Oracle Forms 10g will end this year</a> on December 31st.</p>
<p>It&#8217;s hard to say why almost 20% of the users are running 6i or 9i. My guess is that they are thinking about moving away from Oracle Forms to an alternative development platform.</p>
<p>It is clear that Forms is been around for a while and most responding organizations have been running forms for a long time. The survey shows that over 75% of the companies have been building and running Forms applications for over 10 years and almost 40% for 16 years or more.</p>
<p><img style="border: 0; margin-top: 6px; margin-bottom: 6px;" src="http://chart.apis.google.com/chart?chs=540x230&amp;cht=p3&amp;chd=t:2.9,4.3,16.5,37.4,23.7,15.1&amp;chl=2.9%|4.3%|16.5%|37.4%|23.7%|15.1%|&amp;chdl=2%20or%20less|3%20-%205|6%20-%2010|11%20-%2015|16%20-%2020|21%20or%20more&amp;chtt=How%20many%20years%20is%20Forms%20used%20in%20the%20organization?&amp;chco=FF0000|FFD800|00FFFF|4CFF00|0026FF|FF6A00|B200FF|B6FF00" alt="How many years is Forms used in the organization?" width="540" height="230" /></p>
<h2>Forms Developers</h2>
<p>It is not surprising to see that most Forms Developers have worked with the tool for a long time. 60% has 16 years or more experience and 12% even more than 21 years of experience.</p>
<p><img style="border: 0; margin-top: 6px; margin-bottom: 6px;" src="http://chart.apis.google.com/chart?chs=540x230&amp;cht=p3&amp;chd=t:6.5,10.1,23,31.7,16.5,12.2&amp;chl=6.5%|10.1%|23%|31.7%|16.5%|12.2%|&amp;chdl=2%20or%20less|3%20-%205|6%20-%2010|11%20-%2015|16%20-%2020|21%20or%20more&amp;chtt=How%20many%20years%20have%20you%20worked%20with%20Forms%20personally?&amp;chco=FF0000|FFD800|00FFFF|4CFF00|0026FF|FF6A00|B200FF|B6FF00" alt="Experience in years of Forms Developers" width="540" height="230" /></p>
<p>If programming productivity increases with experience, working for 16 years with the same tool will make a developer very productive.</p>
<p>We got a big variety of answers on the question &#8220;What are the 3 things you like most about Forms?&#8221;. The most mentioned are:</p>
<ul>
<li>integration with Oracle database, everything is SQL, PL/SQL support;</li>
<li>stable platform, simple architecture, proven technology;</li>
<li>productive platform, cheap to develop</li>
<li>Designer.</li>
</ul>
<p>These are in my opinion the &#8220;usual suspects&#8221; and the reason why a lot of companies have stayed with Oracle Forms.</p>
<p>The most mentioned answers on our &#8220;What are the 3 things you like least about Forms?&#8221; were:</p>
<ul>
<li>old fashioned UI, difficult to defer from &#8220;standard&#8221; behavior, not really web;</li>
<li>bad integration with other technologies (i.e. Office);</li>
<li>lack of future for Forms, no more Designer&#8230;</li>
</ul>
<p>The answers also show quite some frustration from the current Forms users. One responder answered: &#8220;where to begin&#8230;&#8221;.</p>
<h2>Upgrade to new version of Forms</h2>
<p>With 95% of Forms users running an unsupported or almost unsupported version of Forms, we asked if they were considering an upgrade. As you can see in the graph below, more than 50% is not.</p>
<p><img style="border: 0; margin-top: 6px; margin-bottom: 6px;" src="http://chart.apis.google.com/chart?chs=540x230&amp;cht=p3&amp;chd=t:50.4,0.7,7.9,41&amp;chl=50.4%|0.7%|7.9%|41%|&amp;chdl=No|Yes,%20to%20Forms%209i|Yes,%20to%20Forms%2010g|Yes,%20to%20Forms%2011g&amp;chtt=Are%20you%20considering%20a%20migration%20to%20a%20newer%20version%20of%20Forms?&amp;chco=FF0000|FFD800|00FFFF|4CFF00|0026FF|FF6A00|B200FF|B6FF00" alt="Will you upgrade Oracle Forms?" width="540" height="230" /></p>
<p>41% is looking to upgrade to the latest version 11g, bringing them to a fully supported platform. Why anyone would upgrade to 9i or even 10g is beyond me. Maybe they use it as an intermediate step.</p>
<h2>The future of Forms</h2>
<p>So, with all this feedback, what do the participants expect the future of their environments to be. Are these organizations planning to replace Forms for application development?</p>
<p>The graph below shows that almost half of the participants indicated that they did not see Forms being replaced.</p>
<p><img style="border: 0; margin-top: 6px; margin-bottom: 6px;" src="http://chart.apis.google.com/chart?chs=540x230&amp;cht=p3&amp;chd=t:46,8.6,10.1,18,5.8,11.5&amp;chl=46%|8.6%|10.1%|18%|5.8%|11.5%|&amp;chdl=No|Yes,%20with%20Java|Yes,%20with%20ADF|Yes,%20with%20Apex|Yes,%20with%20.NET|Yes,%20with%20something%20else&amp;chtt=Are%20you%20considering%20replacing%20Forms?&amp;chco=FF0000|FFD800|00FFFF|4CFF00|0026FF|FF6A00|B200FF|B6FF00" alt="Replacing Forms?" width="540" height="230" /></p>
<p>However, of those considering to replace Forms, only half is looking at an Oracle solution &#8211; ADF or Apex. Apex is the most considered alternative (a third choose Apex), followed by &#8220;something else&#8221;. This is significantly different from the results in <a title="Results of the 2011 Oracle Forms Poll" href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-5.html">the German Oracle Forms 2011 Poll</a>. In that poll, Apex was the least considered alternative. A third of the respondents that considers replacing Forms is moving to some form of Java, ADF or otherwise. It would be great to know the reasons behind these choices.</p>
<p>When asked after the feelings about the future of Oracle Forms, almost 45% had a negative sentiment and only 19% a positive one.</p>
<p><img style="margin-top: 6px; margin-bottom: 6px; border: 0;" src="http://chart.apis.google.com/chart?chs=540x230&amp;cht=p3&amp;chd=t:17.3,27.3,36.7,14.4,4.3&amp;chl=17.3%|27.3%|36.7%|14.4%|4.3%|&amp;chdl=Very%20negative|Negative|Neutral|Positive|Very%20positive&amp;chtt=How%20do%20you%20feel%20about%20the%20future%20of%20Forms&amp;chco=FF0000|FFD800|00FFFF|4CFF00|0026FF|FF6A00|B200FF|B6FF00" alt="What is your feeling towards the Future of Oracle Forms" width="540" height="230" /></p>
<h2>Oracle Forms 11g</h2>
<p>For companies that continue with Oracle Forms, it is important that Oracle continues to improve their product. The final question of our survey asked what the top-priority enhancements should be for the next release of the product.</p>
<p>This was a free text question, so there were many different answers. Still a number of replies we given many times:</p>
<ul>
<li>IDE improvements, like code highlighting, easy debugging etc.;</li>
<li>more modern user interface and UI options;</li>
<li>Designer;</li>
<li>stand alone runtime: &#8220;bring client/server back&#8221;.</li>
</ul>
<p>It is clear that many of the long term users are longing back to &#8220;the old days&#8221;, while also looking for a more modern user experience.</p>
<h2>Conclusions</h2>
<p>There is still a vast group of companies and users on Oracle Forms. A significant number of them is running client/server and are faced with an &#8220;interesting&#8221; upgrade path if they want to continue with Forms.</p>
<p>Developers and customers are very experienced in running and developing Oracle Forms applications. They are therefore probably very successful and highly productive with the toolset. It is safe to say that it will take a long time before they can reach similar productivity with any new environment. On the other hand, many participants want to create more modern, user friendly applications. With the current versions of Oracle Forms, they will not get that. A forced move to another development platform will happen, if the business need for &#8220;Google-like&#8221; applications is big enough.</p>
<p>Although 50% say they will continue with Forms in the future, the sentiment towards the future of Forms is mostly negative. Oracle is still supporting and enhancing the product. So if Forms continues to deliver, why go to something else.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.whitehorses.nl/2011/10/01/results-oracle-forms-survey/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Interesting finds in Oracle Forms survey</title>
		<link>http://blog.whitehorses.nl/2011/08/31/interesting-finds-in-oracle-forms-survey/</link>
		<comments>http://blog.whitehorses.nl/2011/08/31/interesting-finds-in-oracle-forms-survey/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 07:02:15 +0000</pubDate>
		<dc:creator>Frank Dorst</dc:creator>
				<category><![CDATA[Business & IT]]></category>
		<category><![CDATA[Oracle tools]]></category>

		<guid isPermaLink="false">http://blog.whitehorses.nl/?p=2269</guid>
		<description><![CDATA[Oracle specialist Gerd Volberg shared the results of his 2011 Oracle Forms Poll on his blog Talk2Gerd. Nearly 1000 customers in Germany and the German-speaking countries completed the survey. You can read the full details on his blog (German version is available too). The results are interesting and lead to some surprising conclusions: almost 40% [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Oracle specialist Gerd Volberg shared the results of his <a title="Results of the 2011 Oracle Forms Poll" href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-1.html" target="_blank">2011 Oracle Forms Poll</a> on his blog <a title="Talk2Gerd" href="http://talk2gerd.blogspot.com" target="_blank">Talk2Gerd</a>. Nearly 1000 customers in Germany and the German-speaking countries completed the survey. You can read the full details on his blog (<a title="Oracle Forms 2011 Survey in German" href="http://talk2gerd-de.blogspot.com/2011/08/ergebnisse-der-oracle-forms-umfrage.html" target="_blank">German version is available too</a>).</p>
<p>The results are interesting and lead to some surprising conclusions:</p>
<ol>
<li>almost 40% of the respondents are (still) using Forms 6i. Although his survey didn&#8217;t differentiate between 6i webforms and 6i client/server, I guess they haven&#8217;t upgraded to a new version because they run in client/server mode;</li>
<li>around 90% of the respondents have over 10 years experience working with Forms. The average was 15 years. This is an incredible amount of experience and it is most likely a main reason for the perceived &#8220;unrivaled&#8221; productivity of Forms.</li>
<li>most site will upgrade their Forms environment in the (near) future, however<strong> over 60%</strong> is not considering to replace Forms.</li>
<li>of all respondents that are considering to replace Forms, only a very small percentage will move to another Oracle toolset. Actually, 40% of the customers indicate they&#8217;ll more to .NET. Oracle&#8217;s ADF ranked third.</li>
<li>Apex is not considered much as a next step after Forms.</li>
</ol>
<p>I guess these answers could worry Oracle. 60% of the Oracle Forms customers are not going to replace Oracle Forms with something new. It is hard for developers to move from Forms, a tool they have many years of experience with to something entirely new and (at least in the beginning) much less productive. Not replacing Form is not a problem on itself. Forms customer are loyal database customers. If they however do replace, they apparently choose platforms like .NET or Java, with less ties to the Oracle database. Over time, this could cost Oracle also lot of database customers.</p>
<p>I did not expect these results and I&#8217;m very curious to see if the answers are similar in The Netherlands. After confirming with Gerd, I have created our own survey based on the questions in his original. I don&#8217;t expect to get a 1000 responses, but it would be great to see what the results are in other countries. Please fill out our own <a title="Whitehorses Oracle Forms Usage Survey" href="http://blog.whitehorses.nl/oracle-forms-usage-survey/">Oracle Forms Usage Survey</a> if you are currently using Oracle Forms for a production system. We&#8217;ll share the results on this blog.</p>
<p><a title="Whitehorses Oracle Forms Usage Survey" href="http://blog.whitehorses.nl/oracle-forms-usage-survey/"><strong>Participate in the Oracle Forms Usage Survey</strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.whitehorses.nl/2011/08/31/interesting-finds-in-oracle-forms-survey/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Looking back on Kscope 2011</title>
		<link>http://blog.whitehorses.nl/2011/07/05/looking-back-on-kscope-2011/</link>
		<comments>http://blog.whitehorses.nl/2011/07/05/looking-back-on-kscope-2011/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 07:45:17 +0000</pubDate>
		<dc:creator>Peter Paul Van de Beek</dc:creator>
				<category><![CDATA[Integration, SOA & BPM]]></category>
		<category><![CDATA[Oracle platform]]></category>
		<category><![CDATA[Oracle tools]]></category>
		<category><![CDATA[AIA]]></category>
		<category><![CDATA[FMW]]></category>
		<category><![CDATA[Mediator]]></category>
		<category><![CDATA[Oracle Fusion Middleware]]></category>
		<category><![CDATA[OSB]]></category>
		<category><![CDATA[SOA Suite]]></category>

		<guid isPermaLink="false">http://blog.whitehorses.nl/?p=2227</guid>
		<description><![CDATA[Last week Whitehorses visited the ODTUG Kscope 2011 Conference in Long Beach with two presenters. Kscope is an annual conference bringing together some of the best in depth knowledge in the field of Oracle Technology. The Fusion Middleware track is growing every year with great content. In this post we&#8217;ll share our presentations and some [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Last week Whitehorses visited the ODTUG Kscope 2011 Conference in Long Beach with two presenters. Kscope is an annual conference bringing together some of the best in depth knowledge in the field of Oracle Technology. The Fusion Middleware track is growing every year with great content. In this post we&#8217;ll share our presentations and some of the other highlights.</p>
<p><a href="http://nl.linkedin.com/in/biemond">Edwin Biemond</a> presented:</p>
<div style="width:425px" id="__ss_8505495"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/biemond/odtug-an-introduction-to-application-integration-architecture" title="ODTUG An Introduction to Application Integration Architecture" target="_blank">ODTUG An Introduction to Application Integration Architecture</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/8505495" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> </div>
<p>and</p>
<div style="width:425px" id="__ss_8505483"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/biemond/odtug-the-necessary-knowledge-and-tools-you-need-to-have-for-soa-suite-11g" title="ODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11g" target="_blank">ODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11g</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/8505483" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> </div>
<p><a href="http://nl.linkedin.com/in/peterpaulvandebeek">Peter Paul </a><a href="http://www.deltalounge.net/wpress/">van de Beek</a> presented:</p>
<div style="width:425px" id="__ss_8453864"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/w1z8rd/kscope-solid-service-bus-implementations" title="Kscope Solid Service Bus Implementations" target="_blank">Kscope Solid Service Bus Implementations</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/8453864" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> </div>
<h3>Design Patterns for excellent User Experience</h3>
<p>Madhuri Kolhatkar delivered a gem that we didn&#8217;t discover before. She did a great presentation on the effort Oracle has put into creating and implementing User Experience Design Patterns. Extended information is available on the <a href="http://usableapps.oracle.com/">Usable Apps</a> pages of the Oracle website. Great insight on how this can help you in developing and delivering your applications can for example for OBIEE be found on Design Patterns and Guidelines for Oracle Applications. Take special note of the <a href="http://usableapps.oracle.com/DPG/OBIEE/patterns/information_display/flexFacet/auInfoDisplay.html">Pattern Selection Tool</a>.</p>
<h3>Oracle SOA Suite Fault Handling</h3>
<p>Guido Schmutz and Ronald van Luttikhuizen gave a solid presentation on <a href="http://www.slideshare.net/rluttikhuizen/fault-handling-in-oracle-soa-suite-11g">Fault Handling in the Oracle SOA Suite</a>. Guido showed us the capabilities of the OSB in this field. The focus was on the following features: Result Caching, Service Throttling, Retry mechanism, Service pooling (talking to multiple endpoints) and Fault Message on callback (in async). Ronald demoed how the Compensate and Fault Policy Framework work in BPEL.</p>
<h3>Thursday Thunder</h3>
<p>Thursday Thunder presented a team of highly skilled ADF (including JHeadstart) and SOA Suite experts building an application during this session. Like any real world project this seemed chaotic at times, however there were a lot of best practices to learn for all who attended.</p>
<p>We could have learned all of the tips and tricks in a normal session or presentation. However by working this way there is a much stronger feel of how technologies and tools are used in a real world project. It was fun to watch and learn and I think the team had a great time as well! At the en of the session the End-to-End flow worked really well. Great work in just a few hours time!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.whitehorses.nl/2011/07/05/looking-back-on-kscope-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using the &#8220;thick&#8221; OCI drivers in ODI 11g IDE</title>
		<link>http://blog.whitehorses.nl/2011/06/21/using-the-thick-oci-drivers-in-odi-11g-ide/</link>
		<comments>http://blog.whitehorses.nl/2011/06/21/using-the-thick-oci-drivers-in-odi-11g-ide/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 20:29:02 +0000</pubDate>
		<dc:creator>Laurens van der Starre</dc:creator>
				<category><![CDATA[Integration, SOA & BPM]]></category>
		<category><![CDATA[Oracle tools]]></category>
		<category><![CDATA[11g]]></category>
		<category><![CDATA[JDBC]]></category>
		<category><![CDATA[OCI]]></category>
		<category><![CDATA[ODI]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://blog.whitehorses.nl/?p=2214</guid>
		<description><![CDATA[<p>Oracle Data Integrator 11g comes out of the box with a whole bunch of  JDBC drivers. For Oracle, this is the "thin" Type-4 driver. However you  might not always want to use this thin driver, but instead want to use  the 'thick" OCI Type 2 driver. The OCI driver is said to have a greater  performance, and supports more database features like TAF (Transparent  Application Failover). In this case for a developer, it is very useful  that one can connect to these data sources. In this blog I'll show you  how to install this driver in ODI 11g.</p>
]]></description>
			<content:encoded><![CDATA[<p></p><p>Oracle Data Integrator 11g comes out of the box with a whole bunch of JDBC drivers. For Oracle, this is the &#8220;thin&#8221; Type-4 driver. However you might not always want to use this thin driver, but instead want to use the &#8216;thick&#8221; OCI Type 2 driver. The OCI driver is said to have a greater performance, and supports more database features like TAF (Transparent Application Failover). In this case for a developer, it is very useful that one can connect to these data sources. In this blog I&#8217;ll show you how to install this driver in ODI 11g.</p>
<p>Somehow I wasn&#8217;t able to find much information on this topic. If someone has found some official Oracle documentation on this, please drop a note in the comments. Oracle Support ID 602706.1 gives some clues, but somehow it looks like the ODI 10g documentation with some 11g added to it. Anyway &#8230;</p>
<p>The ODI Topology interface says it supports Type 2 and 4 drivers when creating a new data server, but &#8220;supports&#8221; means something else as &#8220;works out of the box&#8221; here.</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/06/driver.png"><img class="aligncenter size-full wp-image-2216" title="driver" src="http://blog.whitehorses.nl/wp-content/uploads/2011/06/driver.png" alt="" width="504" height="278" /></a></p>
<p>If you&#8217;d chose the OCI connection string, the well known error</p>
<pre class="brush: plain">java.lang.UnsatisfiedLinkError: no ocijdbc11 in java.library.path</pre>
<p>will haunt you. So we will need the OCI driver.</p>
<p>I did this before in ODI 10g, so I basically applied the same logic to 11g. I use Ubuntu linux, but Windows users should use an analogous approach(use backward slashes instead of forward slashes etc).</p>
<p>First of all it is important that the thin and thick drivers are of the exact same version. To see what version of the thin driver comes with the ODI 11g installation, see the META-INF/MANIFEST.MF file in $ODI_HOME/modules/oracle.jdbc_11.1.1/ojdbc6dms.jar, where $ODI_HOME is your installation directory of ODI 11g (by the way, a jar file can be opened with a unzip tool).</p>
<p>There should be something like this in the file:</p>
<pre class="brush: plain">Implementation-Vendor: Oracle Corporation
Implementation-Title: JDBC DMS
Implementation-Version: 11.2.0.2.0
Repository-Id: JAVAVM_11.2.0.2.0AS11.1.1.5.0_LINUX_110321
Specification-Vendor: Sun Microsystems Inc.
Specification-Title: JDBC
Specification-Version: 4.0
Main-Class: oracle.jdbc.OracleDriver</pre>
<p>In this case the driver version is 11.2.0.2.</p>
<p>The next step is to download the correct thick driver. For this you will need the Oracle Client. Go to the <a href="http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html">download page</a> and chose the correct version (press &#8220;See All&#8221; for the client downloads). In my case this wasn&#8217;t necessary, because I have already an Oracle 11g XE (beta) installed on my machine, which contains the correct libraries I can use. After installing the client, set up your TNSNAMES.</p>
<p>Now we need to add the libraries that come with the Client to our java.library.path. For this, go to $ODI_HOME/oracledi/client/odi/bin . Edit odi.conf and add the following line:</p>
<pre class="brush: bash">AddVMOption -Djava.library.path=&lt;&lt;ORACLE_HOME&gt;&gt;/lib</pre>
<p>Of course change &lt;&lt;ORACLE_HOME&gt;&gt; with your path to the Oracle Client home directory. In my case this line is:</p>
<pre class="brush: bash">AddVMOption -Djava.library.path=/u01/app/oracle/product/11.2.0/xe/lib</pre>
<p>Then, make sure that the following system variables are set:</p>
<pre class="brush: bash">ORACLE_HOME=&lt;&lt;ORACLE_HOME&gt;&gt;
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$ORACLE_HOME/bin:$PATH</pre>
<p>Again, change it to your own Oracle Home. On my Ubuntu machine it is for example:</p>
<pre class="brush: bash">export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH</pre>
<p>On Windows, it is probably something like this on the command line (but forgive my &#8220;rusty&#8221; Windows skills):</p>
<pre class="brush: ruby">set ORACLE_HOME=C:\oracleclient
set LD_LIBRARY_PATH=%ORACLE_HOME%\lib
set PATH=%ORACLE_HOME%\bin;%PATH%</pre>
<p>(Or put it in the system environment variables)</p>
<p>If we now start ODI with these environment settings set, we can use the jdbc:oracle:oci8:@  JDBC URL. Happy coding!</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.whitehorses.nl/2011/06/21/using-the-thick-oci-drivers-in-odi-11g-ide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quickly compare datasets using ODI</title>
		<link>http://blog.whitehorses.nl/2011/06/20/quickly-compare-datasets-using-odi/</link>
		<comments>http://blog.whitehorses.nl/2011/06/20/quickly-compare-datasets-using-odi/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 11:26:19 +0000</pubDate>
		<dc:creator>Laurens van der Starre</dc:creator>
				<category><![CDATA[Integration, SOA & BPM]]></category>
		<category><![CDATA[Oracle tools]]></category>
		<category><![CDATA[11g]]></category>
		<category><![CDATA[ODI]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle Fusion Middleware]]></category>

		<guid isPermaLink="false">http://blog.whitehorses.nl/?p=2177</guid>
		<description><![CDATA[<p>In an integrated IT landscape data is often replicated on different  systems. It is for example not uncommon that an order system some  customer information needs from the CRM system. Online interfaces are  often used to push out changes of the data to the interested  (subscribed) systems, so that in theory all systems are in sync. In the  real world however, it is possible that some of this replicated data  gets lost, either by system errors, interfacing faults, etcetera.  Checking whether or not the systems are in sync, and what data is  missing (if any), can be a daunting task. In this blog post I'll  demonstrate a simple way of using Oracle Data Integrator 11g (ODI) to  check which data entities are not in sync.</p>
]]></description>
			<content:encoded><![CDATA[<p></p><p>In an integrated IT landscape data is often replicated on different systems. It is for example not uncommon that an order system some customer information needs from the CRM system. Online interfaces are often used to push out changes of the data to the interested (subscribed) systems, so that in theory all systems are in sync. In the real world however, it is possible that some of this replicated data gets lost, either by system errors, interfacing faults, etcetera. Checking whether or not the systems are in sync, and what data is missing (if any), can be a daunting task. In this blog post I&#8217;ll demonstrate a simple way of using Oracle Data Integrator 11g (ODI) to check which data entities are not in sync.</p>
<p>ODI is a great tool for batch-wise data integration. It is very powerful because the so called Knowledge Modules are fully customisable. In my (very) simple example I&#8217;ll focus on the synchronisation of HR data: employee data to be precise. The same principle can also be applied to other areas like stock comparison of course. The overall approach is easily extendible.</p>
<p>The basic idea of what I&#8217;ll do in ODI is the following:</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/06/overview-process.png"><img class="aligncenter size-medium wp-image-2179" title="overview-process" src="http://blog.whitehorses.nl/wp-content/uploads/2011/06/overview-process-300x178.png" alt="ODI comparison process overview" width="300" height="178" /></a></p>
<p>The comparison is always done against the data master (that is: the system that contains the single source of truth about a data entity). The ODI Interface is build from the source table in the source system to the <em>temporary</em> sync result table on the target. During the Control phase, a custom Check Knowledge Module (CKM) will be used to check for differences in the master table, and will store the result in the sync result table.</p>
<p>In my example I&#8217;ll only send the common identifier. Therefore my sync result table (and its temporary edition) is pretty simple:</p>
<pre class="brush: sql">CREATE TABLE "SYNC_RESULT"
  (
    "SRC"    VARCHAR2(20 BYTE),
    "SRC_ID" NUMBER,
    "DIFF"   NUMBER
  )</pre>
<p>The DIFF column indicates what kind of difference it is: a &#8220;1&#8243; indicates that the item is not in the master system, and a &#8220;0&#8243; indicates that it is not in the source system. The Interface flow simply maps the identifier to the target table, with a fixed value for the SRC column, which indicates the originating system. This value is also used later on in the CKM.</p>
<p>&nbsp;</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/06/Interface-Flow1.png"><img class="aligncenter size-full wp-image-2185" title="Interface-Flow" src="http://blog.whitehorses.nl/wp-content/uploads/2011/06/Interface-Flow1.png" alt="" width="527" height="270" /></a></p>
<p>Basically there is nothing really special here. The trick is now to use a custom CKM to check the entries in the temporary sync result table with the master table, and put the results in the actual sync result table. The CKM has two OPTONS, one is a flag whether or not to delete the  old entries, and a string indicating the source system (equal to the SRC  column): I called it the &#8220;SOURCE_APP&#8221; OPTION.</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/06/Choose-CKM1.png"><img class="aligncenter" title="Choose-CKM" src="http://blog.whitehorses.nl/wp-content/uploads/2011/06/Choose-CKM1.png" alt="" width="525" height="326" /></a></p>
<p>In my simple example, this CKM basically performs the following steps: remove the old data in the sync result table; check the new values in the temporary sync result table against the master table en report the missing entries in the source and master table as the sync results.</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/06/CKM-overview.png"><img class="aligncenter size-full wp-image-2188" title="CKM-overview" src="http://blog.whitehorses.nl/wp-content/uploads/2011/06/CKM-overview.png" alt="" width="517" height="222" /></a></p>
<p>&nbsp;</p>
<p>The master table is the well known EMPLOYEES table from the HR schema that comes out of the box with an Oracle database. The CKM steps are therefore:</p>
<p>&#8220;Delete the old sync results&#8221;:</p>
<pre class="brush: sql">DELETE FROM SYNC_RESULT
WHERE SRC = &lt;%=odiRef.getOption("SOURCE_APP")%&gt;</pre>
<p>&#8220;Check missing in TARG&#8221;:</p>
<pre class="brush: sql">INSERT INTO SYNC_RESULT
SELECT &lt;%=odiRef.getOption("SOURCE_APP")%&gt;,
S.SRC_ID,
1
FROM SYNC_RESULT_TMP S
WHERE S.SRC_ID not in
(SELECT EMPLOYEE_ID FROM EMPLOYEES)
AND S.SRC = &lt;%=odiRef.getOption("SOURCE_APP")%&gt;</pre>
<p>&#8220;Check missing in SRC&#8221;:</p>
<pre class="brush: sql">INSERT INTO SYNC_RESULT
SELECT &lt;%=odiRef.getOption("SOURCE_APP")%&gt;,
E.EMPLOYEE_ID,
0
FROM EMPLOYEES E
WHERE E.EMPLOYEE_ID NOT IN (SELECT SRC_ID FROM SYNC_RESULT_TMP WHERE SRC = &lt;%=odiRef.getOption("SOURCE_APP")%&gt;)</pre>
<p>&#8220;Remove old values in TMP result&#8221;:</p>
<pre class="brush: sql">DELETE FROM SYNC_RESULT_TMP WHERE src = &lt;%=odiRef.getOption("SOURCE_APP")%&gt;</pre>
<p>The result of this ODI Interface is that the sync result table now contains the rows which are not in sync. These results can be by used in reports, or used in another ODI Interface(s) to sync the missing entities to the different systems by joining the results with the master table. Also, adding new systems for comparison is pretty easy: just create a new ODI Interface, and reuse the CKM. Just make sure the SOURCE_APP option and SRC column in the result table are correctly set and unique.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.whitehorses.nl/2011/06/20/quickly-compare-datasets-using-odi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>REST-style services using Apex Listener</title>
		<link>http://blog.whitehorses.nl/2011/04/08/rest-style-services-using-apex-listener/</link>
		<comments>http://blog.whitehorses.nl/2011/04/08/rest-style-services-using-apex-listener/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 20:51:55 +0000</pubDate>
		<dc:creator>Maarten van Luijtelaar</dc:creator>
				<category><![CDATA[Integration, SOA & BPM]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Oracle tools]]></category>
		<category><![CDATA[Apex]]></category>
		<category><![CDATA[Apex Listener]]></category>
		<category><![CDATA[Resource Templates]]></category>
		<category><![CDATA[REST]]></category>

		<guid isPermaLink="false">http://blog.whitehorses.nl/?p=2157</guid>
		<description><![CDATA[Exposing your PL/SQL procedures to the outside world is nothing new. Using either mod_plsql or dbms_epg one could easily access those procedures through an URL including some parameters to dynamically generate xml, or some other type of resource. But, if you wanted to provide a true REST-style service you might run out of options. mod_plsql [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Exposing your PL/SQL procedures to the outside world is nothing new. Using either mod_plsql or dbms_epg one could easily access those procedures through an URL including some parameters to dynamically generate xml, or some other type of resource.</p>
<p>But, if you wanted to provide a true REST-style service you might run out of options. mod_plsql wasn&#8217;t designed to do this. It only treats URL&#8217;s having parameters, which need to  correspond with your PL/SQL procedure&#8217;s parameters. Other than that, there&#8217;s no such thing as a &#8220;HTTPRequest&#8221; in PL/SQL, which means no reading posted data directly.</p>
<p>So, if you want your service to accept raw postdata, the solution is to use Resource Templates which can be configured within the Apex Listener.<br />
When you have the listener up and running, go to the administration site by navigating to <a href="http://server:port/apex/listenerAdmin">http://server:port/apex/listenerAdmin</a>. Here you will find the Resource Templates tab.</p>
<p>The idea here is to add a specific location to your server and configure handlers, which correspond to  HTTP operations like PUT, POST, GET, DELETE.<br />
For instance , specifing an URI template like getsomeresource/{identifier} automatically maps the &#8220;identifier&#8221; part of the URL as a variable when calling a SQL statement or a PL/SQL block. Keep in mind that none, one, or more of these variables can be specified in the template, but no optional parameters can be configured.</p>
<p>If you need some additional info like the value of the Accept-Language header sent by a browser as part of the request, you can manualy map these to variables by providing a varaiable name and an alias. The alias corresponds with is the actual name of the header you want to capture.  Using this variable you can generate language specific resources.</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/04/ApexResourceTemplate1.jpg"><img class="alignnone size-medium wp-image-2159" title="ApexResourceTemplate1" src="http://blog.whitehorses.nl/wp-content/uploads/2011/04/ApexResourceTemplate1-300x182.jpg" alt="" width="300" height="182" /></a></p>
<p>In our case, we just want to provide a service on a specific location where some data will be posted to for further processing.<br />
So we create an URI template &#8220;processdata&#8221; with no further variables. The handler will ofcourse be of type POST.<br />
We need to specify a resource generation strategy, in our case a PL/SQL block.<br />
Here we can have direct access to the POST&#8217;s content body and content type send by the requestor using special, built-in variables.</p>
<p>declare<br />
begin<br />
:status := pkg_resource.process(:contentType,:body);<br />
end;</p>
<p>Note that the &#8220;status&#8221; variable must be mapped to a parameter with a built-in alias value X-APEX-STATUS-CODE. This takes care of sending back the actual HTTP status code in the response header like 201: &#8220;resource created&#8221;. In this case the status code is the return value of the pkg_resource.process function. In case something goes wrong processing, you can return an appropriate code. For a full list of HTTP status codes see : <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html</a>.<br />
Also note that there&#8217;s no need to map the body and content type variables, it&#8217;s been taken care of already for you. The &#8220;body&#8221; will be passed to the PL/SQL procedure as a blob so you can process the data yourself.</p>
<p>Using Apex Listener&#8217;s resource templates allow you to generate content based on SQL queries and PL/SQL blocks, returning csv, custom output and JSON representations, so plenty of options to provide REST-style services to expose your database and make integration with other processes or services easier.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.whitehorses.nl/2011/04/08/rest-style-services-using-apex-listener/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Developer 3.0 Final</title>
		<link>http://blog.whitehorses.nl/2011/03/31/sql-developer-3-0-final/</link>
		<comments>http://blog.whitehorses.nl/2011/03/31/sql-developer-3-0-final/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 09:01:44 +0000</pubDate>
		<dc:creator>Maarten van Luijtelaar</dc:creator>
				<category><![CDATA[Oracle tools]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[oracle sql developer]]></category>
		<category><![CDATA[pl/sql]]></category>

		<guid isPermaLink="false">http://blog.whitehorses.nl/?p=2145</guid>
		<description><![CDATA[As of march 29, SQL Developer 3.0 is available for download on OTN. This release includes several new features including: Visual query builder Scheduling DBMS jobs using a graphical interface SQL Tuning advisor including a diff-tool to compare multiple explain plan / trace results Name based filtering in schema browser Oracle Data Modeler 3.0 is [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>As of march 29, SQL Developer 3.0 is available for <a title="Download SQL Developer 3" href="http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index-098778.html" target="_blank">download on OTN</a>.<br />
This release includes several new features including:</p>
<ul>
<li>Visual query builder</li>
<li>Scheduling DBMS jobs using a graphical interface</li>
<li>SQL Tuning advisor including a diff-tool to compare multiple explain plan / trace results</li>
<li>Name based filtering in schema browser</li>
<li>Oracle Data Modeler 3.0 is now fully integrated, so data models can now be designed from within SQL Developer.<br />
Note: if youd didn&#8217;t know already, SQL Developer Datamodeler has been taken off the price list and is now regarded as a free &#8220;datanase option&#8221;, which means you have full support if you have a database licence.</li>
<li>Increased PL/SQL support: additional templates based on PL/SQL and SQL syntax as wel as running and debugging ref-cursor procedures</li>
</ul>
<p>No &#8220;known issues&#8221; list is provided yet, so you may need to spend some time checking the forums when runing into trouble.<br />
Other than that, these new features make SQL Developer an invalueable asset and a great alternative for other well known commercial solutions.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.whitehorses.nl/2011/03/31/sql-developer-3-0-final/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing AIA on SOA Suite 11g R1 PS3 Developer release</title>
		<link>http://blog.whitehorses.nl/2011/02/19/installing-aia-on-soa-suite-11g-r1-ps3-developer-release/</link>
		<comments>http://blog.whitehorses.nl/2011/02/19/installing-aia-on-soa-suite-11g-r1-ps3-developer-release/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 13:32:22 +0000</pubDate>
		<dc:creator>Edwin Biemond</dc:creator>
				<category><![CDATA[Integration, SOA & BPM]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Oracle platform]]></category>
		<category><![CDATA[Oracle tools]]></category>
		<category><![CDATA[11g]]></category>
		<category><![CDATA[AIA]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle Fusion Middleware]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[SOA Suite]]></category>
		<category><![CDATA[weblogic]]></category>

		<guid isPermaLink="false">http://blog.whitehorses.nl/?p=2109</guid>
		<description><![CDATA[In this blogpost I will help you installing the new version of Application Integration Architecture Foundation Pack, which is part of the FMW 11G R1 PS3 ( 11.1.1.4.0)  release.  In a previous blogpost I already explained how to do this on PS2. With the PS3 version you will see, that Oracle improved the installation compared [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>In this blogpost I will help you installing the new version of Application Integration Architecture Foundation Pack, which is part of the FMW 11G R1 PS3 ( 11.1.1.4.0)  release.  In a <a href="http://blog.whitehorses.nl/2010/10/05/installing-application-integration-architecture-on-soa-suite-11g-r1-ps2/">previous blogpost</a> I already explained how to do this on PS2. With the PS3 version you will see, that Oracle improved the installation compared to PS2  and combined with the developer release of SOA Suite PS3 ( the memory footprint is less ) the PS3 version is a big improvement.</p>
<p>Before you can start you need to have a working SOA Suite Ps3 Weblogic domain.  I choose for  the SOA Suite for developers, in this case I have one AdminServer which runs it all.</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_1.png"><img class="alignnone size-medium wp-image-2110" title="aia_ps3_1" src="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_1-300x216.png" alt="" width="300" height="216" /></a></p>
<p>The second thing you need to check in the Weblogic console, if all the Resource Adapters are installed and running. In my case I need to target the OracleApps Adapter to the AdminServer.</p>
<p>Download the<a href="http://www.oracle.com/technetwork/middleware/foundation-pack/downloads/fpdownloads-152617.html"> AIA Foundation Pack</a>. The AIA Service Constructor can be downloaded from JDeveloper, so you can skip this for now. Extract the software and start the installation.</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_2.png"><img class="alignnone size-medium wp-image-2112" title="aia_ps3_2" src="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_2-300x255.png" alt="" width="300" height="255" /></a></p>
<p>You need to create a new AIA Oracle Home , AIAInstance name and use the JDK of your SOA Suite Middleware home.</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_3.png"><img class="alignnone size-medium wp-image-2113" title="aia_ps3_3" src="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_3-300x255.png" alt="" width="300" height="255" /></a></p>
<p>Start the SOA Suite Adminserver and provide these Weblogic details in this screen</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_4.png"><img class="alignnone size-medium wp-image-2114" title="aia_ps3_4" src="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_4-300x255.png" alt="" width="300" height="255" /></a></p>
<p>AIA got its own database schema, provide the details and the sys user / password.</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_5.png"><img class="alignnone size-medium wp-image-2115" title="aia_ps3_5" src="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_5-300x255.png" alt="" width="300" height="255" /></a></p>
<p>Provide the MDS database schema details of your SOA Suite Domain</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_6.png"><img class="alignnone size-medium wp-image-2116" title="aia_ps3_6" src="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_6-300x255.png" alt="" width="300" height="255" /></a></p>
<p>You can skip the Oracle Enterprise Repository screen</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_7.png"><img class="alignnone size-medium wp-image-2117" title="aia_ps3_7" src="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_7-300x255.png" alt="" width="300" height="255" /></a></p>
<p>Here the installation begins, when a step fails you can retry the step , sometimes an another retry is enough and when it fails again you need to take a look at the logs.  You can find these logs in your new  AIA HOME + aia_instances + AIA Instance Name + logs.  When you can&#8217;t fix the problem then you can look at the AIA ANT files, these are in the config folder of your AIA Instance Name and try to do it manually.</p>
<p>Next step is to give the Weblogic users the required  AIA roles / groups. Go the Weblogic console and in the myrealm security realms you can add some users and add them to a AIA Role like AIALifecycleUser, AIALifecycleDeveloper and AIAApplicationUser ( CAVS)</p>
<p>Open a browser and go to <a href="http://localhost:7001/AIA/faces/aiaHomeLogin.jspx">http://XXXX:7001/AIA/faces/aiaHomeLogin.jspx</a> to see if eveything is working, In PS3 even the setup page is working.</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_8.png"><img class="alignnone size-medium wp-image-2119" title="aia_ps3_8" src="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_8-300x90.png" alt="" width="300" height="90" /></a></p>
<p>The last step is to configure JDeveloper 11g PS3, Go to the JDeveloper update screen and select the AIA Service Constructor.</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_9.png"><img class="alignnone size-medium wp-image-2120" title="aia_ps3_9" src="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_9-300x225.png" alt="" width="300" height="225" /></a></p>
<p>And add the aia.jar to the SOA part of the JDeveloper preferences window, located in jdeveloper/lib folder.</p>
<p><a href="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_10.png"><img class="alignnone size-medium wp-image-2121" title="aia_ps3_10" src="http://blog.whitehorses.nl/wp-content/uploads/2011/02/aia_ps3_10-300x237.png" alt="" width="300" height="237" /></a></p>
<p>That&#8217;s all</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.whitehorses.nl/2011/02/19/installing-aia-on-soa-suite-11g-r1-ps3-developer-release/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Oracle APEX 4.0 Cookbook</title>
		<link>http://blog.whitehorses.nl/2011/01/26/oracle-apex-4-0-cookbook/</link>
		<comments>http://blog.whitehorses.nl/2011/01/26/oracle-apex-4-0-cookbook/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 20:34:26 +0000</pubDate>
		<dc:creator>Michel van Zoest</dc:creator>
				<category><![CDATA[Oracle tools]]></category>
		<category><![CDATA[9781849681346]]></category>
		<category><![CDATA[Apex]]></category>
		<category><![CDATA[APEX 4.0]]></category>
		<category><![CDATA[Application Express]]></category>
		<category><![CDATA[Cookbook]]></category>
		<category><![CDATA[Packt]]></category>

		<guid isPermaLink="false">http://blog.whitehorses.nl/?p=2095</guid>
		<description><![CDATA[On December 15th my first book has been published. The title is &#8220;Oracle APEX 4.0 Cookbook&#8221; and it has been published by Packt Publishing. The book is a collection of more than 80 recipes, that show many different possibilities of the fourth version of Oracle Application Express. I have written it together with Marcel van [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>On December 15th my first book has been published. The title is &#8220;Oracle APEX 4.0 Cookbook&#8221; and it has been published by Packt Publishing.<br />
The book is a collection of more than 80 recipes, that show many different possibilities of the fourth version of Oracle Application Express. I have written it together with Marcel van der Plas. It has been a big challenge in a very short time, but I&#8217;m very proud of the result.</p>
<div id="attachment_2096" class="wp-caption alignnone" style="width: 243px">
	<a href="http://blog.whitehorses.nl/wp-content/uploads/2011/01/1346EN_Oracle_APEX_4.jpg"><img src="http://blog.whitehorses.nl/wp-content/uploads/2011/01/1346EN_Oracle_APEX_4-243x300.jpg" alt="Oracle APEX 4.0 Cookbook" title="Oracle APEX 4.0 Cookbook Cover" width="243" height="300" class="size-medium wp-image-2096" /></a>
	<p class="wp-caption-text">Oracle APEX 4.0 Cookbook - 9781849681346</p>
</div>
<p>The recipes in the book range from simple examples for developers that are just new to APEX, to explanations of advanced features. Some of the topics covered are Themes and Templates, Application Translation, Websheets, Team Development, APEX Listener and the use of Webservices.</p>
<p>All recipes are written with the best practices for Application Express development in mind as we use them in daily practice at Whitehorses. But also the other way around; things I discovered while working on this book are now being used for Whitehorses projects.</p>
<p>More information on the book and how it can be purchased can be found on <a href="http://link.packtpub.com/BfQZQV">this page</a> at Packt Publishing.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.whitehorses.nl/2011/01/26/oracle-apex-4-0-cookbook/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

