Analogía entre un portal Web y un restaurante tipo Bufé

En estos días me encontré con una amiga, cuando comenzamos a hablar ella me preguntó: ¿en qué estás trabajando?, y yo le respondí que me dedicaba a la creación de sitios Web, ella se interesó mucho en el tema y comenzó a preguntarme sobre los lenguajes de programación que yo conocía, qué eran palabras como Frontend, Backend, Full Stack, así como un grupo de palabras aún más técnicas que ella había escuchado en una reunión que tuvo en la empresa.

Toda actividad tiene formas similares de comportarse porque todas se basan en el comportamiento humano – Luis Santiago Calle Quirós

Mi amiga es diseñadora gráfica -una muy buena cabe destacar-, pero ella lleva el arte en sus venas y no le gusta familiarizarse mucho con la parte tecnológica -al igual que a mi no me gusta mucho ver la parte artística en el desarrollo Web-, siempre he pensado que “zapatero a su zapato”,. En la sociedad existen muchísimas profesiones -algunas ya se han extinguido por el avance de la tecnología que se irá devorando las profesiones en desuso- y existe la interdependencia de las personas en sociedad. De hecho, vivimos en sociedad para facilitarnos la vida, ayudándonos los unos a los otros, porque así compramos el pan en una panadería, carne en la carnicería y zapatos en la zapatería y evitamos ir por la vida sembrando y procesando el trigo para hacer pan o cazando y desollando a un animal para poder comer carne.

Por eso, al ver el genuino interés de mi amiga en averiguar qué era lo que hacía yo y cómo se podía comunicar mejor con las personas del área de tecnología de la empresa donde ella trabaja, se me ocurrió una idea: Explicarle por Analogía como funcionaba un portal Web, comparándolo con lo que sería un restaurante estilo Bufé, porque precisamente ahí estábamos reunidos, ya que habíamos quedado para almorzar y ponernos al día de todo el tiempo que habíamos pasado sin visitarnos. En principio tuve que pensarlo con bastante cuidado, ya que no quería confundirla, pero tampoco quería dejar por fuera una de las actividades que más me apasiona, la cual es el desarrollo Web, debo reconocerlo, soy un empedernido enamorado del desarrollo de Software y por eso siempre estoy comparando e identificando patrones de comportamiento humano que se pueden automatizar o plasmar en el desarrollo de una herramienta computacional.

Para comenzar le dije, imagina que este restaurante es un portal Web y que las personas que trabajan en la cocina son programadoresFull Stack es como se le dice a un programador que puede hacer de todo en el área de programación, es como aquel cocinero que sabe hacer sopas, postres, carnes, pastas, ensalada, bebidas, cremas, granos, panes, repostería, en fin, de todo. Claro, es raro encontrar a alguien así en las grandes compañías ya que al tener mucho trabajo una sola persona no se daría abasto para realizar todo lo que haya que hacerse, es decir, tanto para los restaurantes, como para los desarrollos es mejor contratar especialistas para cada área que se quiera tener y que se dedique a lo suyo, y aquí entran un par de conceptos que tú me preguntaste.

Ahora veamos qué es el Backend, es todo lo que pasa en la parte de atrás del restaurante, es lo que los comensales no ven, el cómo se prepara la comida, cómo se almacenan los víveres, cuando se reciben los diferentes proveedores, de bebidas, hortalizas, legumbres, carnes, detergentes, todo aquello que se necesita para servir a las personas la comida que ellos no ven porque se hace antes de abrir al público o se va realizando mientras va pasando la jornada de trabajo, inclusive cuando algo del menú se acaba o hay un ingrediente que en la cocina se termina, en donde se anota que se debe reponer, encargar o preparar, todo eso forma parte de lo que se considera Backend, y en el desarrollo de software al igual que en un buen restaurante, hay personas dedicadas especialmente a trabajar en el Backend, Cocineros, Ayudantes, Administradores, Contadores, etc.… Ellos serían los equivalentes a Arquitectos de Software, Programadores, Jefes de Servidores, Jefes de Base de Datos, en fin personal que no se ocupa más que de tener todo lo que se necesita poner en exhibición para ser consumido por los clientes.

Continuando con el relato, le conté lo que es el Frontend y le mostré toda la estancia que tiene la finalidad de recibir y atender a los que vamos a comer al restaurante, la mesa o las vitrinas en donde colocan la comida, las mesas, el personal que atiende a las personas, los que toman los pedidos, los que embolsan la comida para llevar, el bar, inclusive el área de baños para el público en general, es lo que en el desarrollo de software se consideraría en Frontend, cada una de las áreas del establecimiento, podrían ser diferentes secciones o páginas de un portal Web, la recepción o la entrada, sería la página de inicio o el home, las vitrinas de exhibición donde colocan los alimentos serían las secciones de productos, el menú sería el portafolio y así podríamos navegar por el portal o caminar por el restaurante.

En este momento de mi historia, ella me pregunta qué papel jugarían los mesoneros, la recepcionista y el personal de barra, yo le dije que ellos eran las solicitudes que se efectuaban en el Frontend y que tenían la responsabilidad de ejecutar lo que el visitante requiriese, son lo que nosotros llamamos eventos, solicitudes y servicios, por ejemplo hacer clic en un enlace, o usar el buscador para encontrar un artículo dentro del portal son eventos que generan solicitudes que se llevan la información, a través de los servicios al backend para devolver al visitante algo, es como cuando en la mesa del Bufé se acabó el jugo de naranja y el cliente le pregunta a los camareros si pueden poner más jugo, a lo que éste le responde que va a verificar, se dirige a la cocina y si aún queda regresa con una nueva jarra de jugo, de lo contrario le notifica al cliente que hizo la solicitud que se ha terminado y si es orientado a la atención de éste, le ofrecerá una lista de otros jugos y bebidas que sabe están disponibles.

Podría continuar hilando más fino para describir otros procesos y tecnologías usadas en el desarrollo de software, pero creo que lo dejaré para una nueva ocasión, si has llegado hasta acá, muchas gracias por leerme, hasta la próxima.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Crea un sitio web o blog en WordPress.com

Subir ↑

Crea tu sitio web con WordPress.com
Primeros pasos
A %d blogueros les gusta esto: