<?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>Welcome to Oracle</title>
	<atom:link href="http://www.exploreoracle.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.exploreoracle.com</link>
	<description>Reference to Oracle Technologies</description>
	<lastBuildDate>Mon, 21 May 2012 07:06:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Create Oracle lite Database (odb) using olite Mobile Development Kit</title>
		<link>http://www.exploreoracle.com/2011/02/11/create-oracle-lite-database-odb-using-olite-mobile-development-kit/</link>
		<comments>http://www.exploreoracle.com/2011/02/11/create-oracle-lite-database-odb-using-olite-mobile-development-kit/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 11:53:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle Database]]></category>

		<guid isPermaLink="false">http://www.exploreoracle.com/?p=521</guid>
		<description><![CDATA[Oracle Database Lite (olite) is small-scale database for small devices. Oracle Lite can be used in following two design patterns, You can configure olite database to Mobile client and use automatic synchronization feature of olite server to replicate data between mobile device and oracle database server. You can use an independent olite database with you [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #000000;">Oracle Database Lite (olite) is small-scale database for small devices. Oracle Lite can be used in following two design patterns,</span></p>
<ol>
<li> <span style="color: #000000;">You can configure olite database to Mobile client and use automatic synchronization feature of olite server to replicate data between mobile device and oracle database server.</span></li>
<li><span style="color: #000000;"><strong> </strong>You can use an independent olite database with you mobile application.</span></li>
</ol>
<p><span style="color: #000000;">Whatever way is used, the data in the mobile is stored in small mobile database files with ODB and OBS extension. ODB file contains data while indexes are stored in OBS file. In olite version 10.2.0.1.0, all objects are stored in ODB file.<span id="more-521"></span></span></p>
<p><span style="color: #000000;">If you use synchronization method using mobile client and mobile server, olite database is automatically created on mobile device. But if you are using an independent olite database, use following method to create olite database (this guide is for windows but can be used for linux as well).</span></p>
<p><span style="color: #000000;">First install Oracle lite Mobile Development Kit. Oracle lite Mobile Development Kit is part of installer package for oracle Database lite. Olite Mobile Development kit include all tools to create and mange file-based lite databases. To connect a file-based olite database, a DSN (data source name) is required. By default Mobile Development Kit includes a lite database and DSN, both are named as POLITE.  You can use default DSN to create your database.To create your own database, enter following command at command prompt.</span></p>
<p><strong><span style="color: #800080;">Createdb polite MyDb manager</span></strong></p>
<p><span style="color: #000000;"><strong>CrateDB: </strong></span><span style="color: #800080;"><span style="color: #000000;">Mobile SQl Command to Create a database</span><br />
</span></p>
<p><span style="color: #800080;"><span style="color: #333300;"><strong>polite:</strong> <span style="color: #000000;">Name of the DSN</span></span></span></p>
<p><span style="color: #800080;"><span style="color: #333300;"><strong>MyDb:</strong> <span style="color: #000000;">Name of the File-based olite database</span></span></span></p>
<p><span style="color: #800080;"><span style="color: #333300;"><strong>manager:</strong> <span style="color: #000000;">Password of the system user.</span></span></span></p>
<p><span style="color: #800080;"><span style="color: #333300;"> </span></span></p>
<div class="wp-caption alignnone" style="width: 687px"><img class=" " title="Create Oracle Lite Database (odb)" src="/images/olite_a.png" alt="Create Oracle Lite Database (odb)" width="677" height="281" /><p class="wp-caption-text">Create Oracle Lite Database (odb)</p></div>
<p><span style="color: #800080;"><span style="color: #333300;"> </span></span></p>
<p><span style="color: #000000;">Databases created using default DSN are stored at &lt;ORACLE_HOME&gt;\Mobile\SDK\BIN\OLDB40</span></p>
<p><span style="color: #000000;">Since we used the default DSN to create database, we need to make the default POLITE DSN to point towards our new database.  Locate file named as &#8220;ODBC.INI&#8221; at  &lt;ORACLE_HOME&gt;\Mobile\SDK\BIN </span>for oracle lite database 10.3.0.3.0<span style="color: #000000;">. For </span>oracle lite database 10.2.0.1.0 version, &#8220;ODBC.INI&#8221; can be located at C:\Windows directory.<span style="color: #000000;"> Replace database name with MyDB as shown below in blod Face,</span></p>
<p>[POLITE]<br />
Driver32=D:\oracle\olite_dev_kit\Mobile\Sdk\BIN\olod2040.dll<br />
Description=Oracle Lite 40 Data Source<br />
DataDirectory=D:\oracle\olite_dev_kit\Mobile\Sdk\oldb40<br />
<strong>Database=MyDB</strong><br />
IsolationLevel=Read Committed<br />
Autocommit=Off<br />
CursorType=Static</p>
<p>Now you can connect to you database with polite DSN which now points to MyDb database using following Mobile SQL command</p>
<p><strong><span style="color: #800080;">msql system/manager@polite:polite</span></strong></p>
<p><strong><span style="color: #800080;"><span style="color: #000000;">msql: </span></span></strong><span style="color: #800080;"><span style="color: #000000;">Mobile SQl command to connect to file-based oracle lite database</span></span></p>
<p><span style="color: #800080;"><span style="color: #000000;"><strong>system</strong>: Default user name</span></span></p>
<p><span style="color: #800080;"><span style="color: #000000;"><strong>manager</strong>: Password of the system user</span></span></p>
<p><span style="color: #800080;"><span style="color: #000000;"><strong>Polite</strong>: JDBC driver</span></span></p>
<p><span style="color: #800080;"><span style="color: #000000;"><strong>Polite</strong>: DSN<br />
</span></span></p>
<p><span style="color: #800080;"><span style="color: #000000;">Now you can create schema in you database as shown in figure below</span></span></p>
<p><span style="color: #800080;"><span style="color: #000000;"> </span></span></p>
<div class="wp-caption alignnone" style="width: 666px"><img title="Connect to Oracle Lite Database" src="/images/olite_b.png" alt="Connect to Oracle Lite Database" width="656" height="630" /><p class="wp-caption-text">Connect to Oracle Lite Database</p></div>
<p><span style="color: #800080;"><span style="color: #000000;"> </span></span></p>
<p><span style="color: #800080;"><span style="color: #000000;">In above example we used default DSN to create database. If you want to use your own DSN, You first need to register you DSN in ODBC.INI file. For example, add foll0wing command to create a DSN named MyDSN</span></span></p>
<p>[MyDSN]<br />
Driver32=D:\oracle\olite_dev_kit\Mobile\Sdk\BIN\olod2040.dll<br />
Description=nohitng<br />
DataDirectory=D:\oraclework\olite<br />
Database=MyDb<br />
IsolationLevel=Read Committed<br />
Autocommit=Off<br />
CursorType=Static</p>
<p><span style="color: #800080;"><span style="color: #000000;">You can also change the location where the new database will be stored be changing the value of <strong>DataDirectory</strong> Parameter. Now you can use follwing commands to create new database with your DSN</span></span></p>
<p><strong><span style="color: #800080;">Createdb MyDSN MyDb manager</span></strong></p>
<p><span style="color: #000000;">And use following command to connect to it</span></p>
<p><strong><span style="color: #800080;">msql system/manager@polite:MyDSN</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.exploreoracle.com/2011/02/11/create-oracle-lite-database-odb-using-olite-mobile-development-kit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FireFox, IE crash with Forms 10g, Replace Jinitiator with JRE</title>
		<link>http://www.exploreoracle.com/2011/01/06/firefox-ie-crash-with-forms-10g-replace-jinitiator-with-jre/</link>
		<comments>http://www.exploreoracle.com/2011/01/06/firefox-ie-crash-with-forms-10g-replace-jinitiator-with-jre/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 17:55:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle Forms & Reports 10g]]></category>

		<guid isPermaLink="false">http://exploreoracle.com/?p=496</guid>
		<description><![CDATA[Oracle Jinitiator is no longer compatible with oracle forms services. By default, Oracle Forms services 10g uses Jinitiator 1.3.1.22 to run Forms applications. Jinitiator was compatible with Internet Explorer 6 and Firefox version 2.0. But latest internet explorer like IE 8 and 9 crash with Jinitiator. Similar behavior is seen with Firfox version 3.0 and [...]]]></description>
			<content:encoded><![CDATA[<p>Oracle Jinitiator is no longer compatible with oracle forms services. By default, Oracle Forms services 10g uses Jinitiator 1.3.1.22 to run Forms applications. Jinitiator was compatible with Internet Explorer 6 and Firefox version 2.0. <span id="more-496"></span>But latest internet explorer like IE 8 and 9 crash with Jinitiator. Similar behavior is seen with Firfox version 3.0 and later.</p>
<p>To resolve this problem, you must configure JRE to work with forms services 10g. It is really easy and requires only very little work. Forms services 10g are by default configured to run with JRE 1.4.2_06. To get this working, locate following lines in your FORMSWEB.CFG file,</p>
<p># System parameter: default base HTML file<br />
baseHTML=base.htm<br />
# System parameter: base HTML file for use with JInitiator client<br />
baseHTMLjinitiator=basejini.htm<br />
# System parameter: base HTML file for use with Sun&#8217;s Java Plug-In<br />
baseHTMLjpi=basejpi.htm</p>
<p>Make changes as shown in bold face below.</p>
<p># System parameter: default base HTML file<br />
<strong>baseHTML=basejpi.htm</strong><br />
# System parameter: base HTML file for use with JInitiator client<br />
<strong>baseHTMLjinitiator=basejpi.htm</strong><br />
# System parameter: base HTML file for use with Sun&#8217;s Java Plug-In<br />
baseHTMLjpi=basejpi.htm</p>
<p>Make sue that following parmaments in FORMSWEB.CFG are as mentioned below.</p>
<p>jpi_download_page=http://java.sun.com/products/archive/j2se/1.4.2_06/index.html<br />
jpi_classid=clsid:CAFEEFAC-0014-0002-0006-ABCDEFFEDCBA<br />
jpi_codebase=http://java.sun.com/products/plugin/autodl/jinstall-1_4_2-windows-i586.cab#Version=1,4,2,06<br />
jpi_mimetype=application/x-java-applet;jpi-version=1.4.2_06</p>
<p>Now install J2RE version 1.4.2_06  from following URL,</p>
<p><a href="http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase14-419411.html#j2re-1.4.2_06-oth-JPR" target="_blank">http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase14-419411.html#j2re-1.4.2_06-oth-JPR</a></p>
<p>&nbsp;</p>
<p>OR</p>
<p>you can also omit version no from following line,</p>
<p>jpi_mimetype=application/x-java-applet;jpi-version=1.4.2_06</p>
<p>after ommiting version, above line will look like following</p>
<p>jpi_mimetype=application/x-java-applet</p>
<p>Now you can use any latest JRE version. (<cite>Thanks to <strong>S Shamji </strong> and <cite><strong>JoeAStudent</strong> for thier comments related to version change </cite></cite>)</p>
<p>Remove Jinitiator from you computer and restart OC4J instance. Now your Forms application 10g will use Sun&#8217;s Java plug-in instead of Jinitiator.</p>
<p><strong>Update:</strong></p>
<p>Looks like Firefox 12 does not work by omitting version no from formsweb.cfg. Instead you need to provide correct installed version.</p>
<p>For example, If you have jre 1.6.x installed in your system then edit following line as under.</p>
<p>jpi_mimetype=application/x-java-applet;<strong>jpi-version=1.6</strong></p>
<p>The above line covers JRE 6 with all update levels.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exploreoracle.com/2011/01/06/firefox-ie-crash-with-forms-10g-replace-jinitiator-with-jre/feed/</wfw:commentRss>
		<slash:comments>45</slash:comments>
		</item>
		<item>
		<title>Sequence number for Primary key in oracle ADF, JDeveloper</title>
		<link>http://www.exploreoracle.com/2010/10/11/sequence-number-for-primary-key-in-oracle-adf-jdeveloper/</link>
		<comments>http://www.exploreoracle.com/2010/10/11/sequence-number-for-primary-key-in-oracle-adf-jdeveloper/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 11:24:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ADF & JDeveloper]]></category>
		<category><![CDATA[Fusion MiddleWare 11g]]></category>

		<guid isPermaLink="false">http://exploreoracle.com/?p=452</guid>
		<description><![CDATA[If you have created an Entity object with a primary key field.  The question is, how you will generate maximum serial no for primary key filed and where the logic will be placed?  There are two methods to do this, using row level database trigger or using application level logic to obtain sequence  no for [...]]]></description>
			<content:encoded><![CDATA[<p>If you have created an Entity object with a primary key field.  The question is, how you will generate maximum serial no for primary key filed and where the logic will be placed?  There are two methods to do this, using row level database trigger or using application level logic to obtain sequence  no for primary key.<span id="more-452"></span></p>
<p>Suppose you have created an Entity object for Employees table in HR schema. You have also created the view object and added this view object to default application module. Employees table has a primary key on Employee_Id field.</p>
<p>First part explains database trigger method and second part explains it with application level logic in JDeveloper.</p>
<p>1- Create a database trigger on Employee table as under.</p>
<p><code><span style="color: #800080;"><em>CREATE OR REPLACE TRIGGER employees_generate_pk<br />
BEFORE INSERT<br />
ON employees<br />
FOR EACH ROW<br />
BEGIN<br />
SELECT employees_seq.nextval<br />
INTO :new.employee_id<br />
FROM dual;<br />
END;</em></span><br />
This code assumes that you have already created a sequence named “employees_seq” to generate next value for primary key.</code></p>
<p>2- Edit Employee Entity object and change data type of employee_id to “DBSequence” as shown in figure below.</p>
<p><img class="alignnone" title="Edit attribute page of Entitiy Object" src="/images/adf_pk1.PNG" alt="" width="680" height="445" /></p>
<p>DBSequence is a special domain. When you insert a new record, ADF creates a negative number for field. When you perform commit, database trigger generates value for that column which is then re-queried by ADF and shown to users.</p>
<h3>Application Level Logic to generate Sequence no for Primary key in JDeveloper</h3>
<p><strong>1- First Method</strong></p>
<p>Do following steps to achieve this</p>
<ol>
<ol>
<li>Data type of employee_id field should by Number, uncheck Mandatory check box  on edit attribute page of Entity object.</li>
<li>Create a new view object name “Seq_Employee” bases on  “Read-only access through query”  using following query</li>
</ol>
</ol>
<p><span style="color: #800080;"><strong><code>select nvl(max(employee_id)+1,1) seq_nofrom hr.employees </code></strong></span></p>
<ol>
<li>Add a view accessor on Employee Entity object using its “View Accessor” page. And add “Seq_Employee” view object as shown in figure below.</li>
</ol>
<p><img class="alignnone" title="Add view Accessor " src="/images/adf_pk2.PNG" alt="" width="450" height="400" /></p>
<p>4-Now generate Entity object class for employee entity object as shown in figure below figure</p>
<p><img class="alignnone" title="Generate Entity Object Class" src="/images/adf_pk3.PNG" alt="" width="450" height="400" /></p>
<p>5-Generate view row class for “Seq_Employee” view object. While creating view object class, do not forget to click on “Include accessors” check box. By default, JDeveloper will name this class as “Seq_EmployeeRowImpl” .</p>
<p>6- Open EmployeesImpl entiry object class wich you created in setp 4, and edit it doDML() method. After editing method should look like under.</p>
<p><span style="color: #800080;"><em><code>protected void doDML(int operation, TransactionEvent e) {<br />
if (operation==DML_INSERT){<br />
RowSet seqForThisEmp = (RowSet) getSeq_Employee();<br />
Seq_EmployeeRowImpl nextSeqNoRow =(Seq_EmployeeRowImpl) seqForThisEmp.next();<br />
Number next_seq = nextSeqNoRow.getSeqNo();<br />
this.setEmployeeId(next_seq);<br />
}<br />
super.doDML(operation, e);<br />
}</code></em></span></p>
<p>This method fires just before ADF performs insertion. This method progamatically accesses view accessor to get next sequence no for employee_id and sets the this value for current row.</p>
<p><strong>2- Second Method</strong></p>
<p>Your can also directly use your database sequence in doDML as under<br />
<span style="color: #800080;"><em><code><br />
if(operation==DML_INSERT)<br />
<em><code>this.setEmployeeId</code></em>(new DBSequence((new SequenceImpl("<code><em>employees_seq</em></code>",getDBTransaction()).getSequenceNumber()).longValue()));</code></em></span></p>
<p>Above code assumes that data type of  EmployeeID is DBSequence. If it is Number, remove cast operation as under<br />
<span style="color: #800080;"><em><code><br />
if(operation==DML_INSERT)<br />
this.setEmployeeId</code></em>((new SequenceImpl(&#8220;<code><em>employees_seq</em></code>&#8220;,getDBTransaction()).getSequenceNumber()));</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.exploreoracle.com/2010/10/11/sequence-number-for-primary-key-in-oracle-adf-jdeveloper/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Using transient Attribute with “Derived from SQL Expression” in JDeveloper 11g</title>
		<link>http://www.exploreoracle.com/2010/09/07/using-transient-attribute-with-derived-from-sql-expression-in-jdeveloper-11g/</link>
		<comments>http://www.exploreoracle.com/2010/09/07/using-transient-attribute-with-derived-from-sql-expression-in-jdeveloper-11g/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 06:45:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ADF & JDeveloper]]></category>
		<category><![CDATA[Fusion MiddleWare 11g]]></category>

		<guid isPermaLink="false">http://exploreoracle.com/?p=442</guid>
		<description><![CDATA[Transient attribute can be used to calculate a value based on SQL expression. This may be very helpful, for example, you can use a transient attribute in &#8220;SCOTT.EMP&#8221; Entity object definition to get name of the department for all employees.To implement this, do following steps. 1-      Create an Entity object definition for Table &#8220;SCOTT.EMP&#8221;. 2-      [...]]]></description>
			<content:encoded><![CDATA[<p>Transient attribute can be used to calculate a value based on SQL expression. This may be very helpful, for example, you can use a transient attribute in &#8220;SCOTT.EMP&#8221; Entity object definition to get name of the department for all employees.<span id="more-442"></span>To implement this, do following steps.</p>
<p>1-      Create an Entity object definition for Table &#8220;SCOTT.EMP&#8221;.</p>
<p>2-      Now open EMP Entity Object definition in the editor and click its Attribute tab.</p>
<p>3-      Add an attribute by clicking on green plus sign.</p>
<p>4-      Set name as &#8220;Dname&#8221;, deselect Persistent check box, select &#8220;Derived from SQL Expression&#8221; and enter following query in Expression box, as shown in figure below.</p>
<p><strong><em>(Select Dname from dept where deptno=Emp.Deptno)</em></strong></p>
<p><strong><em><br />
</em></strong></p>
<p><img class="alignnone" title="Transient Attribute" src="/images/transient_a.PNG" alt="" width="640" height="445" /></p>
<p>Do not forget to put parenthesis around SQL query. Otherwise you will get following exception at run-time while trying to update,</p>
<p><strong>(oracle.jbo.DMLException) JBO-26080: Error while selecting entity for Emp.<br />
</strong></p>
<p>5-      Now create a default View Object for EMP Entity object and add it to an Application Module. Run Application module and double click View object. Department name will be visible as shown in figure below.</p>
<p><img class="alignnone" title="View Instance with Transient Attribute." src="/images/transient_b.PNG" alt="" width="640" height="480" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.exploreoracle.com/2010/09/07/using-transient-attribute-with-derived-from-sql-expression-in-jdeveloper-11g/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Application Development Framework (ADF) and Oracle Forms Developers</title>
		<link>http://www.exploreoracle.com/2010/08/24/oracle-application-development-framework-adf-and-oracle-forms-developers/</link>
		<comments>http://www.exploreoracle.com/2010/08/24/oracle-application-development-framework-adf-and-oracle-forms-developers/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 06:35:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ADF & JDeveloper]]></category>
		<category><![CDATA[Fusion MiddleWare 11g]]></category>
		<category><![CDATA[Performance & Tuning]]></category>

		<guid isPermaLink="false">http://exploreoracle.com/?p=421</guid>
		<description><![CDATA[I want to share my first impression of ADF and I am sure everyone with Oracle Forms background will feel same. I have been working in oracle Forms and Reports for more than five years.  I have development experience in Oracle Developer 6i/9i/10g and Forms, Reports 11g. After reading Oracle&#8217;s Statement of Direction for Forms [...]]]></description>
			<content:encoded><![CDATA[<p>I want to share my first impression of ADF and I am sure everyone with  Oracle Forms background will feel same. I have been working in oracle Forms and Reports for more than five years.  I have development experience in Oracle Developer 6i/9i/10g and Forms, Reports 11g. After reading Oracle&#8217;s Statement of Direction for Forms and reports, I decided to learn ADF for web-based application development. <span id="more-421"></span>I started ADF with basic knowledge of Java, CSS, HTML and JavaScript. I also had a little experience with PHP.</p>
<p>I studied ADF with oracle JDeveloper 11g. Remember there is significant difference between JDeveloper 11g and its previous releases. I started with online learning material from Oracle website along with a book titled &#8220;Oracle JDeveloper 11g Handbook, A Guide to Oracle Fusion Web Development&#8221;. This book is well arranged and guides through complete process of building a ADF web application.</p>
<p>ADF is a Framework provided by Oracle to develop applications based on JEE standard. You do not need to worry how you maintain JEE standard, as applications built using ADF automatically imply this standard.  When you develop an ADF web application in JDeveloper, application is divided into four layers,</p>
<p>1.       Business Service Layer</p>
<p>2.       Model Layer</p>
<p>3.       View Layer</p>
<p>4.       Controller Layer</p>
<p><strong>1- </strong><strong>Business Service Layer</strong></p>
<p><strong> </strong></p>
<p>Business services layer defines database objects like table in XML document. Java classes use these XML definitions to create runtime objects which correspond to database tables and other objects. You can ask Framework to create these classes at design time. These classes can then be used to incorporate business rules.  No code is required to create Business Service Layer in the form of XML documents, everything is Wizard based.</p>
<p>You can add validation rules in Business Service layer.  All this can be done declaratively.  You can also provide UI hints in this layer, for example, you can defines Labels for UI fields.</p>
<p><strong>2- </strong><strong>Model Layer</strong></p>
<p>Business Service Layer provides different types of services. If you want to call these services directly, you would need different API for different services.  Model layer provides Data Controls that provide a mechanism to call all these services in a consistent way. So Business services are accessed in UI through Model layer. This can be done simply by a dragging a Data Control to UI page.</p>
<p><strong>3- </strong><strong>View Layer</strong></p>
<p>View layer of ADF is the user interface. User Interface in ADF is developed in JavaServer Faces (JSF).  ADF has provided a comprehensive library of ADF Faces components. This library contains extremely rich UI controls.  ADF Faces provide much much more than what Oracle Form Builder provide to develop user interface.  ADF Faces also provides a set of components in Data Visualization Tools tag library. These components include Graph, Gauges, Maps and much more to develop a rich user interface.</p>
<p>Most important feature of these controls is use of Ajax technology.  This allows submitting a fragment of the UI to server, while user can interact with other page components. This provides a user interface similar to desktop applications with plain HTML.</p>
<p>Business rules like validation can also be written in this layer.</p>
<p><strong>4- </strong><strong>Controller Layer</strong></p>
<p>In typical web application, when user clicks navigation button, logic is hard coded behind click event to navigate to required page.  In ADF when a user clicks a button or link to navigate to another page, calling page raises a navigation event like &#8220;<strong>gohome</strong>&#8220;. Now it is responsibility of Controller Layer to determine that which page will be called. Hence all navigation logic is defined declaratively in Controller layer. In future, if there is requirement to change page navigation, this can be done in Controller layer without disturbing view layer.</p>
<p>The style of development in ADF is rapid. Pages can be developed on the fly like oracle Forms builder.  Application built in ADF is more powerful, more reusable, more rich and reliable than application developed in Forms Builder. But no doubt ADF is much more complex than Forms Builder and architecture is totally different. In Forms Builder we have only view layer and data is directory access from Database unlike ADF where Business Service layer and Model layer perform this task. With ADF, Much more effort is required to achieve same level of expertise you have using Forms Builder.</p>
<p>If we talk about Reports development, then ADF and JDeveloper do not do much in this area.  Read-only JSF output serves as basic reporting requirement.  But for Advance reporting you have to rely on some other tools like Oracle BI Publisher (As mentioned in &#8220;Oracle JDeveloper 11g Handbook, A Guide to Oracle Fusion Web Development&#8221; book).</p>
<p>At the moment it is not clear that what will be the future of ADF and JDeveloper. At the moment ADF is not more popular than oracle Forms Builder.  Also as an IDE, JDeveloper is not as much popular among core JEE developer as NetBeans and Eclipse are. Oracle Fusion Applications (Oracle Next Release for Packaged application) is said to be developed using ADF and JDeveloper. Oracle Fusion Applications are expected to release soon. Things may change after that release.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exploreoracle.com/2010/08/24/oracle-application-development-framework-adf-and-oracle-forms-developers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Minimizing Forms 11g Application’s First Time Startup overhead</title>
		<link>http://www.exploreoracle.com/2010/07/02/minimizing-forms-11g-application%e2%80%99s-first-time-startup-overhead/</link>
		<comments>http://www.exploreoracle.com/2010/07/02/minimizing-forms-11g-application%e2%80%99s-first-time-startup-overhead/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 09:43:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Forms 11g]]></category>
		<category><![CDATA[Fusion MiddleWare 11g]]></category>

		<guid isPermaLink="false">http://exploreoracle.com/?p=405</guid>
		<description><![CDATA[When  client accesses Forms application for the first time, java run-time classes bundled in JAR files are downloaded to client JRE cache.  These files include frmall.jar, frmwebutil.jar and jacob.jar. Cumulative size of these files is more than 2mb. If your application has some additional JAR files for example, JAR file containing icons, more time will [...]]]></description>
			<content:encoded><![CDATA[<p>When  client accesses Forms application for the first time, java run-time classes bundled in JAR files are downloaded to client JRE cache.  These files include <strong>frmall.jar</strong>, <strong>frmwebutil.jar</strong> and<strong> jacob.jar</strong>. Cumulative size of these files is more than <strong>2mb</strong>. <span id="more-405"></span>If your application has some additional JAR files for example, JAR file containing icons, more time will be required to download these additional files. On a slow connection, it creates a significant difference. Remember these files are downloaded only once when the application is accessed for the first time.  JRE caches these files. when application is accessed next time, JRE reuses these files if no changes are made to these files on server. If JRE detects new version of JAR files on server, files are downloaded again.</p>
<p>We can reduce this download time by keeping a copy of these files on client side prior to accessing the application. If we place these file on the default CLASSPATH of JRE , JRE use these files form client side instead of downloading it from server. Suppose JRE is  installed  in C: drive, you can place these files in following directory,</p>
<p><strong>C:\Program Files\Java\jre6\lib\</strong><strong>ext</strong></p>
<p>Now when you access Forms 11g application, JRE loads all required JAR files from  <strong>\ext</strong> directory.  This saves significant time on a slow connection.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exploreoracle.com/2010/07/02/minimizing-forms-11g-application%e2%80%99s-first-time-startup-overhead/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Key Mapping in Oracle Forms 10g and Forms 11g</title>
		<link>http://www.exploreoracle.com/2010/06/10/key-mapping-in-oracle-forms-10g-and-forms-11g/</link>
		<comments>http://www.exploreoracle.com/2010/06/10/key-mapping-in-oracle-forms-10g-and-forms-11g/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 09:00:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Forms 11g]]></category>
		<category><![CDATA[Fusion MiddleWare 11g]]></category>
		<category><![CDATA[Oracle Forms & Reports 10g]]></category>

		<guid isPermaLink="false">http://exploreoracle.com/?p=361</guid>
		<description><![CDATA[Key mapping or key binding defines how an application should respond when mapped key is typed. Usually application executes some function in repose. For example in Forms 6i, when user types F9, List of value is displayed to the user. It means that key F9 is mapped to function &#8220;List of Values&#8221;. In oracle Forms [...]]]></description>
			<content:encoded><![CDATA[<p>Key mapping or key binding defines how an application should respond when mapped key is typed. Usually application executes some function in repose. For example in Forms 6i, when user types F9, List of value is displayed to the user. It means that key F9 is mapped to function &#8220;List of Values&#8221;.<span id="more-361"></span></p>
<p>In oracle Forms this key mapping is defined in <strong>fmrweb.res</strong> file. Oracle provided a tool named &#8220;Oracle Terminal&#8221; in Forms 6i to customize key mapping. In Forms 10g and Forms 11g this file is directly editable.  In Forms 11g this file can be located at following location</p>
<p><em><strong>$Instance_home\config\FormsComponent\forms</strong></em></p>
<p>In Forms 10, frmweb.res can be located in <strong>\forms</strong> directory</p>
<p>As you know, in Forms 10g and 11g &#8220;List of values&#8221; is mapped to &#8220;Ctrl+L&#8221; key. Following section explains how to change &#8220;List of values&#8221; to F9 key. Let have a look at the following line in frmweb.res file which maps &#8220;List of values&#8221;  to &#8220;Ctrl+L&#8221; key</p>
<p><strong>76   : 2 : &#8220;Ctrl+L&#8221;         : 29 : &#8220;List of Values&#8221;</strong></p>
<p>it very important to understand the syntax.</p>
<p style="padding-left: 30px;"><strong>76: </strong> is the key code of  &#8220;L&#8221; character</p>
<p style="padding-left: 30px;"><strong>2:</strong> means that it will be accessed with &#8220;Ctrl&#8221; key, 1 is used for &#8220;Shift&#8221; key and  0 is used to access it stand alone</p>
<p style="padding-left: 30px;"><strong>Ctrl+L: </strong> it is the key used to access</p>
<p style="padding-left: 30px;"><strong>List of values:</strong> it is function called when the &#8220;Ctrl+L&#8221; is type</p>
<p>To re-map List of values from &#8220;Ctrl+L&#8221; to F9 key, we need key code of F9 key which is 120. A complete list of key codes can be view at following link</p>
<p><a href="http://www.adobe.com/livedocs/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&amp;file=00001136.html" target="_blank">Keyboard keys and Key Values</a></p>
<p>Now edit key mapping for  List of values as under</p>
<p><strong>120  : 0 : &#8220;F9&#8243;             : 29 : &#8220;List of Values&#8221;</strong></p>
<p>To test it, restart your forms application. Now List of values is available with F9 key. similarly if you want to use &#8220;Shift+F&#8221;  for List of values, use following mapping</p>
<p><strong>120  : 1 : &#8220;Shift+F9&#8243;             : 29 : &#8220;List of Values&#8221;</strong></p>
<p>and use following mapping to access List of values with &#8220;Ctrl+F9&#8243;</p>
<p><strong>120  : 2 : &#8220;Ctrl+F9&#8243;             : 29 : &#8220;List of Values&#8221;</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.exploreoracle.com/2010/06/10/key-mapping-in-oracle-forms-10g-and-forms-11g/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Hide username and password while calling oracle Reports</title>
		<link>http://www.exploreoracle.com/2010/06/09/hide-username-and-password-while-calling-oracle-reports/</link>
		<comments>http://www.exploreoracle.com/2010/06/09/hide-username-and-password-while-calling-oracle-reports/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 11:54:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Fusion MiddleWare 11g]]></category>
		<category><![CDATA[Oracle Forms & Reports 10g]]></category>
		<category><![CDATA[Reports 11g]]></category>

		<guid isPermaLink="false">http://exploreoracle.com/?p=337</guid>
		<description><![CDATA[If you have not configured reports with Oracle Single Sign-on, Oracle report server explicitly requires username and password when report is called using Web.Show_document(). Username and password is required in report calling URL, for example following method calls a reports using Web.Show_Documnet(). Web.Show_Document('http://domainname.com:8090/reports/rwservlet?userid=username/password@db&#38; server=ReportsServer_1&#38;desformat=PDF&#38;destype=cache&#38;report=report.rdf&#38;paramform=yes','_blank'); In above call username and password are visible in URL, causing [...]]]></description>
			<content:encoded><![CDATA[<p>If you have not configured reports with Oracle Single Sign-on, Oracle report server explicitly requires username and password when report is called using Web.Show_document(). Username and password is required in report calling URL, for example following method calls a reports using Web.Show_Documnet().<span id="more-337"></span></p>
<p><em><code>Web.Show_Document('http://domainname.com:8090/reports/rwservlet?userid=username/password@db&amp; server=ReportsServer_1&amp;desformat=PDF&amp;destype=cache&amp;report=report.rdf&amp;paramform=yes','_blank');</code></em></p>
<p>In above call username and password are visible in URL, causing security problem. Oracle has provieded serveral methods to resolve this problem, one of these solution is to define keymapping in <strong>CGICMD.DAT</strong> file.  In Reports services 11g this file is located at following location</p>
<p><code><em>$DOMAIN_HOME/servers/WLS_REPORTS/stage/reports/reports/configuration/cgicmd.dat</em> </code></p>
<p>In Oracle Reports services 10g this file can be located in  <strong>reportsconf</strong> directory.</p>
<p>To define a key mapping, append follwing line at the end of  the file</p>
<p><em>userlogin:      userid=username/password@db  %*</em></p>
<p>Restart reports server/Managed server, now you can call your report using following URL</p>
<p><em><code>Web.Show_Document('http://domainname.com:8090/reports/rwservlet?userlogin&amp;server=ReportsServer_1&amp;desformat=PDF&amp;destype=cache&amp;report=report.rdf&amp;paramform=yes','_blank');</code></em></p>
<p>You can define key mapping for as many parameter as you need using following syntax,</p>
<p><em>userlogin:      userid=username/password@db server=ReportsServer_1 desformat=PDF destype=cache %*</em></p>
<p>If reports have been configured with SSO, simply pass  <strong>ssoconn=config</strong> parameter in reports calling URL, here <strong>config</strong> is the Resource Access Descriptor defined in OID. This parameter will automatically get login information from Oracle Internet Directory.</p>
<p><code>Reference: <a href="http://download.oracle.com/docs/cd/E12839_01/bi.1111/b32121/pbr_run013.htm" target="_blank">http://download.oracle.com/docs/cd/E12839_01/bi.1111/b32121/pbr_run013.htm</a><br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.exploreoracle.com/2010/06/09/hide-username-and-password-while-calling-oracle-reports/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Missing Plugins Error in Firefox with Oracle Forms Services 11g</title>
		<link>http://www.exploreoracle.com/2010/05/12/missing-plugins-error-in-firefox-with-oracle-forms-services-11g/</link>
		<comments>http://www.exploreoracle.com/2010/05/12/missing-plugins-error-in-firefox-with-oracle-forms-services-11g/#comments</comments>
		<pubDate>Wed, 12 May 2010 07:45:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Forms 11g]]></category>
		<category><![CDATA[Fusion MiddleWare 11g]]></category>

		<guid isPermaLink="false">http://exploreoracle.com/?p=330</guid>
		<description><![CDATA[At the time of installation Forms services 11g is configured to work with a specific version of  java run-time environment. You can find it in your FORMSWEB.CFG file. Following parameter in FORMSWEB.CFG file defines java plugin to be used, # Parameter related to the version of the Java Plugin jpi_mimetype=application/x-java-applet;jpi-version=1.6.0_12 Note that forms services is [...]]]></description>
			<content:encoded><![CDATA[<p>At the time of installation Forms services 11g is configured to work with a specific version of  java run-time environment. You can find it in your <strong>FORMSWEB.CFG</strong> file.<span id="more-330"></span> Following parameter in FORMSWEB.CFG file defines java plugin to be used,</p>
<p># Parameter related to the version of the Java Plugin<br />
<strong>jpi_mimetype=application/x-java-applet;jpi-version=1.6.0_12</strong></p>
<p>Note that forms services is configured with  JRE 1.6 update 12.</p>
<p>Each time Firefox  tries to load java applet, it looks for  java version 1.6.0_12. If your system has other version installed then you get following message,</p>
<p><strong>Additional Plugins are required to display all the media on this page</strong></p>
<p>To resolve this problem either install JRE 1.6 update 12 or edit you FORMSWEB.CFG to omit the java plugin as under</p>
<p># Parameter related to the version of the Java Plugin<br />
<strong>jpi_mimetype=application/x-java-applet</strong></p>
<p>Now as FORMSWEB.CFG do not include any specific version java, Firefox will load java applet with any available java plugin.</p>
<p>Note that, there is no such issue with Internet Explorer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exploreoracle.com/2010/05/12/missing-plugins-error-in-firefox-with-oracle-forms-services-11g/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Portal, Discoverer, Reports and Forms 11g installation Concepts</title>
		<link>http://www.exploreoracle.com/2010/04/23/oracle-portal-discoverer-reports-and-forms-11g-installation-concepts/</link>
		<comments>http://www.exploreoracle.com/2010/04/23/oracle-portal-discoverer-reports-and-forms-11g-installation-concepts/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 14:00:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Forms 11g]]></category>
		<category><![CDATA[Fusion MiddleWare 11g]]></category>
		<category><![CDATA[Installation Guide]]></category>

		<guid isPermaLink="false">http://exploreoracle.com/?p=310</guid>
		<description><![CDATA[If you are planning to install oracle Forms, Reports, Portal and Discoverer 11g, few core components including Oracle Internet Directory (OID), Oracle Single Sign-On (OSSO) with  Delegated Administration services  and Oracle Weblogic server must be installed and configured before running installer for oracle Forms, Reports, Portal and Discoverer 11g. You can skip these except Weblogic [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="text-align: justify;">If you are planning to install oracle Forms, Reports, Portal and Discoverer 11g, few core components including Oracle Internet Directory (OID), Oracle Single Sign-On (OSSO) <span id="more-310"></span>with  Delegated Administration services  and Oracle Weblogic server must be installed and configured before running installer for <span> </span>oracle Forms, Reports, Portal and Discoverer 11g. You can skip these except Weblogic server if you have decided to install only Forms and Reports and you do not require Sign Sign-on in Reports and Forms.</p>
<p class="MsoNormal" style="text-align: justify;">In case of OID, you can install either Oracle Internet Directory 11g or Oracle Internet Directory 10g (10.1.4.3.0). Until now, Oracle Fusion Middleware has no Single sign-on, so you must install single Sign-on version 10g (10.1.4.0) with Delegated Administration services. <span> </span></p>
<p class="MsoNormal" style="text-align: justify;">If you want to use OID 11g you can install it with Oracle Database 11g (11.1.0.7.0) or Oracle Database 10g (10.2.0.4). For OID 10g you should use Oracle Database 10g (10.2.0.4). Although OID 10g(10.1.4.3.0) can be installed on 10.1.0.5 or higher version but Portal 11g and Discover 11g repositories support only Oracle Database 10g (10.2.0.4) or oracle Database 11g (11.1.0.7.0) or higher.</p>
<p class="MsoNormal" style="text-align: justify;">Weblogic server is required for Oracle Internet Directory 11g and for Forms, Reports, Portal and Discoverer 11g.</p>
<p class="MsoNormal" style="text-align: justify;"><strong>If you have decided to proceed with Oracle Internet Directory 11g, visit following links to view step by step installation guide,</strong></p>
<p class="MsoNormal"><a href="http://forums.oracle.com/forums/thread.jspa?threadID=946863">http://forums.oracle.com/forums/thread.jspa?threadID=946863</a></p>
<p class="MsoNormal">
<p class="MsoNormal"><a href="http://download.oracle.com/docs/cd/E15523_01/install.1111/e10421/toc.htm">http://download.oracle.com/docs/cd/E15523_01/install.1111/e10421/toc.htm</a></p>
<p class="MsoNormal"><a href="http://newappsdba.blogspot.com/2009/11/11g-fusion-middleware-install.html">http://newappsdba.blogspot.com/2009/11/11g-fusion-middleware-install.html</a></p>
<p class="MsoNormal"><strong>If you have decided to proceed with Oracle Internet Directory 10g, visit following link</strong></p>
<p class="MsoNormal"><a href="../2010/04/02/forms-reports-discoverer-portal-11g-installation-with-oid-10g-10143-and-sso-10143/">http://exploreoracle.com/2010/04/02/forms-reports-discoverer-portal-11g-installation-with-oid-10g-10143-and-sso-10143/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.exploreoracle.com/2010/04/23/oracle-portal-discoverer-reports-and-forms-11g-installation-concepts/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

