SlideShare una empresa de Scribd logo
1 de 7
ING. SISTEMAS COMPUTACIONALES
PROGRAMACION WEB
Instituto tecnológico de
tehuacan
Los servicios web han venido a revolucionar el mundo de la programación y de los juegos,
nos ofrecen una infinidad de ventajas y nos ayudan a mejorar la forma de procesar
información. Pero, ¿qué es un servicio web?, pues bien, es computación distribuida
utilizando estándares abiertos como XML y HTTP para llamar o invocar funciones de otras
aplicaciones independientes sea cual sea el sistema operativo o plataforma en que se
ejecutan.
SERVICIOS WEB CON PHP
Para lograr la implementación de servicios web en PHP se usó las tecnologías XML-
RPC y SOAP sobre las cuales se implementaron servidores y clientes consumidores de servicios
web.
Desarrollo de un servidor XML-RPC
Como usaremos el framework XML-RPC desarrollado por Edd Dumbill para desarrollar
nuestros servicios web basados en XML-RPC.
Dicho framework cuenta con la clase xmlrpc_server para construir nuestros servidores, la cual
se ha desarrollado lo más simple posible. El constructor básicamente hace todo el trabajo,
veamos un pequeño ejemplo:
<?php
function foo($parametros){
/* Instrucciones php */
}
$servidor=new xmlrpc_server(array("ejemplo.miFuncion"=>array("function"=>"foo")));
?>
CONSUMO: Desarrollo de clientes SOAP con PHP
<?php
include("xmlrpc.inc");
if ($HTTP_POST_VARS["txtIsbn"]!="")
{ $f=new xmlrpcmsg('libros.buscaIsbn',array(new xmlrpcval($HTTP_POST_VARS["txtIsbn"], "int")));
print "<pre>".htmlentities($f->serialize())."</pre>n";
$c=new xmlrpc_client("/servidor.php", "localhost", 80);
$c->setDebug(0);
$r=$c->send($f);
if (!$r)
{ die("Falló SEND"); }
$v=$r->value();
if (!$r->faultCode())
{ print "Título del libro ".$HTTP_POST_VARS["txtIsbn"]." es ".$v->scalarval()."<BR>"; }
else
{ print "Falla: ";
print "Número de error: " .$r->faultCode()." Descripción del error '".$r->faultString()."'<BR>";}
}
?>
Ya hemos implementado nuestro servidor y nuestro cliente XML-RPC.
SERVICIOS WEB CON PERL
Perl, al igual que la mayoría de los idiomas, oculta al programador de las complejidades
con una caja de herramientas. el soap :: Lite conjunto de herramientas es una de las
implementaciones más completas de jabón disponibles, apoyando ambas versiones 1.1 y
1.2 de soap.
Comencemos por crear el módulo Perl Hello World :
Ejemplo 3-3: Hello.pm
# Hello.pm - Hola módulo sencillo
paquete Hello;
sub sayHello {
turno; # eliminar nombre de la clase
de retorno "Hello". cambio;
}
Este módulo será el código que se encuentra detrás de nuestra interfaz de servicio web.
CONSUMO :El Cliente Hola
Para probar el servicio web Hola, sólo tiene que utilizar el script de cliente .
Ejemplo 3-5: hw_client.pl
! # / Usr / bin / perl-w
# hw_client.pl - Hola cliente
utilización SOAP :: Lite;
mi $ nombre = cambio;
print " n  nCalling el servidor SOAP para saludar  n ";
print "El servidor SOAP dice: ";
impresión SOAP :: Lite
-> uri ('urn: Ejemplo 1')
-> proxy ('http://localhost/cgi-bin/helloworld.cgi')
-> sayHello ($ name)
-> como resultado. " N  n";
Al ejecutar esta secuencia de comandos que debe dar los siguientes resultados:
% Perl
hw_client.pl James
Llamar al servidor SOAP para saludar
al servidor SOAP dice: Hola James
%
SERVICIO WEB CON JAVA
Existen gran cantidad de implementaciones que ayudan al desarrollo de Servicios Web para cada
uno de los lenguajes de programación.
Sun provee de una serie de tecnologías en su versión Java EE para el desarrollo de Servicios Web.
Éstas tecnologías son estándares de desarrollo, así como API’s que especifican el comportamiento
de implementaciones.
A partir de la version 6 (update 4), la plataforma Java estándar (JDK), incluye las APIs para
trabajar con JAX-WS y JAXB, fundamentales para el consumo de web services .
Definiendo un servidio web :
@WebService
Public class cardvalidator{
Public boolean validate(CreditCard creditCard){
String lastDigit=creditCard.getNumber().substring(
creditCard.getNumber().length() -1,
creditCard.getNumber().length());
if()Integer.parseInt(lastDigit)%2!=0){
return true;
} else
{return false;}
}
}
En el ejemplo anterior se intercambia un objeto CreditCard entre el consumidor y el
proveedor del servicio .
Los datos intercambiados, deben ser un documento XML, por lo que se necesita un
método para transformar el objeto Java en un documento XML y viceversa .
Para esto utilizamos JAXB, anotándolo con @javax.xml.bind. annotation.XmlRootElement .
CONSUMO:
Public class Main{
Public static void main(String[] args){
CreditCard creditCard=new CreditCard();
CreditCard.setNumber(“12341234”);
CreditCard.setExpiryDate(“10/10”);
CreditCard.setType(“visa”);
CreditCard.setControlNumber(1234);
CardValidator cardValidator=
new CardValidatorService().getCardValidatorPort();
cardValidator.validate(creditCard);
}
}
SERVICIOS WEB GOOGLE
Los productos que Google ofrece a los desarrolladores.
Android – http://code.google.com/intl/es/android/
Androide es una pila de software para dispositivos móviles que incluye un sistema
operativo, aplicaciones esenciales y middleware
APIs de datos de Google – http://code.google.com/intl/es/apis/gdata/
Las APIs de datos de Google constituyen un sencillo protocolo estándar para leer e
introducir datos en la Web. Por ejemplo: Google Base, Blogger, Google Calendar, Google
Docs y Álbumes web de Picasa.
API de datos de Blogger http://code.google.com/intl/es/apis/blogger/-
La API de datos de Blogger permite a las aplicaciones cliente ver y actualizar contenido de
Blogger como feeds de la API de datos de Google.
APIs de FeedBurner – http://code.google.com/intl/es/apis/feedburner/
FeedBurner ofrece servicios web que permiten interactuar con funciones de generación
de información y administración de feeds.
Autenticación de cuentas de Google – http://code.google.com/intl/es/apis/accounts/
API de Google AdSense – http://code.google.com/intl/es/apis/adsense/
API de Google AdWords http://www.google.com/apis/adwords/-
APIs AJAX de Google – http://code.google.com/intl/es/apis/ajax/
– http://code.google.com/intl/es/apis/ajaxfeeds/API AJAX de Google para feeds
API AJAX de Google Search – http://code.google.com/intl/es/apis/ajaxsearch/
Google Analytics – http://code.google.com/intl/es/apis/analytics/
APIs de Google Apps – http://code.google.com/intl/es/apis/apps/
API de datos de Google Base – http://code.google.com/intl/es/apis/base/
Herramientas y APIs de Google Calendar –
http://code.google.com/intl/es/apis/calendar/
API de Google Chart http://code.google.com/intl/es/apis/chart/–
API de Google Checkout – http://code.google.com/intl/es/apis/checkout/
Google Code Search – http://www.google.com/codesearch
API de datos de Google Code Search –
http://code.google.com/intl/es/apis/codesearch/
Feeds de vales descuento de Google – http://code.google.com/intl/es/apis/coupons/
API de gadgets de Google Desktop – http://code.google.com/intl/es/apis/desktop/
APIs de búsqueda de Google Desktop – http://code.google.com/intl/es/apis/desktop/
API de datos para la lista de Google Docs –
http://code.google.com/intl/es/apis/documents/
– http://code.google.com/intl/es/apis/gadgets/API de gadgets de Google
Google Gears http://code.google.com/intl/es/apis/gears/–
KML de Google – http://code.google.com/intl/es/apis/kml/
Mapplets de Google –
http://code.google.com/intl/es/apis/maps/documentation/mapplets/
API de Google Maps – http://code.google.com/intl/es/apis/maps/
Google Mashup Editor – http://code.google.com/intl/es/gme/
OpenSocial http://code.google.com/intl/es/apis/opensocial/-
- http://code.google.com/intl/es/apis/orkut/Sitio del desarrollador de Orkut APIs de
navegación segura de Google http://code.google.com/intl/es/apis/safebrowsing/-
APIs de Google Search Appliance – http://code.google.com/intl/es/enterprise/
Feeds del Historial de búsquedas de Google –
http://www.google.com/support/accounts/bin/answer.py?answer=54464
– https://www.google.com/webmasters/tools/docs/en/about.htmlGoogle Sitemaps
– http://code.google.com/intl/es/apis/sketchup/API Ruby de Google SketchUp
API de gráficos sociales – http://code.google.com/intl/es/apis/socialgraph/
API de datos de Google Docs – http://code.google.com/intl/es/apis/spreadsheets/
XMPP de Google Talk - http://code.google.com/intl/es/apis/talk/
– http://code.google.com/intl/es/apis/themes/API de Temas de iGoogle
- http://www.google.com/tools/toolbar/buttons/apisAPI de la Barra Google
Especificación de feeds de Google Transit–
http://code.google.com/intl/es/transit/spec/transit_feed_specification.htm
Google Web Toolkit http://code.google.com/intl/es/webtoolkit/-
API de los Álbumes web de Picasa
– http://code.google.com/intl/es/apis/youtube/API de datos de YouTube

