viernes, 15 de marzo de 2013

Instalación de Oracle SOA Suite en un Entorno de Desarrollo

Situación

Una de las dificultades que se presenta al momento de querer iniciar un desarrollo sobre Oracle SOA o BPM, es la instalación y configuración de Oracle SOA Suite en un entorno local o de desarrollo.

Objetivos

En este post mostraré como instalar y configurar Oracle SOA Suite para que pueda ser ejecutado en una PC o Laptop que no tienen la capacidad de un servidor dedicado, pero que tengan características promedio:

  • 64-bit
  • 4GB de Memoria RAM
  • Procesador de 2 núcleos.


Solución

Para poder instalar y configurar nuestra plataforma seguiremos los siguientes pasos:

  1. Instalación de Pre-requisitos
  2. Instalación de SOA Suite
  3. Creación de Esquemas de Base de Datos
  4. Creación y Configuración de Dominio

Instalación de Pre-requisitos

Para la instalación de SOA Suite, primero debemos de contar con los siguientes componentes instalados:

- JDK: Se debe de tener instalada la última versión de Java Development Kit 1.6 . También se puede instalar el JDK de Oracle: JRockit

Si contamos con un entorno de 64bit, descargar e instalar la versión 1.6 de 64bit del JDK.
Instalar en una ruta que podamos reconocer. Preferible que no cuente con espacios, por ejemplo:


Este JDK funcionará como motor para la ejecución del servidor de aplicaciones Oracle WebLogic Server.

- Base de Datos: También se debe de tener instalada una base de datos donde se almacenen la información necesaria para las aplicaciones desplegadas sobre el servidor WebLogic. Para entorno de desarrollo se recomienda instalar Oracle Database Express Edition.

- Oracle WebLogic Server: WebLogic es el servidor de aplicaciones por defecto para instalar Oracle SOA Suite, aunque también está certificado el uso de IBM WebSphere.

Para productos de Oracle Fusion Middleware 11g, la última versión es la 10.3.6. Asegurarse de descargar la versión Genérica, ya que se pretende usar el JDK instalado anteriormente y no el JDK que viene dentro del instalador para las versiones de Windows y Linux.

Para iniciar la instalación de Oracle WebLogic Server, seguir los siguientes pasos:

1. Iniciar el instalador con el JDK instalado:

2. Una vez que termine de descomprimir el instalador, se debe iniciar el asistente de instalación. Iniciar la instalación y seleccionar el MIDDLEWARE_HOME:


En este directorio se instalarán todos los componentes de Oracle Fusion Middleware que se quieran ejecutar de forma conjunta (WebLogic, SOA, WebCenter, etc.). Tomar en cuenta esta dirección para cuando se instale el Oracle SOA Suite.

3. Pasar la parte de Envío de Notificaciones, seleccionar la instalación Típica que instala Oracle WebLogic Server y Oracle Coherence, marcar el JDK local.

4. Luego se muestran las rutas donde serán instalados estos componentes:


Finalizar la instalación.

Estos tres componentes serán la base para la instalación de Oracle SOA Suite.

Instalación de Oracle SOA Suite

En este momento Oracle SOA Suite se encuentra en la versión PS5 (11.1.1.6), pero el procedimiento que se mostrará a continuación se puede repetir con versiones anteriores. Para esta instalación descargar la versión Genérica, al igual que lo hicimos con WebLogic.

Oracle SOA Suite, como cualquier aplicación a desplegarse sobre un servidor de aplicaciones Java EE, es una aplicación Java EE que nos va a permitir la ejecución de Aplicaciones Compuestas (SCA).

Para iniciar la instalación, descomprimir los archivos ZIP de los instaladores sobre una misma carpeta:


1. Ingresar a la carpeta Disk1\install\win64 con un terminar y ejecutar la siguiente sentencia:


2. Al iniciarse el asistente de instalación: omitir las actualizaciones, validar los requisitos de la plataforma, y seleccionar el MIDDLEWARE_HOME donde se instalará el SOA Suite:


Seleccionar el tipo de Java EE donde se instalará el servidor: WebLogic Server y dar inicio a la instalación.

La instalación debe tomar entre 2 a 3 minutos.

Al finalizar con la instalación se debería tener una estructura de carpetas como la siguiente:


Creación de Esquemas de Base de Datos

Como mencionaba anteriormente, SOA Suite es una aplicación Java EE; y como cualquier aplicación requiere de una base de datos para almacenar su información.

Para no realizar la creación de los esquemas, tablas y otros objetos de base de datos de forma manual, Oracle ofrece un utilitario llamado Repository Creation Utility (RCU).

1. Una vez descargado el utilitario, descomprimirlo sobre una carpeta sin espacios, por ejemplo: c:\oracle\fmw\rcuHome

2. Ingresar a esa ruta por terminar. Si se está trabajando con Oracle XE como motor de base de datos se debe de declarar la siguiente variable, y arrancar el utilitario:


