Carolina Uribe

Carolina Uribe

Las tecnologías que conforman una herramienta


  • Publicado en Blog

Soy Carolina, integrante del equipo de Kioru. Estudié Ingeniería en Sistemas Computacionales y el desarrollar Saeko administrativo es parte de mi trabajo diario, en este blog les explicaré un poco sobre todas las tecnologías que integran el portal administrativo de Saeko. Al iniciar mi trabajo en Kioru fue indispensable entender toda esta serie de tecnologías que conforman la plataforma de la que desarrollo día a día. Es importante mencionarles que no soy experta en todas ya que la metodología de desarrollo nos divide en dos, backend (Servidor y bases de datos) y front-end (Cliente). Yo desarrollo la parte de front-end, diseño lo que el usuario final puede observar, la interfaz gráfica y la funcionalidad de la plataforma.

_ ¿Qué es Saeko?

Es una plataforma web de administración escolar, que permite a las instituciones el control en las áreas académicas, escolares, personal, financiera y biblioteca. Es un ERP (Enterprise Resource Planning), que ayuda a las instituciones a fortalecer sus procesos y en la modernización de todo el plantel; el control en el área de finanzas es completo, el sistema cuenta con facturación electrónica y verificación bancaria, siendo así́ un sistema que comparte comunicación con otros sistemas, en este caso el banco y SHCP, lo que hace un sistema integral. Cuenta con portales, y aplicaciones móviles para alumnos y profesores.

_ El front del portal administrativo ¿En que lo desarrollamos?

Saeko en la parte cliente (front-end) está desarrollado bajo el lenguaje de programación de Adobe Flex que conjuga Action Script y código MXML. ActionScript es un lenguaje de programación orientado a objetos y a eventos, es muy similar a JavaScript y Java. MXML (Macromedia Extensible Markup Language), es un lenguaje descriptivo y se basa en XML. Aquí se definen las interfaces de usuario, se crean los modelos de datos y se generan las peticiones a los recursos del servidor. Es similar a HTML y permite crear tus propios componentes. Una vez compilado genera archivos extensión .swf .

Todo esto se desarrolla bajo un IDE, que es un programa el cual nos proporciona servicios integrales para el desarrollador de software. Normalmente, un IDE consiste de un editor de código fuente, herramientas de construcción automáticas y un depurador.

Para poder generar una buena y robusta solución, que tenga la característica de ser expandible a más módulos es necesario contar con un Framework. Un esquema definido de programación con reglas y políticas internas que ayuden al equipo de desarrollo a entender todo el código. Para la parte de Flex el equipo utiliza un Framework llamado PureMVC, el cual puede ser utilizado por varios lenguajes. El framework puede ser complejo para soluciones pequeñas pero es de gran ayuda para una solución tan grande como una plataforma escolar.

Otra gran pregunta que se estarán haciendo es como un grupo de más de 5 personas pueden desarrollar sobre el mismo código. La respuesta es repositorios de información, en Kioru contamos con un esquema de repositorios los cuales nos ayudan a que cada programador cuente con una copia local de programa y así pueda programar sus módulos independientemente.

Otro aspecto muy importante de mencionarles es la utilización de branch dentro de la plataforma ya que nos son de gran ayuda cuando se requiere que las funcionalidades operen de una manera diferente a la normal, un ejemplo es la Boleta de un Alumno, para cierto colegio requieres datos como nombre del alumno, materias, calificaciones y promedio final pero surgen la petición por parte de otro colegio para el mismo reporte Boleta del alumno pero con cambios diferentes, aquí es cuando utilizamos branch, es el mismo archivo pero lo ubicamos en diferente servidor.

_ Servidores – Back-end

Saeko utiliza como herramienta Ruby on Rails es un Framework del lado del servidor qué nos facilita la construcción de grandes aplicaciones web.

Rails maneja el paradigma del MVC (Model-View-Controller) mejor conocido como modelo vista controlador que nos permite dar ciertas configuraciones de manera libre en el controlador para darle lógica a nuestras vistas y permitirnos manejar información de una base de datos mediante consultas al activerecord en base a los atributos o campos de nuestro modelo ya creado.

¿Se preguntaran como es que el servidor nos da una respuesta muy rápida a una petición muy robusta?

Gracias a los Sphinx que son una herramienta de búsqueda la cual nos da respuesta en segundos, lee los datos de la DB y los almacena en index/cache de esa forma cuando solicitamos la misma información los consulta ahí, sin necesidad de leer nuevamente los datos de la DB.

Bases de datos

Saeko utiliza MySQL como gestor de DB por la experiencia que se tiene con él en producción y es bastante robusto. El DBA se encarga de toda la creación y análisis de las tablas y los campos de múltiples DBs. La DB de Saeko se divide en 3 fases: Desarrollo, pruebas y producción. Producción está restringido a los administradores de bases y es donde se almacenan los datos de los usuarios reales.

En este blog hemos repasado las tecnologías utilizadas en el desarrollo de Saeko, tanto para la parte de front-end como para Back-end. De esta forma nos respondemos las siguientes preguntas ¿Cómo Saeko se ha convertido en uno de los Sistemas de Control Escolar más eficiente?, ¿Por qué se eligieron estas herramientas tecnológicas para su desarrollo?

LEER MÁS

Log In