Más contenido relacionado

La actualidad más candente

Guia html2
Guia html2Guia html2
Guia html2ljds
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jspdtbadboy0
 
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularFreelancer
 
Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Rafael Franco
 
Guia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositioswebGuia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositiosweblissette_torrealba
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006Samuel Marrero
 
primefaces cortesia del portal de java
primefaces cortesia del portal de javaprimefaces cortesia del portal de java
primefaces cortesia del portal de javaSalvador Olivares
 
Servicio web
Servicio web Servicio web
Servicio web Yael67
 
4. Curso Java JSP (Java Server Pages) - Curso 2005-2006
4. Curso Java JSP (Java Server Pages) - Curso 2005-20064. Curso Java JSP (Java Server Pages) - Curso 2005-2006
4. Curso Java JSP (Java Server Pages) - Curso 2005-2006Samuel Marrero
 
Programación web con JSP
Programación web con JSPProgramación web con JSP
Programación web con JSPousli07
 
Servicios web en php, perl, java
Servicios web en php, perl, javaServicios web en php, perl, java
Servicios web en php, perl, javaFaby Marcos Solis
 
Tutorial de ASP
Tutorial de ASPTutorial de ASP
Tutorial de ASPLeo_Mini
 

La actualidad más candente (20)

Guia html2
Guia html2Guia html2
Guia html2
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jsp
 
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
 
Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011
 
