You are on page 1of 22

Generacin Dinmica de Cdigo utilizando ToolCode En la actualidad existen muchas herramientas que nos a udan a la hora de desarrollar so!

t"are, en algunos casos estas herramientas son !#ciles de usar en otros son demasiado com$lejas, tam%i&n tenemos muchas tecnolog'as que $odemos utili(ar $ara desarrollar so!t"are tales como: )in*,+,i%ernate,etc. -ToolCode. es una herramienta desarrollada en Java que genera c/digo $ara C0, este c/digo es utili(ado $ara hacer mantenimiento a ta%las alojadas en una 1.2. de 3*) 3E45E4 6007 u 6008, la idea 9nicial de -ToolCode. era de ser una herramienta que a udara en el desarrollo de so!t"are en lenguajes como: J:5:,C0,51, actualmente solo $odemos generar c/digo $ara C0. Funcionamiento 1ueno la idea %#sica es tener un esquema de 1ase de 2atos listo, conectarnos a &l, leer la in!ormaci/n de las ta%las, tales como +om%res de ta%las, columnas, ti$o de datos de las columnas, identi!icar cam$os ;< =<, cam$os que ace$ten valores nulos, cam$os auto incrementales, etc, a con esta in!orma o%tenida -ToolCode.$or cada ta%la contenida en el motor de 1ase de 2atos genera: >. ?na clase que re$resenta un registro en la 1.2. esta clase tiene como atri%utos las columnas de la ta%la, en sus $ro$iedades se hacen las validaciones de los atri%utos. 6. ;or Cada ta%la genera scri$t de $rocedimientos almacenados que sirven $ara: a. 9nsertar: @+om%re Aa%laB_insertar %. :ctuali(ar: @+om%re Aa%laB_actuali(ar c. Eliminar:@+om%re Aa%laB_eliminar d. )a selecci/n de registros es algo que se im$lementa en la clase mencionada arri%a, se la reali(o de esta manera a que cuando seleccionamos in!ormaci/n la consulta tiene que $oder ser cam%iante, claro est# re!erente a la ta%la es$eci!icada, entre la in!ormaci/n que $odemos cam%iar son: el nCmero de columnas a recu$erar de la ta%la la condici/n "here que se a$licara al !iltro de los datos. D. ;or cada ta%la genera una clase , la cual es la encargada de invocar a los $rocedimientos almacenados mencionados arri%a, esta clase hace uso de la clase que re$resenta un registro de nuestra ta%la, as' como una clase central que es la encargada de conectarse al motor de gestionar los retrocesos en caso de errores, . E. Como se mencion/ :rri%a -ToolCode.genera una clase $rinci$al -21Conexion. encargada de conectarse al motor, esta clase es la encargada de a%rir la conexi/n al momento de hacer una determinada transacci/n en un o muchas ta%las, en caso de algCn error esta clase reali(a el roll%acF lan(a la exce$ci/n hacia a!uera $ara que el gestor de negocios se$a que no se reali(/ la transacci/n. 7. Genera una clase $rinci$al -+egocio. que es con la cual $uede interactuar el usuario, la cual contiene un listado de todos los m&todos que se $ueden utili(ar $ara transaccionar so%re nuestra 1.2., esta clase utili(a una instancia de la clase -21Conexion. mediante la cual reali(a las transacciones, los $ar#metros que son enviados desde la clase -+egocio. a la clase -Conexi/n. son o%jetos que re$resentan registros en nuestras ta%las. H. 3i tenemos ;rocedimientos almacenados cu o scri$t no ha sido generado $or -ToolCode., $odemos seleccionar estos $rocedimientos generar c/digo $ara $oder utili(arlos del o%jeto -+egocio., estos $rocedimientos tiene que ser asignados a una determinada clase. 7. 9maginemos que queremos insertar in!ormaci/n en dos ta%las que est#n relacionadas $or un 92 -ToolCode. $ermite reali(ar esta acci/n, $odemos seleccionar las ta%las a utili(ar generamos un Cnico m&todo que inserte in!ormaci/n en estas ta%las, de igual manera $odemos decidir en cu#l de las ta%las se insertaran mClti$les registros. Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

