miércoles, 6 de mayo de 2015

6.2 ESTÁNDARES

6.2 ESTÁNDARES.

Uno de los atributos clave de estándares de Internet es que se centran en protocolos y no en implementaciones. Internet se compone de tecnologías heterogéneas que operan conjuntamente de modo satisfactorio mediante protocolos compartidos. Esto impide que los proveedores individuales impongan un estándar en Internet. 
 El primer grupo maneja los temas de mensajería y dirección, suministro y descripción de interfaces. El protocolo más conocido es el protocolo de mensajería conocido como protocolo simple de acceso a objetos (SOAP). Ese protocolo codifica mensajes para que puedan ser entregados en la red a través de un protocolo de transporte como HTTP, IIOP, SMTP u otros.
El desarrollo del software de código fuente abierto desempeña un rol fundamental para proteger la interoperatividad de implementaciones de estándares del proveedor.
Los estándares siguientes desempeñan roles clave en servicios Web: UDDI (Universal Description, Discovery and Integration), WSDL (Web Services Description Language), WSIL (Web Services Inspection Language), SOAP y WS-I (Web Services Interoperability). 
WSIL es una especificación abierta basada en XML que define un método de descubrimiento de servicios distribuidos que suministra referencias a descripciones de servicio en el punto de ofertas del proveedor de servicios, especificando cómo comprobar si hay servicios Web disponibles en un sitio Web. Un documento WSIL define las ubicaciones en un sitio Web donde se pueden buscar descripciones del servicio Web.
a función del lenguaje  WSDL (Web Service Description Language) es decirle a una aplicación qué formato usar para comunicarse, especificando por medio de un lenguaje estándar, tanto la dirección del servicio como la interfaz que se va a utilizar. WSDL es un lenguaje basado en XML para describir servicios en la Web. Ofrece a los proveedores de servicios, una formato básico de descripción de las peticiones de servicios web sobre diferentes protocolos o codificaciones.
Los servicios web involucran una familia de protocolos relacionados para describir y suministrar servicios web e interactuar con ellos. Se puede subdividir esa familia en grupos basados en funciones y usos comunes.
El lenguaje de descripción de servicios web (WSDL) es representado como una serie de sentencias XML que constituyen la definición de las interfaces de cada servicio. Otra especificación que está en progreso actualmente es WS-Addressing, que define cómo dar direcciones exclusivas e identificar en forma exclusiva los servicios web en una arquitectura distribuida. Otra especificación popular es Web Services Invocation Framework, en la cual se pueden definir interfaces WSDL para todos los tipos de componentes, incluso los que no usan los mismos protocolos de mensajería.
La World Wide Web no es sólo un espacio de información, también es un espacio de interacción. Utilizando la Web como plataforma, losusuarios, de forma remota, pueden solicitar un servicio que algún proveedor ofrezca en la red. Pero para que esta interacción funcione, deben existir unos mecanismos de comunicación estándares entre diferentes aplicaciones. Estos mecanismos deben poder interactuar entre sí para presentar la información de forma dinámica al usuario. Se precisa, pues, una arquitectura de referencia estándar que haga posible la interoperabilidad y extensibilidad entre las distintas aplicaciones y que permita su combinación para realizar operaciones complejas.
El siguiente grupo de protocolos y especificaciones define cómo los servicios se anuncian y encuentran otros servicios en la red. Para que un servicio encuentre otro, el protocolo de descripción, descubierta e integración universal (UDDI) define un registro y protocolos asociados para ubicar servicios y acceder a ellos. El lenguaje Web Services Inspection Language es un mecanismo alternativo al UDDI que funciona sin el uso de un registro.

La definición dada por el World Wide Web Consortium (los responsables de XML) es:«XML describe una clase de objetos de datos llamados documentos XML, y describe parcialmente el comportamiento de los programas que los procesan. Los documentos XML están formados por unidades de almacenamiento llamadas entidades, las cuales contienen datos analizados (parsed) o sin analizar (unparsed). Los datos analizados están formados por caracteres, algunos de los cuales conforman datos y otros etiquetas.»
Aunque esta definición es un poco compleja por la cantidad de elementos involucrados, es importante resaltar que XML permite representar documentos («documento» se refiere no sólo a textos, sino también gráficos, correos electrónicos, transacciones de comercio electrónico, etc.) y que todo documento XML posee una estructura lógica y una física. Físicamente, el documento está compuesto de unidades llamadas entidades. Una entidad, en términos más simples, puede verse como un «trozo de documento», es decir, puede ser un simple carácter o todo el capítulo de un libro. Todo documento tiene una entidad raíz.
Ventajas para hacer un servicio web * Aumenta la interoperatibilidad entre servicios y programas de diferentes compañías y ubicados en diferentes lugares geográficos.
* Fomentan los estándares y protocolos basados en texto, haciendo más fácil acceder y entender su contenido y funcionamiento (pero, en general, produciendo una baja en su rendimiento).

