Gestión de Base de Datos
En el desarrollo web, al igual que en muchos otros ámbitos, gran parte del total de un proyecto es el código destinado la gestión de los datos implicados en la aplicación. Usualmente se parte de representación SQL en BBDD donde almacenamos los datos, y se implementan las operaciones básicas sobre este elemento: crear registro, editar registro, borrar registro, mostrar registro y listar registros. ASCore proporciona un API bien definido para poder disponer de estas operaciones rápidamente y sin escribir nada de código.
La BBDD sobre la que se desarrolla ASCore primordialmente es MySQL, contando además con conectores ODBC, DBTCP, PostgreSQL, SQLite y DB2. El desarrollo de estos conectores es bastante simple, pudiendose añadir soporte para otras BBDD rápidamente.
Realmente, la gestión de la base datos es transparente al usuario del framework. Los modelos de datos se definen en XML y el framework los mapeará automáticamente en la base de datos.
Modelo de desarrollo por Capas
Es usual en el desarrollo web el uso de varios lenguajes. En el caso de ASCore se usa PHP, HTML, JavaScript y SQL. Una mala costumbre presente en muchos proyectos Web es mezclar diferentes lenguajes en los mismos ficheros. ASCore proporciona una potente librería de plantillas que usa para separar estos lenguajes en función de su uso. En cierto modo, el framework ofrece capas diferentes para cada uno de éstos.
- SQL: Ejecutado en Servidor. Se usará sólo en casos especiales y siempre en sitios determinados en la capa de acceso a datos. Idealmente se usa en las clases de extensión de entidades en caso de consultas complejas y en los conectores.
- PHP: Ejecutado en Servidor. Lógica de la aplicación y procesos. Es el lenguaje base y por tanto el más usado.
- HTML y JavaScript: Ejecutado en Cliente. Interfaz de Usuario. Para incentivar la separación de código, se sugiere siempre que se usen plantillas.
La separación de estos lenguajes sirve a su vez para separar las diferentes partes de la aplicación en datos, lógica e interfaz de usuario. Asi pues facilita el uso de ciertos patrones de diseño (MVC clásico por ejemplo).
Asi finalmente obtenemos una capa para el modelo de datos, otra capa donde implementamos la lógica de procesos , y otra donde se implementa el interfaz.
POO
Las librerías principales de ASCore están desarrolladas usando el paradigma de programación orientada a objetos. Usualmente cualquier dato que manejan las aplicaciones creadas con ASCore tienen una representación en forma de objeto, que se mapea automáticamente en la BBDD. La declaración de objetos es dinámica en ejecución, particularidad que aporta flexibilidad en el desarrollo.
Gestión de plantillas y presentación de datos
Se incluye un potente motor de plantillas que usa como fuente plantillas en HTML/XHTML, lo que facilita su diseño y la generación de contenido X/HTML estándar. Además cuenta con asistentes que agilizan el proceso de creación de plantillas.Con el mismo motor de plantillas se pueden generar listados y Datagrids con apenas 3 líneas de código.
Esto unido a una herramienta para la generación de consultas y la librería PDF, permite la generación rápida de informes incluso sin escribir nada de código.
Reutilización de código
Otra de las facilidades proporcionadas por ASCore es la inclusión de mecanismos que permiten la organización de las funcionalidades en librerías y aplicativos. Las librerias son funcionalidades que se integran a nivel global, de manera que se conservan entre proyectos. Por ejemplo, se han ido desarrollando e incluyendo librerías como lib_barcode, para la generación de códigos de barras, lib_phpmailer, para el envio de e-mails, html2pdf, para la generación dinámica de PDF.
Por otra parte estan los aplicativos, que son módulos funcionales que se "enganchan" y se "desenganchan" al proyecto. ASCore incluye algunos de serie, como BILO para la gestión de usuarios y grupos, o MEMO para la gestión de ficheros. Por ejemplo, puede desarrollar un aplicativo para la gestión de una biblioteca, y simplemente con copiar el directorio donde lo aloja y tocando una línea de configuracion, exportarlo a otro proyecto ASCore.
Panel de Control
Se incluye un panel de control, de acceso para administradores y desarrolladores, donde se ofrecen asistentes de plantillas, librerías y sistemas de depuración, pruebas de rendimiento, importación/exportación de datos y documentación sobre el API.
Rendimiento y fiabilidad
El código de ASCore ha sido probado y testeado durante un gran periodo de tiempo al ser utilizado por Activa Sistemas y otros desarrolladores durante varios años y en muy diferentes proyectos.
ASCore facilita el desarrollo usando ficheros pequeños, habitualmente organizados en directorios. Este estilo de desarrolla facilita la depuración, y aumenta el rendimiento. La fragmentación ayuda a que el intérprete PHP sólo lea aquellos fragmentos de código que deben ser leídos para la generación del contenido requerido por el cliente. Se incluyen mecanimos de cacheo en memoria y en disco y la serialización de las clases más usadas.
Software Libre
ASCore se distribuye bajo la licencia libre LGPL. Otros componentes software con los que se integra ASCore se distribuyen bajo las siguientes licencias:
HTML2FPDF
Licencia LGPL
Graph Drawing Class 2
Licencia LGPL
HTTP protocol client class
Licencia BSD
PHPmailer
Licencia LGPL
TinyMCE License
Licencia LGPL
GeoIP
Licencia LGPL
xajax
Licencia BSD
jQuery
Licencia BSD,MIT,GPL
scriptaculous
Licencia MIT
jscalendar
Licencia LPGL
prototype
Licencia MIT
MyTableGrid
Licencia MIT/GPL
Big Data
Análisis de datos y predicciones estratégicas
Soporte Linux remoto
Mantenemos sus sistemas a pleno rendimiento
Nubes privadas
Todas las ventajas del cloud computing en su empresa