Mostrando entradas con la etiqueta Oracle. Mostrar todas las entradas
Mostrando entradas con la etiqueta Oracle. Mostrar todas las entradas

lunes, 23 de febrero de 2015

WSO2 DS: Exponiendo nuestra BD Oracle usando REST.

En otras entradas hemos visto lo fácil que es crear un servicio de datos usando la suite de WSO2, bien sea a través del WSO2 AS o el WSO2 DSS. También hemos visto como exponer estos datos usando REST con solo unos pocos pasos adicionales y como consumir estos servicios expuestos usando REST.

En esta entrada veremos como combinarlo todo implementando un escenario que nos ha pedido un cliente hace poco: Exponer sus datos almacenados en una BD Oracle tanto por SOAP como por REST de una manera altamente configurable y rápida de implementar.
Veamos una pequeña PoC que le preparamos:


Paso 1: Crear la BD.

Nos conectamos al SGBD y creamos un usuario “appserver” con contraseña “appserver”.

image

Volvemos a conectar pero esta vez usando las credenciales del usuario recién creado y en la BD que usamos en una entrada anterior DBMB.

Una vez autenticados creamos una tabla “cliente” e insertamos alguna data que luego será consultada.

image


Por último creamos un procedimiento almacenado para hacer una inserción en la tabla:

image




Paso 2: Crear el servicio de datos.

Haciendo uso del conocimiento que ya tenemos de entradas anteriores, procedemos a crear un servicio de datos. En la parte de configuración del DataSource quedaría de la siguiente manera:

image

Se puede apreciar que se ha dado clic en “Test Connection” y se ha conectado exitosamente a la BD. Previamente debemos haber añadido el jar ojdbc6.jar a [HOME_AS]\repository\components\lib\

La primera query que agregamos es la de consumir el procedimiento almacenado anteriormente creado:

image


Y la segunda query es para consultar la información de la tabla:

image
image


Una vez terminada estas configuraciones en las querys procedemos a crear las operaciones que no tienen nada de complicación, guardamos nuestro servicio y procedemos a consumirlo.

image



Paso 3: Incluir funcionalidad REST.

La implementación consiste en agregar dos recursos tal y como se muestra a continuación. Uno que se llama “clientes” para obtener el listado de clientes y otro que se llama “insertarCliente” para insertar los datos de un cliente en la BD.

image

Sus configuraciones son realmente sencillas. La de clientes es:

image


Y la de insertarCiente es:

image


Paso 4: Probar por REST.

Una vez guardado el servicio se procede a probarlo usando el plugin para REST de firefox:

image

También lo podemos probar desde el SOAPUI:

image 

Y ahora veremos como llamar a la operacion de insertarCliente primero por el SOAPUI:

image

Y luego por el cliente REST de firefox:

image

Vean que se insertaron Cliente7 y Cliente8.

Para finalizar una consulta a través del recurso “clientes” nos confirma el éxito de ambas llamadas.

image 

Eso es todo, de una manera muy fácil hemos expuesto nuestros datos tanto por SOAP como por REST.

Esperamos les sea de utilidad.

martes, 3 de febrero de 2015

Configurando la suite de WSO2 con Oracle.


Todos los productos de WSO2 pueden ser configurados muy facilmente para usar distintos gestores de BD como:
  1. MySQL.
  2. Oracle.
  3. PostgreSQL.
  4. …..
Nosotros por lo general usamos PostgreSQL en nuestros desarrollos, pero también hacemos uso de Oracle DB cuando nuestros clientes así lo desean, por esta razón quiero mostrarles como configurar el WSO2 MB 2.2.0 para usar una BD en Oracle.

Paso 1: Usar el asistente de Oracle dbca para crear una BD. En nuestro caso la BD se llama dbmb.
Aquí es importante que los ficheros tnsnames.ora y listener.ora estén correctamente configurados para no tener problemas en la creación y el acceso a la BD.

Paso 2: Conectarnos a Oracle usando el comando:
sqlplus sysadmin/[tu contraseña] as sysdba
image

Paso 3: conectarse a la instancia usando el comando connect, si no están conectados ya. Crear el usuario y conectarse con este usuario.
image

Paso 4:  Crear una sesión y  ejecutar un commit.
image

Paso 5: Configurar el fichero [MB-HOME]\repository\conf\datasources\master-datasources.xml para que se conecte a la BD creada y configurada en los pasos anteriores.
<datasource>
 <name>WSO2_CARBON_DB</name>
 <description>The datasource used for registry and user manager</description>
 <jndiConfig>
  <name>jdbc/WSO2CarbonDB</name>
 </jndiConfig>
 <definition type="RDBMS">
  <configuration>
   <url>jdbc:oracle:thin:@localhost:1521/dbmb</url>
   <username>dbgreg</username>
   <password>dbgreg</password>
   <driverClassName>oracle.jdbc.driver.OracleDriver</driverClassName>
   <maxActive>50</maxActive>
   <maxWait>60000</maxWait>
   <testOnBorrow>true</testOnBorrow>
   <validationQuery>SELECT 1</validationQuery>
   <validationInterval>30000</validationInterval>
  </configuration>
 </definition>
</datasource>


Paso 6: Copiar el driver de Oracle para [MB-HOME]\repository\components\lib\ en nuestro caso el driver es ojdbc6.jar.


Paso 7: Iniciar el servidor de la siguiente manera: wso2server.bat o .sh  y el parámetro  -Dsetup para que nos cree las tablas en la BD.


image


Y eso es todo. De esta manera tenemos configurada cualquier herramienta de WSO2, en este caso el WSO2 Message Broker 2.2.0, para que use como BD a Oracle.