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.
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
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.
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.
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.
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).
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/