Introducción



Todo empezó por una idea, el patrón MVC

Todo empezó por una idea, el patrón MVC. He conocido decenas de códigos Open Source, y siempre me ha llamado mucho la atención la manera en que estructuran sus archivos, como llaman a los métodos, como organizan sus variables, etc.  Si algo detestaba siempre era el afrontar un nuevo proyecto de código desconocido, y el árduo camino que era necesario recorrer hasta desentrañar sus misterios y hacerse con el código.


Patrón Modelo Vista Controlador

 

Al conocer el patrón modelo-vista-controlador, entendí que cualquier proyecto, por diferente que fuera, siempre que lo implementara, podría seguir siendo fácilmente comprensible, más allá del lenguaje de programación empleado.


La elección de esta temática en mi trabajo final, no es casual, viene de atrás. Hace años que trabajo en una empresa cuyo principal producto es un gestor de contenidos (CMS), Editmaker, que desarrollan desde hace 15 años.


Esto me ha ayudado a comprender los problemas y necesidades en la creación de software a largo plazo, que evoluciona, que crece y se complica.


En mi formación universitaria también he aprendido la necesidad de normalizar y regir las comunicaciones que genera el desarrollo de software en equipo. El proceso unificado de la creación de software inspirado en la organización de Microsoft, las metodologías ágiles orientadas a la productividad, comunicación y trabajo en equipo, y, la necesidad de usar patrones, técnicas de abstracción y otras arquitecturas que de alguna manera permitan serializar o estandarizar la creación de un software concreto, han sido valores que me han generado la necesidad de integrar, o al menos intentarlo, todos estos conocimientos en este trabajo.

 

La creación de un CMS, implica aparatosidad. Son aplicaciones pesadas bastante complejas. Clonar decenas de instancias (sitios webs) en un solo servidor, va acompañado de seguro de una gran saturación en el rendimiento del mismo.


La necesidad de crear un framework ligero me hizo descartar todos los CMS que existen en el mercado (llevan años evolucionando y son muy completos), y tratar de empezar uno desde abajo, de cero, teniendo en cuenta desde su concepción la importancia de que sea ligero.


Un factor en común entre los existentes en el mercado, es que son PHP, usan MVC y en su mayoría son orientados a componentes.


Me ha ayudado mucho seguir los cursos de Jaisiel Delance, un dominicano dedicado a la enseñanza online de tecnologías que tiene un canal de Youtube, cuenta de Twitter, perfil de Facebook y página web propia, dlancedu.com.  Experto en el uso de CMS Open Source, ha rescatado lo básico y común a todos, haciendo una base realmente ligera y potente que valoro enormemente y he adoptado como punto de partida.


Entiendo que la creación de un proyecto de este tipo debería contar con el trabajo de un equipo, así como meses de planeación y desarrollo. Todo depende de la ambición de la iniciativa. Si bien soy consciente de este límite, en esta tesis, me gustaría al menos poder sentar las bases de una arquitectura válida para un sistema con los requerimientos  planteados, que sea escalable, ligero, preparado para el trabajo en equipo, etc.






Cabecera CMSUM