Comunidad de diseño web y desarrollo en internet online

Utilización básica de webservice en Flex

Una forma muy habitual de compartir información de tu sistema con "extraños" o sea, otras empresa, sistemas, servicios es por medio de webservices.

¿Pero que es un web service?
Un web service es en su explicación mas sencilla, la publicación de funciones para el uso externo al sistema en donde son generados.
Veamos ejemplos:

Ejemplo 1:
Tengo un sistema de stock desarrollado en Java y por otro lado un sistema de gestión de pedidos en python (en otro servidor, dominio o incluso en otro continente). ¿Como el sistema de gestión accede a los datos de stock (suponiendo que no debe acceder a los datos en crudo)? Pues una buena solución es mediante webservices.

Ejemplo 2:
Se desarrolla la lógica de negocio en una capa en .Net de algún sistema ERP y se lo desea consumir desde diferentes sistemas, por un lado hacer el frontend en Flex y por otro en un sistemas heredado visualizar datos del ERP.

¿Que se puede hacer con un WS?
Se puede hacer todo lo que se quiera, editar información, ABM, leer datos, transformar datos, ejecutar lógica de negocios, etc... solo lo limita nuestra imaginación.

¿Donde tengo una explicación mas detallada?
Como siempre la wikipedia son salva: http://es.wikipedia.org/wiki/Webservice


Bueno, como verán los webservice son muy útiles en gran cantidad de ocasiones.

Ejemplo Flex
Veamos como consumir un WebSevice desde Flex de una manera muy sencilla.

Código :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="100%" height="100%">
   
   <mx:Script>
      <![CDATA[
         import mx.controls.Alert;
         import mx.rpc.events.FaultEvent;
         import mx.rpc.events.ResultEvent;
         
         [Bindable]
         private var wsdl:String = "aca_va_el_url_al_webservice";
         
         private function onClickLoadQVD():void
         {
            webService.GetQVD("hola");
         }
         private function getQVD_result(event:ResultEvent):void
         {
            Alert.show("ok", "ok", Alert.OK);
            textArea.text = webService.GetQVD.lastResult;
         }
         private function getQVD_fault(event:FaultEvent):void
         {
            Alert.show("fault", "fault", Alert.OK);
            textArea.text = "";
         }
      ]]>
   </mx:Script>
   
   <mx:WebService id="webService" wsdl="{wsdl}" showBusyCursor="true">
        <mx:operation name="GetQVD"
                resultFormat="e4x"
                result="getQVD_result(event);"
                fault="getQVD_fault(event);" />
    </mx:WebService>
   
   <mx:Button label="Load QVD" click="onClickLoadQVD()" />
   
   <mx:TextArea id="textArea" width="100%" height="100%" />
</mx:Application>



Bueno, espero que les sirva el tip.

Saludos!

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate