SlideShare una empresa de Scribd logo
Servicios Web
Joan Sebastián Ramírez Pérez
2017
Agenda
API
SOA
¿Qué es un Servicio Web?
¿Por qué usar servicios Web?
SOAP
REST
Bibliografí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 Servicios
Paradigma 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ícitos
Los servicios son autónomos
Los servicios comparten esquemas y
contratos, no clases
La compatibilidad de los servicios, se
determina basados en las políticas
Beneficios de la Arquitectura
Orientada a Servicios
Proveer 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 heterogeneidad
Provee de un modelo claro para integrar sistemas de software
Dentro de a empresa
Mas 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 Web
Tecnologí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ódigo
Interoperabilidad con otros sistemas
Posibilidad 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
SOAP
Simple Object Access Protocol
Formato 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
WSDL
Web Services Description Language.
Notación XML para describir un servicio web
El 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.
XSD
Es 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" />
Namespaces
Los espacios de nombres (namespaces) son uno de
los pilares de XML
Medio para organizar clases dentro de un entorno,
agrupándolas de un modo más lógico y jerárquico
Permiten 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
JSON
JavaScript Object Notation
Formato de texto ligero para el intercambio de
datos
Está 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 recursos
POST: Para crear recursos
PUT: Para editar recursos
DELETE: Para eliminar recursos.
REST
Representational State Transfer
Tipo 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.
REST
Leonard Richardson, padre de la arquitectura
orientada a recursos, define tres niveles de calidad
para usar REST:
Uso correcto de URIs
Uso 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ía
http://www.ibm.com/developerworks/ssa/webservices/newto/service.htmlVallecillo, Antonio. El
Futuro de los Servicios Web. Universidad de Málaga
Naranjo, 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/

Más contenido relacionado

La actualidad más candente

Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
José Antonio Sandoval Acosta
 
Presentacion de Microsoft SQL Server.
Presentacion de Microsoft SQL Server. Presentacion de Microsoft SQL Server.
Presentacion de Microsoft SQL Server.
Alexander Mañan Tavarez
 
Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de Clases
Adal Dg
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
franciscocain
 
Servicios Web
Servicios  WebServicios  Web
Servicios Web
barkuz
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redes
Kim Sorel Rush
 
Arquitectura Orientada a Servicios (SOA)
Arquitectura Orientada  a Servicios (SOA)Arquitectura Orientada  a Servicios (SOA)
Arquitectura Orientada a Servicios (SOA)
Lucio Marcelo Quispe Ortega
 
Como crear un diagrama de clases
Como crear un diagrama de clasesComo crear un diagrama de clases
Como crear un diagrama de clases
Facultad de Ciencias y Sistemas
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
John Anthony Peraza
 
Crear conexion a servidor en MySQL Workbench
Crear conexion a servidor en  MySQL WorkbenchCrear conexion a servidor en  MySQL Workbench
Crear conexion a servidor en MySQL Workbench
Jair Ospino Ardila
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
Raúl Guaranda Manzaba
 
Uml
UmlUml
Herramientas case
Herramientas caseHerramientas case
Herramientas case
Vero Pailiacho
 
Protocolos de internet
Protocolos de internetProtocolos de internet
Protocolos de internet
XsJOSEsX
 
Programacion web
Programacion webProgramacion web
Programacion web
Abraham Morales
 
Integridad en las bases de datos
Integridad en las bases de datosIntegridad en las bases de datos
Integridad en las bases de datos
Guadalupe Robles Calderón
 
DOMINIO Y HOSTING.pptx
DOMINIO Y HOSTING.pptxDOMINIO Y HOSTING.pptx
DOMINIO Y HOSTING.pptx
EnmerLR
 
Elementos de JavaScript
Elementos de  JavaScriptElementos de  JavaScript
Elementos de JavaScript
Liliana Berenice Rosales Amezcua
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
CristobalFicaV
 
Conclusiones sobre bases de datos
Conclusiones sobre bases de datosConclusiones sobre bases de datos
Conclusiones sobre bases de datos
lizemontoya
 

La actualidad más candente (20)

Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Presentacion de Microsoft SQL Server.
Presentacion de Microsoft SQL Server. Presentacion de Microsoft SQL Server.
Presentacion de Microsoft SQL Server.
 
Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de Clases
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
Servicios Web
Servicios  WebServicios  Web
Servicios Web
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redes
 
Arquitectura Orientada a Servicios (SOA)
Arquitectura Orientada  a Servicios (SOA)Arquitectura Orientada  a Servicios (SOA)
Arquitectura Orientada a Servicios (SOA)
 
Como crear un diagrama de clases
Como crear un diagrama de clasesComo crear un diagrama de clases
Como crear un diagrama de clases
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Crear conexion a servidor en MySQL Workbench
Crear conexion a servidor en  MySQL WorkbenchCrear conexion a servidor en  MySQL Workbench
Crear conexion a servidor en MySQL Workbench
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
Uml
UmlUml
Uml
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Protocolos de internet
Protocolos de internetProtocolos de internet
Protocolos de internet
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Integridad en las bases de datos
Integridad en las bases de datosIntegridad en las bases de datos
Integridad en las bases de datos
 
DOMINIO Y HOSTING.pptx
DOMINIO Y HOSTING.pptxDOMINIO Y HOSTING.pptx
DOMINIO Y HOSTING.pptx
 
Elementos de JavaScript
Elementos de  JavaScriptElementos de  JavaScript
Elementos de JavaScript
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
Conclusiones sobre bases de datos
Conclusiones sobre bases de datosConclusiones sobre bases de datos
Conclusiones sobre bases de datos
 

Destacado

MVC
MVCMVC
Patrones diseño y arquitectura
Patrones diseño y arquitecturaPatrones diseño y arquitectura
Patrones diseño y arquitectura
Joan Sebastián Ramírez Pérez
 
Apis, como reutilizar contenidos en tu web
Apis, como reutilizar contenidos en tu webApis, como reutilizar contenidos en tu web
Apis, como reutilizar contenidos en tu web
Daniel Julià
 
Apis webapps
Apis webappsApis webapps
Apis webapps
Jorge Garcia
 
API WEB SQL ITParral
API WEB SQL ITParralAPI WEB SQL ITParral
API WEB SQL ITParral
Ferny Cortez
 
Google Analytics API
Google Analytics APIGoogle Analytics API
Google Analytics API
Carlo Rodriguez
 
OAuth and OpenID
OAuth and OpenIDOAuth and OpenID
OAuth and OpenID
Albert Lozano Ciller
 
WEB SCRAPING & API REST
 WEB SCRAPING & API REST WEB SCRAPING & API REST
WEB SCRAPING & API REST
Charly Graf Q
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
Joan Sebastián Ramírez Pérez
 
Código Limpio
Código LimpioCódigo Limpio
Patrones GOF
Patrones GOFPatrones GOF
Código Limpio
Código LimpioCódigo Limpio
Elevator pitch
Elevator pitchElevator pitch
Uml
UmlUml
Modelo negocio
Modelo negocioModelo negocio
Scrum
ScrumScrum
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
Joan Sebastián Ramírez Pérez
 
La nube. Cloud computting
La nube. Cloud computtingLa nube. Cloud computting
La nube. Cloud computting
Joan Sebastián Ramírez Pérez
 
Metodologías agiles
Metodologías agilesMetodologías agiles
Metodologías agiles
Joan Sebastián Ramírez Pérez
 
Microservicios
MicroserviciosMicroservicios

Destacado (20)

MVC
MVCMVC
MVC
 
Patrones diseño y arquitectura
Patrones diseño y arquitecturaPatrones diseño y arquitectura
Patrones diseño y arquitectura
 
Apis, como reutilizar contenidos en tu web
Apis, como reutilizar contenidos en tu webApis, como reutilizar contenidos en tu web
Apis, como reutilizar contenidos en tu web
 
Apis webapps
Apis webappsApis webapps
Apis webapps
 
API WEB SQL ITParral
API WEB SQL ITParralAPI WEB SQL ITParral
API WEB SQL ITParral
 
Google Analytics API
Google Analytics APIGoogle Analytics API
Google Analytics API
 
OAuth and OpenID
OAuth and OpenIDOAuth and OpenID
OAuth and OpenID
 
WEB SCRAPING & API REST
 WEB SCRAPING & API REST WEB SCRAPING & API REST
WEB SCRAPING & API REST
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Patrones GOF
Patrones GOFPatrones GOF
Patrones GOF
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Elevator pitch
Elevator pitchElevator pitch
Elevator pitch
 
Uml
UmlUml
Uml
 
Modelo negocio
Modelo negocioModelo negocio
Modelo negocio
 
Scrum
ScrumScrum
Scrum
 
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
 
La nube. Cloud computting
La nube. Cloud computtingLa nube. Cloud computting
La nube. Cloud computting
 
Metodologías agiles
Metodologías agilesMetodologías agiles
Metodologías agiles
 
Microservicios
MicroserviciosMicroservicios
Microservicios
 

Similar a Servicios web

SOA y Web Services
SOA y Web ServicesSOA y Web Services
SOA y Web Services
Jose Gutierrez
 
02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx
JorgeVargas846804
 
REST
RESTREST
Web Services
Web ServicesWeb Services
Web Services
Web ServicesWeb Services
Servicios Web
Servicios WebServicios Web
Servicios Web
Rene Guaman-Quinche
 
Servicios WEB
Servicios WEBServicios WEB
Servicios WEB
Eliza Juarez
 
Paper ieee
Paper ieeePaper ieee
Paper ieee
Victor Samaniego
 
RES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRES - Transferencia de Estado Representacional
RES - Transferencia de Estado Representacional
Robert Caraguay
 
Arquitectura Rest
Arquitectura RestArquitectura Rest
Arquitectura Rest
Israel Rey
 
Presentacion Unidad 6
Presentacion Unidad 6Presentacion Unidad 6
Presentacion Unidad 6
Noel Guerrero
 
Web services
Web servicesWeb services
Web services
Mariana Barreto
 
Diseño Web - Introducción al Internet
Diseño Web - Introducción al InternetDiseño Web - Introducción al Internet
Diseño Web - Introducción al Internet
Andes Maceda R.
 
Ingeneria de software III
Ingeneria de software IIIIngeneria de software III
Ingeneria de software III
deyanirethduarte
 
Ingeneria de software iii
Ingeneria de software iiiIngeneria de software iii
Ingeneria de software iii
deyanirethduarte
 
Web 3.0 y herramientas tecnologicas
Web 3.0 y herramientas tecnologicasWeb 3.0 y herramientas tecnologicas
Web 3.0 y herramientas tecnologicas
Carlos Arroyo
 
WEB SERVICE.pptx
WEB SERVICE.pptxWEB SERVICE.pptx
WEB SERVICE.pptx
JohanIsidro1
 
Servicios Web
Servicios WebServicios Web
Servicios Web
dwebslide
 
Glosario
Glosario Glosario
Glosario
cpitalua
 
Scom5 Ws Ii
Scom5 Ws IiScom5 Ws Ii
Scom5 Ws Ii
Joaquín Salvachúa
 

Similar a Servicios web (20)

SOA y Web Services
SOA y Web ServicesSOA y Web Services
SOA y Web Services
 
02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx
 
REST
RESTREST
REST
 
Web Services
Web ServicesWeb Services
Web Services
 
Web Services
Web ServicesWeb Services
Web Services
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Servicios WEB
Servicios WEBServicios WEB
Servicios WEB
 
Paper ieee
Paper ieeePaper ieee
Paper ieee
 
RES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRES - Transferencia de Estado Representacional
RES - Transferencia de Estado Representacional
 
Arquitectura Rest
Arquitectura RestArquitectura Rest
Arquitectura Rest
 
Presentacion Unidad 6
Presentacion Unidad 6Presentacion Unidad 6
Presentacion Unidad 6
 
Web services
Web servicesWeb services
Web services
 
Diseño Web - Introducción al Internet
Diseño Web - Introducción al InternetDiseño Web - Introducción al Internet
Diseño Web - Introducción al Internet
 
Ingeneria de software III
Ingeneria de software IIIIngeneria de software III
Ingeneria de software III
 
Ingeneria de software iii
Ingeneria de software iiiIngeneria de software iii
Ingeneria de software iii
 
Web 3.0 y herramientas tecnologicas
Web 3.0 y herramientas tecnologicasWeb 3.0 y herramientas tecnologicas
Web 3.0 y herramientas tecnologicas
 
WEB SERVICE.pptx
WEB SERVICE.pptxWEB SERVICE.pptx
WEB SERVICE.pptx
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Glosario
Glosario Glosario
Glosario
 
Scom5 Ws Ii
Scom5 Ws IiScom5 Ws Ii
Scom5 Ws Ii
 

Más de Joan Sebastián Ramírez Pérez

Clean architecture
Clean architectureClean architecture
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Bddtddatdd
BddtddatddBddtddatdd
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
Joan Sebastián Ramírez Pérez
 
Orm
OrmOrm
Ciclo devida
Ciclo devidaCiclo devida
Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
Joan Sebastián Ramírez Pérez
 
Roles scrum
Roles scrumRoles scrum
Lean startup
Lean startupLean startup
Principios SOLID
Principios SOLIDPrincipios SOLID
Modelo diseño
Modelo diseñoModelo diseño
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
Joan Sebastián Ramírez Pérez
 
Refactor y deuda técnica
Refactor y deuda técnicaRefactor y deuda técnica
Refactor y deuda técnica
Joan Sebastián Ramírez Pérez
 
Diagramas comportamiento
Diagramas comportamientoDiagramas comportamiento
Diagramas comportamiento
Joan Sebastián Ramírez Pérez
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
Joan Sebastián Ramírez Pérez
 
