Programación Web Unidad V “Servicios Web”. Programación Web 5.1 Visión general de servicios Web XML.
Servicios web
-
Upload
joan-sebastian-ramirez-perez -
Category
Software
-
view
31 -
download
0
Transcript of Servicios web
Servicios WebJoan Sebastián Ramírez Pérez
2017
AgendaAPISOA¿Qué es un Servicio Web?¿Por qué usar servicios Web?SOAPRESTBibliografía
API
Application Programming Interface
(API)Procesos, funciones y métodos que brinda una biblioteca de programación a modo de capa de abstracción para que sea empleada por otro programa informático.Conjunto de reglas (código) y especificaciones que las aplicaciones pueden seguir para comunicarse entre ellas.Una de las claves del funcionamiento de las API es la facilidad de integración.
SOA
SOA
Arquitectura Orientada a ServiciosParadigma de arquitectura que permite diseñar software basado en la composición de aplicaciones independientes.Creación de sistemas de información altamente escalables.
Arquitectura Orientada a Servicios
Una aproximación para construir sistemas usando servicios los cuales se adhieren a 4 pilares:Los limites son explícitosLos servicios son autónomosLos servicios comparten esquemas y contratos, no clasesLa compatibilidad de los servicios, se determina basados en las políticas
Beneficios de la Arquitectura Orientada a
ServiciosProveer servicios a los consumidores vía interfaces estándares, publicadas y de fácil ubicación
Soluciones basadas en protocolos estándares no en productos
Eleva el nivel de abstracción para reutilización del código
Solventando problemas de heterogeneidadProvee de un modelo claro para integrar sistemas de software
Dentro de a empresaMas allá de las fronteras organizacionales
Provee de la bases para aplicaciones conectadas de clase mundial
El valor de negocio de las aplicaciones aisladas es limitado
¿Qué es un Servicio Web?
Servicios WebTecnología que permite que las aplicaciones se comuniquen en una forma que no depende de la plataforma ni del lenguaje de programación. Un servicio web es una interfaz que describe un conjunto de operaciones a las cuales se puede acceder por la red a través de mensajería estandarizada.
¿Por qué usar Servicios Web?
¿Por qué usar Servicios Web?
Reuso del códigoInteroperabilidad con otros sistemasPosibilidad de usar microservicios como arquietctura
SOAP
XML
Extensible Markup Language.Lenguaje que permite definir lenguajes de marcas o tags desarrollado por World Wide Web Consortium (W3C).Se usa para almacenar datos en forma legible
SOAPSimple Object Access ProtocolFormato de mensaje XML utilizado en interacciones de servicios web. Los mensajes SOAP habitualmente se envían sobre HTTP o JMS, pero se pueden utilizar otros protocolos.Protocolo que te permite la comunicación entre aplicaciones a través de mensajes por medio de Internet, independiente de la plataforma y el lenguaje.
WSDL
WSDLWeb Services Description Language.Notación XML para describir un servicio webEl uso de SOAP en un servicio web específico se describe mediante la definición WSDL.Una definición WSDL indica a un cliente cómo componer una solicitud de servicio web y describe la interfaz que proporciona el proveedor del servicio web.
XSDEs un mecanismo para comprobar la validez de un documento XML, es decir, definir su estructura: qué elementos, qué tipos de datos, que atributos, en qué orden, cuántas veces se repiten, etc. Se compone de las etiquetas:
xmlns:xsi para declarar el espacio de nombres del esquema XSD.xsi:noNamespaceSchemaLocation para vincular el documento XML con el esquema local XSD.xs:element <xs:element name="nombre" type="xs:string" default="TicArte" minOccurs="1" maxOccurs="unbounded" />xs:attribute <xs:attribute name="moneda" type="xs:string" default="euro" use="required" />
NamespacesLos espacios de nombres (namespaces) son uno de los pilares de XMLMedio para organizar clases dentro de un entorno, agrupándolas de un modo más lógico y jerárquicoPermiten eliminar las ambigüedades y solucionar los problemas de homonimia que se producen en los documentos, ya que en un mismo documento existen palabras con el mismo nombre, pero con diferentes significados y espacios semánticos.
REST
JSONJavaScript Object NotationFormato de texto ligero para el intercambio de datosEstá constituído por dos estructuras:
Una colección de pares de nombre/valor. En varios lenguajes esto es conocido como un objeto, registro, estructura, diccionario, tabla hash, lista de claves o un arreglo asociativo.Una lista ordenada de valores. En la mayoría de los lenguajes, esto se implementa como arreglos, vectores, listas o secuencias.
Métodos estándar HTTP
GET: Para consultar y leer recursosPOST: Para crear recursosPUT: Para editar recursosDELETE: Para eliminar recursos.
RESTRepresentational State TransferTipo de arquitectura de desarrollo web que se apoya totalmente en el estándar HTTP.Más simple y convencional que otras alternativas como SOAP y XML-RPC.Nunca se debe guardar estado en el servidor, toda la información que se requiere para mostrar la información que se solicita debe estar en la consulta por parte del cliente.
RESTLeonard Richardson, padre de la arquitectura orientada a recursos, define tres niveles de calidad para usar REST:
Uso correcto de URIsUso correcto de HTTP.Implementar Hypermedia (conectar mediante vínculos las aplicaciones clientes con las APIs).
RESTFUL
Hace referencia a un servicio web que implementa la arquitectura REST.
Bibliografía
Bibliografíahttp://www.ibm.com/developerworks/ssa/webservices/newto/service.htmlVallecillo, Antonio. El Futuro de los Servicios Web. Universidad de MálagaNaranjo, Julio. Arquitectura Basada en Servicios, Microsoft.Álvarez, José Mauricio. EL Valor de Negocio de Arquitecturas Orientadas a Servicios. Microsoft.NET Architecture Center: Service Oriented Architecture http://msdn.microsoft.com/architecture/soa/ Understanding Service-Oriented Architecture http://msdn.microsoft.com/architecture/soa/default.aspx?pull=/library/en-us/dnmaj/html/aj1soa.asp Patterns & Practices http://www.microsoft.com/resources/practices FTPOnline: SPECIAL REPORT: Service-Oriented Architecture http://www.ftponline.com/special/soa/