Generador de Código
Regresar al Menu de Documentacion | Espanol |
Contents |
Presentación del Generador de Código
OFBiz-Generator es un componente técnico creado con la finalidad de ayudar al desarrollador (o al analista) en el desarrollo de nuevos componentes OFBiz o la edición de los ya existentes. Este componente genera a partir de un conjunto de diagramas de clase en notación UML, gran cantidad de archivos necesarios para el funcionamiento de un componente.
Se generan los siguientes archivos:
- entitydef.xml : definición de entidades, las cuales serán interpretadas por el motor de entidades en la creación de base de datos.
- servicedef.xml : archivo de definición de servicios.
- {entity}ClassObject.java : Archivo en el cual se encuentra la definición de la clase de la entidad.
- {entity}Service.java : archivo en el cual se encuentran los servicios declarados para la entidad.
- {Component}Data.xml : archivo en el cual se encuentra data para la carga de datos.
- UiLable{Component}.properties : archivo con la traducción de las etiquetas a usar en el software.
- form{Entity}.xml : un archivo por cada clase, en el cual se establece cada una de los tipo de ventana estandar, basado en las opciones elegidas para la generación en el modelo creado, puede se uno de los siguientes:
- edit{Entity}
- list{Entity}
- editAssoc{Entiy}
- show{Entity}
- {Component}Screen.xml : archivo que contiene la ubicación de la definición de pantallas para cada componente.
- edit{Entity}.bsh : archivo bean shell que contiene la lógica para realizar la creación o modificación de una entidad.
- find{Entity}.bsh : archivo bean shell que contiene la lógica para realizar la busqueda de una entidad.
- editAssoc{Entity}.bsh : archivo bean shell que contiene la lógica para realizar la asociación de una entidad a otra, basado en la especidicación realizada en el modelo creado.
- controler.xml : archivo con la definición de uri y la ubicación de cada representación de los uri.
La generación de archivos, usa las mejores practicas definidas para el proyecto, además incluye una aproximación a la solución bastante buena debido a que intenta traducir lo que se definió en el analisis directamente al código, también cuenta con la característica de regeneración, basada en los cambios realizados directamente sobre el modelo para la modificación de los mismos.
Este componente contiene todas las fuentes del generador y el proceso para construir el generator.jar usado en los otros componentes. Para generar el código, es necesario ejecutar el ant en la carpeta modeldef de un componente, lo cual generara en código en la carpeta modeldef/target/gen directory.
Se puede revisar el siguiente documento, el cual es una guía del Generador:
A continuación, se coloca un extracto del documento para su modificación a través de la colaboración
Estructura de un componente OFBiz Néogia
La estructura que se puede obtener a través del generador, contiene todas las carpetas básicas, sin embargo estas carpetas no contienen toda la información que las otras, debido a que el generador no da un alcance total a la solución.
* config * data * entitydef * script * servicedef * src * webapp * widget
El generador provee de archivos fuentes que se pueden categorizar de la siguiente manera:
- Completo, este archivo no requiere modificaciones para su funcionamiento, es decir, al ser creado provee su funcionalidad de forma completa y no requiere posteriores modificaciones para su funcionamiento y no requiere de posteriores modificaciones a no ser que sean realizadas a través del generador. Estos archivos podrán ser regenerados muchas veces.
- Generado o incompleto, es un archivo que contiene información para su funcionamiento que en ciertos casos puede ser suficiente para su funcionamiento, sin embargo, no es independiente dado que el generador no lo genera con su nombre final, sino que le agrega la letra G al final del nombre para hacer referencia a que el archivo a sigo generado y requiere que el nombre sea modificado para su funcionamiento; el archivo puede ser modificado con la finalidad de ampliar su funcionalidad. Estos archivos no presentan mayores modificaciones en su regeneración y esta no los sobrescribirá.
- Plantilla, es un archivo inutilizable como viene (“as it is”), este tipo de archivo contiene un conjunto de indicaciones de como modificar el archivo en cuestión para que se convierta en un archivo real(utilizable). Este tipo de archivo sufrirá modificaciones en su regeneración y al generarse no tiene el nombre completo del archivo real que representa, sino una referencia al mismo.
- Recomendado o para copiado, es un tipo de archivo que incluye información que puede pertenecer a un archivo final, usualmente contiene información que se genera la cual no es dominante, por ejemplo el archivo de idiomas, el cual con cada generación da nueva información, sin embargo no reemplaza al archivo en uso, porque este podría haber sido modificado.
Además, se cuentan con un conjunto de etiquetas para la modificación delos diagramas de clases (se aconseja revisar el documento completo para obtener mayor información del diagrama de clases), sin embargo, las etiquetas también se definen el en siguiente link:Reglas de modelamiento
Generación
La generación de código se da a partir del uso de la herramienta de generación, el cual es básicamente una librería que contiene las reglas de creación de los archivos correspondientes a partir del diagrama creado, para usar está librería se hace uso del programa ant, el cual llamara a la librería y realizará la generación de código basada en los parámetros que se le otorgo.
El Archivo build.xml
List the significant events to which the business responds and that are within scope of the process designs. El archivo build.xml es el encargado de promover el orden y la ubicación de los archivos generados, la definición del contenido de este archivo depende del programador y la definición se compone en dos partes: La instrucción neogia:generate y la instrucción neogia:install.
neogia:generate La finalidad de esta instrucción es la generación de los archivos que permitan el uso de las entidades definidas en el diagrama de clases, este tipo de generación forma una carpeta en la cual contiene los archivos generados en vez de reemplazarlo sobre los actualmente existentes. La instrucción realiza todas las operaciones posibles, de manera que forma todas las carpetas que componen el modulo a excepción de la carpeta modeldef.
neogia:install Esta instrucción parte de la instrucción neogia:generate, con la diferencia en que esta en vez de generar los archivos a partir del diagrama, reemplaza los archivos existentes por lo generados para ajustar estos a la realidad del modelo.
objet : Presentación del Generador de Código author : multiple reference page language : Spanish


