Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Containers da Oracle para J2EE (OC4J) em R12

Contêineres da Oracle para J2EE (OC4J)


– OC4J significa Oracle’s Containers for J2EE. O OC4J pode executar Servlets, Java Server Pages (JSP), Enterprise Java Beans (EJB)
-OC4J substitui a implementação JServ mais antiga para executar servlets no servidor da Web
-Oracle Application Server 10gR3 (10.1.3) é a versão de produção mais recente
-OC4J é baseado em padrões J2EE:Estrutura de diretório específica,Requisitos de arquivo (content &convenções de nomenclatura),Definição de arquivo XML
-OC4J instâncias são executadas em JVMs e se comunicam através de mod_oc4j / Apache
-A implantação é feita por meio de um arquivo Enterprise Archive (EAR), que contém os arquivos de definição do aplicativo e do aplicativo Web (WAR), que por sua vez inclui o código do aplicativo Web (JAR) e os arquivos de configuração associados (definições de servlet), JSP code,HTML
-OC4J é na verdade o servidor de aplicativos Orion da Ironflare, que a Oracle licenciou e renomeou.


Containers da Oracle para J2EE (OC4J) em R12



–Oracle EBS R12 cria 3 instâncias OC4J


OACORE :executa aplicativos baseados em Oracle Applications Framework
FORMS :executa aplicativos baseados em Forms
OAFM :executa web services, map-viewer, ascontrol


O número de instâncias OC4J para cada grupo será determinado pela variável de contexto nprocs correspondente ( s_oacore_nprocs, s_forms_nprocs/s_frmsrv_nprocs, s_oafm_nprocs).

-Servlets implantados no servidor OC4J aderem à especificação J2EE

-Forms.EAR 10.1.2 é implantado no contêiner OC4J no Application Server 10.1.3
–AutoConfig é usado para gerenciamento de configuração, semelhante para liberar 11i


Arquivos importantes usados ​​para configuração de instâncias OC4J
Oc4j.properties :define o alias básico do diretório de aplicativos, o local do arquivo dbc é definido neste arquivo
Server.xml :define aplicativos J2EE e suas bibliotecas compartilhadas para o tempo de execução OC4J
Orion-application.xml :define a localização das classes Java de todos os módulos da Web J2EE implantados no aplicativo J2EE
Orion-web.xml :define parâmetros de nível de servlet para módulos da web J2EE

Esses arquivos são sinônimos de jserv.conf, jserv.properties em 11i

Oracle Process Manager and Notification server (OPMN) gerencia componentes AS e consiste em:
-Oracle Notification Server (ONS):Entrega notificações entre componentes
OHS ->OPMN ->OC4J
-Process Manager (PM) iniciar, parar, reiniciar, detecção de morte
($ADMIN_SCRIPTS_HOME contém os scripts equivalentes de aplicativos chamados ad*)
-Arquivo de configuração único (opmn.xml) é usado OPMN para gerenciar os serviços. O local do arquivo de configuração é fornecido como $ORA_CONFIG_HOME/10.1.3/opmn/conf/opmn.xml

Os serviços gerenciados pelo opmn via opmnctl são

1) HTTP_Server
2) oacore
3) formulários
4) oafm

Mais alguns recursos relacionados ao R12 OC4J 

-Há um novo parâmetro definido em R12:s_oacore_append.classpath

Este parâmetro é usado para adicionar arquivos jar personalizados ao OC4J

-Há um novo parâmetro definido em R12:s_jsp_main_mode
s_jsp_main_mode valores podem ser apenas executados ou recompilados

Apenas executar significa que ele tentará executar o jsp… se o jsp não estiver compilado, ele falhará
recompilar significa que ele compilará o jsp em tempo de execução.

Seu valor pode ser visto no arquivo

$INST_TOP/ora/10.1.3/j2ee/oacore/application-deployments/oacore/html/orion-web.xml

-Recompile o JSP manualmente usando as seguintes etapas:

cd $FND_TOP/patch/115/bin
perl ojspCompile.pl –compile –flush -p 2

-adopmnctl.sh status em $ADMIN_SCRIPTS_HOME pode ser usado para ver o status dos componentes IAs
-s_oacore_prepend_classpath,s_oacore_append_classpath variáveis ​​estão lá
O caminho de classe Prepend seria útil se o cliente quisesse substituir qualquer um dos padrões bibliotecas de classe com biblioteca de classe personalizada. java bootstrap class loader procura as classes da esquerda para a direita do CLASSPATH).
O caminho de classe append seria útil se o cliente quiser bibliotecas de classes personalizadas adicionais, que ele possa querer usar sem substituir acidentalmente as implementações de classe especificado na biblioteca de classes padrão.

Leia também
Como implantar o aplicativo no OC4J