jueves, 25 de septiembre de 2008

Oracle Web Services Manager

¿Cómo exportar e importar componentes, servicios y pasos personalizados?

En esta guía se muestran los pasos para exportar los componentes, servicios, y pasos personalizados dados de alta en un gateway y después como importarlos en otra instancia de OWSM

La versión de OWSM debe ser 10.1.3.4

Exportando datos de OWSM

Lo primero que haremos será modificar la ubicación en donde se exportaran los datos.

Básicamente lo que hace el “Export” es construir una serie de XML´s que tienen todas las propiedades y características de nuestros servicios y componentes publicados en el OWSM

Para modificar esta ubicación vamos al archivo ORACLE_HOME/owsm/bin/coresv.properties

PASO 1: Modificar la ubicación en donde se hará el export

Aquí modificamos la propiedad db.export.dir.

Mi archivo está ubicado en D:\Oracle\SOASuite\owsm\bin\coresv.properties

db.export.dir=tester

db.import.dir=tester

Aquí estoy dando la ubicación en donde se hará el export y también el import

Ahora ¿en donde debe de estar la carpeta de tester?

PASO 2: Debemos crear la carpeta para exportar datos

Esa carpeta “tester” debe de estar creada en el directorio bin

D:\Oracle\SOASuite\owsm\bin\tester

PASO 3: Creación de archivo LMTInstructions.xml

Este archivo especifica que componentes, servicios y pasos personalizados se exportarán.

El archivo debe ser creado en D:\Oracle\SOASuite\owsm\scripts

Aquí está un ejemplo:

<?xml version="1.0"?>

<lmt-instructions>

<transferable-objects>

<component id="C0003010">

<step-template id="BasicLogProps_v3_0_0_1" version="1">

</step-template>

<service id="SID0003021"></service>

</component>

</transferable-objects>

</lmt-instructions>

¿Qué significa lo anterior?

<component id="C0003010">: Es el componente que vamos a exportar.

En este caso exportaré un gateway con id C0003010

Esto se puede ver en la consola como se muestra a continuación:

clip_image002

En caso de tener un paso personalizado, se debe agregar

<step-template id="BasicLogProps_v3_0_0_1" version="1">

</step-template>

¿De dónde saque el nombre de id BasicLogProps_v3_0_0_1 y la versión 1?

Cuando se construye un paso personalizado, en el formato de XML con el que se da de alta el “custom step”, ahí es en donde viene.

Ejemplo en mi “custom step xml”, la primera parte es esta:

<?xml version="1.0" encoding="UTF-8"?>

<StepTemplate xmlns="http://schemas.confluentsw.com/ws/2004/07/policy"

name=" Basic Log Properties v1.0"

package="oracle.com"

timestamp="AUG 21, 2008 12:00:00 AM"

version="1"

id="BasicLogProps_v3_0_0_1">

Aquí es en donde obtienes el id="BasicLogProps_v3_0_0_1” y también la versión=”1”

Por último la parte de:

<service id="SID0003021"></service>

Son los servicios que deseamos exportar.

Cuando nos metemos al componente gateway y vemos los servicios ahí es en donde viene el id, como se muestra a continuación:

Para llegar a esta pantalla (Policy Management> Register Services > Services)

clip_image004

PASO 4: Ejecutar comando de export

Por último, hay que ejecutar la instrucción wsmadmin exportTransferableObjects como se muestra a continuación:

La ejecución nos pide el password de la base de datos para el usuario orawsm

clip_image006

Si revisamos la carpeta que generé (tester) esto es lo que deberíamos ver:

clip_image008

Dentro de la carpeta generada, esta otra carpeta con el nombre del Componente (C0003010)

Este Fólder (C0003010) en el paso del Import, lo copiaremos un nivel arriba

clip_image010

Importando datos a OWSM

Para importar los datos en otro OWSM debemos hacer lo que sigue

PASO 1: Modificar la ubicación de donde se tomarán los datos para el import

Debemos modificar en el OWSM destino, la ubicación en donde están los datos a importar

Aquí modificamos la propiedad db.import.dir.

Mi archivo está ubicado en D:\Oracle\SOASuite\owsm\bin\coresv.properties

Aquí se muestra como hacerlo:

db.export.dir=tester

db.import.dir=tester

La carpeta de “tester” es la misma de hace un rato.