* Al emplear http, pueden utilizar un sistema firewall sin cambiar las reglas de filtrado.
Desventajas de los servicios web

* No son tan desarrollados para realizar transacciones comparado a otros sistemas como CORBA (Common Object Request Broker Architecture).

* Su rendimiento es bajo comparado con otros sistemas como corba, dcom o rmi, especialmente por el uso de protocolos y estándares basados en texto.
- See more at: http://www.alegsa.com.ar/Dic/servicio%20web.php#sthash.oJgcnDP4.dpuf 

 

W3C, es el que analiza y desarrolla el lenguaje WSDL y WSDL se usa para describir qué puede hacer un servicio webdónde reside, y cómo invocarlo. WSDL define los servicios como colecciones de puntos finales de la red o puertos. En WSDL la definición abstracta de puntos finales y mensajes se separa de su concreto despliegue en la red o  formato de datos ligados. Esto permite reutilizar las definiciones abstractas de los mensajes, que son descripciones abstractas de los datos que están siendo intercambiados, y los tipos de puerto, que son colecciones abstractas de operaciones. El protocolo concreto y las especificaciones del formato de datos para un tipo particular de puerto constituye un enlace reutilizabe. Un puerto se define por asociación a una dirección de red con un enlace reutilizable; una colección de puertos define un servicio. Y, así, un documento WSDL usa los siguientes elementos en la definición de servicios en red:




*Tipo de puerto (Port Type): un conjunto abstracto de operaciones soportadas por uno o más puntos finales.



*Tipo de puerto (Port Type): un conjunto abstracto de operaciones soportadas por uno o más puntos finales.


*Conexión (Binding): un protocolo concreto y una especificación de formato de datos para un tipo de puerto particular.


*Puerto (Port): un punto final individual definido como una combinación de una conexióny una dirección de la red.


*Servicio (Service): una colección de puntos finales relacionados.





Algunas ventajas de los servicios web como :

Aportan interoperabilidad entre aplicaciones de software independientemente de sus propiedades o de las plataformas sobre las que se instalen. tambien  fomentan los estándares y protocolos basados en texto hacen más fácil acceder a su contenido y entender su funcionamiento.





Recomendaciones de estandares:

SOAP v1.1, 1.2












  • SOAP 1.1 es un documento individual. La especificación SOAP 1.2 está organizada en las partes siguientes:
    • La parte 0 es una introducción a SOAP sin reglas.
    • La parte 1 describe la estructura de los mensajes SOPA, el modelo de proceso SOAP y una infraestructura para enlazar SOAP con los protocolos subyacentes. Las implementaciones SOAP compatibles deben implementar todo lo que incluye la Parte 1.
    • La parte 2 describe las adiciones opcionales de SOAP básico incluidos un modelo y la codificación de datos, un convenio RPC y un enlace con HTTP. Las implementaciones SOAP compatibles pueden implementar cualquiera de las incorporaciones de la Parte 2. No obstante, si se implementan incorporaciones, deben ajustarse a las partes relevantes de la especificación.
    Un cuarto documento es Aserciones de especificación y colección de pruebas.


  • SOAP 1.2 proporciona una definición más específica del modelo de proceso SOAP que suprime muchas de las ambigüedades que pueden generar errores de interoperatividad cuando no existen perfiles WS-I (Web Services-Interoperability). El objetivo es disminuir de modo significativo la posibilidad de que existan problemas de interoperatividad entre distintos proveedores que utilizan implementaciones de SOAP 1.2.
Se recomienda el uso de los estándares SOAP (Simple Object Access Protocol) para el intercambio de información en entornos distribuidos, siendo obligatorio para aquellos servicios que vayan a integrarse con PLATINA.


WSLD: Es el lenguaje de la interfaz pública para los servicios Web. Es una descripción basada en XML de los requisitos funcionales necesarios para establecer una comunicación con los servicios Web.

JAXB






permite a los desarrolladores java asignar clases de Java a representaciones xml. JAXB proporciona dos características principales: la capacidad de serializar las referencias de objetos Java a XML y la inversa, es decir, deserializar XML en objetos Java. En otras palabras, JAXB permite almacenar y recuperar datos en memoria en cualquier formato XML, sin la necesidad de implementar un conjunto específico de rutinas de carga y guardado de XML para la estructura de clases del programa. Es similar a xsd.exe y XmlSerializer en Net Framework.

