Los Servicios Web (Web Service) permiten a las aplicaciones compartir
información e incluso invocar funciones de otras aplicaciones independientes, sin
importar el sistema operativo, plataforma en la que se ejecuten o incluso el
dispositivo que se utilice para acceder a ellos. Los Web Services aunque son
independientes pueden tener comunicación entre ellas y formar grupos de
colaboración para poder realizar una tarea específica.
Todos sabemos que una rutina encierra cierto proceso o algoritmo, y que
cumple una función clara. Muchas rutinas y un guión central componen un
programa en lo que se llama "programación estructurada". Un Servicio Web viene a
ser una rutina en Internet.
Pero, ¿por qué se llama "Servicio Web" y no "Rutina en Internet"? Los
protocolos que soportan los servicios web se comunican normalmente por el puerto
80, basándose en HTTP. Esto hace que podamos acceder a ellos al igual que lo
hacemos con una página web. La diferencia entre una página web y un Servicio
Web, es que la página es visitada por cualquier individuo interesado, mientras que
el servicio sólo lo visitan programas que lo requieren.
Referencia: http://web-services.bankhacker.com/
La aplicación que se va a desarrollar es para saber el tipo de cambio con
diferentes tipos de divisas, para lo cual se usará el siguiente Servicio Web ubicado
en la dirección http://www.webservicex.net/CurrencyConvertor.asmx?WSDL
En este servicio web si abrimos la liga directamente nos muestra su
estructura y que datos son los que se deben enviar para que el servicio nos
devuelva una respuesta. En este caso los parámetros que nos pide este servicio es
los dos tipos de divisas o monedas de los cuales se quiere saber el tipo de cambio,
por ejemplo el Peso Mexicano tiene una nomenclatura de MXN, mientras que la del
Dollar Americano es USD. Por lo tanto mandaremos a través de Flash MX 2004 Pro
ambas nomenclaturas para que el servicio web nos devuelva una respuesta.
Al igual que en una receta de cocina necesita de ingredientes, necesitaremos
varios componentes y objetos para realizar nuestra aplicación.


Vamos ahora a enlazar nuestra aplicación con el WebService (Para los siguientes pasos es necesario estar conectado a Internet).
Abre el panel Servicios Web, ubicado en el menú Ventana / Paneles de desarrollo / Servicios Web.

Figura 3.- Panel Servicios Web
En dicho panel, da clic en el menú desplegable ubicado en la esquina superior derecha y selecciona la opción "Definir servicios Web…"




La mayoría de los servicios Web presentan una estructura muy parecida, por lo tanto se te hará fácil identificar cada una de las partes de dicho servicio.
Con referencia a la figura anterior:
Hasta ahora ya hicimos como quien dice el enlace con el servicio Web y obtuvimos la información necesaria para poder obtener un resultado, ahora necesitamos configurar nuestros componentes para que envíen y reciban información del servicio Web. Para esto continuemos con los siguientes pasos.
Selecciona el componente WebServiceConnector que se encuentra en el escenario, haciendo uso del panel Propiedades selecciona la pestaña Parámetros y en el campo “WSDLURL”, introduce la misma dirección del servicio Web (http://www.webservicex.net/CurrencyConvertor.asmx?WSDL). Y en el campo “operation”, selecciona la función “ConversionRate”.



Selecciona el primer parámetro ( FromCurrency:String ) y da clic en el botón Aceptar.
En la pestaña de “Vinculaciones” del panel Inspector de componentes debe
de aparecer el parámetro que seleccionaste. Da clic en la lupa que aparece cuando
das clic en el campo “bound to”.


Bueno, simplemente le dijimos al componente WebServiceConnector que el primer parámetro lo va a proporcionar el ComboBox llamado cmbMoneda, a su vez que el dato proporcionado es el valor seleccionado del combo y que es del tipo String o cadena.
Ahora repite los mismos pasos para vincular el segundo parámetro con el segundo combobox.
Ya que ambos parámetros han sido vinculados con los combobox, ahora es necesario vincular el resultado del servicio web con el componente TextInput. Para ello volvemos a dar clic en el signo ( + ) de la pestaña vinculaciones, y en la siguiente ventana selecciona el ultimo dato “results:Number”, para finalizar presiona el botón Aceptar.

Dar clic en la opción “bound to”. Al aparecer la ventana “Vinculando a” en el panel “Ruta del componente” selecciona el TextInput y en el panel “Ubicación del esquema” selecciona la única opción disponible “text:String”.

De esta forma terminamos de vincular el sevicio Web con nuestros respectivos componentes.
Ahora habrá que configurar los componentes ComboBox para que puedan enviar los datos requeridos por el servicio Web.
Selecciona el primer ComboBox (“cmbMoneda1”) y con ayuda del panel Propiedades da clic en la opción “Data” y vuelve a dar clic sobre la lupa que aparece de lado derecho.


Una vez que se hayan asignado las nomenclaturas al Combobox, habrá que agregar las etiquetas en el mismo orden en que fueron incluidas las nomenclaturas, para ello se debe de dar clic en la lupa que aparece en el campo “labels” del panel Propiedades.
Repite los pasos anteriores con el segundo ComboBox para que ambos componentes tengan las mismas nomenclaturas y etiquetas. (Si lo prefieres, copia y pega el primer combobox y únicamente cambia el nombre de instancia a “cmbMoneda2” y elimina el otro que esta vacío).
Ya estamos por finalizar nuestra aplicación, ahora nos falta únicamente configurar el botón para que mande los parámetros y recibamos el resultado.
Selecciona el botón y cambia su etiqueta con un mensaje descriptivo a lo que va a realizar, este caso le puse “Ver tipo de cambio”. Hay que asegurarnos que le hayamos dado un nombre de instancia.
Creamos una capa nueva en la línea de tiempo principal y seleccionado el frame 1 presionamos la tecla F9 para abrir el panel Acciones.
Ingresa el siguiente código:
//Creamos un objeto nuevo del tipo objeto
var on_Release = new Object();
//Declaramos la función que se va a realizar cuando se haga clic
on_Release.click = function(evt) {
//Limpiamos la caja de texto
txtCambio.text = "";
//Lanza la función del webservice
_root.wsConversor.trigger();
};
//Asignamos el Listener al componente botón
botCambio.addEventListener("click", on_Release);
Guarda tu documento y presiona Ctrl + Enter para publicar tu SWF y ver como funciona tu conversor de divisas mediante WebService.
De esta forma finalizamos con los pasos para elaborar nuestra aplicación. Ya contando con algo de diseño pues es posible que nos quede algo así o mucho mejor, eso es cuestion de su creatividad.


El proceso para conectar un Web Service con Flash MX 2004 Pro es bastante sencillo como se puede apreciar, simplemente se necesita la dirección del Web Service, saber cual es la función que realiza, los parámetros que necesita y que resultado es el que arroja, de igual forma debemos indicar de que componentes u objetos se obtendrán los parámetros y en donde queremos recoger el resultado.
Espero que les haya sido de utilidad, nos leeremos después. Sus dudas o comentarios, por favor, dirijanlos al foro
Atentamente
Ing. Julio Heberto González Morales
Ejemplo del tutorial
Archivos del tutorial
Si tienes alguna pregunta de este tutorial; puedes hacerla aqui en los foros