You are on page 1of 3

Artculos: Lenguajes de Programacin Dinmicos - Taller sobre Integra... http://www.oracle.com/technetwork/es/articles/dsl/o67browser-09027...

Bienvenido Pedro
Cuenta Salir Ayuda Pas Comunidades Soy un ... Necesito... Search

Productos Soluciones Descargas Tienda Soporte Capacitacin Socios Acerca de OTN

Oracle Technology Network Artculos Lenguajes de Programacin Dinmicos

Taller sobre Integracin de Aplicaciones


Por David Peake

Utilizar servicios Web con Oracle Application Express

Casi todos los sitios Web lderes, de Amazon y eBay a Facebook y Google, cuentan actualmente con una oferta de servicios Web. Los servicios Web
permiten que las aplicaciones interacten entre s mediante la Web en un entorno neutral en cuanto a la plataforma y de lenguaje independiente. En
un escenario tpico de servicios Web, una aplicacin de negocios enva una solicitud a un servicio en una determinada URL, utilizando HyperText
Transfer Protocol (HTTP). El servicio recibe la solicitud, la procesa y devuelve una respuesta.

Oracle Application Express ha soportado la integracin de servicios Web en varias versiones, pero con Oracle Application Express 3.0, ese soporte
ha sido mejoradopor ejemplo, ahora se soportan los servicios Web de estilo documento. Oracle Application Express 3.0 tambin permite la
creacin manual de referencias de servicios Web. Esta columna muestra cmo crear referencias de servicios Web manualmente, utilizando una de
las API de servicios Web de YouTube.

Fjese que debe crear este ejemplo en su propia instancia de Oracle Application Expressel sitio apex.oracle.com no brinda soporte para las
llamadas de red externas, de manera que no puede utilizarse para este proyecto.

Generalidades

Oracle Application Express 3.0 ofrece dos enfoques para agregar servicios Web a una aplicacin:
Generar referencias de servicios Web utilizando un wizard para crear automticamente mensajes de solicitud Simple Object Access Protocol (SOAP)
vlidos con parmetros de entrada, parmetros de salida y operaciones especificadas, sobre la base de Web Services Description Language
(WSDL).
Crear referencias de servicios Web manualmente. Primero, examine WSDL, y luego cree SOAP para la solicitud. En general, necesitar una
herramienta SOAP para ayudar a determinar SOAP, pero en esta aplicacin de muestra, los detalles para las API XML-RPC son ofrecidos por el sitio
YouTube.

Ejemplo del Servicio Web Estilo XML-RPC de YouTube

YouTube ( www.youtube.com) ofrece acceso a varias reas de su repositorio de video mediante una interface API abierta que permite integrar
fcilmente el contenido de YouTube en una aplicacin. Las API de YouTube permiten obtener informacin sobre videos y obtener videos por nombre
o nombre de usuario. Para este proyecto de aplicaciones de muestra, usted obtendr solo videos de msica y los desplegar en un formato estilo
informe. Las API de servicios Web de YouTube estn en formato Representational State Transfer (REST) y XML-RPC. Este ejemplo describe cmo
crear una aplicacin Oracle Application Express que interacte con la API de servicios Web XML-RPC de los videos de msica YouTube.

Para utilizar las API de YouTube, usted debe tener una cuenta YouTube (es gratuita) y debe obtener un ID de desarrollador (tambin gratuito). Su ID
de desarrollador est incluido en el documento de solicitud XML-RPC y se enva con cada solicitud a la API. Para obtener su ID de desarrollador y
cuenta, visite www.youtube.com/dev.

El proyecto de aplicaciones de muestra consta de los siguientes pasos:

Paso 1: Crear una aplicacin Oracle Application Express


Paso 2: Crear una referencia Web manual
Paso 3: Probar la referencia Web
Paso 4: Crear un proceso para asociarlo con el servicio Web
Paso 5: Extraer el documento XML incorporado
Paso 6: Crear un informe sobre la referencia Web manual
Paso 7: Perfeccionar el informe

Paso 1: Crear una aplicacin. Antes de crear la referencia Web manual en el servicio Web XML-RPC de videos de msica YouTube, debe crear
una aplicacin en Oracle Application Express.

1.Ingrese a su espacio de trabajo Oracle Application Express.