Calidad en el desarrollo del software
Calidad en el desarrollo del softwareCalidad en el desarrollo del software
Calidad en el desarrollo del software
Joan Sebastián Ramírez Pérez
 
Lean canvas
Lean canvasLean canvas
Retrospectiva
RetrospectivaRetrospectiva
BDD TDD ATDD
BDD TDD ATDDBDD TDD ATDD

Más de Joan Sebastián Ramírez Pérez (19)

Clean architecture
Clean architectureClean architecture
Clean architecture
 
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Practicas tecnicas
 
Bddtddatdd
BddtddatddBddtddatdd
Bddtddatdd
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Orm
OrmOrm
Orm
 
Ciclo devida
Ciclo devidaCiclo devida
Ciclo devida
 
Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
 
Roles scrum
Roles scrumRoles scrum
Roles scrum
 
Lean startup
Lean startupLean startup
Lean startup
 
Principios SOLID
Principios SOLIDPrincipios SOLID
Principios SOLID
 
Modelo diseño
Modelo diseñoModelo diseño
Modelo diseño
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Refactor y deuda técnica
Refactor y deuda técnicaRefactor y deuda técnica
Refactor y deuda técnica
 
Diagramas comportamiento
Diagramas comportamientoDiagramas comportamiento
Diagramas comportamiento
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Calidad en el desarrollo del software
Calidad en el desarrollo del softwareCalidad en el desarrollo del software
Calidad en el desarrollo del software
 
Lean canvas
Lean canvasLean canvas
Lean canvas
 
Retrospectiva
RetrospectivaRetrospectiva
Retrospectiva
 
BDD TDD ATDD
BDD TDD ATDDBDD TDD ATDD
BDD TDD ATDD
 

Último

primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 

Último (7)

primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 

Servicios web

  • 1. Servicios Web Joan Sebastián Ramírez Pérez 2017
  • 2. Agenda API SOA ¿Qué es un Servicio Web? ¿Por qué usar servicios Web? SOAP REST Bibliografía
  • 3. API
  • 4. 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.
  • 5. SOA
  • 6. SOA Arquitectura Orientada a Servicios Paradigma de arquitectura que permite diseñar software basado en la composición de aplicaciones independientes. Creación de sistemas de información altamente escalables.
  • 7. Arquitectura Orientada a Servicios Una aproximación para construir sistemas usando servicios los cuales se adhieren a 4 pilares: Los limites son explícitos Los servicios son autónomos Los servicios comparten esquemas y contratos, no clases La compatibilidad de los servicios, se determina basados en las políticas
  • 8. Beneficios de la Arquitectura Orientada a Servicios Proveer 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 heterogeneidad Provee de un modelo claro para integrar sistemas de software Dentro de a empresa Mas 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
  • 9. ¿Qué es un Servicio Web?
  • 10. Servicios Web Tecnologí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.
  • 11. ¿Por qué usar Servicios Web?
  • 12. ¿Por qué usar Servicios Web? Reuso del código Interoperabilidad con otros sistemas Posibilidad de usar microservicios como arquietctura
  • 13. SOAP
  • 14. 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
  • 15.
  • 16. SOAP Simple Object Access Protocol Formato 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.
  • 17. WSDL
  • 18. WSDL Web Services Description Language. Notación XML para describir un servicio web El 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.
  • 19.
  • 20. XSD Es 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" />
  • 21.
  • 22. Namespaces Los espacios de nombres (namespaces) son uno de los pilares de XML Medio para organizar clases dentro de un entorno, agrupándolas de un modo más lógico y jerárquico Permiten 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.
  • 23. REST
  • 24. JSON JavaScript Object Notation Formato de texto ligero para el intercambio de datos Está 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.
  • 25. Métodos estándar HTTP GET: Para consultar y leer recursos POST: Para crear recursos PUT: Para editar recursos DELETE: Para eliminar recursos.
  • 26. REST Representational State Transfer Tipo 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.
  • 27. REST Leonard Richardson, padre de la arquitectura orientada a recursos, define tres niveles de calidad para usar REST: Uso correcto de URIs Uso correcto de HTTP. Implementar Hypermedia (conectar mediante vínculos las aplicaciones clientes con las APIs).
  • 28.
  • 29. RESTFUL Hace referencia a un servicio web que implementa la arquitectura REST.
  • 30.
  • 32. Bibliografía http://www.ibm.com/developerworks/ssa/webservices/newto/service.htmlVallecillo, Antonio. El Futuro de los Servicios Web. Universidad de Málaga Naranjo, 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/