Guia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositioswebGuia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositiosweb
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006
 
Curso Jsp
Curso JspCurso Jsp
Curso Jsp
 
Asp.net
Asp.netAsp.net
Asp.net
 
primefaces cortesia del portal de java
primefaces cortesia del portal de javaprimefaces cortesia del portal de java
primefaces cortesia del portal de java
 
Curso Java Avanzado 3 Js Ps
Curso Java Avanzado   3 Js PsCurso Java Avanzado   3 Js Ps
Curso Java Avanzado 3 Js Ps
 
Servicio web
Servicio web Servicio web
Servicio web
 
4. Curso Java JSP (Java Server Pages) - Curso 2005-2006
4. Curso Java JSP (Java Server Pages) - Curso 2005-20064. Curso Java JSP (Java Server Pages) - Curso 2005-2006
4. Curso Java JSP (Java Server Pages) - Curso 2005-2006
 
Curso Java Avanzado 2 Servlets
Curso Java Avanzado   2 ServletsCurso Java Avanzado   2 Servlets
Curso Java Avanzado 2 Servlets
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
Programación web con JSP
Programación web con JSPProgramación web con JSP
Programación web con JSP
 
Servicios web en php, perl, java
Servicios web en php, perl, javaServicios web en php, perl, java
Servicios web en php, perl, java
 
