R12: OC4J Overview

Hi Everyone!!

I thought to enter bit more in depth of R12 techstack. I was talking about 10.1.2 AS and 10.1.3 AS oracle homes earlier. I have discussed why there are two Mid-Tier oracle homes in my earlier post 10g AS in R12 ebiz.

In this post I will be covering OC4J. OC4J expands to Oracle Containers For Java. Originally based on the IronFlare Orion Application Server, has developed solely under Oracle's control since Oracle Corporation acquired the source.( this is the reason why you see config files are named as orion-web.xml, orion-application.xml etc.,)

In laymans terms OC4J can be described as "Oracle's Implementation of J2EE specification set".
Sample specification set can be found here.
For example you have finance application which got developed using JSP and servlet specifications. You can package them as war/ear files and deploy them in OC4J containers which will run the applications as per the clients' request from web browser. There are lot more done by OC4J but above one was a simple example. It will have xml based config files.(refer OC4J config files section in Unveiled Inst top post.)

In R12 we have 3 groups of OC4J's. OC4J replaces Jserv(Java servlet containers) which came with earlier 11i techstack.

oacore OC4J - Supports framework based applications
forms OC4J - Supports forms based applications
oafm OC4J - expands to Oracle Application Fusion Middleware - for mapviewer, webservices, ascontrol

Number of OC4J instances for each group will be determined by corresponding nprocs context variable ( s_oacore_nprocs, s_forms_nprocs/s_frmsrv_nprocs, s_oafm_nprocs).

-bash-2.05b$ ./adopmnctl.sh status

You are running adopmnctl.sh version 120.4

Checking status of OPMN managed processes...

Processes in Instance: r12test_ap6155rt.ap6155rt.us.oracle.com
-------------------+--------------------+---------+---------
ias-component | process-type | pid | status
-------------------+--------------------+---------+---------
OC4J | oafm | 27133 | Alive

OC4J | forms | 27064 | Alive

OC4J | oacore | 26775 | Alive
HTTP_Server | HTTP_Server | 26718 | Alive

ASG | ASG | N/A | Down

adopmnctl.sh: exiting with status 0

adopmnctl.sh: check the logfile /slot01/appmgr/R12/inst/apps/r12test_ap6155rt/logs/appl/admin/log/adopmnctl.txt for more information ...

-bash-2.05b$

To be more precise, forms.ear application is deployed in forms OC4J to server forms based applications. ( $IAS_ORACLE-HOME/j2ee/forms/applications/forms.ear)

oafm.ear, mapviewer.ear, ascontrol.ear applications (can be found at $IAS_ORACLE-HOME/j2ee/oafm/applications/) are deployed under oafm OC4J container.

But remember, even if one file change in ear file, will leads to creation of new ear file and redeployment, which is time consuming. hence the dummy ear file is used and config files are tweaked to support adpatching in ebiz R12.

OC4J deployment will create specific directory structure and similar config files. I will cover them in detail in forthcoming posts.

I hope You understood bit about OC4J. Lot more to come.

Stay Tuned for the next update. Leave your comments.!!

26 comments:

Anonymous said...

Hi

Thanks for the concepts.

Can you provide more details on the sentence
"But remember, even if one file change in ear file, will leads to creation of new ear file and redeployment, which is time consuming. hence the dummy ear file is used and config files are tweaked to support adpatching in ebiz R12."
especially "to support adpatching"

Thanks
Rao

Suresh Lakshmanan said...

Hi Rao,

R12 uses 10g AS techstack. It consists of OC4J's where the war/ear files are deployed. WAR/EAR - Web Archive/Enterprise Archive. Each WAR/EAR files can be single application - for example any banking application. Once you deploy war/ear file in OC4J(JVM), you access them. In R12, entire Oracle application is simulated as a deployment of EAR/WAR. Directory structures are created similar to the deployment of WAR/EAR.
In this case, when new jsp/xml/any new file brought to appltop you dont have to create WAR/EAR file newly and deploy them in OC4J, its going to take much time than modifying single file directly in the deployment directory. Hence the adpatching will be equivalent to 11i. Hope this gives bit more idea.

Thanks
Suresh

Anonymous said...

Hello

I am working On R12..When i bounce the Application tier every time adoacorectl.sh failed

i stoped that services manually..

after that applications are not opened Properly

Please help me

Regards

Raghu

Suresh Lakshmanan said...

Hi Raghu,

what is the error message you are getting in the oacore log file?

Thanks
Suresh

Anonymous said...

Hello Suresh
Below the Error i found in adoacorectl.txt

--> Process (index=1,uid=329080955,pid=8521)
time out while waiting for a managed process to stop

Regards

Raghu

Sundar said...

increase the timeout value in the opmn.xml file and restart everthing. This should resolve the issue.

Prabhakar said...

Hi Suresh,

I read your blogs on OC4J and R12. My name is Prabhakar and I am consultant. We are having an issue with OC4J and EAR/WAR files on EBS R12. Any help would be appreciated.

Please find the SR details in the attachment.

Thanks,
Prabhakar.

Suresh Lakshmanan said...

Hi Prabhakar,

Can you explain the architecture of your system - single node - node config details ?
is it new install giving trouble bringing up?
is there oc4j clustering ?
oc4j comes along with ear/war deployed, why do you want to deploy? is it custom ear/war file you want to deploy?

can you eloborate your issue to understand correctly to give my thoughts.

Thanks
Suresh

Prabhakar said...

Hey Suresh,

