Los servicios web permiten usar formatos como XML o JSON para intercambiar información a través de HTTP. Por ejemplo, si quieres saber el clima de Shanghai mañana, el precio de las acciones de Apple, o la información de un producto de Amazon, puedes escribir un segmento de ceodigo que obtenga la información de las plataformas abiertas. En Go, este proceso puede ser comparado a llamar una función local y obtener su valor de retorno.
La clave es que los servicios web son independientes de plataforma, esto permite desplegar tus aplicaciones en Linux e interactuar con aplicaciones ASP.NET en windows, por ejemplo, y tampoco tendrás problema interactuando con JSP o FreeBSD.
La arquitectura REST y el protocolo SOAP son los dos estilos mas populares en los servicios web y pueden ser implementados estos días.
- Las peticiónes REST son muy claras, porque están basadas en HTTP. Cada petición REST es en escencia una petición HTTP, y los servidores manejan las peticiones usando diferentes métodos. Como muchos desarrolladores ya están familiarizados con HTTP, REST puede sentirse como si ya estuviera en sus bolsillos. Vamos a ver como se implementa un REST en la sección 8.3.
- SOAP es un estándar para transmisión de información a través de la red y llamado a funciones remotas, lanzado por w3c. El problema con SOAP es que la especificación es muy grande y complicada, y sigue haciéndose mas larga. Go cree que las cosas deberían ser simples, entonces no vamos a hablar sobre SOAP.
Afortunadamente Go soporta RPC (Llamados a procedimientos remotos) que tiene un buen desempeño y es facil de desarrollar, entonces introduciremos como implementar un RPC en la sección 8.4.
Go es el lenguaje C del siglo XXI, queriendo ser simple y de alto desempeño. Con estas cualidades en mente, vamos a introducir la programación de sockets en la sección 8.1. Hoy en día muchos servidores en tiempo real utilizan sockets para superar el desempeño lento de HTTP. Junto con el rápido desarrollo de HTML, los websockets son usados por muchas compañias de juegos de red, y hablaremos mas de esto en la sección 8.2.
- Índice
- Capítulo anterior: Capítulo 7 Resumen
- Siguiente sección: Sockets