0% encontró este documento útil (0 votos)
164 vistas8 páginas

Api Rest y Soap

1) REST ofrece una alternativa más ligera a SOAP al usar URLs simples en lugar de XML, y puede usar formatos de datos como JSON en lugar de solo XML. 2) SOAP se basa completamente en XML y es más extensible pero también más complejo, mientras que REST es más simple y eficiente. 3) La dificultad de usar SOAP o REST depende del lenguaje de programación, siendo SOAP más fácil de usar con lenguajes como .NET.

Cargado por

Ascencio JJ
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
164 vistas8 páginas

Api Rest y Soap

1) REST ofrece una alternativa más ligera a SOAP al usar URLs simples en lugar de XML, y puede usar formatos de datos como JSON en lugar de solo XML. 2) SOAP se basa completamente en XML y es más extensible pero también más complejo, mientras que REST es más simple y eficiente. 3) La dificultad de usar SOAP o REST depende del lenguaje de programación, siendo SOAP más fácil de usar con lenguajes como .NET.

Cargado por

Ascencio JJ
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD DOMINGO

SAVIO
PROGRAMACION WEB Il

API REST vs API SOAP

CARRERA: Ingeniería de Sistemas


DOCENTE: Ingeniera Marlene Monica Suntura
ESTUDIANTE: Ascencio Chura Juan Carlos
Una descripción de REST

REST ofrece una alternativa más ligera. Muchos desarrolladores encontraron


SOAP engorroso y difícil de usar. Por ejemplo, trabajar con SOAP en
JavaScript significa escribir una tonelada de código para realizar tareas simples
porque debe crear la estructura XML requerida cada vez.

En lugar de usar XML para realizar una solicitud, REST (generalmente) se basa
en una URL simple. En algunas situaciones, debe proporcionar información
adicional, pero la mayoría de los servicios web que utilizan REST se basan
exclusivamente en el método de URL. REST puede usar cuatro verbos HTTP
1.1 diferentes (GET, POST, PUT y DELETE) para realizar tareas.

A diferencia de SOAP, REST no tiene que usar XML para proporcionar la


respuesta. Puede encontrar servicios web basados en REST que generan los
datos en valores separados por comandos (CSV), notación de objetos
JavaScript (JSON) y distribución realmente simple (RSS). El punto es que
puede obtener la salida que necesita, en una forma que sea fácil de analizar
dentro del idioma que está usando para su aplicación

Una descripción general rápida de SOAP

SOAP se basa exclusivamente en XML para proporcionar servicios de


mensajería. Microsoft desarrolló originalmente SOAP para reemplazar las
tecnologías más antiguas que no funcionan bien en Internet, como el Modelo
de objetos componentes distribuidos (DCOM) y la Arquitectura de agente de
solicitud de objetos comunes (CORBA). Estas tecnologías fallan porque
dependen de la mensajería binaria. La mensajería XML que emplea SOAP
funciona mejor a través de Internet.

Después de una versión inicial, Microsoft presentó SOAP al Grupo de trabajo


de ingeniería de Internet (IETF), donde se estandarizó. SOAP está diseñado
para admitir la expansión, por lo que tiene todo tipo de acrónimos y
abreviaturas asociadas, como WS-Addressing, WS-Policy, WS-Security, WS-
Federation, WS-ReliableMessaging, WS-Coordination, WS-AtomicTransaction
y WS-RemotePortlets. De hecho, puede encontrar una lista completa de estos
estándares en Estándares de servicios web.

El punto es que SOAP es altamente extensible, pero solo usa las piezas que
necesita para una tarea en particular. Por ejemplo, cuando utiliza un servicio
web público que está disponible gratuitamente para todos, realmente no tiene
mucha necesidad de WS-Security.
 

La dificultad depende del lenguaje de programación


El XML utilizado para realizar solicitudes y recibir respuestas en SOAP puede
volverse extremadamente complejo. En algunos lenguajes de programación,
debe generar esas solicitudes manualmente, lo que se vuelve problemático
porque SOAP no tolera los errores. Sin embargo, otros lenguajes pueden
utilizar los accesos directos que proporciona SOAP. Pueden ayudarlo a reducir
el esfuerzo requerido para crear la solicitud y analizar la respuesta. De hecho,
cuando trabaja con lenguajes .NET, ni siquiera ve el XML.

Parte de la magia es el lenguaje de descripción de servicios web (WSDL). Este


es otro archivo que está asociado con SOAP. Proporciona una definición de
cómo funciona el servicio web, de modo que cuando crea una referencia a él, el
IDE puede automatizar completamente el proceso. Entonces, la dificultad de
usar SOAP depende en gran medida del idioma que use.
 

Manejo de errores integrado


Una de las características de SOAP más importantes es el manejo de errores
integrado. Si hay un problema con su solicitud, la respuesta contiene
información de error que puede utilizar para solucionar el problema. Dado que
es posible que no sea propietario del servicio web, esta característica en
particular es extremadamente importante; de lo contrario, se quedaría
adivinando por qué las cosas no funcionaron. El informe de errores incluso
proporciona códigos estandarizados para que sea posible automatizar algunas
tareas de manejo de errores en su código.