Curso Jsp Mas
Curso Jsp MasCurso Jsp Mas
Curso Jsp Mas
 
Jquery Hmvc
Jquery HmvcJquery Hmvc
Jquery Hmvc
 
Desarrollo web
Desarrollo webDesarrollo web
Desarrollo web
 
Tutorial de ASP
Tutorial de ASPTutorial de ASP
Tutorial de ASP
 

Similar a Servicios web

Servicios web
Servicios webServicios web
Servicios webitoomac02
 
Servicios web en Java, PHP, Perl y Google
Servicios web en Java, PHP, Perl y GoogleServicios web en Java, PHP, Perl y Google
Servicios web en Java, PHP, Perl y GoogleArmando Nuñez Ramos
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"www.encamina.com
 
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control ToolkitDesarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkitpabloesp
 
App engine
App engineApp engine
App engineThirdWay
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2Steven Gomez
 
Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAlberto Ruibal
 
Aprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAbimael Desales López
 
Generación de web sites dinámicos usando php
Generación de web sites dinámicos usando phpGeneración de web sites dinámicos usando php
Generación de web sites dinámicos usando phpvictdiazm
 
Generacion de web sites dinamico
Generacion de web sites dinamicoGeneracion de web sites dinamico
Generacion de web sites dinamicoJose Luis Crespo
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTBEEVA_es
 
JSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APIJSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APICloudAppi
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)lenny
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)INSIGNIA4U
 
Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios Joaquín Salvachúa
 
Presentacion remobjects
Presentacion remobjectsPresentacion remobjects
Presentacion remobjectsmamcx
 

Similar a Servicios web (20)

Servicios web
Servicios webServicios web
Servicios web
 
Servicios web en Java, PHP, Perl y Google
Servicios web en Java, PHP, Perl y GoogleServicios web en Java, PHP, Perl y Google
Servicios web en Java, PHP, Perl y Google
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
 
Pdfwebservices
PdfwebservicesPdfwebservices
Pdfwebservices
 
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control ToolkitDesarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
 
Servicios web
Servicios webServicios web
Servicios web
 
App engine
App engineApp engine
App engine
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2
 
Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en Android
 
Aprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDB
 
Generación de web sites dinámicos usando php
Generación de web sites dinámicos usando phpGeneración de web sites dinámicos usando php
Generación de web sites dinámicos usando php
 
Generacion de web sites dinamico
Generacion de web sites dinamicoGeneracion de web sites dinamico
Generacion de web sites dinamico
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API REST
 
JSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APIJSDays Desarrolla tu primera API
JSDays Desarrolla tu primera API
 
Ajax
AjaxAjax
Ajax
 
Servidores
ServidoresServidores
Servidores
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
 
Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios
 
Presentacion remobjects
Presentacion remobjectsPresentacion remobjects
Presentacion remobjects
 

Último

TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 

Último (20)

Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 

