wiki:kavac/actividades/año2019/tecnología

https://gestion.cenditel.gob.ve/trac/raw-attachment/wiki/WikiStart/kavac.png

Tecnología Empleada

1. Plataforma de Desarrollo

actualización de logo

A continuación se describe la tecnología empleada para el desarrollo de KAVAC

  • Sistema Operativo: LINUX
  • Manejador de Base de Datos: PostgreSQL
  • Framework de Desarrollo: Laravel
  • Lenguaje de Programación: PHP 8.1
  • Gestor de Proyectos: Trac.
  • Control de Versiones: GIT.


2. Lenguaje de Programación y Framework

actualización de logo

KAVAC está desarrollado en el lenguaje PHP y el framework Laravel bajo un esquema de programación orientada a objetos (POO) y una arquitectura cliente / servidor, el uso de este framework permite solventar algunas deficiencias del lenguaje en sí como lo es la gestión de grandes volúmenes de datos y cálculos inherentes a la información, con la implementación de métodos dispuestos en la capa ORM ( Object-Relational mapping) que optimizan la respuesta obtenida por el servidor de base de datos ante distintas magnitudes de consultas, además de contar con funciones que permiten realizar diferentes tareas enfocadas al mejor rendimiento de la aplicación.

PHP es considerado uno de los lenguajes open source más utilizados en el desarrollo de aplicaciones web y el lenguaje primordial en la mayor parte de servidores de hospedaje. Como parte de su constante proceso de evolución, en sus últimas versiones (a partir de la 7.x) ha mejorado en cuanto a sintaxis (menos código por mismo resultado y mejoras en sus funcionalidades), rendimiento, de fácil configuración, con una amplia gama de paquetes disponibles para su uso libre y mejoras en el tratamiento de información.

Laravel es un framework de desarrollo para PHP el cual cuenta con una gran cantidad de funcionalidades que permiten entre otras cosas: mejorar el rendimiento de los procesos, prevenir la exposición ante ataques conocidos, continua actualización en pro de mejoras sustanciales, amplia comunidad de desarrollo, núcleo basado en symfony, documentación sustancial en todos los componentes del framework, disponibilidad de cientos de paquetes open source que pueden ser implementados sin complejidad, configuración sencilla, gestión de recursos del servidor de aplicación y base de datos de una forma óptima, sintaxis intuitiva, entre otros.


3. Técnicas para optimizar procesos

actualización de logo

En el desarrollo de la aplicación administrativa para la gestión de recursos KAVAC se plantea implementar, en cuanto a la optimización de algunos procesos que requieren cálculos a gran escala, el uso de:

3.1. Procedimientos almacenados: No dependen del lenguaje de desarrollo sino de la capacidad del gestor de base de datos en las tareas de cálculo y gestión de la información.

3.2. Tareas programadas o delegadas: Permite delegar tareas de computo a la capacidad de cálculo del servidor sin obstruir el funcionamiento de la aplicación.

3.3. Interacción directa con el servidor: Posibilidad de interactuar directamente con el servidor de base de datos sin depender del lenguaje de desarrollo acelerando el proceso de consulta y gestión de la información.

3.4. Disparadores de eventos: Generar notificaciones al usuario cuando una tarea haya sido culminada por el servidor.

Gestión de cache: Almacenar información en la cache del servidor para no repetir consultas cada vez que esta sea solicitada a menos que la misma haya sido modificada, lo cual permitirá tiempos de respuesta casi imperceptibles.


4. Configuración para entorno de producción

actualización de logo


Para un óptimo rendimiento en cualquier aplicación cliente / servidor es recomendable tomar en cuenta lo siguiente:

4.1. Lenguaje de Desarrollo: Optimización de las variables de configuración dispuestas por el lenguaje para mejorar su rendimiento y aumentar las capacidades del mismo (aplica para cualquier lenguaje de desarrollo).

4.2. Clúster de Servidores de Base de Datos: Permite la optimización y mejoras en cuanto al tiempo de respuesta en la capacidad de cálculo. Importante tomar en cuenta para la gestión de grandes volúmenes de datos pero no limitativo.

4.3. Balanceo de Cargas: Configuración de un esquema de cargas balanceadas tanto en la capa del servidor de aplicación.

Last modified 2 meses ago Modificado por última vez en fecha 12/03/2024 14:50:35

Adjuntos (7)

Download all attachments as: .zip