La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a COBHTTPD. Definición de COBHTTPD COBHTTPD es un servidor WEB, el cual se encarga de servir archivos que son solicitados por los navegadores.

Presentaciones similares


Presentación del tema: "Introducción a COBHTTPD. Definición de COBHTTPD COBHTTPD es un servidor WEB, el cual se encarga de servir archivos que son solicitados por los navegadores."— Transcripción de la presentación:

1 Introducción a COBHTTPD

2 Definición de COBHTTPD COBHTTPD es un servidor WEB, el cual se encarga de servir archivos que son solicitados por los navegadores usando el protocolo http. Tiene incorporadas también funciones especiales para ejecutar internamente programas COBOL. Al ser un servidor WEB no necesitaremos de usar programas adicionales como APACHE o IIS, pues COBHTTPD mismo cubre estas tareas.

3 Flujo de una solicitud WEB Navegador (cliente)COBHTTPD (servidor) Dirección: 1) 2) 1)Abre comunicación 2)Recibe petición 3)Localiza archivo publico 4)Carga en Memoria 1)Headers de retorno 2)Envía Headers 3)Envía Contenido 4)Cierra comunicación 1)Recibe archivo 2)Parsea y analiza código 3)Renderiza y muestra 4)Si necesita mas archivos, hace solicitudes independientes Las operaciones que realiza el servidor son muy extensas, pero aquí se pone un pequeño resumen solo para explicar lo que sucede a grandes rasgos en cada petición Lo interesante del navegador, es que al recibir un archivo html, parsea/analiza, y si necesita otro archivo que esta en el servidor, realiza otra petición para el nuevo archivo

4 Flujo de una solicitud WEB Supongamos que tenemos una pagina llamada: resumen.html, con el contenido: Resumen de Ventas Ver Graficas Operaciones del Cliente 1) Direccion: 2) Pedir al servidor: Si analizamos el contenido del html, encontramos que necesita del archivo /images/logo.gif El archivo /graficas/grafica.jpg no es necesario para esta pagina, pues este esta como un hipervinculo, es decir, este archivo se pedira solo hasta que se le de click La primer operación del navegador seria pedir la pagina resumen.html El navegador al parsear y analizar, encontrara que tambien necesita el archivo /images/logo.gif, por eso hace una nueva peticion para traer este archivo

5 Flujo de una solicitud COBOL Navegador (cliente)COBHTTPD (servidor) Dirección: PROJ&prog=programa 1)Abre comunicación 2)Valida proyecto/programa 3)Conver datos HTML-CBL 4)Ejecuta programa 1)Headers de retorno 2)Envía Headers 3)Envía Contenido 4)Cierra comunicación 1)Recibe resultado 2)Parsea y analiza código 3)Renderiza y muestra 4)Si necesita mas archivos, hace solicitudes independientes 1) 2) Ante una llamada de un programa, el servidor valida que el programa este registrado para ejecucion, convierte datos, ejecuta y regresa el resultado Para el navegador no encontrara diferencia, ya que el resultado lo tratara de la misma manera que si fuera un archivo estatico

6 Solicitud de un Reporte Navegador (cliente)COBHTTPD (servidor) Dirección: PROJ&prog=programa 1)Valida proyecto/programa 2)Conver datos HTML-CBL 3)Ejecuta programa 4)Convert COBVIEW a PDF 1)Content-type para PDF 2)Envía Headers 3)Envía Contenido 1)Recibe resultado 2)Parsea y analiza código 3)Renderiza y muestra 4)Si necesita mas archivos, hace solicitudes independientes 1) 2) La diferencia principal radica en la llamada /cobcgi o /cobpdf, adicionalmente, cobhttpd convierte el reporte COBVIEW a PDF para regresarlo Nuevamente el navegador no encuentra diferencia, ya que el Content-type indica que se trata de un archivo PDF, y usara el plugin adecuado para visualizar el resultado

7 Fundamentos de HTTP (petición) Estructura de una direccion web (URL) Ejemplo: HTTP es un protocolo que no guarda el estado, es decir, cuando el cliente hace una peticion, la conexión con el servidor es cerrada despues de que el cliente recibe la respuesta. Method URL Version headers cuerpo del mensaje Estructura de una peticion: GET HTTP/1.1 Host: localhosthttp://www.cobtools.com Ejemplo: COBHTTPD soporta el metodo GET y POST, aunque para el programa COBOL es transparente el metodo que se utilice, basicamente se diferencian en la manera en como se encapsulan los datos al ser enviados hacia el servidor. Como se puede apreciar, al hacer una peticion, no solamente se envia la la direccion que se necesita, tambien el navegador envia datos adicionales, estos datos se conocen como Headers. En el cuerpo del mensaje van los valores adicionales cuando el metodo es POST. Una linea en blanco divide los headers del cuerpo del mensaje.