8. 3i $or alguna ra(/n la estructura interna de nuestras ta%las o $rocedimientos ha cam%iado, -ToolCode. $ermite actuali(ar el c/digo generado $ara asi mantener la consistencia con nuestra 1.2. 9. -ToolCode. $ermite generar !ormularios de mantenimientos de datos, $ara ellos de%emos seleccionar la ta%la $ara la cual vamos a necesitar el !ormulario, entre las acciones que $odemos hacer en estos !ormularios tenemos: a. Crear un +uevo registro en una ta%la %. :ctuali(ar ?n registro de la ta%la c. Eliminar un registro de la Aa%la d. Consultar la in!ormaci/n contenida en la ta%la en %ase a !iltros que $odemos es$eci!icar. >0. ;or ultimo con todo lo anteriormente generado, $odemos generar un $ro ecto $ara 5isual 3tudio 60>0. ,a continuaci/n se muestra una imagen que trata de re$resentar lo que genera -ToolCode. $ara el ;rogramador:

Con esta herramienta estamos garanti(ando un ahorro de tiem$o entre un H0 a un 80I $ara el desarrollo de un $ro ecto. 1ueno %asta de $ala%ras, vamos a ver un $equeJo ejem$lo: Consideremos el siguiente diagrama de 1.2.

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

Este es un ejem$lo sencillo, sim$lemente vamos a ca$turar los datos de una $ersona al igual que sus nCmeros tele!/nicos, en el diagrama se est# re$resentando que una $ersona $uede tener -1. o -Muchos. nCmeros de tel&!onos, as' como el $a's de donde $roviene -Nacionalidad., %ueno aclarar que este art'culo no trata de diseJos de %ase de datos ni de diagrama de clases as' que $or ende $uede que este modelo no sea del todo exacto ni que tam$oco sea la Cnica !orma de re$resentar lo que estos tratando de re$resentar. 1uena con nuestra %ase de datos a creada junto con nuestras ta%las vamos a iniciar -ToolCode.

)a $antalla inicial es la siguiente:

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

En esta $antalla $odemos ver: >. El KenC ;rinci$al: En este menC se encuentran los siguientes su%Lmenus: a. KenC :rchivo: 2esde el menC :rchivo $odemos a%rir un $ro ecto, guardarlo cerrar un $ro ecto salir de la a$licaci/n.

%. KenC ;ro ecto: 2esde el menC $ro ecto $odemos Generar el c/digo !uente de nuestra a$licaci/n, ;odemos seleccionar las ta%las $ara las cuales vamos a generar los !ormularios desde los cuales se har# el mantenimiento de los datos, tam%i&n $odemos actuali(ar un determinado !ormulario .Propiedades Formulario., $odemos relacionar un $rocedimiento almacenado de nuestra %ase de datos con una clase es$ec'!ica -Relacionar Procedimiento., $odemos crear un nuevo m&todo a $arir utili(ando las clases a existentes esta o$ci/n es Ctil cuando queremos hacer un registro en un maestro detalle -Crear Nuevo Mtodo., Con!igurar el ti$o de ;ro ecto a generar -En este caso solo est# dis$oni%le :$licaci/n de Escritorio.

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

c. KenC Con!iguraci/n: En esta o$ci/n $odemos con!igurar todos los tem$lates que utili(a -ToolCode. $ara la generaci/n del c/digo !uente as' como de los scri$t $ara generar los $rocedimientos almacenados.

d. 1ase de 2atos: Con este menC $odemos seleccionar las ta%las $ara las cuales vamos a generar el c/digo !uente, as' tam%i&n %usca nuevos $rocedimientos almacenados creados en la 1ase de 2atos.

6. El 9ns$ector de ;ro ecto: Esta $aleta nos $ermite visuali(ar la estructura con la cual ser# creada nuestra soluci/n en 5isual 3tudio, as' como tam%i&n $odemos visuali(ar las ta%las $rocedimientos almacenados seleccionados $ara el $ro ecto.

D. )a $aleta de K&todos ;ro$iedades: Esta $aleta nos $ermite ver los m&todos, atri%utos $ro$iedades $erteneciente a una clase determinada, as' como tam%i&n $odemos o%servar las $ro$iedades de un o%jeto de la 1.2.

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

1ueno ahora luego de esta %reve ex$licaci/n de las o$ciones del -ToolCode., ahora vamos a crear un nuevo $ro ecto, $ara ello nos vamos a archivo . :%rir ;ro ecto.:

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

;odr#n notar que esta resaltado con rojo el ti$o de 1.2. a la que nos vamos a conectar as' como el lenguaje de $rogramaci/n el 92E, le damos clicF en el %ot/n guardar, nos van a salir las siguientes $antallas le damos clicF en siguiente luego en !inali(ar.

2es$u&s de haver echo clicF en l %ot/n !inali(ar -AoolCode. hara una ins$ecci/n de la %ase de datos %uscando las ta%las los $rocedimientos almacenados contenidos en la 1.2. al terminar la ins$ecci/n nos mostrara la siguente ventana en la cual nos $ide seleccionar las ta%las con las que tra%ajaremos en el $ro ecto.

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

3eleccionamos todas las ta%las le damos clicF en ace$tar, ahora -AoolCode. se dis$ondr# a generar el c/digo !uente $ara nuestras ta%las seleccionadas. El $ro ecto quedara de la siguiente !orma:

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

En el ins$ector de ;ro ecto, $odemos ver todas las clases que -ToolCode. genero $ara nuestras ta%las, as' como tam%i&n $odemos ver las ta%las seleccionadas $ara nuestro $ro ecto, $odemos notar que en este momento no tenemos $rocedimientos almacenados en nuestra 1.2., $ara crearlos hacemos do%le clicF so%re el nodo -;rocedimientos. contenido en el $ro ecto -2emo. se nos a%rir# una $aleta en el centro, en el cual $odremos ver el scri$t corres$ondiente a los $roc. :lmacenados que -ToolCode. nos sugiere que creemos $ara que nuestra a$licaci/n $ueda !uncionar correctamente.

5amos a revisar que tiene la clase -M;ersona., $ara hacemos do%le clicF so%re el nodo corres$ondiente a esta clase:

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

;odr#n o%servar que los atri%utos de esta clase son los que lleva la ta%la -;ersona., esta clase como lo ex$lique anteriormente no contiene ningCn m&todo con el cual se $ueda registrar in!ormaci/n en la 1.2. el o%jeto ti$o $rinci$al de esta es de contener in!ormaci/n, la cual $osterior mente ser# registrada en la ta%la -;ersona. utili(ando la clase -2;ersona.. ,acemos clicF so%re el nodo corres$ondiente a la clase -2;ersona.:

;odr#n o%servar los atri%utos m&todos de esta clase, ha que $restar ma or &n!asis en que esta clase es la encargada de registrar in!ormaci/n so%re la ta%la -;ersona. $ero $ara $oder hacer de%e hacer uso de la clase -M;ersona.. 5amos a examinar ahora la clase -21Conexion. $odr#n o%servar que en ella se encuentran todos los m&todos utili(ados $ara interactuar con el motor de 1.2. la $rinci$al !uncionalidad de esta clase es la de gestionar las transacciones so%re el motor as' como de i !ormar de algCn error al ejecutar los mismos.

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

:hora vamos a ins$eccionar la clase -+egocio., esta clase es el mascara $ara todos los m&todos utili(ados $ara interactuar con el motor, el usuario no de%e $reocu$arse $or la conexi/n a que esta clase crea una instancia de la clase -21Conexion. la cual es utili(ada $ara administrar las transacciones, el usuario solo de%e $reocu$arse de invocar al m&todo correcto de enviar la in!ormaci/n adecuada al mismo.

5amos a con!igurar nuestro $ro ecto $ara $oder generar !ormularios, nos vamos a -;ro ectoLB;ro$iedades ;ro ecto. nos mostrara la siguiente ventana, nos vamos a la $aleta $resentaci/n la dejamos tal cual como se encuentra en la imagen

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

)uego le damos clicF en guardar. 1ueno ahora vamos a generar los !ormularios $ara las ta%las -+acionalidad, ;ersona., $ara ello seleccionamos el menC -;resentacionLBGenerar :1KNs.

3eleccionamos las ta%las luego le damos clicF en ace$tar.

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

+os a$arecer el siguiente !ormulario, seleccionamos el o%jeto -=rm;ersona., luego el atri%uto -id_nacionalidad., luego cam%iamos el estilo a -CMK1M1MO. $or ultimo seleccionamos el o%jeto que servir# como 2ata3ource del com%o

,acemos clicF en ace$tar, guardamos luego nuevamente en ace$tar.

:hora nuestro $ro ecto quedara de la siguiente !orma:

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

:hora vamos a generar el c/digo !uente $ara este $ro ecto, no olvidar que el c/digo se generar en la car$eta:

)a cual actualmente est# vac'a:

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

3eleccionamos el menC: -;ro ectoLBGenerar ;ro ecto.

3e nos des$legara una ventana con un $rogres le damos clicF en ace$tar el $ro ecto em$e(ar# a generarse:

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

Cuando !inalice la $antalla quedara de la siguiente !orma:

:hora veri!icamos nuestra car$eta:

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

+otamos que nos gener/ un $ro ecto $ara visual 3tudio, $rocedemos a%rirlo, le damos clicF en Generar.

:hora hacemos do%le clicF so%re el !ormulario -=rm;ersona.

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

Este es el estilo de !ormularios que se generan con -ToolCode..

:hora vamos agregar un nuevo $ro ecto a la soluci/n, vamos hacer re!erencia al $ro ecto -2emo., en este $ro ecto vamos a crear un !ormulario con dos %otones -+acionalidad. ;ersona.

El c/digo !uente que contendr#n los eventos clicF de estos %otones ser# el siguiente:

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

:hora creamos los $rocedimientos almacenados:

+o olvidar que el scri$t de los $roc. Est#n en :

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

:hora ejecutamos la a$licaci/n, e ingresamos al !ormulario nacionalidad:

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

Creamos unos cuantos registros luego ingresamos al !ormulario -;ersona.

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

En este !ormulario tam%i&n $rocedemos a crear registros. 1ueno amigo eso es todo, comentarles que actualmente esto $or terminar de desarrollar -ToolCode. actualmente genera todo lo anteriormente ex$uesto. En otro art'culo ex$licare de !orma m#s detalla el c/digo !uente generado. 3aludos.

Cualquier consulta enviar un correo a las siguientes direcciones: Jose_g709@hotmail.es,joseg709@gmail.com

You might also like