Una característica interesante de SOAP es que no necesariamente tiene que


usarlo con el transporte HTTP. Existe una especificación real para usar SOAP
sobre el Protocolo simple de transferencia de correo (SMTP) y no hay ninguna
razón por la que no pueda usarlo en otros transportes. De hecho, los
desarrolladores de algunos lenguajes, como Python y PHP, están haciendo
precisamente eso .

SOAP y REST

A menos que planee crear su propio servicio web, es posible que ya haya
tomado la decisión de qué protocolo usar. Muy pocos servicios web, como
Amazon, admiten ambos. El enfoque de su decisión a menudo se centra en
qué servicio web se adapta mejor a sus necesidades, en lugar de qué
protocolo utilizar.

Ventajas de Soap
SOAP ofrece las siguientes ventajas en comparación con REST:
• Independiente del idioma, la plataforma y el transporte (REST requiere el
uso de HTTP)
• Funciona bien en entornos empresariales distribuidos (REST asume una
comunicación directa punto a punto)
• Estandarizado
• Proporciona importantes Extensibilidad preconstruida en forma de
estándares WS *
• Manejo de errores incorporado
• Automatización cuando se usa con ciertos productos de lenguaje

Ventajas de REST
REST es más fácil de usar en su mayor parte y es más flexible. Tiene las
siguientes ventajas sobre SOAP:
• No se requieren herramientas costosas para interactuar con el servicio web
• Curva de aprendizaje más pequeña
• Eficiente (SOAP usa XML para todos los mensajes, REST puede usar
formatos de mensaje más pequeños)
• Rápido (no requiere un procesamiento extenso)
• Más cercano a otras tecnologías web en la filosofía del diseño

Un ejemplo simple de REST

A veces, lo simple es lo mejor. En este caso, REST es tan simple como parece
porque todo lo que necesita es una URL. Abra su navegador, no importa cuál, y
escriba http://rpc.geocoder.us/service/csv?address=1600+Pennsylvania+Ave,
+Washington+DC en el campo de dirección. Presione Entrar.

Verá la salida en su navegador en formato CSV:

Verá la latitud, seguida de la longitud, seguida de la dirección que


proporcionó. Esta sencilla prueba funciona para la mayoría de las direcciones
en la mayoría de las ciudades importantes (todavía no funciona muy bien para
las direcciones rurales). La idea es que obtenga la latitud y longitud necesarias
para su uso con otros servicios web. Combinando servicios web junto con un
pequeño código adhesivo, puede crear aplicaciones realmente interesantes
que hacen cosas increíbles en poco tiempo y con poco esfuerzo. Todos los
demás están haciendo el trabajo pesado. También puede probar su API
REST con herramientas fáciles de usar como SoapUI.

Un ejemplo simple de SOAP

SOAP, por su propia naturaleza, requiere un poco más de configuración, pero


sigue siendo impresionantemente fácil de usar.

Comience este ejemplo creando una aplicación de Windows Forms con Visual


Studio . El código de muestra usa C #, pero la misma técnica funciona bien con
otros lenguajes .NET ( deberá modificar el código para que se ajuste ). Agregue
etiquetas, cuadros de texto y botones como se muestra aquí ( los campos
Latitud y Longitud son de solo lectura ).

Aquí es donde entra en juego la automatización. Haga clic con el botón


derecho en Referencias en el Explorador de soluciones y elija Agregar
referencia de servicio en el menú contextual. Verá el cuadro de diálogo Agregar
referencia de servicio. Escriba la siguiente dirección en el campo de dirección:
http://rpc.geocoder.us/dist/eg/clients/GeoCoder.wsdl y haga clic en Ir . Escriba
GeocoderService en el campo del espacio de nombres. Su cuadro de diálogo
debería verse como el que se muestra aquí.
Haga clic en Aceptar . Visual Studio agrega el código necesario para trabajar
con Geocoder en segundo plano.

En este punto, está listo para usar el servicio web. Todo lo que necesita hacer
es agregar código al botón Obtener posición como se muestra aquí.

private void btnGetPosition_Click (remitente del objeto, EventArgs e)

   // Crea el cliente.

   GeocoderService.GeoCode_PortTypeClient Client =

      nuevo GeocoderService.GeoCode_PortTypeClient ();

   // Haz la llamada.
   GeocoderService.GeocoderResult [] Resultado =

      Client.geocode (txtAddress.Text);

   // Compruebe si hay un resultado de error.

   si (Resultado! = nulo)

   {

      // Muestra los resultados en pantalla.

      txtLatitude.Text = Resultado [0] .lat.ToString ();

      txtLongitude.Text = Resultado [0]. @ long.ToString ();

   }

   demás

   {

      // Muestra un resultado de error.

      txtLatitude.Text = "Error";

      txtLongitude.Text = "Error";

   }

También podría gustarte