Arquitectura XML
Download
Report
Transcript Arquitectura XML
XML como arquitectura de
sistemas de información
Curso de introducción
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
1
Advertencias
Cuidado con las versiones de la documentación que se
maneja por ahí (incluida la mía).
No se profundiza en detalles, sino en conceptos y
arquitectura.
Cuidado con las versiones y fabricantes de software
que se utiliza.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
2
Parte I.
XML como Metalenguaje
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
3
Concepto de arquitectura
Paralelismo con la construcción
Un metalenguaje y una metodología de diseño propia.
Sistema de capas envolventes.
Cimientos.
Estructura.
Fachada.
Subsistemas especializados.
Técnicas normalizadas de ensamblado de componentes.
Etc.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
4
XML como metalenguaje
XML es un Metalenguaje : es un lenguaje de marcas que
permite la creación de otros lenguajes de marcas.
Sus reglas sintácticas y léxicas especificación XML.
Los lenguajes generados: aplicaciones XML
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
5
XML como Sistema de Información
Una aplicación XML representa un modelo de datos:
Codifica datos de acuerdo a un esquema “semántico”.
Un aplicativo puede:
Analizar y extraer información de un documento (repositorio)
XML.
Obtener información de otras fuentes y combinarla con el
documento XML para un posterior proceso.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
6
Codificación en XML.
Codificar una información en XML es generar un
fichero de texto donde se combina la información
fuente con metainformación estructural.
Editor XML
Documento
Fuente
Documento
Estructurado
(texto)
XML
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
7
Codificación “Bien Formada”
Para insertar la metainformación se utilizan unas
marcas que cumplen unas reglas básicas:
Reglas léxicas:
Qué tipo de caracteres se pueden utilizar,
Cómo se codifican los caracteres, etc.
Reglas sintácticas:
Todo bloque estructural debe tener dos marcas:
comienzo y otra de final de bloque.
Bloques correctamente anidados, etc.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
una de
8
Ejemplo de documento XML
formado”
“bien-
<factura>
<fecha>12/08/2000</fecha>
<número>23-2000</número>
<línea> ... </línea>
... Etc ...
</factura>
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
9
Codificacíon XML válida
Un documento XML es válido si cumple un conjunto de
restricciones estructurales denominado gramática.
A las gramáticas se les suele denominar esquema XML.
Un documento XML puede ser válido para un esquema y no
válido para otros muchos.
Sea o no válido, un documento XML siempre debe estar “bien
formado”.
Validación: proceso mediante el cual se puede
comprobar si un documento XML cumple las regla de
un esquema dado.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
10
Sistemas de defición de esquemas
Para definir esquemas XML se necesita un lenguaje de
definición para las reglas gramaticales.
Existen, fundamentalmente, dos lenguajes de este tipo:
DTD (heredado del SGML, con mucha “solera”).
XML-Schema (Recomendación reciente del W3C).
Hay otros, pero son marginales ( o de Microsoft: XML Data).
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
11
Problemas de los DTD
Fueron concebidos para sistemas de publicación (SGML):
contenidos textuales.
No tienen tipado de elementos (declaraciones globales).
Las cardinalidades son: 0, 1, infinito.
Sintaxis especial y poco clara (no es XML).
En XML imponen un orden (no hay ‘&’).
XML, por su orientación Web, tiene necesidades nuevas
respecto a SGML.
No permiten la reutilización sencilla de código.
No pueden validar espacios de nombres.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
12
XML Schema aporta ...
Por fin ya es una recomendación del W3C.
Desde mayo de 2001.
Utiliza XML como lenguaje de definición.
Soporta “Tipado de Datos”.
Ofrece caracteristicas de Orientación a Objetos.
Mayor control sobre la creación de documentos XML.
Permite validar XML de formas diferentes.
Casi todos procesadores XML lo soportan.
Cada vez más editores lo soportan.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
13
Modelo de datos
XML-Schema DDL – ODL (para BD).
Un documento XML como instancia de BD.
BD relacional: modelo relacional de tablas.
BDOO: modelo de datos OO.
Documento XML: Modelo de datos jerárquico.
Definición de:
Estructuras.
Restricciones de integridad.
TAD’s.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
14
Herramientas XML
Herramientas de desarrollo (“parsers”):
Dirigidos por eventos (SAX).
Dirigidos por la estructura (DOM).
Herramientas de autor:
Editores XML.
Editores de DTD y esquemas.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
15
5 ideas básicas sobre XML.
Recomendación del consorcio W3C (no es un estándar industrial:
ISO, ANSI, ...).
Es un metalenguaje para la construcción de estructuras de
información semiestructurada.
Basado en marcas sintácticas que cumplen reglas léxicas y
sintácticas.
Se le puede asociar una gramática para definir un modelo de
estructura de documento (DTD - Esquema).
La información se codifica en modo texto (UNICODE).
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
16
Lenguajes XML
No creamos documentos en XML, utilizamos XML para
crear lenguajes de marcado propios (aplicaciones XML).
Creamos documentos utilizando estos lenguajes.
Estos lenguajes se definen especificando los elementos y
los atributos permitidos.
Esta especificación se realiza mediante reglas
gramaticales.
Un conjunto concreto y bien formado de tales reglas
forman un esquema XML.
Un esquema define un conjunto coherente de
documentos (tipo de documentos).
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
17
Diferencias entre XML y SGML
XML es un subconjunto de SGML concebido para
aplicaciones en Internet.
XML impone unas reglas léxicas y sintácticas más rígidas,
“parsers” más sencillos:
No se pueden omitir las marcas de finales.
Forma compacta para los elementos vacíos.
No existe el operador [&].
Distingue entre mayúsculas y minúsculas.
Los valores de atributo deben ir entre comillas, etc.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
18
HTML – XML - XHTML
HTML es una aplicación SGML.
En XML es un subconjunto propio de SGML.
HTML mezcla información estructural y de presentación.
HTML tiene marcas sintácticas con un significado fijo.
El significado de las marcas puede cambiar.
Solo se codifica estrutura de datos, no forma de presentación.
XHTML es una aplicación XML.
HTML reformulado como aplicación XML.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
19
La arquitectura XML
Tecnologías “cimientos y pilares” que dan estructura al
edificio XML.
XML Schema: lenguaje para la definición de reglas de
construcción y tipado.
XSL (XSLT-XPath): lenguage para el procesamiento y
publicación de contenidos XML.
XLink (Xpointer – XPath): lenguage para la definición de
hiperenlaces avanzados en XML.
XQuery (XPath): leguage de consulta para bases de datos con
modelo de datos XML.
XForms: lenguaje de definición de formularios web, basado en
el modelo MVC.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
20
Otras tecnologías XML
Completan la arquitectura:
Namespaces.
XBase.
XPath.
XPointer.
XInclude.
Infoset.
Canonical XML.
URL – URI – URN.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
21
XML y Java: “Cuba-Libre”
La mayoría de las herramientas para XML están en
Java por sus aplicaciones Web.
No existe una dependencia entre ambos, es una unión
coyuntural de intereses.
Existe una gran interés en aproximar XML y las
tecnologías de objetos (XMI, SOAP ...).
Son la base para una “Object-Oriented Web”.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
22
XML como Meta-Meta-Lenguaje
XML como lenguaje para representar Meta-modelos.
UML representado en XML
XMI
RDF representado en XML
( RDF ).
XML-Schema representado en XML:
XML-Schema para XML-Schemas.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
23
Parte II.
¿ Para que sirve el XML ?
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
24
Dos grandes grupos
Gestión documental.
Sistemas transaccionales.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
25
XML documental
Edición y publicación electrónica.
Gestión de grandes volúmenes de documentos.
Procesamiento del lenguaje:
Gestión de conocimientos:
Diccionarios, herramientas filológicas, etc.
redes semánticas, tesauros, etc.
Documentación técnica de manuales:
Especificación de software, configuración, ...
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
26
XML Documental:
características
Documentos XML muy voluminosos:
Paquetes de intercambio de información grandes.
Modelos de información poco estructurada.
Información muy estática.
Poca variedad de modelos de datos.
Operaciones de lectura fundamentalmente.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
27
XML Transaccional
Transacciones proveedor-consumidor:
Acceso a transacciones internas de la empresa:
“Suply-chain”.
Acceso en tiempo real al catálogo.
Transacciones entre empresas.
Interoperabilidad entre sistemas de información heterogéneos
(EDI).
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
28
XML Transaccional:
características
Sistemas de intercambio de información entre
aplicaciones transaccionales.
Paquetes relativamente pequeños de información.
Información altamente estructurada.
Información que cambia rápidamente con el tiempo.
Muchos formatos diferentes.
Operaciones de lectura/escritura.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
29
Lenguajes XML
Asociados al XML documental:
DocBook
TEI
MathML
NewsML.
SMIL
Etc.
Asociados al XML transaccional:
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
XML-RPC
SOAP
Web Services (WSDL)
ebXML
BizTalk
Esquemas sectoriales (EDI).
Etc.
30
Parte III.
XSL: XML dinámico y visual
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
31
Arquitectura XSL
XSLT: lenguaje de programación para la transformación
de estructuras XML.
XPath: lenguage de direccionamiento interno en estructuras
XML.
XSL-FO: lenguaje de definición de objetos con formato
de presentación para la visualización de información
XML.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
32
¿ Por que XSL ?
Está diseñado para integrarse en la arquitectura XML.
Es mucho más potente que CSS.
CSS no tiene capacidades de tranformación.
Aunque un poco menos potente que DSSSL (LISP-like)
es mucho más sencillo de usar.
Cada vez hay más herramientas para XSL.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
33
XSLT: definición
eXtensible Stylesheet Language Tranformations.
Lenguaje funcional diseñado fundamentalmente para
la transformación de documentos XML en otras
estructuras XML y no-XML.
http://www.w3.org/TR/xstl
Sólo sabe procesar información de tipo texto (caracteres
Unicode).
XSLT se expresa en XML (es una aplicación XML).
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
34
¿ Por que transformar XML ?
Conversión entre modelos de datos
Aunque legible, XML está pensado para el intercambio de
información entre aplicaciones.
Es necesaria una capa de presentación para hacer
“amigable” el acceso de los humanos a la información
XML.
XML produce separación entre el modelo de datos y
presentación visual.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
35
Proceso de publicación XML-XSL.
Procesador
de XSLT
Procesador
De XSLFO
Doc.
XML
original
Nueva
Nueva
Nueva
Estructura
Estructura
Estructura
XML + FO
XML
FO
XML + +FO
XSLT
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
HTML
,
PDF,
... 36
El proceso de transformación XSLT
Primer paso: analizar el documento XML fuente y
convertirlo en un árbol de nodos.
Un nodo es cualquiera de los elementos contructivos de XML.
Genera una estructura de datos en memoria.
Para esta operación se utiliza un analizador sintáctico
especializado: parser XML.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
37
Segundo paso
Analizar el documento “hoja de estilo” en búsqueda de
instrucciones de transformación.
Estas instrucciones se codifican en “reglas XSLT”
(“templates”).
El procesador XSLT siempre comienza buscando una regla
inicial que de comienzo a todo el porceso (“root template”).
A partir de este punto comienza un precesamiento de reglas
en cascada (indeterminista).
Con la aplicación de cada regla se construye un trozo del
árbol (documento) de salida.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
38
Reglas de transformación XSLT:
Templates
Es el elemento básico y fundamental del lenguaje de
transformación XSLT.
Una regla (o “template”) especifica que tipo de
transformación se aplicará y a que parte del documento
XML fuente se aplica.
Cada hoja de estilo XSLT (programa XSLT) debe contener
al menos una regla si se quiere que ejecute algo.
Un “template” seleccionado asocia una salida concreta
con una entrada concreta.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
39
Estructura de las reglas XSLT
Una regla consta de dos partes:
La etiqueta esta formada por un patrón de localización
que selecciona nodos en el árbol origen:
Una “etiqueta”.
Una “acción” o “producción”.
Expresión XPath.
La acción está formada por un conjunto de elementos
constructivos XSLT que indican la transformación a
realizar sobre los nodos seleccionados.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
40
El proceso de transformación XSLT:
Analisis
DocumentoXML
NodoDocumento
catálogo
ELEMENTO
Recurso
ELEMENTO
tipo
ATRIBUTO
"libro"
PCDATA
autor
ELEMENTO
título
ELEMENTO
recurso
ELEMENTO
títituloSec
ELEMENTO
ISBN
ELEMENTO
clasificación
ELEMENTO
nombre
ELEMENTO
apellidos
ELEMENTO
materia
ELEMENTO
"Pedro"
PCDATA
"Pastor"
PCDATA
"XML"
PCDATA
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
materia
ELEMENTO
41
El proceso de transformación XSLT:
Construcción
DocumentoXML
NodoDocumento
catálogo
ELEMENTO
recurso
ELEMENTO
tipo
ATRIBUTO
"libro"
PCDATA
Pedro Pastor
(Universitat d'Alacant)
título
ELEMENTO
autor
ELEMENTO
clasificación
ELEMENTO
nombre
ELEMENTO
apellidos
ELEMENTO
materia
ELEMENTO
"Pedro"
PCDATA
"Pastor"
PCDATA
"XML"
PCDATA
Curso XSL
materia
ELEMENTO
42
El proceso de transformación XSLT:
Presentación
DocumentoHTML
NodoDocumento
<ul>
"Lista de libros"
<li>
"Título"
<li>
"Autor"
<li>
"Clasificación"
"XML by example"
"Pedro Pastor"
<ul>
"XML"
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
"Java"
43
Procesamiento XSLT-Servidor
Fuente de
contenidos
Servidor
decontenidos
Visor de FO
XSL_FO
XSLT
Clientes
Procesador
XSLT
XML
Pedro Pastor
(Universitat d'Alacant)
HTML
Navegador Web
XML
Curso XSL
44
Procesamiento XSLT-Cliente
Servidor de
contenidos
Clientes
Visor de FO
IMAGEN
XML
XSLT
Procesador
XSLT
Navegador Web
Pedro Pastor
(Universitat d'Alacant)
HTML
Curso XSL
45
Expresiones XPath
Parten de una gramática formal de especificación.
Generan un lenguaje formal no-ambiguo.
Expresiones de localización con doble funcionalidad en las
operaciones:
“pattern matching” -> devuelven un booleano.
Evaluación de expresiones -> devuelven un conjunto de nodos.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
46
Ejes de localización
Hay trece ejes de localización:
ancestor::
ancestor-or-self::
attribute::
child::
descendant::
descendant-or-self::
following::
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
following-sibling::
namespace::
parent::
preceding::
preceding-sibling::
self::
47
Ejes XPath
Ancestor
preceding
ancestor
parent
following
preceding
preceding-sibling
SELF
following
following-sibling
descendant
child
descendant
child
descendant
Pedro Pastor
(Universitat d'Alacant)
descendant
child
descendant
Curso XSL
48
Parte IV.
XQuery: lenguaje de consulta
a bases de información XML.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
49
Diseño y concepción de XQuery
Deriva directamente de “Quilt” que a su vez sintetiza
características de:
XQL: expresiones de localización (XPath).
XML-QL: la noción de “binding variable”, que permiten la
construccuión de una nueva estructura.
SQL: el patrón SELECT-FROM-WHERE para reestructurar la
información.
OQL (ODMG): la composión de expresiones en un lenguaje
funcional.
Otras influencias de lenguajes de consulta para documentos
estructurados como: “Lorel” y “Yalt”.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
50
La especificación de XQuery
XML Query 1.0 Requirements.
XQuery 1.0 Formal Semantics.
XQuery 1.0 and XPath 2.0 Data Model.
XML Query Use Cases.
XML Syntax for XQuery 1.0 (XQueryX).
XQuery 1.0 Functions and Operators.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
51
Carácterísticas fundamentales
Es un lenguaje declarativo.
Debe poder usar cualquier tipo definido en un XMLSchema.
Trabaja con el concepto de identificador unívoco de
forma análoga al de clave primaria.
Una consulta puede utilizar referencias internas o
externas al documento (incluyendo XLinks).
Esto lo convierte en un lenguaje de consulta en grafos.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
52
Frameworks XML
SOAP
Web Services
Cocoon
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
53
SOAP
Mensajería Universal basada en XML
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
54
¿ Que es SOAP ?
Protocolo ligero para el intercambio de información
estructurada entre iguales en un entorno descentralizado
y distribuido.
Basado en XML, tiene 3 partes:
envoltura para describir el contenido del mensaje y la forma de
procesarlo.
un grupo de reglas de codificación para expresar las instancias
de tipos de datos definidos por la aplicación .
una convención para representar las llamadas y las respuestas a
procedimientos remotos .
Trabaja sobre protocolo HTTP.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
55
Modelo de intercambio de mensajes
Los mensajes SOAP son transmisiones unidireccionales
desde un emisor a un receptor.
Se suelen combinar para implementar patrones, como
petición/respuesta.
Las implementaciones SOAP se pueden optimizar para
explotar las características específicas de sistemas de
red concretos.
Permite la implementación de mecanismos RPC.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
56
Procesamiento de mensajes
Una aplicación SOAP debe procesar un mensaje
siguiendo un orden de acciones:
1.
2.
3.
Identificar las partes del mensaje SOAP dirigido a dicha
aplicación.
Aceptar las partes obligatorias identificadas en el paso 1 y
procesarlas de la forma adecuada. De lo contrario, descartar
el mensaje.
Si la aplicación SOAP no es el destino final del mensaje,
quitar todas las partes identificadas en el paso 1 antes de
reenviar el mensaje.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
57
Web Services
Computación distribuida en Web
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
58
Programación orienteada a servicios
Es un paradigma emergente basado en tecnologías de
red y programación distribuida.
La gran variedad de plataformas, lenguajes, “middleware, etc.,
dificulta el desarrollo de las aplicaciones distribuidas.
La POS (SOP) está siendo “inventada” simultáneamente
por varias empresas:
Jini (Sun)
Openwings
.Net (Micrsoft)
CoolTown (HP)
De momento ninguan cubre comletamente las propiedades SOP.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
59
Definición de servicio
Un comportamiento definido que puede ser
implementado y proporcionado por un componente
distribuido para ser utilizado por cualquier otro
componente distribuido.
La SOP es un paradigma de la computación distribuida
que es la evolución lógica de los sistemas O-O.
Encapsulación.
Paso de mensajes.
Enlace dinámico.
Descripción/consulta de estructura interna.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
60
Arquitectura
Son aplicaciones modulares e independientes que pueden
ser descritas, publicadas, localizadas e invocadas a través
de una red (generealmente HTTP).
Se describen utilizando un lenguaje de descripción de servicios
(WSDL).
Se publican registrando sus descripciones por medio de un
registro público (Universal Description Discovery and Integration.
Pueden encontrarse consultando al registro.
Se enlaza con ellas con la información contenida en el registro.
Se invoca por la red mediante los detalles de enlace del registro.
Se pueden componer con otros servicios para crear nuevas
aplicaciones.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
61
Los elementos constitutivos
Los elementos constitutivos fundamentales son:
El Servicio: es la aplicación proporcionada para uso de los
solicitantes. Su implementación se lleva a cabo en una estación
accesible por red. Utiliza un lenguaje de descripción de servicios.
El Proveedor de Servicios: es la plataforma responsable de
proporcionar el acceso al servicio.
El Solicitante de Servicios: es quien quiere hacer uso de cierta
funcionalidad. Es el cliente el que busca y solicita el servicio.
El Registro de Servicios: es un repositorio de descripciones de
servicios donde los Proveedores publican sus servicios y los
solicitantes buscan la metainformación sobre los mismos.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
62
Operaciones básicas
Las tres operaciones básicas asociadas a los Web
Services son:
Publicar: un servicio sólo puede ser utilizado si se da a
conocer. Para ello el proveedor lo debe registrar.
Descubrir: El solicitante interactúa con el registro para para
encontrar el servicio que busca.
Enlazar: Finalmente el servicio ha de ser invocado. En la
operación de enlace, el solicitante invoca al servicio en tiempo
de ejecución utilizando la metainformación que proporciona el
regiatro.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
63
Estructura de interacción
Proveedor
Servicio
Publicar
Enlazar
Descripción
Cliente
Registro
Solicitante
Encontrar
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
64
Estándares y tecnologías
involucradas
UDDI
tbd
Service Flows
WSDL
Service Qo S
UDDI
Service Description
WSDL
Service Interface Definition
WSDL
Service Implementation Definition
SOAP
Formats & Protocol
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
PKI
65
Formatos y Protocolos
Los mensajes se envían como documentos XML
conforme a XML Schemas publicados o bien
conocidos. La infraestructura de mensajería utilizará
protocolos SOAP para envolver los mensajes.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
66
Definición de la implementación de
los servicios: WSDL
Para que un cliente pueda enlazar con un servicio es
necesario algo más que la definición formal del
interfaz.
Se deben especificar toda una serire de
metainformaciones del servicio: dirección de red, los
protocolos, los requisitos de seguridad, etc.
El WDSL (Web Services Definition Language) cumple
todas estas necesidades
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
67
Definición del interfaz del servicio
Al igual que para cualquier componente de un modelo
de computación distribuida, se necesita un lenguaje
de definición del interfaz (IDL).
WSDL establece todos los requerimientos necesarios.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
68
Descripción del servicio
WSDL proporciona solo descripciones funcionales del
servicio (detalles de enlace, prototipo, protocolo).
El registro UDDI proporciona un mecanismo para
mantener descripciones no-funcionales sobre los
servicios web.
La descripción no-funcional del servicio incluirá
información como el propietario, tipo y nombre del
negocio, y varias palabras clave que facilitarán su
búsqueda, privacidad y control de acceso, etc.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
69
Control de Calidad de Servicio (QoS)
La capa QoS permite la especificación de información
relevante al nivel de implementación:
enlace a través transaccional o SOAP seguro.
duración máxima que el solicitante puede esperar de una
respuesta del proveedor.
Etc.
Algunos atributos para esta capa están especificados
por WSDL mientras que otros actualmente todavía se
están definiendo.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
70
Flujos de servicio
Una vez que los Web Services están perfectamente
definidos y registrados pueden ser utilizados en
workflows o como envoltorios para procesos de
negocios.
El lenguaje para expresar estos flujos actualmente se
está desarrollando.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
71
Descubrimiento del servicio
Las aplicaciones cliente pueden enlazar estáticamente
con un Web Service o realizar un enlace en tiempo de
ejecución.
La decisión de enlazar dinámicamente con un servicio web se
realiza en la aplicación cliente en tiempo de diseño.
Incluso cuando se enlace estático es necesario buscar y
descubrir tipos de servicios en tiempo de diseño ajustándose
los detalles de enlace en tiempo de ejecución.
El UDDI es el registro que facilita estas tareas.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
72
Administración (mangement)
Dado que los Web Services deben ser sencillos de
desarrollar, un entorno de administración puede añadir
una complejidad excesiva.
La aproximación de los servicios web su gestión es
proporcionar una infraestructura que la maneje
automáticamente:
Esta complejidad debe ocultarse lo máximo posible.
Que facilite métricas, logs, notificación de eventos, detención
del procesamiento y otras funciones de administración.
Dicha arquitectura todavía está siendo definida.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
73
Seguridad
La arquitectura debe apoyar la definición de roles y
múltiples esquemas.
Debe soportar los continuos cambios en las topologías
de red y proporcionar un modo de administrar tanto las
aplicaciones como las redes de un modo seguro.
Diversos estándares como PKI (Public Key
Infraestructuras), SSL (Secure Sockets Layer) y X509
deben pode ser utilizados para:
firmas digitales, encriptación, autentificación, certificados, etc.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
74
Cocoon
Marco general de generación dinámica de
contenidos.
Pedro Pastor
(Universitat d'Alacant)
Curso XSL
75