2.Seleccione Crear Aplicacin en el men de Creacin de Aplicaciones para lanzar el wizard Crear Aplicacin.
3.Ingrese un nombre para la aplicacin, como SimpleVideoService.
4.Haga click en Siguiente para continuar. Aparece la opcin Agregar Pgina.
5.Seleccione el estilo de pgina en blanco, y agregue una pgina en blanco a la aplicacin. Deje los valores por defecto, y haga click en
Siguiente para transitar el wizard y terminar de crear la aplicacin.

Si su instancia Oracle Application Express requiere un servidor proxy para llegar a las pginas en internet, usted debe definir el servidor proxy en
Definicin de Aplicaciones (Shared Components -> Application -> Definition).

Paso 2: Crear una referencia Web manual. Para crear una referencia Web manual, ingrese la URL en el servicio Web y defina el documento a
enviar. Los resultados se almacenarn en un grupo, que definir en los pasos de abajo. Para crear una referencia Web manual:

1.Haga click en Componentes Compartidos.


2.Haga click en Referencias de Servicios Web.
3.Haga click en Crear. Se inicia el wizard Crear Referencia de Servicios Web, y despliega el mensaje "Quiere buscar un registro UDDI para
encontrar el WSDL?"
4.Seleccione No, y haga click en Siguiente. Aparecen los campos para credenciales de autenticacin y ubicacin WSDL. Ignrelos.
5.En la regin Tareas en la seccin derecha de la pgina, haga click en Crear Referencia de Servicios Web Manualmente para abrir una
pgina de propiedades de Crear/Editar Servicio Web, con regiones para el nombre del servicio Web, descripcin del servicio, definicin
SOAP y respuesta SOAP. Ingrese los detalles que se muestran en la Lista 1.

Lista de Cdigo 1: Propiedades de servicios Web.


Name: YouTube Music Videos
URL: http://www.youtube.com/api2_xmlrpc
SOAP Envelope:

<?xml version='1.0'?>
<methodCall>
<methodName>youtube.videos.list_by_category_and_tag</methodName>
<params>
<param><value><struct>
<member>
<name>dev_id</name>
<value><string>YOUR_DEV_ID</string></value>
</member>
<member>
<name>category_id</name>
<value><int>10</int></value>
</member>
<member>
<name>tag</name>
<value><string></string></value>

1 de 3 31/03/2017 15:44
Artculos: Lenguajes de Programacin Dinmicos - Taller sobre Integra... http://www.oracle.com/technetwork/es/articles/dsl/o67browser-09027...

</member>
<member>
<name>per_page</name>
<value><int>5</int></value>
</member>
</struct></value></param>
</params>
</methodCall>

Store Response in Collection: YOUTUBE_MUSIC_VIDEOS

6.Haga click en Crear. Aparece el componente de Videos de Msica YouTube en la pgina de Referencias de Servicios Web.
7.Haga click en el componente de Videos de Msica YouTube para seleccionarlo para su prueba (en el prximo paso).

Paso 3: Pruebe la referencia Web. Para probar la referencia Web manual que cre para la lista de videos de msica de YouTube, debe tener
seleccionado el componente en la pgina de Referencias de Servicios Web:

1.Seleccione Detalles de la lista Ver, y luego haga click en Ir. Aparece el componente en una tabla justo debajo de la fila de seleccin.
2.Haga click en el cono Probar al lado de la referencia Videos de Msica YouTube. Aparece una pgina de Respuesta y SOAP Envelope.
3.Haga click en Probar.
4.Vea la respuesta en el rea Texto Resultante.

La seccin de respuesta despliega la respuesta XML-RPC, una cadena que contiene un documento XML autnomo, con escape. El documento XML
incorporado contiene la informacin sobre los videos de msica. (En el paso 5, ver cmo hacer para que el contenido est sin escape, para que se
despliegue adecuadamente en un informe).

Paso 4: Crear un proceso para asociarlo con el servicio Web. Ahora que ya ha creado la referencia de servicio Web, debe invocarla desde su
aplicacin. Para crear el proceso que invoca la referencia Web:

1.Navegue hasta la definicin de la pgina 1.


2.Haga click en el cono ms (+) en la seccin Procesos de Presentacin de Pgina.
3.Seleccione Servicios Web para la categora del proceso, y haga click en Siguiente.
4.Ingrese Call YouTube Music Video Service en el campo Nombre, y haga click en Siguiente.
5.Seleccione los Videos de Msica de YouTube desde la lista de Referencia de Servicios Web, y haga click en Siguiente.
6.Deje el rea de mensajes en blanco, y haga click en Siguiente.
7.Haga click en Crear Proceso.

