Pasó a ser un blog de divagues, pero inicialmente prentendí que sea también de cuestiones técnicas, finalmente la parte técnica lo pasé a mi foro en www.eaprende.com
viernes, 9 de marzo de 2007
sobre WebService en php!
En esta oportunidad como mi primer ´gran´contribucion a los ya miles de BLogs les queria comentar sobre WEBService!....
El nuevo proyecto Web en el cual me vi involucrado consistía entre otras cosas en consumir datos de un webservice, dicho servicio estaba generado por un entorno Genexus y este a su vez se basaba en una plataforma de trabajo en AS400, el proyecto era para un banco de plaza muy importante como es el de Sudameris Bank, pueden ver como va quedando el proyecto, http://www.sudamerisbank.com.py/, mas específicamente la cotización de monedas es un resultado consumiendo un webservice.
la base del webservide es el protocolo SOAP, seguro qe existen otros protocolos pero con el cual me toco trabajar es este.
Qué es SOAP?
SOAP es Simple Object Access Protocol, un estándar propuesto por Microsoft, IBM y otros al Consorcio WWW (W3C) para el intercambio de mensajes entre servicios web y los consumidores de estos servicios.
El protocolo SOAP esta construido sobre XML y solo describe el formato de los mensajes dejando abierta la posibilidad de usar varios transportes, aunque actualmente el transporte usado es HTTP. La elección de HTTP como transporte se debe a que es el transporte más usado, y si una organización de cualquier tipo provee una sola salida o conexion con el mundo exterior (internet) lo mas probable es que sea HTTP.
El protocolo define un "sobre" (envelope) en el que se empaqueta el requerimiento donde se especifica el destinatario de la llamada, el nombre del método que se invoca y opcionalmente una serie de parametros con tipos definidos. La respuesta a este requerimiento se empaqueta de la misma forma, en un "sobre" que contiene el resultado del método invocado.
La utilidad de este mecanismo consiste en que con un conjunto de servicios simples se puede implementar aplicaciones que entreguen funcionalidad valiosa mediante la integración de estos servicios básicos o mediante el uso programático de estos.
SOAP se enmarca dentro de lo que se llama "component based arquitectures", o sea arquitecturas basadas en componentes. Aqui la idea básica es que es mas facil identificar ciertas tareas que se programan muchas veces y en lugar de programarlas cada vez que se requieren es mas eficiente hacerlas una vez de manera que puedan ser invocadas desde una variedad de aplicaciones clientes o, para usar un termino mas moderno, "consumidores de servicios". De esto se desprende una de las cualidades fundamentales que debe tener la tecnología necesaria para crear componentes y es que debe ser muy flexible permitiendo incorporarla con la misma facilidad a aplicaciones en plataformas muy diversas, por ejemplo una aplicación web escrita en PHP o JSP, una aplicación de escritorio en Visual Basic o C++ o una aplicación servidor en Java.
Utilicé para este desarrollo la librería "nuSOAP" que es una implementación SOAP para PHP. Puedes bajar la libre desde http://dietrich.ganx4.com/nusoap/index.php
En el siguiente link tienes una explicación mas detallada sobre este tema http://www.desarrolloweb.com/articulos/1853.php
Pero en resumidas cuentas la finalidad del webservice es hacer o publicar un “origen” de datos “publico y seguro” con el cual se puede comunicar cualquier tecnología o plataforma, independiente al leguaje tanto origen como consumidor; como esta basado en XML es estándar y como esta bajo un protocolo http es seguro, dentro de los Webservice se programan funciones que de acuerdo a ciertos parámetros de entrada procesan (internamente) y devuelven un XML de acuerdo al “pedido”, casi nunca tienen o devuelven un único resultado por que como les dije anteriormente depende del parámetro de entrada
Lic. Néstor Fabián Riveros Godoy (fab!an) Analista de Sistemas Informáticos | Webmaster | Instructor en el IDT desde el 2001 | Instructor Certificado de ADOBE
5 comentarios:
El nuevo proyecto Web en el cual me vi involucrado consistía entre otras cosas en consumir datos de un webservice, dicho servicio estaba generado por un entorno Genexus y este a su vez se basaba en una plataforma de trabajo en AS400, el proyecto era para un banco de plaza muy importante como es el de Sudameris Bank, pueden ver como va quedando el proyecto, http://www.sudamerisbank.com.py/, mas específicamente la cotización de monedas es un resultado consumiendo un webservice.
la base del webservide es el protocolo SOAP, seguro qe existen otros protocolos pero con el cual me toco trabajar es este.
Qué es SOAP?
SOAP es Simple Object Access Protocol, un estándar propuesto por Microsoft, IBM y otros al Consorcio WWW (W3C) para el intercambio de mensajes entre servicios web y los consumidores de estos servicios.
El protocolo SOAP esta construido sobre XML y solo describe el formato de los mensajes dejando abierta la posibilidad de usar varios transportes, aunque actualmente el transporte usado es HTTP. La elección de HTTP como transporte se debe a que es el transporte más usado, y si una organización de cualquier tipo provee una sola salida o conexion con el mundo exterior (internet) lo mas probable es que sea HTTP.
El protocolo define un "sobre" (envelope) en el que se empaqueta el requerimiento donde se especifica el destinatario de la llamada, el nombre del método que se invoca y opcionalmente una serie de parametros con tipos definidos. La respuesta a este requerimiento se empaqueta de la misma forma, en un "sobre" que contiene el resultado del método invocado.
Para qué sirve?
La utilidad de este mecanismo consiste en que con un conjunto de servicios simples se puede implementar aplicaciones que entreguen funcionalidad valiosa mediante la integración de estos servicios básicos o mediante el uso programático de estos.
SOAP se enmarca dentro de lo que se llama "component based arquitectures", o sea arquitecturas basadas en componentes. Aqui la idea básica es que es mas facil identificar ciertas tareas que se programan muchas veces y en lugar de programarlas cada vez que se requieren es mas eficiente hacerlas una vez de manera que puedan ser invocadas desde una variedad de aplicaciones clientes o, para usar un termino mas moderno, "consumidores de servicios". De esto se desprende una de las cualidades fundamentales que debe tener la tecnología necesaria para crear componentes y es que debe ser muy flexible permitiendo incorporarla con la misma facilidad a aplicaciones en plataformas muy diversas, por ejemplo una aplicación web escrita en PHP o JSP, una aplicación de escritorio en Visual Basic o C++ o una aplicación servidor en Java.
Utilicé para este desarrollo la librería "nuSOAP" que es una implementación SOAP para PHP.
Puedes bajar la libre desde http://dietrich.ganx4.com/nusoap/index.php
En el siguiente link tienes una explicación mas detallada sobre este tema
http://www.desarrolloweb.com/articulos/1853.php
Pero en resumidas cuentas la finalidad del webservice es hacer o publicar un “origen” de datos “publico y seguro” con el cual se puede comunicar cualquier tecnología o plataforma, independiente al leguaje tanto origen como consumidor; como esta basado en XML es estándar y como esta bajo un protocolo http es seguro, dentro de los Webservice se programan funciones que de acuerdo a ciertos parámetros de entrada procesan (internamente) y devuelven un XML de acuerdo al “pedido”, casi nunca tienen o devuelven un único resultado por que como les dije anteriormente depende del parámetro de entrada
Publicar un comentario