OA Framework page on web
Written by Anil Passi   
Wednesday, 07 February 2007
We all know that the login screen in Oracle Apps connects using APPLSYSPUB schema to validate the username. Ever wondered to which schema does web facing Oracle iRecruitment  registration screen connects to? If you think its the APPS schema, then your answer is correct. In this article I will explain how www facing webpage runs on OA Framework.
The reason for this article is that, in case you wish to build a web facing screen using OA Framework, then you may use this methodology.

How can www facing page ever connect to apps schema?
It does so using GUEST username and password.


Is the GUEST schema password password hardcoded?
Well firstly GUEST is not a schema. It a valid FND_USER record. The password is not hardcoded. The web facing screen reads the GUEST Password value from AppsContext environment  store. Effectively, the GUEST password is fetched from profile option "Guest User Password" [try doing select fnd_profile.value('GUEST_USER_PWD') from dual ]
Inside java you can do webappscontext.getEnvStore().getEnv("GUEST_USER_PWD")


Interesting, but how is the object WebAppsContext constructed in the first place for a request from internet?
This is where the secret is revealed. iRecruitment initial page is a jsp page which redirects itself to the OA Framework page.
Below sequence of events take place:-
1. Visitor logs onto jsp page [ in this case $OA_HTML/IrcVisitor.jsp ]
2. The servletsession object from jsp is passed to a java bean named IrcLoginManager. The purpose of this bean is to construct URL of Visitor home page. Main parameters passed to this bean from jsp are [a] DBC File Name   [b] HttpServletRequest & Response Objects  [b] Default responsibility details
3. The javabean builds a default WebAppsContext object using the HttpServletReuqest/Response object. In reality the default WebAppsContext is built using DBC File name.
4. The javabean builds a URL for the OA Framework page.
5. The user is redirected to OA Framework page, connected as GUEST user.


How does this javabean build the url?
To get the URL, Oracle uses following components:-
1. Function_Id
Of the "visitor OA Framework  homepage"
2. Responsibility ID
To which the above function is attached
3. Resp application Id
 Application of responsibility
4. Security group
0 for STANDARD  [default]


Isn't this thing hackable
I would say no, because all that it does is to Connect to GUEST UserName. GUEST username is attached to only those responsibilities that are web facing, for example "iRecruitment External Site Visitor".
You can hack this is by hacking into the server and changing/replacing the java class files themselves. But in that case it is your machine which is insecure , not Oracle iRecruitment. Oracle takes care of securing their application, hence clients must concentrate on securing their servers.


Comments (11)add
...
written by David Philips , February 08, 2007
Hi Anil,
Thanks for providing the information.
I would like to knwo how we can modify the self-service payslip ,customize the payslip
as per our needs.
Any link where i can a clear picture.

Regards
David
...
written by Tripti Goenka , July 06, 2007
Hi Anil,

Thanks for the valuable information. Can you guide me for few things we want to do with OFA?
Actually, We want to have same jsp page as existing for WF notification(/oracle/apps/fnd/wf/worklist/webui/AdminNotificationPG) but want it to linked to custom database. I guess we need to link our custom dbc file with this page and then upload it into server. IS that correct?

Apart from it, using functional Administrator responsibility we can only download RG.xml not the PG for which we need to use XMLexporter. But XMLExporter needs jdk 1.1.8 or jdk1.1.3, which is not available with EBSR12 (jdk1.5.0). Does this mean that i need to download this page from command promp in local PC.

Please guide how to go about this.

Your help would be highly appreciated.

Thanks
Tripti
...
written by Anil Passi , July 06, 2007
Hi Tripti

Indeed you can use dbc file, in a manner similar to how webfacing Applications like IRC work.

However another option is to use DB Link but DBA's will raise issues around security over DB Link.

For the XML files, please pick them from below directory
$FND_TOP/mds/wf/worklist/webui/AdminNotificationsPG.xml
$FND_TOP/mds/wf/worklist/webui/NotificationsPG.xml


Thanks,
Anil passi
...
written by Tripti Goenka , July 11, 2007
Hi Anil,

Thanks for your reply. Can you please explain how dblink can be used?
In addition to this, please confirm usage of xmlexporter at server side? below is the excrept from my previous post.


Please guide.

Thanks
Tripti
...
written by APassi , July 11, 2007
Hi tripti

Given that you have two databases being worked upon, you could create synonyms in apps that point to object in remote/custom database.
The screens will work on synonyms that will internally translate into operations on remote database tables/objects.

Yes, xmlExporter can be used as well. But why should you use XML Exporter when the xml files are already inn filesystem. These MDS XML files are in $MODULE_TOP/mds///

Thanks,
Anil Passi
Hi
written by Ranjan , October 12, 2007
Hi Anil,

Thanks for giving information about web page.
Could you please give the details about dbc file ?

Regards.

Ranjan
...
written by Anil Passi , October 12, 2007
Hi Ranjan

dbc file is the database connection file, much like tnsnames.ora
The dbc file contains the connection details like machine name, port number etc.

The file can be located from $FND_TOP/secure directory

Thanks,
Anil Passi
...
written by Ranjan , October 12, 2007
Hi Anil,

Thanks for your reply. I have a dbc file as below
#DB Settings
#Mon Aug 15 13:36:42 PDT 2005
TWO_TASK=SID
GWYUID=APPLSYSPUB/PUB
GUEST_USER_PWD=sysadmin/sysadmin
#FNDNAM=APPS
APPS_JDBC_DRIVER_TYPE=THIN
DB_HOST=localhost
DB_NAME=appsCon
DB_PORT=1521
FND_MAX_JDBC_CONNECTIONS=100

but when I am running the page getting following error:
oracle.apps.fnd.framework.OAException: Application: FND, Message Name: SYSTEM-ERROR. Tokens: MESSAGE = Io exception: The Network Adapter could not establish the connection;
...
at _runregion._jspService(runregion.jsp:96)
....
and line 96 contains following data:

String sessionId = sessionBean.createSession(request,
response,
dbcFullPathName,
userName,
userPassword,
applicationShortName,
responsibilityKey);
Sorry to give you trouble.
Please help me to remove this problem.

Regards.

Ranjan
...
written by Anil Passi , October 12, 2007
Hi Ranjan

Your DB_HOST is pointing to localhost, when it should be a machine name on EBS instance, unless you have EBS installed on your PC.

You should look at $OA_HTML/IrcViitor.jsp which provides a page on the web.
You will need to replicate the design for your custom page, based on what Oracle have done for iRecruitment module.

Thanks,
Anil Passi
...
written by Ranjan , October 12, 2007
Hi Anil

EBS is installed and my database connection is created and tested successfully but still I am getting that error I have mentioned in the previous message.

Thanks and Regards.

Ranjan
Customizing Payslip,Taxplan
written by huzefa , February 02, 2008
Hi Anil,

Could u please guide me for Customizing Payslip,Taxplan in apps(EBS 11.5.10.2)
You must be logged in to a comment. Please register if you do not have an account yet.

busy