Es necesaria la declaración de esta variable solo para base de datos XE.

3. Iniciar el asistente, seleccionar la opción de Crear y agregar la información de conexión a la base de datos:


Ignorar la advertencia mostrada sobre la versión de la base de datos.

4. En el siguiente paso se deben seleccionar los componentes de Oracle Fusion Middleware, para los que se les crearán sus respectivos esquemas de base de datos. Para nuestro caso, se debe de seleccionar Infraestructura SOA y BPM, y por defecto se seleccionará el esquema de Metadata Service:



5. Ingresar la contraseña para todos los esquemas a crearse, crear los Tablespaces y crear los esquemas.

Una vez finalizada la creación de los esquemas, ya contamos con todos los componentes necesarios para la creación de un Dominio de WebLogic que tenga SOA Suite desplegado.

Creación y Configuración de Dominio

Una vez instalados todos los componentes, se puede iniciar la creación de un Dominio de WebLogic que contenga Oracle SOA y BPM Suite.

Un dominio es la unidad de administración de WebLogic. Dentro de un dominio se pueden encontrar diferentes objetos como Servidores, Máquinas, Clústers, Aplicaciones, Servicios, etc.

Dentro del grupo de Servidores existen dos tipos: Administrativos y Gestionados. Por motivos de que nuestro entorno no es uno de producción, nuestro dominio solo tendrá un servidor que será Administrativo y la vez contendrá todas las aplicaciones de SOA Suite, para aprovechar nuestros recursos limitados.

1. Iniciemos el asistente de configuración de dominios ingresando al siguiente ejecutable:




2. Una vez iniciado el asistentes, seleccionemos la opción de Creación de Nuevo Dominio WebLogic, y seleccionemos las siguientes plantillas:


Si no se requiere hacer uso de Oracle BAM, se puede omitir la selección de esta plantilla.

3. En el siguiente paso, se debe ingresar el nombre del dominio y la ubicación de sus archivo. Es recomendable, tanto en entornos de desarrollo como producción tener la ubicación de tu dominio fuera de MIDDLEWARE_HOME por motivos de respaldo.




4. Ingresar las contraseñas del usuario administrado (Por ejemplo: weblogic/welcome1), y en el siguiente paso seleccionar el modo de inicio y el JDK que utilizará el dominio:




5. En el siguiente paso se configurará la conexión de la aplicación Java EE (Oracle SOA Suite) a sus esquemas de base de datos:

Se crearán los siguientes esquemas:
  • BAM Schema (ORABAM): Esquema para la aplicación Oracle BAM.
  • SOA Infrastruture (SOAINFRA): Esquema para la infraestructura SOA.
  • User Messaging Service (ORASDPM): Esquema para el Servicio de Mensajería de Usuario.
  • OWSM MDS Schema (MDS): Esquema para el almacenamiento de Metadatos de la aplicación Oracle Web Service Manager.
  • SOA MDS Schema (MDS): Esquema para el almacenamiento de Metadatos de las aplicaciones incluidas en SOA Suite.

Primero seleccionar todas las conexiones y cambiar las propiedades comunes: 



Luego seleccionando los esquemas uno a uno, modificar el nombre usuario y la contraseña según corresponda: 


Una vez probadas las conexiones correctamente, pasar al siguiente paso.

6. Seleccionar las siguientes opciones de configuración de dominio para ajustar el número de servidores:


7. Al ingresar a la configuración del servidor de administración, opcionalmente cambiar el nombre del servidor, ya que no estamos hablando propiamente de un servidor de administración, y el puerto del servidor:



8. En el siguiente paso de servidores gestionados, eliminar los servidores gestionados. Con esto logramos que todas las aplicaciones que se deberían haber ejecutado en el servidor gestionado pasarán al servidor administrativo:


De la misma forma eliminar la máquina creada por defecto y crear el dominio:



Con esto tenemos creado el dominio de WebLogic con SOA, BPM y BAM incluidos en el único servidor creado.

Por último, se debe configurar la distribución de memoria de la JVM para no tener problemas de OutOfMemory.

1. Ingresar a la carpeta C:\oracle\work\11.1.1.6\domains\soa_domain\bin para editar el archivo setSOADomainEnv.cmd:


2. Reemplazar la configuración de memoria por la siguiente:


Una vez finalizada y guardada la configuración de memoria de la JVM, iniciemos el servidor del dominio para validar que todo inicia correctamente:



Cuando se muestra este mensaje: SOA Platform is running and accepting requests es que el inicio de la aplicación SOA Infrastructure ha finalizar y se pueden ejecutar las aplicaciones compuestas desplegadas sobre esta plataforma.

Si ingresan al administrador de tareas se pueden dar cuenta de que el consumo promedio del servidor desplegado es 2 GB:



Por ultimo, pueden probar las aplicaciones desplegadas:





Ahora se pueden comenzar a desplegar y ejecutar aplicaciones SOA sobre este entorno de desarrollo.