La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

CI-2413 Desarrollo de aplicaciones para Internet

Presentaciones similares


Presentación del tema: "CI-2413 Desarrollo de aplicaciones para Internet"— Transcripción de la presentación:

1 CI-2413 Desarrollo de aplicaciones para Internet
Servicios Web CI Desarrollo de aplicaciones para Internet

2 Servicios Web A través de los años ha habido varios intentos de lograr interoperabilidad entre computadores en redes. Sin embargo este objetivo ha sido elusivo. Han existido estándares como CORBA, DCOM y RPC. Los Servicios Web son una evolución o modernización de los viejos conceptos de interoperabilidad.

3 Servicios Web Los servicios Web son intercambio de datos entre un servidor y un cliente, utilizando una norma de formato XML para "empacar" solicitudes y datos de tal manera que ambos sistemas puedan "entenderse". El servidor y el cliente pueden ambos ser servidores Web, o cualquier otro aparato electrónico en el que se pueda pensar.

4 Servicios Web El intercambio de datos en el Web, típicamente ocurre vía TCP el puerto 80, utilizando el POST del protocolo HTTP. Los servicios Web operan básicamente de la misma manera que operan los navegadores Web. La diferencia es que en vez de HTML se trasiega XML. O sea, los servicios Web se encuentran disponibles en cualquier lugar de Internet, de la misma manera que lo hacen los navegadores, incluso pasando por firewalls.

5 Servicios Web Sobre el intercambio de datos, también se necesita información que describa la interfaz (o la Interfaz de Programas de Aplicación - API). Esto hace que el servicio Web sea útil al resto de Internet, permitiendo así otros desarrolladores crear programas que pueden acceder sus servicios Web. Esto lo llamamos el componente de descripción, y la norma WSDL (Web Service Description Language) es la que permitirá esto.

6 Servicios Web Sobre el componente anterior, hay información que describe la naturaleza del servicios mismo, de tal manera que pueda ser categorizado y encontrado en sitios que ofrezcan directorios de servicios Web. Esta es la capa de descubrimiento, la cual es tratada por la norma UDDI (Universal Description, Discovery and Integration).

7 Servicios Web Ambos componentes, el de descripción y el de descubrimiento son simplemente XML, gobernadas por un formato particular que habilita a la información relevante ser encontrada para todos los servicios Web en Internet.

8 XML-RPC (Componente de empaque)
Es una norma muy simple, ya que sus 1500 palabras, comparadas con las más de de SOAP, hacen que sea fácil de utilizar. XML-RPC significa eXtensible Markup Language – Remote Procedure Calls, o en castellano, llamados a procedimientos remotos XML.

9 XML-RPC Ejemplo de comunicación (cliente):
POST /InterfazXMLRPC HTTP/1.0 User-Agent: ECCI XML-RPC Client 1.0 Host: xmlrpc.ecci.ucr.ac.cr Content-type: text/xml Content-length: 195 <?xml version="1.0"?> <methodCall> <methodName>forums.getNumTodaysThreads</methodName> <params> <param><value><string>PHP Development</string></value></param> </params> </methodCall>

10 XML-RPC Ejemplo de comunicación (servidor): HTTP/1.1 200 OK
Connection: close Content-Length: 148 content-Type: text/xml Date: Tue, Oct :59:04 GMT Server: ECCI XML-RPC Server 1.0 <?xml version="1.0"?> <methodResponse> <params> <param> <value><int>42</int></value> </param> </params> </methodResponse>

11 XML-RPC, ejemplo: int A + int B
Código del cliente: include("xmlrpc.inc"); $a=new xmlrpcval($_POST['a'], "int"); $b=new xmlrpcval($_POST['b'], "int"); $f=new xmlrpcmsg('matematica.suma', array($a, $b)); $c=new xmlrpc_client("/~bsolano/xml-rpc/servidor.php", "localhost", 80); $c->setDebug(0); $r=$c->send($f); if (!$r) { die("send failed"); } $v=$r->value(); echo "La suma da: " . $v->scalarval();

12 XML-RPC, ejemplo: int A + int B
Código del servidor: include("xmlrpc.inc"); include("xmlrpcs.inc"); function suma($params) { $a=$params->getParam(0); $b=$params->getParam(1); $c = $a->scalarval() + $b->scalarval(); return new xmlrpcresp(new xmlrpcval($c)); } $suma_sig=array(array($xmlrpcInt, $xmlrpcInt, $xmlrpcInt)); $suma_doc='Suma dos enteros A y B.'; $s=new xmlrpc_server( array( "matematica.suma" => array("function" => "suma", "signature" => $suma_sig, "docstring" => $suma_doc)));

13 XWT XWT es XML Windowing Toolkit. Permite crear aplicaciones remotas, o sea que corren en un servidor. La interfaz gráfica es “proyectada” en cualquier computadora en Internet. Esto es útil para: Usuarios muy volubles: Cualquier persona que utiliza muchas computadoras. Ambientes de clientes livianos: El usuario necesita hardware de bajo costo, y se libera del monitoreo de seguridad, parcheo, instalación, actualización y desinstalación del software.

14 XWT Esto es útil para: Software como un servicio: ASPs pueden trascender las limitaciones de HTML y “alquilar” aplicaciones con interfaces de usuario ricas. Los clientes interesados en comprar y hospedar la aplicación la pueden probar antes de comprometer recursos a la configuración y el desarrollo.

15 XWT

16 Ejemplos de XWT Se pueden encontrar varios ejemplos de XWT en Se puede ver un ejemplo de XWT utilizado para crear un juego en

17 SOAP SOAP (Simple Access Object Protocol) es protocolo XML para intercambio de información estructurada. Con PHP 5, podemos tener Clientes y Servidores SOAP nativos (extensión C y no biblioteca PHP).

18 Ejemplos Avanzados de Pear::SOAP

19 Lista de ejemplos Visual Studio .NET
XML Windowing Toolkit ( Las páginas mismas con lenguajes que tienen apoyo a XML-RPC y SOAP. Aplicaciones en campos específicos como OpenArchives ( Jabber ( Servicios como Portal de Búsqueda Google

20 Documentos http://w3schools.com
Computer. Vol. 36, Nº 10. Octubre del 2003.

21 Documentos http://web-services.bankhacker.com/

22 Conclusiones Internet es un conjunto de protocolos. Así nació y así sigue siendo. Incluso cada día se agregan nuevos protocolos a este conjunto. El desarrollo de aplicaciones para Internet no es la simple creación de páginas interactivas. Existe una gran gama de aplicaciones que se pueden crear.

23 Conclusiones La tendencia es la creación de aplicaciones en capas con una o varias tecnologías que se comunican por medio de protocolos como SOAP o XML-RPC. A partir del concepto de desarrollo en capas nace el concepto de Servicio Web.

24 Conclusiones Hay alternativas para las tecnologías propietarias mayores que dominan el mercado. Por ejemplo: una combinación de XWT con PHP por medio de XML-RPC, podría reemplazar una aplicación de Visual Studio .NET, aligerando el costo de las licencias.


Descargar ppt "CI-2413 Desarrollo de aplicaciones para Internet"

Presentaciones similares


Anuncios Google