Servicios web

  • 1. ING. SISTEMAS COMPUTACIONALES PROGRAMACION WEB Instituto tecnológico de tehuacan
  • 2. Los servicios web han venido a revolucionar el mundo de la programación y de los juegos, nos ofrecen una infinidad de ventajas y nos ayudan a mejorar la forma de procesar información. Pero, ¿qué es un servicio web?, pues bien, es computación distribuida utilizando estándares abiertos como XML y HTTP para llamar o invocar funciones de otras aplicaciones independientes sea cual sea el sistema operativo o plataforma en que se ejecutan. SERVICIOS WEB CON PHP Para lograr la implementación de servicios web en PHP se usó las tecnologías XML- RPC y SOAP sobre las cuales se implementaron servidores y clientes consumidores de servicios web. Desarrollo de un servidor XML-RPC Como usaremos el framework XML-RPC desarrollado por Edd Dumbill para desarrollar nuestros servicios web basados en XML-RPC. Dicho framework cuenta con la clase xmlrpc_server para construir nuestros servidores, la cual se ha desarrollado lo más simple posible. El constructor básicamente hace todo el trabajo, veamos un pequeño ejemplo: <?php function foo($parametros){ /* Instrucciones php */ } $servidor=new xmlrpc_server(array("ejemplo.miFuncion"=>array("function"=>"foo"))); ?> CONSUMO: Desarrollo de clientes SOAP con PHP <?php include("xmlrpc.inc"); if ($HTTP_POST_VARS["txtIsbn"]!="") { $f=new xmlrpcmsg('libros.buscaIsbn',array(new xmlrpcval($HTTP_POST_VARS["txtIsbn"], "int"))); print "<pre>".htmlentities($f->serialize())."</pre>n"; $c=new xmlrpc_client("/servidor.php", "localhost", 80); $c->setDebug(0); $r=$c->send($f);
  • 3. if (!$r) { die("Falló SEND"); } $v=$r->value(); if (!$r->faultCode()) { print "Título del libro ".$HTTP_POST_VARS["txtIsbn"]." es ".$v->scalarval()."<BR>"; } else { print "Falla: "; print "Número de error: " .$r->faultCode()." Descripción del error '".$r->faultString()."'<BR>";} } ?> Ya hemos implementado nuestro servidor y nuestro cliente XML-RPC. SERVICIOS WEB CON PERL Perl, al igual que la mayoría de los idiomas, oculta al programador de las complejidades con una caja de herramientas. el soap :: Lite conjunto de herramientas es una de las implementaciones más completas de jabón disponibles, apoyando ambas versiones 1.1 y 1.2 de soap. Comencemos por crear el módulo Perl Hello World : Ejemplo 3-3: Hello.pm # Hello.pm - Hola módulo sencillo paquete Hello; sub sayHello { turno; # eliminar nombre de la clase de retorno "Hello". cambio; } Este módulo será el código que se encuentra detrás de nuestra interfaz de servicio web. CONSUMO :El Cliente Hola Para probar el servicio web Hola, sólo tiene que utilizar el script de cliente . Ejemplo 3-5: hw_client.pl ! # / Usr / bin / perl-w # hw_client.pl - Hola cliente utilización SOAP :: Lite;
  • 4. mi $ nombre = cambio; print " n nCalling el servidor SOAP para saludar n "; print "El servidor SOAP dice: "; impresión SOAP :: Lite -> uri ('urn: Ejemplo 1') -> proxy ('http://localhost/cgi-bin/helloworld.cgi') -> sayHello ($ name) -> como resultado. " N n"; Al ejecutar esta secuencia de comandos que debe dar los siguientes resultados: % Perl hw_client.pl James Llamar al servidor SOAP para saludar al servidor SOAP dice: Hola James % SERVICIO WEB CON JAVA Existen gran cantidad de implementaciones que ayudan al desarrollo de Servicios Web para cada uno de los lenguajes de programación. Sun provee de una serie de tecnologías en su versión Java EE para el desarrollo de Servicios Web. Éstas tecnologías son estándares de desarrollo, así como API’s que especifican el comportamiento de implementaciones. A partir de la version 6 (update 4), la plataforma Java estándar (JDK), incluye las APIs para trabajar con JAX-WS y JAXB, fundamentales para el consumo de web services . Definiendo un servidio web : @WebService Public class cardvalidator{ Public boolean validate(CreditCard creditCard){ String lastDigit=creditCard.getNumber().substring( creditCard.getNumber().length() -1, creditCard.getNumber().length()); if()Integer.parseInt(lastDigit)%2!=0){ return true; } else {return false;} } }
  • 5. En el ejemplo anterior se intercambia un objeto CreditCard entre el consumidor y el proveedor del servicio . Los datos intercambiados, deben ser un documento XML, por lo que se necesita un método para transformar el objeto Java en un documento XML y viceversa . Para esto utilizamos JAXB, anotándolo con @javax.xml.bind. annotation.XmlRootElement . CONSUMO: Public class Main{ Public static void main(String[] args){ CreditCard creditCard=new CreditCard(); CreditCard.setNumber(“12341234”); CreditCard.setExpiryDate(“10/10”); CreditCard.setType(“visa”); CreditCard.setControlNumber(1234); CardValidator cardValidator= new CardValidatorService().getCardValidatorPort(); cardValidator.validate(creditCard); } } SERVICIOS WEB GOOGLE Los productos que Google ofrece a los desarrolladores. Android – http://code.google.com/intl/es/android/ Androide es una pila de software para dispositivos móviles que incluye un sistema operativo, aplicaciones esenciales y middleware APIs de datos de Google – http://code.google.com/intl/es/apis/gdata/ Las APIs de datos de Google constituyen un sencillo protocolo estándar para leer e introducir datos en la Web. Por ejemplo: Google Base, Blogger, Google Calendar, Google Docs y Álbumes web de Picasa. API de datos de Blogger http://code.google.com/intl/es/apis/blogger/- La API de datos de Blogger permite a las aplicaciones cliente ver y actualizar contenido de Blogger como feeds de la API de datos de Google. APIs de FeedBurner – http://code.google.com/intl/es/apis/feedburner/
  • 6. FeedBurner ofrece servicios web que permiten interactuar con funciones de generación de información y administración de feeds. Autenticación de cuentas de Google – http://code.google.com/intl/es/apis/accounts/ API de Google AdSense – http://code.google.com/intl/es/apis/adsense/ API de Google AdWords http://www.google.com/apis/adwords/- APIs AJAX de Google – http://code.google.com/intl/es/apis/ajax/ – http://code.google.com/intl/es/apis/ajaxfeeds/API AJAX de Google para feeds API AJAX de Google Search – http://code.google.com/intl/es/apis/ajaxsearch/ Google Analytics – http://code.google.com/intl/es/apis/analytics/ APIs de Google Apps – http://code.google.com/intl/es/apis/apps/ API de datos de Google Base – http://code.google.com/intl/es/apis/base/ Herramientas y APIs de Google Calendar – http://code.google.com/intl/es/apis/calendar/ API de Google Chart http://code.google.com/intl/es/apis/chart/– API de Google Checkout – http://code.google.com/intl/es/apis/checkout/ Google Code Search – http://www.google.com/codesearch API de datos de Google Code Search – http://code.google.com/intl/es/apis/codesearch/ Feeds de vales descuento de Google – http://code.google.com/intl/es/apis/coupons/ API de gadgets de Google Desktop – http://code.google.com/intl/es/apis/desktop/ APIs de búsqueda de Google Desktop – http://code.google.com/intl/es/apis/desktop/ API de datos para la lista de Google Docs – http://code.google.com/intl/es/apis/documents/ – http://code.google.com/intl/es/apis/gadgets/API de gadgets de Google Google Gears http://code.google.com/intl/es/apis/gears/– KML de Google – http://code.google.com/intl/es/apis/kml/ Mapplets de Google – http://code.google.com/intl/es/apis/maps/documentation/mapplets/ API de Google Maps – http://code.google.com/intl/es/apis/maps/ Google Mashup Editor – http://code.google.com/intl/es/gme/
  • 7. OpenSocial http://code.google.com/intl/es/apis/opensocial/- - http://code.google.com/intl/es/apis/orkut/Sitio del desarrollador de Orkut APIs de navegación segura de Google http://code.google.com/intl/es/apis/safebrowsing/- APIs de Google Search Appliance – http://code.google.com/intl/es/enterprise/ Feeds del Historial de búsquedas de Google – http://www.google.com/support/accounts/bin/answer.py?answer=54464 – https://www.google.com/webmasters/tools/docs/en/about.htmlGoogle Sitemaps – http://code.google.com/intl/es/apis/sketchup/API Ruby de Google SketchUp API de gráficos sociales – http://code.google.com/intl/es/apis/socialgraph/ API de datos de Google Docs – http://code.google.com/intl/es/apis/spreadsheets/ XMPP de Google Talk - http://code.google.com/intl/es/apis/talk/ – http://code.google.com/intl/es/apis/themes/API de Temas de iGoogle - http://www.google.com/tools/toolbar/buttons/apisAPI de la Barra Google Especificación de feeds de Google Transit– http://code.google.com/intl/es/transit/spec/transit_feed_specification.htm Google Web Toolkit http://code.google.com/intl/es/webtoolkit/- API de los Álbumes web de Picasa – http://code.google.com/intl/es/apis/youtube/API de datos de YouTube