UDDI es uno de los estantadares basicos de servicios web su objetivo es ser accedido por los mensajes soap y dar paso a documentos wsdl en los que se describe los requisitos del protocolo y los formatos del mensaje solicitado para interactuar con los servicios web del catalogo de registro.

Tambien es un modelo de directorios para web services una especificacion para mantener directorios estandarizados de informacion acerca de web services  sobre :

*Sus capacidades

*ubicacion

*requerimientos en un formato reconocido universal


es un lugar en el cual podemos buscar cuales son los servicios web disponibles o gual una especie de directorio donde podemos encontrar los web services publicados y publicar los services que desarrollamos.







Funcionamiento

*El desarrollador construye un servicio para convertir monedas

*El desarrollador registra y clasifica el servicio web

*El usuario pregunta a UDDI por servicios de conversion

*El usuario determina el servicio de conversion mas apropiado.



XML












xML es un Lenguaje de Etiquetado Extensible muy simple, pero estricto que juega un papel fundamental en el intercambio de una gran variedad de datos. Es un lenguaje muy similar a html pero su función principal es describir datos y no mostrarlos como es el caso de HTML. XML es un formato que permite la lectura de datos a través de diferentes aplicaciones.
Las tecnologías XML son un conjunto de módulos que ofrecen servicios útiles a las demandas más frecuentes por parte de los usuarios. XML sirve para estructurar, almacenar e intercambiar información.

Que no es XML

No es una versión mejorada de HTML

HTML es una aplicación de SGML por lo tanto de XML

No es un lenguaje para hacer paginas WEB

Y sobre todo no es difícil

¿Por qué XML?

Es un estándar internacionalmente conocido

No pertenece a ninguna compañía

Permite una utilización efectiva en Internet para sus diferentes terminales.

Definición

Especificación para diseñar lenguajes de marcado, que permite definir etiquetas personalizadas para descripción y organización de datos.

¿Para que sirve XML?

Representar información estructurada en la web (todos documentos), de modo que esta información pueda ser almacenada, transmitida, 

procesada, visualizada e impresa, por muy diversos tipos de aplicaciones y dispositivos.

Entre las tecnologías XML disponibles se pueden destacar:
XSL : Lenguaje Extensible de Hojas de Estilo, cuyo objetivo principal es mostrar cómo debería estar estructurado el contenido, cómo debería ser diseñado el contenido de origen y cómo debería ser paginado en un medio de presentación como puede ser una ventana de un navegador Web o un dispositivo móvil, o un conjunto de páginas de un catálogo, informe o libro.
xpath: Lenguaje de Rutas XML, es un lenguaje para acceder a partes de un documento XML.
xlink: Lenguaje de Enlace XML, es un lenguaje que permite insertar elementos en documentos XML para crear enlaces entre recursos XML.
xpointer:Lenguaje de Direccionamiento XML, es un lenguaje que permite el acceso a la estructura interna de un documento XML, esto es, a sus elementos, atributos y contenido.
xql: Lenguaje de Consulta XML, es un lenguaje que facilita la extracción de datos desde documentos XML. Ofrece la posibilidad de realizar consultas flexibles para extraer datos de documentos XML en la Web.
XSL funciona como un lenguaje avanzado para crear hojas de estilos. Es capaz de transformar, ordenar y filtrar datos XML, y darles formato basándolo en sus valores. XPathidentifica partes de un documento XML concreto, como pueden ser sus atributos, elementos, etc. XLink por su lado, describe un camino estándar para añadir hiperenlaces en un archivo XML. Es decir, es un mecanismo de vinculación a otros documentos XML. Funciona de forma similar a un enlace en una página Web, es decir, funciona como lo haría <a href="">, sólo que a href es un enlace unidireccional. Sin embargo, XLink permite crear vínculos bidireccionales, lo que implica la posibilidad de moverse en dos direcciones. Esto facilita la obtención de información remota como recursos en lugar de simplemente como páginas Web. XPointer funciona como una sintaxis que apunta a ciertas partes de un documento XML, es como una extensión de XPath. Se utiliza para llegar a ciertas partes de un documento XML. Primero, XLink permite establece el enlace con el recurso XML y luego es XPointer el que va a un punto específico del documento. Su funcionamiento es muy similar al de los identificadores de fragmentos en un documento HTML ya que se añade al final de una URI y después lo que hace es encontrar el lugar especificado en el documento XML. Al ser XPointer una extensión de XPath, XPointer tiene todas las ventajas de XPath y además permite establecer un rango en un documento XML, es decir, con XPointer es posible establecer un punto final y un punto de inicio, lo que incluye todos los elementos XML dentro de esos dos puntos. Finalmente, XQL, lenguaje de consultas, se basa en operadores de búsqueda de un modelo de datos para documentos XML que puede realizar consultas en infinidad de tipos de documentos como son documentos estructurados, colecciones de documentos, bases de datos, estructuras DOM, catálogos

