Introducción a COBHTTPD

Slides:



Advertisements
Presentaciones similares
Nau Gran dHivern Intr. a la creación y gestión de páginas web Introducción a la web.
Advertisements

Internet y tecnologías web
Repaso desde HTML a XHTML
PRESENTA: Mizrain Cano Chico Profesor: Lic. Albino Petlacalco Ruiz
Capítulo 1 web.
CI-2413 CGI & Compañía.
CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho.
Jesús Cáceres Tello Microsoft IIS Instalación y configuración Laboratorios Desarrollo de Aplicaciones Web.
Servicios de Internet (1)World Wide Web [WWW] (2)Transferencia de ficheros (FTP)
Aplicaciones Cliente-Servidor
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Que es el protocolo “SSL”
"java del lado del servidor" Servlet y JSP Java Server Pages.
OBJETO REQUEST. El objeto Request Por qué el objeto request Funcionamiento Colecciones: – Transferencia de variables por URL –Transferencia de variables.
CGI Common Gateway Interface (interfaz de pasarela común)
Introduccion a las páginas WEB HTML
José Antonio Rastoll Pérez Presentación PI. Índice 1. EL OBJETO SESSION Introducción. Propiedades. Funcionamiento. Variables de sesión, desventajas y.
WWW (World Wide Web) Pedro José López Javier Díaz
Mecanismo de petición y respuesta Prof. Manuel Blázquez Ochando
TECNOLOGÍA IDC Internet Database Connector Trinitario Gómez López.
TECNOLOGIA E INFORMATICA
CGI.   Cuando el World Wide Web inició su funcionamiento como lo conocemos, empezando a tomar popularidad aproximadamente en 1993, solo se podía apreciar.
Guía Consulta De Resultados
Tecnologías para el desarrollo de aplicaciones Web
Ingeniero Anyelo Quintero
Protocolos de la Capa de Aplicación
SQL SERVER Reporting Services
Sistemas Distribuidos basados en la web
¿QUÉ SIGNIFICA NEW TICs?
Diseño de Páginas Web Unidad 7. 5 puntos imprescindibles 11. Conocer los grupos de trabajo que sobre la red tratan la accesibilidad y el intercambio de.
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Servlets 18 de Marzo de Índice ¿Qué es un Servlet? ¿Cuándo y por qué usar Servlets? Estructura básica de un HttpServlet Servlet simple que genera.
PROTOCOLO H T T P.
La Web y el HTTP. Antes del año 1990 Internet era usado por InvestigadoresAcadémicosEstudiantes Transferir archivos logearse remotamente Enviar/recibir.
Unidad didáctica 6 Diseño de páginas Web.
Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer
PROTOCOLO HTTP ALGUNAS DEF.-
introducción al lenguaje
 La primera versión fue desarrollada por Robert McCool, quien desarrollaba el servidor web NCSA HTTPd (National Center for Supercomputing Applications).
Conceptos básicos sobre Internet
      Protocolo de transferencia de Hipertexto, empleado para acceder a documentos de hipermedia  El protocolo nació en el CERN, como base.
Formularios La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con.
NUEVO DISEÑO SITIO WEB EXPLORA REGIÓN METROPOLITANA Resultados en cuanto a tráfico, posicionamiento y nuevas herramientas.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Antivirus Proxy Ana karen, xochitl, galena, Dennis!
Bases de Datos.
 Este protocolo opera a través de solicitudes y respuestas, entre un "cliente" y un "servidor". El cliente para los usuarios es el navegador web, usado.
Servidor web Alumna: María Verónica Mancheno Materia: Gestión de Información Web Profesor: José Medina Moreira.
 Buscador es una página web en la que se ofrece consultar una base de datos en la cual se relacionan direcciones de páginas web con su contenidopágina.
 Claudia Jordan Idrovo.  Son los puntos de enganche para cada conexión de red que realizamos. El protocolo TCP (el utilizado en internet) identifica.