PASO 2: Copiar la carpeta C0003010 directo en la carpeta Tester

Solo que aquí haremos algo adicional, hay dos opciones.

La primera opción es cambiar la propiedad import y definir: db.import.dir= tester\24sep2008-05-00-18PM (esta es la carpeta que nos generó el export)

Y la opción dos, es copiar la carpeta C0003010, la cual está dentro de la carpeta 24sep2008-05-00-18PM que generó el export, y pegarla directo en la carpeta tester

Es decir, quedaría así:

clip_image012

PASO 3: Crear el archivo LMTInstructions.xml para importar

Ya que tenemos eso, debemos crear un nuevo archivo de LMTInstructions.xml para el Import el cual, debe estar en (D:\Oracle\SOASuite\owsm\scripts)

Este quedará así:

<?xml version="1.0"?>

<lmt-instructions>

<transferable-objects>

<component id="C0003010"

import-name="TestImportCustomV1"

url="http://molvera-es.es.oracle.com/gateway"

monitor-rmi-host="molvera-es.es.oracle.com"

monitor-rmi-port="3118"

monitor-soap="http://molvera-es.es.oracle.com/coreman/services/CoremanMeasurementClient"

monitor-type="rmi"

database-url="jdbc:oracle:thin:@//molvera-es.es.oracle.com:1521/ORCL.ES.ORACLE.COM"

database-driver="oracle.jdbc.driver.OracleDriver"

database-user-id="ORAWSM"

create-new="false"

type="Gateway"

mapped-to-component-id="C0003011">

<step-template id="BasicLogProps_v3_0_0_1"

version="1.0"

import-id="BasicLogProps_v3_0_0_1"

import-name="Basic Log Properties v1.01"

import-version="1">

</step-template>

<service id="SID0003021"

import-name="TestInstalacion"

version="1.0"

wsdl="http://molvera-es.es.oracle.com/InstalacionTest/TestInstalacionWSSoapHttpPort?WSDL"

url="">

</service>

</component>

</transferable-objects>

</lmt-instructions>

Aquí está la descripción del significado del XML

Component id="C0003010": El ID del componente que vamos a importar

Import-name="TestImportCustomV1": Un nombre que le damos al Import

url="http://molvera-es.es.oracle.com/gateway: URL del gateway

monitor-rmi-host="molvera-es.es.oracle.com": Host en donde está instalado el monitor de OWSM

monitor-rmi-port="3118": Puerto del monitor

monitor-soap="http://molvera-es.es.oracle.com/coreman/services/CoremanMeasurementClient": Dirección del Monitor SOAP AXIS

type="Gateway": Tipo de componente, en este caso es un Gateway

mapped-to-component-id="C0003011": El “export” se hizo desde un component con ID 3010, en caso de que el ID del destino sea diferente es aquí en donde se especifica. En mi caso borraré el componente gateway 3010, y cuando agregue uno nuevo se creará con ID 3011. Por eso aquí especifico 3011

step-template id="BasicLogProps_v3_0_0_1": El nombre del “custom step id”

version="1.0": Versión del “custom step”

import-id="BasicLogProps_v3_0_0_1": El nombre con el que deseamos que se importe el “custom step” (Lo mejor es dar el mismo nombre)

import-name=" Basic Log Properties v1.01": Nombre del paso personalizado.

Este se puede ver en el OWSM origen en:

Consola OWSM> Policy Management> Manage Policies> Steps

Lo que aparece en la columna de name es lo que debemos dar en la propiedad import-name

Service id="SID0003021": ID del servicio que se quiere importar

wsdl="http://molvera-es.es.oracle.com/InstalacionTest/TestInstalacionWSSoapHttpPort?WSDL": WSDL del web Service original

url="": en caso de que exista una página JSP, se puede agregar aquí

PASO 4: Ejecutar el comando para Importar

Ya que tenemos el archivo hay que ejecutar el comando wsmadmin.bat importTransferableObjects

Ejecutar:

clip_image014

Por último hay que copiar el JAR del “custom step” (en caso de que exista un “custom step”) en la carpeta de ORACLE_HOME/owsm/samples/customsteps y también en ORACLE_HOME/owsm/lib/custom

Reiniciar el contenedor del OWSM

Espero les ayude esto!

Saludos!

Mau

0 comentarios:

 
Themes by: Free Templates Studio. Powered by Blogger