Ventajas de XML

*Fácilmente procesable

*Separa radicalmente el contenido y el formato de presentación

*Diseñado para cualquier lenguaje y alfabeto. (encoding)

*Características

XML es un subconjunto de SGML que incorpora las tres características más importantes de este:

*Extensibilidad

*Estructura

*Validación

*Basado en texto.

*Orientado a los contenidos no presentación.

*Las etiquetas se definen para crear los documentos, no tienen un significado preestablecido.

*No es sustituto de HTML.

*No existe un visor genérico de XML.

*Aplicaciones de XML

*Publicar e intercambiar contenidos de bases de datos.

*Formatos de mensaje para comunicación entre aplicaciones (B2B)

*Descripción de metacontenidos.

*Documento XML

*Conjunto de datos con sus respectivas etiquetas de marcado XML.

*Se almacena como texto en archivo con extensión .xml.

*Un documento XML puede incluir cualquier flujo de datos basado en texto: un articulo de una revista, un resumen de cotizaciones de 

*bolsa, un conjunto de registros de una base de datos, etc..

Estructura de un documento XML

Estructura

Ejemplo de documento XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<libro>
  <titulo></titulo>
  <capitulo>
    <titulo></titulo>
    <seccion>
      <titulo></titulo>
    </seccion>
  </capitulo>
</libro>
Ejemplo de transformación XSL:
<!-- Transforma el documento XML anterior en un documento XHTML -->
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:strip-space elements="libro capitulo titulo"/>
<xsl:output
   method="xml"
   indent="yes"
   encoding="iso-8859-1"
   doctype-public="-//W3C//DTD XHTML 1.1//EN" 
   doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"/>

<!-- Utiliza el título del libro como título del documento XHTML -->
<xsl:template match="libro">
 <html>
   <head>
     <title>
       <xsl:value-of select="titulo"/>
     </title>
   </head>
   <body>
     <xsl:apply-templates/>
   </body>
 </html>
</xsl:template>

<!-- Y también como título de nivel H1 -->
<xsl:template match="libro/titulo">
  <h1>
    <xsl:apply-templates/>
  </h1>
</xsl:template>

<!-- Los títulos de los capítulos aparecerán como H2 -->
<xsl:template match="capitulo/titulo">
  <h2>
    <xsl:apply-templates/>
  </h2>
</xsl:template>

<!-- Los títulos de las secciones aparecerán como H3 -->
<xsl:template match="seccion/titulo">
  <h3>
    <xsl:apply-templates/>
  </h3>
</xsl:template>
</xsl:stylesheet>
Ejemplo de código XPath:
<!-- Toma todos los elementos titulo dentro del elemento capítulo
     y los elementos autor dentro del elemento capitulo -->
/doc/capitulo/titulo | /doc/capitulo/autor
Ejemplo de código XLink:
<my:crossReference
  xlink:href="libro.xml"
  xlink:role="http://www.example.com/linkprops/listalibros"
  xlink:title="Lista de libros">
Lista actual de libros
</my:crossReference>
Ejemplo de código XPointer:
documento.xml#xpointer(
    /libro/capitulo[@public])xpointer(/libro/capitulo[@num="1"])
Ejemplo de código de XQuery:
<!-- Libros escritos por Vargas Llosa después de 1991 -->
<bib>
 {
  for $b in doc("http://libro.example.com/bib.xml")/bib/libro
  where $b/autor = "Vargas Llosa" and $b/@anio > 1991
  return
    <libro anio="{ $b/@anio }">
     { $b/titulo }
    </libro>
 }
</bib>


Paginas:


http://www.ecured.cu/index.php/Servicio_Web
http://www.juntadeandalucia.es/servicios/madeja/contenido/libro-pautas/320#SOAP_v11_12
http://www.hipertexto.info/documentos/serv_web.htm

Video:
https://www.youtube.com/watch?v=bF16UacAaMw
https://www.youtube.com/watch?v=4J_ytgQ96Kg
https://www.youtube.com/watch?v=2zDJic29moM

No hay comentarios.:

Publicar un comentario