T AREA DE C OMPU.. I NDICE Qué son Cookies. Qué son Gifts. Qué es un Banner.
Tema 6 – Servicio de Correo Electrónico
NOMBRES: Daniel Andrés Martínez Pérez Jhon Alejandro Carrizosa Ovalle Jaiver Giovanny Sánchez García CURSO: JORNADA: Tarde.
Ihr Logo PHP Parte 2 “php toma muchas sintaxis de lenguajes de alto nivel conocidos para poder trabajar”
RASMUS LERDORF T IPEAMOS LA URL EN EL NAVEGADOR. S E ENVÍA EL MENSAJE A TRAVÉS DE INTERNET A LA COMPUTADORA. WWW. LANACION. COM / PAGINA 1. HTML SOLICITANDO.
S ERVICIOS DE RED E I NTERNET T EMA 4 : I NSTALACIÓN Y ADMINISTRACIÓN DE SERVICIOS W EB Nombre: Adrián de la Torre López.
Unidad 7 Escritorio de Windows.
Unidad 2: Tareas básicas de InfoPath 2010
Tema 4 – Servicio Web Punto 3 – Protocolo HTTP Juan Luis Cano.
Almacenamiento virtual de sitios web: «Hosts» virtuales
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
Elementos básicos para sistemas WEB. Que es la WEB Web es una tecnología que opera sobre internet que lleva propuesta desde El sistema de documentos.
Modelo Cliente - Servidor. La Web funciona siguiendo el denominado modelo cliente-servidor, habitual en las aplicaciones que funcionan en una red. Existe.
Administración de Sitios Web Introducción al Lenguaje PHP
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Planificación Curso UNIDAD 1. INTRODUCCIÓN A LOS SERVICIOS EN RED UNIDAD 2. SERVICIOS DHCP UNIDAD 3. SERVICIOS DNS UNIDAD 4. SERVICIOS DE ACCESO REMOTO.
Introducción a programación web Martin Esses. Formularios HTML se utilizan para pasar datos a un servidor. Un formulario HTML puede contener elementos.
Módulo III.- Recursos en UPSA VIRTUAL Este módulo explica como configurar los distintos recursos que pueden encontrarse en un curso de MOODLE. Recurso:
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Transcripción de la presentación:

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” 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.

Flujo de una solicitud WEB Navegador (cliente) COBHTTPD (servidor) 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 Dirección: http://myserver/ventas.html Abre comunicación Recibe petición Localiza archivo publico Carga en Memoria 1) Headers de retorno Envía Headers Envía Contenido Cierra comunicación Recibe archivo Parsea y analiza código Renderiza y muestra Si necesita mas archivos, hace solicitudes independientes <img> 2) 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

Flujo de una solicitud WEB Supongamos que tenemos una pagina llamada: resumen.html, con el contenido: <html> <head><title>Resumen de Ventas</title></head> <body> <img src=“/images/logo.gif”> <a href=“/graficas/grafica.jpg”>Ver Graficas</a> </body> </html> 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 Operaciones del Cliente 1) Direccion: http://mydominio/resumen.html 2) Pedir al servidor: http://mydominio/images/logo.gif

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

Solicitud de un Reporte Navegador (cliente) COBHTTPD (servidor) Dirección: http://myserver/cobpdf?proid=PROJ&prog=programa Valida proyecto/programa Conver datos HTML-CBL Ejecuta programa Convert COBVIEW a PDF La diferencia principal radica en la llamada /cobcgi o /cobpdf, adicionalmente, cobhttpd convierte el reporte COBVIEW a PDF para regresarlo 1) Recibe resultado Parsea y analiza código Renderiza y muestra Si necesita mas archivos, hace solicitudes independientes <img> 2) 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 Content-type para PDF Envía Headers Envía Contenido

Fundamentos de HTTP (petición) Estructura de una direccion web (URL) http://host[:port][path][?queryString] Ejemplo: http://www.cobtools.com/cobcgi?proid=cobcms&prog=cmsconten 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. Estructura de una peticion: Ejemplo: Method URL Version headers cuerpo del mensaje GET http://www.cobtools.com HTTP/1.1 Host: localhost 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.

Fundamentos de HTTP (petición) Ejemplo: GET http://www.cobtools.com HTTP/1.1 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 2.0.50727) Host: localhost Connection: Keep-Alive 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://www.cobtools.com/cobcgi?proid=cobcms&prog=cmsconten&func=Start HTTP/1.1

Fundamentos de HTTP (respuesta) Estructura de una respuesta web En la respuesta web que regresa el servidor, tambien hay dos secciones, Headers y Contenido Estructura de una respuesta: Ejemplo: Version 200 OK Content-type: text/html Expires: fecha-de-expiracion Set-Cookie: Cookies-de-sesion Content-Length: tam-Contenido Contenido del resultado HTTP/1.0 200 OK Content-type: text/html Set-Cookie: cobhttpd-var Content-Length: 123 <html> <head><title>Pruebas</title></head> <body></body> </html> 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

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

Flujo interno de solicitud COBOL Ejemplo de la peticion: http://www.cobtools.com/cobcgi?proid=cobcms&prog=cmsconte&func=ShowMain 1.- 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 6.1.- Analiza xml, buscando campos necesarios 6.2.- Extrae valor de cada campo de la consulta HTTP 6.3.- 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) 9.1.- Si primer linea es Content-type, utiliza este tipo en lugar de text/html 9.2.- Parsea contenido y cambia macros internos (Template, Sesiones, Variables) 10.- Agrega headers necesarios 11.- Regresa contenido al cliente

F I N