jueves, 17 de marzo de 2016

Instalación de un Compact Domain de Oracle SOA Suite 12.2.1

Instalación de Compact Domain de Oracle SOA Suite versión 12.2.1

Ya a finales de noviembre de 2014, nuestro amigo Rolando Carrasco (@borland_c) había creado una entrada en Oracle Radio para separar la configuración de un dominio de JDeveloper, usando la instalación Quick Start de la Oracle SOA Suite. Esto lo hacía en la versión 12.1.3.

El post que menciono, se encuentra aquí:

http://oracleradio.blogspot.mx/2014/11/oracle-soa-suite-12c-standalone.html

Pues en la nueva versión de Oracle SOA Suite (12.2.1), liberada en septiembre pasado en San Francisco durante el Oracle Open World de 2015, también es posible crear un dominio de tipo standalone (separado de JDeveloper). A este tipo de dominio se le conce como compact domain.

Hay una variante en los pasos a seguir para crear este tipo de dominio en la versión 12.2.1, y aquí los documentamos:

El primer paso es establecer una variable de ambiente con el siguiente valor:

CONFIG_JVM_ARGS=-Dcom.oracle.cie.config.showProfile=true
En ésta versión ya no existe el comando qs_config, por lo que es necesario setear la variable de ambiente anterior, para habilitar la opción de crear un dominio compacto en el wizard de configuración del dominio que ya conocemos. Este wizard no se utilizaba para generar un compact domain en la versión 12.1.3.

Posteriormente vamos a la siguiente ruta:

ORACLE_HOME/oracle_common/common/bin

Ahí ejecutamos el siguiente comando:

config.cmd (en Windows) config.sh (en Unix, Linux, etx)


Lo que sigue es elegir el tipo de dominio que vamos a crear, en este caso generaremos un dominio compacto. Elegimos la opción que corresponde. Esta opción no está habilitada normalmente al correr el config.cmd, se habilitó al crear la variable de ambiente que mencionamos al inicio.


Elegimos las plantillas de los productos que deseamos instalar, en este caso SOA y OSB.


Elegimos el directorio donde estarán instaladas las aplicaciones del dominio.



Colocamos el nombre del usuario de administración del dominio.


Definimos el modo de nuestro dominio y la ubicación del JDK (esta versión funciona con JAVA 8, a diferencia de 12.1.3 que funcionaba con JAVA 7).


Al momento de configurar la base de datos, seleccionamos la base de datos embebida (JAVA BD, Derby).


Dejamos las opciones que vienen por default para el almacén de claves.


Seleccionamos el servidor que vamos a crear. En este caso sólo vamos a elegir el servidor de administración. Debemos recordar que en un compact domain toda la infraestructura de SOA se encuentra dentro del servidor de administración, no tenemos servidores manejados.


Configuramos la dirección de recepción y puertos para el servidor de administración.


Finalmente, revisamos la configuración del dominio y procedemos a crearlo.


Iniciamos nuestro servidor como normalmente lo hacemos, con startWeblogic.cmd


Finalmente, una vez que inicia nuestro servidor, tenemos disponible nuestro dominio.

WebLogic Console:

 aba

Enterprise Manager:

Service Bus Console:

Con esto, tenemos un dominio compacto de Oracle SOA Suite en la versión 12.2.1. Este dominio, a diferencia del Integrated Server, está completamente separado de JDeveloper y podemos gestionarlo y usarlo de manera independiente.

Favor de consultar la documentación de oficial de Oracle para detalles adicionales:




viernes, 22 de enero de 2016

Harvesting en OER 12c - Error: Unable to find asset type in OER

Error: Unable to find asset type in OER

Estaba intentando hacer el harvest de un WSDL en Oracle Enterprise Repository 12c. El dominio era usado por primera vez, así que no existían muchas posibilidades de que algo anduviera mal.

Al intentar ejecutar el comando para hacer el harvest, me encontré con el siguiente error:

NOTE: To harvest Oracle Service Bus 10 projects, please use osb10harvest.sh
com.oracle.oer.sync.framework.MetadataIntrospectionException: com.oracle.oer.sync.framework.MetadataIntrospectionException: com.oracle.oer.sync.framework.MetadataIntrospectionRuntimeException: Error: Unable to find asset type in OER: 132bbd15-39b9-11de-bee0-79d657a0a2b0.  Please make sure that the Harvester Solution Pack is installed in OER.
        at com.oracle.oer.sync.framework.MetadataManager.init(MetadataManager.java:317)
        at com.oracle.oer.sync.framework.Introspector.<init>(Introspector.java:261)
        at com.oracle.oer.sync.framework.Introspector.main(Introspector.java:537)
