Desarrollo
El subsistema de Desarrollo contempla las normativas y estándares para la elaboración de un código fuente homogéneo y estándar con el objeto de minimizar las tareas de mantenimiento. También se incorporan las especificaciones para la obtención de sistemas de información seguros, con un rendimiento óptimo y adaptados a las necesidades de las tecnologías definidas en el subsistema de Arquitectura de MADEJA con el que está ampliamente vinculado.
Enlaces rápidos a tablas resumen:
- Tabla resumen de las tecnologías asociadas al subsistema de desarrollo.
- A partir de las pautas del subsistema se han elaborado la verificaciones que pueden realizarse. Estas verificaciones se ha agrupado en matrices de verificación en función del área al que pertenecen. Puede descargar las matrices en el siguiente enlace. Posteriormente estas verificaciones estará almacenadas en el sistema VerificA.
- Se ha hecho un esfuerzo inicial para automatizar estas verificaciones utilizando la herramienta sonar. Existen para sonar una serie de plugins como pmd, checktyles, findbugs, que se han usado. Para usar estas primeras verificaciones automáticas puede descargar el perfil del proyecto sonar en el siguiente enlace.
Objetivos
- Promover la generación de código fuente de calidad.
- Unificar el uso de librerías y utilidades de apoyo.
- Proponer plugins para el desarrollo con IDEs.
- Promover el uso de patrones de diseño software.
Áreas
- 1.Contenidos generales
- 2.Licenciamiento
- 3.Convenios de Codificación Generales
- 4.Construcción por Capas
- 5.Otras Especificaciones de Codificación
- 6.Aplicaciones Java
- 6.1.Convenios de Codificación de Aplicaciones Java
- 6.2.Reglas Generales de Construcción de Aplicaciones Java
- 6.3.Construcción por Capas de Aplicaciones Java
- 6.4.Otras Especificaciones de Codificación de Aplicaciones Java
- 6.5.Desarrollo de Aplicaciones Seguras en Java
- 6.6.Rendimiento de Aplicaciones Java
- 6.7.Librerías y Utilidades para Aplicaciones Java
- 7.Aplicaciones PHP
- 7.1.Desarrollo de Aplicaciones Seguras en PHP
- 7.2.Drupal
- 7.2.1.Seguridad en Drupal
- 7.2.2.Codificación y construcción en Drupal
- 7.2.3.Rendimiento en Drupal
- 7.2.4.Módulos para Drupal
- 7.3.Convenios de Codificación de Aplicaciones PHP
- 7.4.Reglas Generales de Construcción de Aplicaciones PHP
- 7.5.Construcción por Capas y Frameworks de Aplicaciones PHP
- 7.6.Rendimiento de Aplicaciones PHP
- 7.7.Librerías y Utilidades para Aplicaciones PHP
Contenidos generales
Esta área recoge los recursos, pautas y procedimientos comunes a todo el subsistema Desarrollo.
Licenciamiento
La Junta de Andalucía trata desde hace años de impulsar el uso de software libre. Como parte de este objetivo nace la ORDEN DE 21 DE FEBRERO DE 2005, en la que se hace constar que el software desarrollado por o para la Junta de Andalucía debe estar disponible públicamente.
Convenios de Codificación Generales
El establecimiento de la normativa para la codificación de aplicaciones se organizará en base a los diferentes elementos que configuran la arquitectura del Subsistema Madeja, profundizando con un mayor nivel de detalle sobre aquellos elementos que se consideran la base de esta arquitectura.
Construcción por Capas
La programación por capas es un estilo de programación en el que el objetivo primordial es la separación de la lógica de negocios de la lógica de diseño. La ventaja principal de este estilo es que el desarrollo se puede llevar a cabo en varios niveles y, en caso de que sobrevenga algún cambio, sólo se ataca al nivel requerido sin tener que revisar entre código mezclado.
Otras Especificaciones de Codificación
En este área se han agrupado temáticas reseñables dentro del desarrollo software, que no entran necesariamente dentro de las tecnologías Java o PHP, o que no tienen una área propia.
- Definición y buenas prácticas del lenguaje PLSQL
Aplicaciones Java
Para que el desarrollo de aplicaciones Java cumpla con ciertos criterios de calidad y con el objetivo de disponer de aplicaciones eficientes, robustas, seguras y de fácil mantenimiento, es necesario cumplir una serie de normas y estándares en distintas áreas como codificación, arquitectura, seguridad y rendimiento.
Convenios de Codificación de Aplicaciones Java
El establecimiento de la normativa para la codificación de aplicaciones se organizará en base a los diferentes elementos que configuran la arquitectura del Subsistema Madeja, profundizando con un mayor nivel de detalle sobre aquellos elementos que se consideran la base de esta arquitectura.
Reglas Generales de Construcción de Aplicaciones Java
La creación de código eficiente es uno de los objetivos primarios de cualquier marco de desarrollo. Es necesario estructurar y estandarizar la construcción de código. Uno de los factores principales a considerar es la mantenibilidad del código. Mejorar la misma, incide de forma directa en el impacto y la minimización de la implementación de cambios en las aplicaciones.
Construcción por Capas de Aplicaciones Java
La programación por capas es un estilo de programación en el que el objetivo primordial es la separación de la lógica de negocios de la lógica de diseño. La ventaja principal de este estilo es que el desarrollo se puede llevar a cabo en varios niveles y, en caso de que sobrevenga algún cambio, sólo se ataca al nivel requerido sin tener que revisar entre código mezclado.
Capa de Presentación de Aplicaciones Java
Mediante la capa de presentación se separa la interacción del usuario respecto a la lógica de negocio.
Capa de Negocio de Aplicaciones Java
La capa de negocio expone la lógica necesaria a la capa de presentación para que el usuario a través de la interfaz interactúe con las funcionalidades de la aplicación.
Capa de Persistencia de Aplicaciones Java
La necesidad de vincular objetos de bases de datos relacionales a objetos Java para su manejo en las aplicaciones, determinó la aparición del concepto de persistencia de objetos de datos que de forma abstracta se representa por una capa más en la arquitectura de las aplicaciones.
Integración de Capas en Aplicaciones Java
La ventaja de la variedad de tecnologías disponibles para el desarrollo de las diferentes capas de las aplicaciones Java, presenta el inconveniente de la utilización conjunta de varias de ellas. Debido a esto se deben establecer unos criterios que hagan posible una integración óptima entre las tecnologías empleadas.
Otras Especificaciones de Codificación de Aplicaciones Java
En este área se han agrupado temáticas reseñables dentro del desarrollo software con Java, que no tienen cabida dentro de las otras áreas. Se han reflejado aspectos relacionados con:
Desarrollo de Aplicaciones Seguras en Java
Entendemos una aplicación como segura si el comportamiento en su ejecución es el definido dentro de sus especificaciones previstas, sin mostrar alteraciones provenientes de modificaciones de terceros. Resulta por tanto necesario elaborar una política de seguridad que ayude a definir los procedimientos válidos para los diferentes aspectos funcionales a considerar.
Rendimiento de Aplicaciones Java
Al igual que la Seguridad de las Aplicaciones, la temática de Rendimiento debe ser contemplada desde el inicio del Diseño de los Sistemas de Información.
Librerías y Utilidades para Aplicaciones Java
El objetivo de esta área temática busca establecer un catálogo de librerías y elementos comunes reutilizables, la descripción y las normas y recomendaciones para el uso de éstas.
Aplicaciones PHP
En la construcción de aplicaciones web con PHP, para cumplir ciertos criterios de calidad y con el objetivo de disponer de aplicaciones eficientes, robustas, seguras y de fácil mantenimiento, se requiere del cumplimiento de normas y estándares en materia de codificación, arquitectura, seguridad y rendimiento.
Desarrollo de Aplicaciones Seguras en PHP
Entendemos una aplicación como segura si el comportamiento en su ejecución es el definido dentro de sus especificaciones previstas, sin mostrar alteraciones provenientes de modificaciones de terceros. Resulta por tanto necesario elaborar una política de seguridad que ayude a definir los procedimientos validos para los diferentes aspectos funcionales a considerar.
Drupal
El desarrollo de portales web basados en el gestor de contenidos Drupal, no está exento de sufrir los mismos problemas que el desarrollo de aplicaciones con otras tecnologías.
Seguridad en Drupal
Para garantizar la seguridad en desarrollos con Drupal se han establecido un conjunto de pautas, cuyo cumplimiento persigue la obtención de productos con un grado de seguridad aceptable.
Codificación y construcción en Drupal
La comunidad de desarrolladores de Drupal ha establecido unos estándares sobre codificación y construcción que permiten obtener un código estructurado y legible.
Rendimiento en Drupal
Para la mejora del rendimiento en desarrollos con Drupal se han establecido un conjunto de pautas, cuyo cumplimiento persigue la obtención de productos eficientes en tiempo y en recursos.
Módulos para Drupal
La comunidad de desarrolladores ha contribuido con módulos que permiten extender, construir y personalizar la funcionalidad básica de Drupal. Se ha recopilado una lista de módulos recomendados por su idoneidad para la mejora de los desarrollos con Drupal. Para cada uno de los módulos se proporciona información mútil sobre su uso.
Convenios de Codificación de Aplicaciones PHP
El establecimiento de la normativa para la codificación de aplicaciones PHP permite construir productos cuyo código es legible, estructurado y de fácil mantenimiento. Se han reunido pautas sobre mejores prácticas de codificación en PHP.
Reglas Generales de Construcción de Aplicaciones PHP
La creación de código eficiente es uno de los objetivos primarios de cualquier marco de desarrollo. Es necesario estructurar y estandarizar la construcción de código. Uno de los factores principales a considerar es el mantenimiento del código. Mejorar el mismo, incide de forma directa en el impacto y la minimización de la implementación de cambios en las aplicaciones.Construcción por Capas y Frameworks de Aplicaciones PHP
La programación por capas es un estilo de programación en el que el objetivo primordial es la separación entre la lógica de negocios y la lógica de diseño.
Rendimiento de Aplicaciones PHP
Al igual que la seguridad de las aplicaciones, la temática de rendimiento debe ser contemplada desde el inicio del diseño de los sistemas de información.
Se han establecido unas pautas para la mejora del rendimiento de aplicaciones PHP.
Librerías y Utilidades para Aplicaciones PHP
El objetivo de esta área temática busca establecer un catálogo de librerías y elementos comunes reutilizables, así como la descripción, las normas y recomendaciones para el uso de éstas con PHP.