Llamar a un Web Services desde Oracle Forms
13/04/2010 -
Una de las ventajas que aporta Forms en tres capas ya desde la versión 9i pero en especial en la nueva versión 11g, es la integración con otras tecnologías.
En este post vamos a ver lo sencillo que es integrar forms, una tecnología de más de 20 años, con una de las tecnologías que han irrumpido últimamente en el mundo del desarrollo de aplicaciones y de soluciones TI empresariales, que no es otra que SOA y en concreto Web Services.
Para consumir un Servicio desde Forms hay que seguir los siguientes 4 pasos.
Paso 1. Identificar el WSDL
El proveedor del servicio nos ha facilitar la URL del WSDL (Web service definition lenguaje). Mediante WSDL se define la interfaz pública a los servicios Web. En definitiva describe la forma de comunicación entre consumidor del servicio y proveedor del servicio.
Como ejemplo utilizaremos el siguiente servicio público que nos devuelve la temperatura actual de la ciudad indicada. El WSDL está en.
http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=48
Paso 2. Crear un proxy
Desde JDeveloper y a través de un wizard crearemos una clase Java que tendrá como misión actuar de “puente” entre forms y el Servicio Web. Os muestro los pasos más importantes en el siguiente GIF animado.
Una vez creado nuestro proyecto podemos probarlo desde el mismo JDeveloper.
Paso 3. Empaquetar el proxy
Crearemos un .jar que será lo que utilizaremos desde Oracle Forms.
Paso 4. Importar desde Oracle Forms
Para poder utilizar el proxy JAVA desde forms hemos primero de configurar lo siguiente.
- En tiempo de diseño. Añadir en variable de sistema CLASSPATH el nuevo .jar
- En ejecución. Configurar el fichero de environment del servidor de aplicaciones donde está desplegada nuestra aplicación Forms añadiendo nuestro .jar en la variable CLASSPATH
Una vez configurado, desde la utilidad Java Importer del Forms builder importaremos las clases Java necesarias para utilizar el proxy.
El PL/SQL para consumir el servicio desde forms.
El resultado.