El documento habla sobre los servicios web y cómo crearlos en diferentes lenguajes como Java, Perl y PHP. Explica que un servicio web permite el intercambio de datos entre aplicaciones a través de protocolos estandarizados. También menciona cómo crear servicios web sencillos en estos lenguajes de programación así como las diferencias entre las arquitecturas SOAP/WSDL y REST.
Principios básicos de la Arquitectura Rest, haciendo especial hincapié en las 6 restricciones que permiten crear API altamente escalables (Uniform Interface, Stateless, Cacheable, Client-Server, Layered System y Code on Demand).
Estas restricciones son la base de la Arquitectura REST y aplicarlas nos ayudaran a conseguir buenos diseño: correcto nombrado de los servicios, recursos, aplicar el método (GET, POST, PUT, DELETE) apropiado a la acción, descubrir recursos basándonos únicamente en las respuestas del servidor (HATEOAS), ..
Además, conoceremos el Modelo de Madurez Richarson que nos permite conocer en que punto nos encontramos dentro de la arquitectura, algunos antipatrones de diseño y ejemplos de API REST (Twitter, Facebook).
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCParadigma Digital
En este seminario se impartirá una introducción al concepto detrás de la tecnología REST. Adicionalmente, se introducirá al asistente a la implementación de un servicio REST, usando para ello el stack que ofrece el framework Spring, y mas concretamente las nuevas versiones de Spring MVC”. Con este seminario abrimos el nuevo curso 2012/2013, en el que Paradigma irá cada tres semanas aproximadamente ofreciendo una temática nueva.
Más información: http://www.paradigmatecnologico.com/seminarios/seminario-servicios-rest-bases-de-la-tecnologia-y-soporte-con-spring-mvc/
Principios básicos de la Arquitectura Rest, haciendo especial hincapié en las 6 restricciones que permiten crear API altamente escalables (Uniform Interface, Stateless, Cacheable, Client-Server, Layered System y Code on Demand).
Estas restricciones son la base de la Arquitectura REST y aplicarlas nos ayudaran a conseguir buenos diseño: correcto nombrado de los servicios, recursos, aplicar el método (GET, POST, PUT, DELETE) apropiado a la acción, descubrir recursos basándonos únicamente en las respuestas del servidor (HATEOAS), ..
Además, conoceremos el Modelo de Madurez Richarson que nos permite conocer en que punto nos encontramos dentro de la arquitectura, algunos antipatrones de diseño y ejemplos de API REST (Twitter, Facebook).
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCParadigma Digital
En este seminario se impartirá una introducción al concepto detrás de la tecnología REST. Adicionalmente, se introducirá al asistente a la implementación de un servicio REST, usando para ello el stack que ofrece el framework Spring, y mas concretamente las nuevas versiones de Spring MVC”. Con este seminario abrimos el nuevo curso 2012/2013, en el que Paradigma irá cada tres semanas aproximadamente ofreciendo una temática nueva.
Más información: http://www.paradigmatecnologico.com/seminarios/seminario-servicios-rest-bases-de-la-tecnologia-y-soporte-con-spring-mvc/
Los servicios web son una herramienta fantástica para los desarrolladores de páginas web. Tenemos a nuestra disposición una ingente cantidad de información incorporada a nuestras páginas actualizada y en tiempo real.
Conceptos básicos de Ruby on Rails incluyendo:
- Controladores y acciones
- Rutas
- Configuraciones de applicacion
- Generación de modelos y Active Record
- Plantillas y vistas
- REST y recursos
Además de dos ejemplos prácticos:
- Página con mensaje 'Hola Mundo'
- MiniAplicación de blogs
Este verano llegan a ENCAMINA “Los Imprescindibles”, unos superhéroes muy especiales que vienen dispuestos a combatir el aburrimiento y pasarte todos sus superpoderes.
El primero en aterrizar ha sido .Net Core.
En “Los Imprescindibles de .Net Core“, compartimos contigo las reflexiones y valoraciones que Alberto Díaz, Adrián Díaz y Juan Carlos Martínez han hecho sobre cómo usarlo, sus escenarios, versionados, integraciones, etc.
1. Instituto Tecnológico de Tehuacán
Servicios Web
Jaqueline Guerrero Avendaño.
Nombre de la materia: Programación Web
2. Servicios Web
Un servicio web (en inglés, Web services) es una tecnología que utiliza un conjunto de
protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas
aplicaciones de software desarrolladas en lenguajes de programación diferentes, y
ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar
datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante
la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités
responsables de la arquitectura y reglamentación de los servicios Web. Para mejorar la
interoperabilidad entre distintas implementaciones de servicios Web se ha creado el
organismo WS-I, encargado de desarrollar diversos perfiles para definir de manera más
exhaustiva estos estándares. Es una máquina que atiende las peticiones de los clientes
web y les envía los recursos solicitados.
Cómo crear servicios web en JAVA
Para usar un servicio web, todo lo que tenemos que hacer es entrar a su dirección por
medio de nuestro navegador. Sin embargo, existen programas que nos permiten usar
servicios concretos sin necesidad del navegador, sólo con ellos y una conexión a Internet.
Un programa así, recibe el nombre de “cliente”, estos programas los veremos más
adelante, en este video-tutorial veremos la forma de crear un “Servicio Web” utilizando el
lenguaje Java y el IDE Netbeans, ademas necesitamos un servidor web para realizar las
pruebas, utilizaremos Tomcat en su version 6.
Nuestro servicio web es sencillo, y solamente consta de unas operaciones matemáticas
básicas como son la Suma y la Multiplicación, este Servicio Web lo implementaremos en
posteriores tutoriales.
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
public class calculadora {
@WebMethod(operationName = "Suma")
public int Suma(@WebParam(name = "valor1")
int valor1, @WebParam(name = "valor2")
int valor2) {
return ( valor1 + valor2);
}
/**
* Web service operation
*/
@WebMethod(operationName = "Multiplicacion")
public int Multiplicacion(@WebParam(name = "valor1")
int valor1, @WebParam(name = "valor2")
int valor2) {
3. return ( valor1 * valor2);
}
}
Cómo crear servicios web en Perl
El lenguaje Perl cuenta principalmente con dos módulos que pueden ser usados para
crear servicios web de manera fácil y rápida, desde cero o reutilizando aplicaciones de
Perl ya existentes. Éstos módulos son SOAP::Lite y WSDL:: Generator. A continuación se
explicarán cada uno de ellos y se mostrará un ejemplo de su uso.
Para solicitar el servicio, el cliente envía un mensaje de solicitud en formato SOAP XML. La
especificación SOAP (Simple Object Access Protocol) establece la manera de
representar, en el interior de la solicitud, el tipo de solicitud y los nombres y valores de sus
argumentos. El servidor realiza la operación solicitada, y le entrega al cliente un mensaje
de respuesta que también está en formato SOAP XML. El mensaje de respuesta contiene
los datos solicitados, y un status que indica si la solicitud se ha procesado correctamente o
bien se ha producido algún tipo de error.
Otra manera de implementar Web Services es REST (Representational State Transfer). REST
es una especificación más sencilla que WSDL/SOAP para la implementación de servicios
web, que será tratada en otro artículo de este blog.
Entre las principales diferencias que podemos encontrar entre REST y WSDL/SOAP están las
siguientes:
En REST, se define una URL distinta para cada tipo de servicio solicitado, mientras que en
WSDL/SOAP el nombre del servicio se indica en el interior del mensaje.
En REST, la peticiones para leer datos se hacen mediante solicitudes HTTP GET, y las
peticiones para escribir se hacen mediante HTTP POST. En WSDL/SOAP, las peticiones
siempre se realizan mediante solicitudes HTTP POST.
En REST, los mensajes se codifican en formato JSON, mientras que en WSDL/SOAP se utiliza
el formato XML.
Ejemplo:
#!/usr/bin/perl -w
#
use strict;
use SOAP::Transport::HTTP;
SOAP::Transport::HTTP::CGI
-> dispatch_to('Aritmetica')
-> handle;
package Aritmetica;
sub sumar { $_[1] + $_[2]; }
sub restar { $_[1] - $_[2]; }
4. Servicios Web PHP
Buenas, la semana pasada vimos como instalar un servidor LAMP en nuestro Ubuntu y las
herramientas necesarias para desarrollar con PHP y MySQL. Esta semana nos ponemos
manos a la obra y veremos cómo desarrollar un pequeño servicio web para poder
utilizarlo más tarde desde una aplicación Android y nutrir nuestra aplicación con datos.
Los formatos más utilizados para compartir información mediante estos servicios web son
XML (y otros derivados) y JSON. XML es un lenguaje de marcas muy similar al HTML,
lo podéis ver normalmente en las fuentes RSS utilizadas para difundir listas de
noticias. JSON es un formato ligero de intercambio de datos. Este último da mejores
resultados en cuanto a rapidez y procesamiento, por lo tanto utilizaremos este, pero
si queréis utilizar XML solamente deberéis cambiar el formato de salida y listo.
Nuestro servicio va a devolvernos una lista de libros, para ellos primero crearemos una
base de datos. AbrimosphpMyAdmin para ello en un navegador
escribimos http://localhost/phpmyadmin. Vamos a "Base de datos" y creamos una nueva
base de datos, le llamaremos android, aparecerá en la lista de la parte izquierda.
Pinchamos sobre ella y creamos una nueva tabla llamada libros con 3 columnas: id_libro,
libro y isbn. Actualización:ponemos los nombres de las columnas en minúscula para no
tener problemas a la hora de leerlo con el script PHP.
Realmente la complicación de un servicio web no reside en la creación del mismo
que como veremos es absolutamente simple. La dificultad está en las funcionalidades
del propio servicio.
Lo primero que necesitamos para crear Web Service (o servicio web) es crear un
listado de funciones o, en este caso, una clase PHP que contendrá todas las
funcionalidades necesarias. Usaremos una clase sencilla ya que es nuestro primer
ejemplo.
Aquí usamos la clase de islavisual para MySQL.
class UserService
{
private $_EMAIL;
private $_PASSWORD;
include "clases/MySQL/mySql.class.php" ;
public function login($email, $password)
{
$this->_EMAIL = mysql_real_escape_string($email); // También puede
servir addslashes
$this->_PASSWORD = mysql_real_escape_string($password); // También puede
servir addslashes
$user_id = $this->chechUser();
if($user_id != "" && $user_id != NULL){
$_SESSION['user_id'] = $user_id;
return $user_id;
}
5. return false;
}
protected function checkUser()
{
$mysql = new mySQL;
return $mysql->getValue("SELECT id FROM users WHERE email = '".$this-
>_EMAIL."';");
}
}
Implementación o creación del Servicio Web
Aquí sólo hay que crear un archivo que llamaremos servicio.php dónde estará incluida la
clase que acabamos de crear. Como no queremos usar WSDL lo generaremos a mano y,
por ello, debemos suministrar el namespace que será urn:webservices.
$server = new SoapServer(null, array('uri' => 'urn:webservices'));
// Asignamos la Clase
$server->setClass('UserService');
// Atendemos las peticiones
$server->handle();
Servicios web del API de Google Maps
En este documento se describen los servicios web del API de Google Maps, un conjunto
de interfaces HTTP para los servicios de Google que proporcionan datos geográficos para
las aplicaciones de mapas. Esta guía sirve exclusivamente como introducción a los
servicios web y la información de host que es común a los diferentes servicios. Encontrarás
documentación específica de cada servicio más adelante:
API de rutas
API de matriz de distancia
API de elevación
API de codificación geográfica
API de Google Places
El resto de esta guía trata sobre las técnicas para configurar solicitudes de servicios web y
analizar las respuestas. Sin embargo, deberás consultar la documentación
correspondiente para obtener información específica sobre cada servicio.
6. Mediante el API que nos ofrecen Google Maps los desarrolladores del servicio podremos
hacer uso de sus bondades. En este artículo pretendemos explicar los aspectos más
relevantes de este API.
Google Maps es un servicio gratuito que nos ofrece Google con mapas desplazables del
mundo entero, fotos satelitales, la ruta más corta entre diferentes ubicaciones y muchas
características interesantes. Es semejante a Google Earth; una aplicación para Windows,
Mac y Linux; pero con la diferencia que Google Maps es fácilmente integrable a cualquier
sitio web.
¿Cómo integro un mapa de Google Maps a mi web?
Insertar un mapa en nuestro sitio web es muy simple haciendo uso de la API de Google
Maps. Lo primero es solicitar nuestra API Key, debemos especificar en qué URL vamos a
utilizar nuestro mapa.
Aunque es recomendable solicitar una para la dirección http://localhost con esta
hagamos los ajustes necesarios y una vez que nuestro código esté listo cambiar la API Key
por la de nuestro sitio en Internet para publicar la página.
Aquí tenemos una muestra del código que nos proporciona Google Maps para que
utilicemos. Es importante destacar que debemos remplazar el texto resaltado en el
código: COLOCAR_AQUI_NUESTRA_KEY por nuestro API Key, para que funcione
correctamente.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example</title>
<script
src="http://maps.google.com/maps?file=api&v=2&key=COLOCAR_AQUI_NUESTRA_KEY"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
}
}
//]]>
</script>
A continuación utilizaremos este código para explorar algunas, de las múltiples
características que podemos explotar con el API de Google Maps.
Ejemplo: http://www.institutohervic.edu.mx/