PBO - Process Before Output
Una de las entradas en el canal de skype, era del colega Javier en la que una vez probados los ejemplos, ya se los habia comido todos y queria mas.
Particularmente queria avanzar en el tema de los grid. En este sistema para el grid uso el pluguin de Tabulator que considero que es muy muy bueno para el estilo de programar de los harbourianos. Pero... ya llegaremos a este estado de como trabajar o evolucionar los pluggins, ahora no toca porque necesitamos la base de trabajo.
Hasta ahora hemos visto como cuando creamos el servidor, definimos una rutas que sencillamente lo que hace es que cualquier entrada en la url la traduce para dirigirla a algun sitio, por eso lo llamamos router.
Vamos a añadir un nuevo tipo de enrutamiento. Hasta ahora sabemos q podemos decir a nuestro sistema que cualquier entrada la podemos traducir a un fichero html que se encargara de enviar al navegador del cliente.
Esto da una posibilidad de servir algo predefinido como una pagina web estatica, incluso en nuestro caso lista para poderse manejar a partir de unos eventos los cuales conectaran a nuestra api. Facil
Pero que pasa si queremos ante una peticion, previamente crear un proceso y manipulacion de datos, y finalmente mostrar la web?
Caso A. La peticion llega al servidor, carga una pagina web con una informacion estatica, fija,... y la envio al navegador
Caso B. La peticion llega al servidor, procesa los datos actuales (por ejempo precios actualizados), monto la web, y la envio al navegador
Son 2 escenarios completamente distintos, y por eso es necesario aprenderlos a entender y gestionar.
Aqui es donde entra un PBO (Process before output), el cual se encarga justamente de eso,,procesar datos de la peticion y montar la web. El concepto es parecido al de una api, pero hata ahora cargabamos con el router una pagina predefinida y ahora podemos en el caso de necesitarlo cargar una función que se encargara de ejecutar un proceso para luego montar una web y enviarla.
En este caso cuando entremos en nuestra web ( "/" por defecto), el servidor invocara la funcion "hello" .
Realmente cuando ejecutas un cgi o el mod ejecutamos una función que seria este caso. pero en nuestro sistema podemos especificarle que cargue directamente una página o que ejecute una función.
Según el escenario para cada web nos ira muy bien emplear un método u otro, lo importante es tener estas opciones...
Hola Charly, justo ese ejercicio es el que estoy tratando de implementar, muchas ocasiones no requerimos que un "control" dispare el "evento", por ejemplo, no siempre requerimos un button para cargar datos, lo hacemos desde la carga de la misma página y ya está. Te sigo con atención y ojalá este "concepto" cambie pronto a estatus proyecto :-) saludos!
ResponderEliminar