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 html2
ljds
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jsp
dtbadboy0
 
Servicio web
Servicio web Servicio web
Servicio web
Yael67
 
Servicios web en php, perl, java
Servicios web en php, perl, javaServicios web en php, perl, java
Servicios web en php, perl, java
Faby Marcos Solis
 
Tutorial de ASP
Tutorial de ASPTutorial de ASP
Tutorial de ASP
Leo_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 web
itoomac02
 
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
Armando Nuñez Ramos
 
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
Steven 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 Android
Alberto Ruibal
 
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
victdiazm
 

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

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
amelia poma
 

Último (20)

Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 

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