Paso 5: Extraiga el documento XML. La API de Videos de Msica YouTube devuelve una cadena (una respuesta XML-RPC) que contiene un
documento XML autnomo con escape con el resultado de la llamada de la API: la lista de videos de msica. (Cuando el XML no est fugado, el
resultado es el mismo como respuesta a una llamada REST.) Usted quiere que la aplicacin reporte sobre este resultado, entonces ahora cree un
proceso que extraiga el documento y elimine el escape del XML. El proceso tambin actualiza el grupo utilizado para almacenar la respuesta con el
valor del documento extrado. Para crear un proceso que extraiga el documento XML:

1.Haga click en el cono ms (+) en la regin Procesos de Presentacin de Pgina.


2.Seleccione PL/SQL de la lista Categora del Proceso, y haga click en Siguiente.
3.Ingrese Extract Embedded Document en el campo Nombre.
4.Ingrese 20 en el campo Secuencia, y haga click en Siguiente.
5.Ingrese el cdigo de la Lista 2 en el rea de texto Ingresar Proceso de Pgina PL/SQL.

Lista de Cdigo 2: Cdigo PL/SQL que procesa el XML


declare
l_clob clob;
l_xml xmltype;
l_val clob;
begin
for c1 in (select clob001
from apex_collections
where collection_name = 'YOUTUBE_MUSIC_VIDEOS'
) loop
l_clob := c1.clob001;
exit;
end loop;

l_xml := xmltype.createxml(l_clob);

l_val := dbms_xmlgen.convert(l_xml.extract('/methodResponse/params/param/value/
string/text()').getclobval(),1);

apex_collection.update_member_attribute(
p_collection_name => 'YOUTUBE_MUSIC_VIDEOS',
p_seq => '1',
p_clob_number => '1',
p_clob_value => l_val );
end;

6.Deje el rea de mensajes en blanco, y haga click en Siguiente.


7.Seleccione PL/SQL de la lista Tipo de Condicin.
8.Haga click en Crear Proceso.

Paso 6: Cree un informe sobre la referencia Web manual. Para desplegar el resultado de la referencia de servicios Web, cree un reporte
utilizando el wizard "Crear Reporte en un Servicio Web Manual". Para este paso, debe proporcionar informacin sobre la estructura del documento
de respuesta XML. Para crear un reporte de un servicio Web manual:

1.Haga click en el cono ms (+) en el rea Regiones de la Presentacin de Pgina.


2.Seleccione Reporte en la lista Tipo de Regin, y haga click en Siguiente.
3.Seleccione Reporte en el grupo que contiene el resultado del servicio Web, y haga click en Siguiente.
4.Ingrese Music Videos en el campo Ttulo, y haga click en Siguiente.
5.Seleccione Creado Manualmente de la Referencia Web y haga click en Siguiente. Aparecen varios campos de ingreso para definir el estilo
SOAP y el formato del mensaje. Complete los campos de la siguiente manera:

De la lista Referencia de Servicios Web, seleccione Videos de Msica de YouTube.


Para el estilo SOAP, seleccione RPC.
Deje el Espacio de Nombre del Mensaje en blanco, y haga click en Siguiente.
Para Ruta de Nodo Resultante, ingrese /video_list/video.
Para Nombres de Parmetro, ingrese los siguientes nombres:

title
author
rating_avg

2 de 3 31/03/2017 15:44
Artculos: Lenguajes de Programacin Dinmicos - Taller sobre Integra... http://www.oracle.com/technetwork/es/articles/dsl/o67browser-09027...

description
url
thumbnail_url
6.Haga click en Aplicar Cambios.
7.Desmarque el casillero Mostrar en la fila de la columna url.
8.Haga click en el cono Mover Arriba en la fila de la columna thumbnail_url hasta que aparezca directamente despus de la columna ttulo.
9.Haga click en Aplicar Cambios.

Ejecute la pgina para ver sus mejoras. La Figura 1 muestra un resultado de muestra.

Conclusin

Oracle Application Express permite crear aplicaciones que se integran con otras aplicaciones en otras plataformas, al soportar el consumo de
servicios Web. Facilita la creacin de aplicaciones basadas en Servicios Web estilo XML-RPC como la API de Videos de Msica de YouTube.

David Peake ( david.peake@oracle.com) es gerente principal de productos en la divisin de Tecnologas de Servidor de Oracle. Trabaja con Oracle
desde 1993.

3 de 3 31/03/2017 15:44

You might also like