Caused by: com.oracle.oer.sync.framework.MetadataIntrospectionException: com.oracle.oer.sync.framework.MetadataIntrospectionRuntimeException: Error: Unable to find asset type in OER: 132bbd15-39b9-11de-bee0-79d657a0a2b0.  Please make sure that the Harvester Solution Pack is installed in OER.
        at com.oracle.oer.sync.framework.impl.DefaultPluginManager.processIntrospector(DefaultPluginManager.java:157)
        at com.oracle.oer.sync.framework.impl.DefaultPluginManager.<init>(DefaultPluginManager.java:99)
        at com.oracle.oer.sync.framework.MetadataManager.init(MetadataManager.java:315)
        ... 2 more
Caused by: com.oracle.oer.sync.framework.MetadataIntrospectionRuntimeException: Error: Unable to find asset type in OER: 132bbd15-39b9-11de-bee0-79d657a0a2b0.  Please make sure that the Harvester Solution Pack is installed in OER.
        at com.oracle.oer.sync.framework.MetadataManager.putAssetType(MetadataManager.java:220)
        at com.oracle.oer.sync.framework.impl.DefaultPluginManager.processIntrospector(DefaultPluginManager.java:130)
        ... 4 more



Resulta, que por default, el Harvest Solution Pack no está en OER. Esto al parecer sucedía también en versiones anteriores (11g). En esta versión 12c el problema no ha sido corregido. Así pues, antes de realizar cualquier harvest en OER, es necesario importar el Harvest Solution Pack.

Los pasos son los siguientes:

Entrar a OER Console


Ir al tab Admin



Elegir Import / Export Client



Esto ejecutará una aplicación Java en el equipo donde se esté ejecutando el navegador:





La aplicación nos abrirá un cuadro de diálogo, donde nos permitirá elegir el ZIP que contiene el Harvester Solution Pack. Este ZIP generalmente se encuentra debajo de la siguiente ruta:

OER_ORACLE_HOME/oer/modules/tools/solutions

En mi caso es una instalación 12c, el ZIP es el siguiente:

12.1.3.0.0-OER-Harvester-Solution-Pack.zip

Aquí lo único que debemos hacer es dar un click en Next para que se realice el import del pack y lo tengamos disponible en OER. Al finalizar el import, ya podemos hacer nuevamente el harvest del resurso que deseamos llevar hacia OER. Esto ya no debería generar ningún error:

NOTE: To harvest Oracle Service Bus 10 projects, please use osb10harvest.sh
0    [main] WARN  com.oracle.oer.sync.framework.impl.DefaultPluginManager  - unable to initialize harvester plugin file: /u02/oracle/products/oer_oracle_home/oer/tools/harvester/./plugins/mds.starter
726  [main] WARN  com.oracle.oer.sync.framework.impl.DefaultPluginManager  - unable to initialize harvester plugin: /u02/oracle/products/oer_oracle_home/oer/tools/harvester/./plugins/osb10.productreader
928  [main] WARN  com.oracle.oer.sync.framework.impl.DefaultPluginManager  - unable to initialize harvester plugin file: /u02/oracle/products/oer_oracle_home/oer/tools/harvester/./plugins/soasuite11g.remotereader
2621 [main] INFO  com.oracle.oer.sync.framework.MetadataManager  - oracle enterprise_repository_harvester version: v12.1.3.0.0-141027_0001-1634845
3442 [main] WARN  com.oracle.oer.sync.framework.impl.DefaultPluginManager  - unable to initialize harvester plugin file: /u02/oracle/products/oer_oracle_home/oer/tools/harvester/./plugins/mds.starter
3886 [main] WARN  com.oracle.oer.sync.framework.impl.DefaultPluginManager  - unable to initialize harvester plugin: /u02/oracle/products/oer_oracle_home/oer/tools/harvester/./plugins/osb10.productreader
4002 [main] WARN  com.oracle.oer.sync.framework.impl.DefaultPluginManager  - unable to initialize harvester plugin file: /u02/oracle/products/oer_oracle_home/oer/tools/harvester/./plugins/soasuite11g.remotereader
26030 [main] INFO  com.oracle.oer.sync.framework.MetadataManager  - successfully completed the harvest
26030 [main] INFO  com.oracle.oer.sync.plugin.writer.oer.OERWriter  - starting oer shutdown and clean up...



Finalmente, nuestro WSDL debería aparecer ya en nuestra instancia de OER.