We need to install a Sun J2EE policy agent that will come into play as a servlet filter. It will redirect unauthenticated users to a login page and then pass the user back to the GVOC (our application) app. As part of it we need to deploy a supporting EAR called agentapp. It is part of a SSO solution but to EBS it is just a servlet filter and a supporting app. We don’t know how to set this up in EBS i.e. how to deploy the agentapp.war, where to install the policy agent within the deployment containers of OracleAS within EBS. Apparently there isn’t a console like there is in plain old OracleAS.


We are R12 single node. R12 comes with its own OC4J but we are trying to implement an filter in EBS for SSO solution. So that is what we are trying to accomplish. Please let me know if you have any pointers on this?

Thanks,
Prabhakar.

Suresh Lakshmanan said...

Hi Prabhakar,

sorry for the late reply.

As far as I know, i have seen the agents goes to 10g AS side.
if you are integrating SSO with anyother OID/LDAP you need to have 10g AS seperate infra/midtier installation for sure. you have to install there. I have seen the agent installed in 10g AS middle tier. not on ebs side.

good luck. keep me posted on how it progress. if yet get a luck with your integration let me know. I would like post your work in the blog with your name to reach out the world who faces smiliar situation.

good luck and best wishes for your integration. thank you.

Thnaks
Suresh

Rafi said...

Hi Suresh,
Very nice simple and clear explanation.Appreciate your work...
Thanks very much...


Best regards,

Rafi.

Suresh Lakshmanan said...

Thank you Rafi.

Anonymous said...
This comment has been removed by the author.
Anonymous said...

Hi Suresh,

i m woking as a junior applications DBA..This is a great post.. precise and concise :)

but, can you please eloborate on:
"hence the dummy ear file is used and config files are tweaked to support adpatching in ebiz R12"?

what is the name of this dummy EAR file and what is its location?

can you please let me know how this helps patching?

Thanks,
Srikanth

Anonymous said...

Hi Suresh,

i m woking as a junior applications DBA..This is a great post.. precise and concise :)

but, can you please eloborate on:
"hence the dummy ear file is used and config files are tweaked to support adpatching in ebiz R12"?

what is the name of this dummy EAR file and what is its location?

can you please let me know how this helps patching?

Thanks,
Srikanth

Anonymous said...

Hi Suresh,

i m woking as a junior applications DBA..This is a great post.. precise and concise :)

but, can you please eloborate on:
"hence the dummy ear file is used and config files are tweaked to support adpatching in ebiz R12"?

what is the name of this dummy EAR file and what is its location?

can you please let me know how this helps patching?

Thanks,
Srikanth

Anonymous said...

Hi Suresh,

i m woking as a junior applications DBA..This is a great post.. precise and concise :)

but, can you please eloborate on:
"hence the dummy ear file is used and config files are tweaked to support adpatching in ebiz R12"?

what is the name of this dummy EAR file and what is its location?

can you please let me know how this helps patching?

Thanks,
Srikanth

Anonymous said...

Hi Suresh,

i m woking as a junior applications DBA..This is a great post.. precise and concise :)

but, can you please eloborate on:
"hence the dummy ear file is used and config files are tweaked to support adpatching in ebiz R12"?

what is the name of this dummy EAR file and what is its location?

can you please let me know how this helps patching?

Thanks,
Srikanth

Anonymous said...

Hi Suresh,

i m woking as a junior applications DBA..This is a great post.. precise and concise :)

but, can you please eloborate on:
"hence the dummy ear file is used and config files are tweaked to support adpatching in ebiz R12"?

what is the name of this dummy EAR file and what is its location?

can you please let me know how this helps patching?

Thanks,
Srikanth

Anonymous said...

Hi Suresh,

i m woking as a junior applications DBA..This is a great post.. precise and concise :)

but, can you please eloborate on:
"hence the dummy ear file is used and config files are tweaked to support adpatching in ebiz R12"?

what is the name of this dummy EAR file and what is its location?

can you please let me know how this helps patching?

Thanks,
Srikanth

Anonymous said...

Hi Suresh,

"But remember, even if one file change in ear file, will leads to creation of new ear file and redeployment, which is time consuming. hence the dummy ear file is used and config files are tweaked to support adpatching in ebiz R12."

can you please let me know this dummy file is located? how does this help patching?

Thanks,
Srikanth

kanth said...

Hi Suresh,


Thanks for the wonderful posts in your blog.

My question is i have seen lot of people posting Request flow in 11i .......

Since there are lot of changes in R12 i have not seen anyone posting the request flow in r12.

Please help me out in understanding the request flow in r12...................


Thanks,
Lakshmikanth

Unknown said...

Hi Suresh,

This a nice article ,thanks you for sharing valuable knowledge.


-- Abdul

Unknown said...

Hi Suresh,

Nice article , thanks for sharing valuable info.

--Abdul

Leandro Vieira said...

Hi Suresh, nice article.
Im an DBA from brazil and we have an environment with EBS 12.2.3 in Linux 64bits. In recent days we have recognized a problem in our Homolog and Production environment, inconsistently we received an error like "Connection has been administratively disabled by console/admin command", and the workaround we found is Restart the Oacores. We openned an SR to the Oracle but the solution it is taking some important time. By chance, have you faced this error?

Unknown said...

Hi Suresh,

First of all I would like to thank for your help. all the informations are too good, please keep it up.

I have some questions, regarding OC4J(oacore,oafm and forms components). OC4J having those components, can u explain me what is the purpose of the oacore and oafm with example.

Thanks in Advance...!

Regards
Rajasekaran