8 Fundamentos de HTTP (petición) GET HTTP/1.1http://www.cobtools.com Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */* Accept-Language: es-mx Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR ) Host: localhost Connection: Keep-Alive Ejemplo: Todos estos headers son pasados por un navegador hacia el servidor web, para indicarle que cosas acepta, y cuales no, asi como la version del navegador, etc. El servidor web puede aprovechar esta informacion que envia el cliente para saber como responder ante la peticion. Imaginemos a los headers del navegador como un arreglo de varias lineas, todas llenas de informacion del programa cliente, y las cuales son todas enviadas por internet con el fin de hacer una peticion. GET HTTP/1.1http://www.cobtools.com/cobcgi?proid=cobcms&prog=cmsconten&func=Start

9 Fundamentos de HTTP (respuesta) Estructura de una respuesta web En la respuesta web que regresa el servidor, tambien hay dos secciones, Headers y Contenido Version 200 OK Content-type: text/html Expires: fecha-de-expiracion Set-Cookie: Cookies-de-sesion Content-Length: tam-Contenido Contenido del resultado Estructura de una respuesta: HTTP/ OK Content-type: text/html Set-Cookie: cobhttpd-var Content-Length: 123 Pruebas Ejemplo: En la respuesta del servidor, tambien hay headers que regresar al navegador, sirven de informacion para que el navegador haga o no ciertas tareas, no se visualizan pues la parte visual esta en el Contenido del resultado. Tambien una linea en blanco separa los headers del Contenido visual. Entre los headers importantes van: Set-Cookie – para almacenar un valor en el cliente, cobhttpd lo usa para el manejo de sesiones Content-type – le indica al navegador que tipo de contenido regresa, mas adelante veremos otros Content-Length – el tamaño del contenido, cobhttpd lo calcula automaticamente

10 Fundamentos de HTTP (respuesta) Headers mas importantes Content-type Le dice al navegador que tipo de contenido estamos regresando, no trata igual un text/html que un image/gif. Tipos mas usuales: text/html – paginas web – usado por cobhttpd ante una peticion /cobcgi? application/pdf – reportes PDF – usado por cobhttpd en peticiones /cobpdf? Si regresamos desde nuestro programa COBOL un tipo distinto a estos, debera de ser la primer linea grabada en el archivo de salida (HTTP-OUTPUT), ej: Content-type: text/plain CONTENIDO A REGRESAR AL CLIENTE Los demas headers seran agregados automaticamente por el COBHTTPD

11 Flujo interno de solicitud COBOL Ejemplo de la peticion: Checa si existe el proyecto (cobcms) 2.- Checa si el proyecto contiene el programa cmsconte 3.- Carga datos del proyecto (Directorio, Runtime, Tipo de runtime y tipo de proceso) 4.- Recarga datos de sesion, si el mismo usuario ya habia visitado paginas anteriores 5.- Checa que el directorio de programas COBOL exista, si no ERROR 6.- Arma registro de campos necesarios para COBOL, en variable HTTP-DATA-INP Analiza xml, buscando campos necesarios Extrae valor de cada campo de la consulta HTTP Crea archivo unico para esperar contenido HTML del programa COBOL (HTTP-OUTPUT) 7.- Ejecuta Runtime COBOL, usando programa cmsconte 8.- Si la llamada es del tipo /cobpdf, convierte contenido a PDF, usando COBVIEW 9.- Si la llamada es del tipo /cobcgi Analiza archivo de contenido (HTTP-OUTPUT) Si primer linea es Content-type, utiliza este tipo en lugar de text/html Parsea contenido y cambia macros internos (Template, Sesiones, Variables) 10.- Agrega headers necesarios 11.- Regresa contenido al cliente

12 F I N


Descargar ppt "Introducción a COBHTTPD. Definición de COBHTTPD COBHTTPD es un servidor WEB, el cual se encarga de servir archivos que son solicitados por los navegadores."

Presentaciones similares


Anuncios Google