Con lo que el web en el mundo de los sistemas de bases de datos relacionales
Cada vez más, Transferencia de estado representacional ( REST) se ha convertido en la forma preferida de comunicarse en entornos de arquitectura orientada a servicios de hoy en día . Hay muchos servicios y fuentes de información que pueden ser abordados a través de una URL y acceder mediante HTTP . Por otro lado , todavía hay una cantidad significativa de información almacenada en sistemas de gestión de base de datos relacionales (RDBMS ) - como DB2 . RDMSes modernos proporcionar potentes funciones de procesamiento de datos relacionales (a través de SQL ) y datos XML
Panorama
En este artículo se presenta un conjunto de funciones definidas por el usuario (UDF) de DB2 que permiten a las aplicaciones consumen servicios basados en REST desde SQL . Los siguientes temas serán tratados :
introducción
Básico escalar RESTO UDF
El envío de valores de encabezado HTTP personalizados
Combinando funciones XML con la UDF REST mediante la recuperación de una fuente de noticias de la BBC
Unirse a los resultados RESTO UDF con una tabla relacional
Seguridad - autenticación y cifrado
Las funciones auxiliares
URL de codificación / decodificación
Codificación Base64 / decodificación
introducción
Básico escalar RESTO UDF
El envío de valores de encabezado HTTP personalizados
Combinando funciones XML con la UDF REST mediante la recuperación de una fuente de noticias de la BBC
Unirse a los resultados RESTO UDF con una tabla relacional
Seguridad - autenticación y cifrado
Las funciones auxiliares
URL de codificación / decodificación
Codificación Base64 / decodificación
Introducción
Cual DB2?
La información de este artículo se aplica tanto a DB2 para Linux, UNIX y Windows , y para DB2 para z / OS .HTTP se definió hace más de 20 años cuando el último cambio importante (HTTP 1.1) se llevó a cabo en 1999 (véase RFC2616 ) . La longevidad de HTTP es una indicación de que está en un estado estable. HTTP es el protocolo más popular de la web . Con el tiempo , los protocolos adicionales y patrones de uso como REST o WebDAV se han construido en la cima de HTTP . Muchos sitios web y aplicaciones proporcionan interfaces basadas en HTTP para acceder a la información
Otros formatos usados en la Web :JSON
Hay muchos otros formatos de texto utilizados en la web hoy en día. JSON se ha vuelto muy popular en los últimos años . El artículo " Construir una aplicación pureXML y JSON , Parte 1 : Almacene y JSON consulta con DB2 pureXML " muestra una forma de que JSON puede procesarse en DB2 utilizando JSONx convertir JSON a XML y viceversa .
Varios formatos de mensaje (en su mayoría basados en XML ) han evolucionado con el tiempo y se utilizan para el intercambio de datos en conjunto con HTTP como capa de transporte - SOAP, RSS o Atom , por ejemplo.
Sistemas de gestión de bases de datos relacionales ( RDBMS ) han evolucionado , también, la introducción procesamiento y funcionalidad de almacenamiento más allá de sólo datos relacionales y SQL , por ejemplo para apoyar XML de forma nativa .
Varios formatos de mensaje (en su mayoría basados en XML ) han evolucionado con el tiempo y se utilizan para el intercambio de datos en conjunto con HTTP como capa de transporte - SOAP, RSS o Atom , por ejemplo.
Sistemas de gestión de bases de datos relacionales ( RDBMS ) han evolucionado , también, la introducción procesamiento y funcionalidad de almacenamiento más allá de sólo datos relacionales y SQL , por ejemplo para apoyar XML de forma nativa .
presentamos extensiones a SQL en forma de funciones definidas por el usuario (UDF) que acceder a recursos con dirección URL a través de HTTP directamente desde sentencias SQL. Las UDF son llamadas REST UDF o funciones REST . Con las nuevas funciones , las capacidades adicionales, ya disponibles en el RDBMS - tales como la agregación de SQL o acceso XPath - se puede utilizar para manipular y almacenar datos recuperada de la web. Con las funciones REST , simple HTTP GET o peticiones POST se puede emitir .
Las funciones REST pueden tratar la información presentada a través de HTTP como datos binarios o de texto . Las versiones binarias acceso a la información como imágenes, sonidos y otros formatos de datos binarios , mientras que las versiones textuales ocupan de páginas HTML y otra información basada en texto mediante la conversión automática de datos desde / a la página de códigos de base de datos utilizada . Pruebas de datos en Internet se encuentra normalmente en Unicode , mientras que los datos en bases de datos relacionales son a menudo en otras codificaciones.
Funciones básicas escalares REST
Las funciones básicas escalares dan acceso a contenidos en la web . Funciones REST
disponible para los cuatro verbos HTTP más comunes : GET, POST, PUT y DELETE . Hay dos métodos disponibles: uno para manejar el contenido binario y una para contenido basado en texto . El esquema de DB2 para las funciones es DB2XML .
Todas las funciones básicas REST son funciones escalares que devuelven el contenido del mensaje de respuesta HTTP como BLOB (binario ) o CLOB ( textual) . Las firmas de función
disponible para los cuatro verbos HTTP más comunes : GET, POST, PUT y DELETE . Hay dos métodos disponibles: uno para manejar el contenido binario y una para contenido basado en texto . El esquema de DB2 para las funciones es DB2XML .
Todas las funciones básicas REST son funciones escalares que devuelven el contenido del mensaje de respuesta HTTP como BLOB (binario ) o CLOB ( textual) . Las firmas de función
Existe un método adicional disponible para realizar una petición HTTP HEAD. No envía o recuperar datos . Recuperar el sitio web de IBM a través de HTTP GET :
SELECT
DB2XML.HTTPGETCLOB('http://www.ibm.com','')
FROM SYSIBM.SYSDUMMY1
El resultado es la página web de texto HTML como datos de texto CLOB .
El envío de valores de encabezado HTTP personalizados
Por encima , proporcionamos una cadena vacía para los valores de encabezado HTTP , lo que significa que se están utilizando los valores predeterminados al emitir el mensaje de petición. Puede ser que sea necesario facilitar datos de encabezado personalizado con un pedido (por ejemplo , para cambiar el tipo de contenido o la creación de un campo de encabezado adicional " SOAPAction " al invocar un servicio web SOAP) .
Con cada método , un documento XML cabecera HTTP se puede especificar que permite el establecimiento de valores de encabezado HTTP adicionales. El documento encabezado XML debe cumplir con el siguiente formato:
Con cada método , un documento XML cabecera HTTP se puede especificar que permite el establecimiento de valores de encabezado HTTP adicionales. El documento encabezado XML debe cumplir con el siguiente formato:
Cada campo de encabezado personalizado está representado por un < header> elemento que tiene un nombre y valor del atributo. El < HTTPHeader > elemento raíz permite especificar algunas opciones de solicitud adicionales
El documento de encabezado XML se puede proporcionar como CLOB o XML nativo (sólo DB2 LUW ) valor .
Combinando funciones XML con la UDF REST mediante la recuperación de una fuente de noticias de la BBC
El conjunto de resultados contiene cuatro columnas : Título que contiene el título del tema de alimentación , descripción con la descripción de alimentación , vínculo con una dirección URL para el documento de noticias reales y PUBDATE
Combinando funciones XML con la UDF REST mediante la recuperación de una fuente de noticias de la BBC




No hay comentarios:
Publicar un comentario