Resumen del Lunes 24 de Abril
PorAmby
Para comenzar por todo lo alto la última jornada de este encuentro
de desarrolladores de aplicaciones VFP desayuné con Nancy Folson. De
conversaciones de chicas no cuento en público :), la verdad es que la
pasamos muy bien. Luego se nos incorporaron otros compañeros y a la media
hora el restaurante había sido tomado por asalto de foxeros, éramos los
únicos allí y la gente hacía chistes en voz alta, en fin ... la de Dios
:-)
Pero estamos aquí para trabajar, y fuimos a trabajar !!
La primera sesión de la última mañana la presentó Craig Berntson
quien se refirió a las Mejores prácticas para el diseño de componentes
en la capa media (Best practices for Designing Middle-Tier
Components)
Craig comentó que hay varias formas para definir esta capa: capa
intermedia, reglas de negocio, dominio lógico, en fin, hay varios; pero se
trata del sitio donde se realizan los cálculos basados en los datos
introducidos y almacenados. Es la lógica de la aplicación. Citó varios
autores que han definido este aspecto de la creación de aplicaciones, sean
o no VFP, se trata de diseño.
Luego sometió al auditorio a un examen. Puso varios ejemplos de
situaciones a ver si éramos capaces de definir correctamente el sitio a
desarrollar cada tarea. Para no variar hubo un debate muy interesante. Si
decimos, por ejemplo: Tenemos que mostrar un elemento en rojo cuando su
valor sea menor del 10% del total almacenado. A ver ... ¿Quién controla?
¿Las reglas de negocio o la interfaz de usuario? ... Claro, tienen razón,
ambas. Controlan ambas, porque mientras la regla de negocio se encarga de
calcular y devolver un resultado, la interfaz se encarga de establecer el
color adecuado para el tipo de resultado devuelto, sin tener nada que ver
con cálculo ni porcentajes.
Así hubo unos cuantos más. Fue instructivo y divertido a la vez. Al
final de este segmento de sesión Craig preguntó si había quedado claro ...
o si la confusión era aun mayor :-) La respuesta que llegó de una esquina
fue "Depende :-)"
Volvemos a la carga y esta vez Craig entra de lleno en un ejemplo en el
que muestra cómo se debe diseñar correctamente cada punto de la aplicación,
con tres capas y trabajando con componentes COM.
No me detengo, y no sólo por la falta de tiempo, sino porque se basó en
la presentación que hiciera hace un año en Southwest Fox 2005 y que aparece
descrita con bastante detalle en:
http://www.portalfox.com/conferencias/southwestfox2005/pre1.htm bajo el
título Utilizando Servidores COM de Windows.
Craig dijo que las mejoras prácticas en este caso, son tener en cuenta
las reglas para nombrar objetos, para que se auto-comenten hoy y en el
futuro y diseñar a partir de su comportamiento. Sobre dónde van las reglas
de negocio, de nuevo, un debate, pueden ir todas en el cliente, todas en el
servidor, o tener fragmentos en el cliente y el servidor y como siempre la
respuesta es depende. Lo que si no puede ser es que vayan mezcladas en la
interfaz de usuario ni en el contenedor de datos. Cada cosa en su lugar.
En el resto de la sesión trató de control de errores, y para controlar
errores trabajando con COM es imprescindible emplear COMRETURNERROR. Vimos
aspectos del control de seguridad (basada en roles) y transacciones
controladas por componentes.
Agrademos a Craig y vamos a tomar el último café entre sesiones, bueno,
yo me tomé dos, estoy realmente cansada. Estuvimos hablando, Hugo y yo
sobre el tema de Craig, Hugo lo ha trabajado más, mientras que yo apenas lo
he empezado a tocar con DLLs para trabajar con Servicios Web. Yo disfruté y
aprendí mucho, hace un año con Craig, así que ahora se complementan estas
ideas.
Rick Borup fue el siguiente y último ponente de esta Gran
Conferencia. Su sesión "Best practices for Deployment" trata
sobre las estrategias en el desarrollo de una aplicación.
Tiene mucho sentido que sea la última ponencia, porque Rick Borup hizo
un abarcador análisis de los aspectos a considerar en cada etapa del
proceso de creación de una aplicación. La estrategia está presente una y
otra vez en cada etapa y sin una buena estrategia desde el inicio el mejor
de los proyectos puede fracasar. De esta forma definió que el proceso de
desarrollo es un círculo en el que se integran: Estrategia - Diseño -
Creación - Prueba - Documentación.
La documentación de procesos está presente en todas las etapas, es
imprescindible, ya sea a través de un wiki, o una herramienta de control de
proyectos, siempre hay que documentar las tareas.
Recomendó el empleo de versiones como una excelente práctica para
control de novedades o adecuaciones de cada versión. Hubo sus opiniones en
cuanto a trabajar con la numeración automática a cada generación del EXE,
hay para todos los gustos, si consideramos que cada EXE es una versión, OK,
si consideramos que podemos trabajar con EXE aún sin ser una versión, pues
mantener desmarcada esta opción. Sobre la generación, recomendó además
siempre recompilar todo el proyecto, y limpiar la configuración de
impresora en los informes.
Un paso importante es probar sobre una máquina limpia, puede ser una
configuración lista para pruebas o crear una configuración virtual. De lo
que se trata es de probar sin VFP y otras herramientas OCX necesarios, hay
que garantizar que sea la aplicación quien se encargue de hacer las
instalaciones. Luego, si no es la primera implantación, probar sobre la
versión anterior, porque ya hay una configuración instalada en el mundo
real del usuario y eso hay que considerarlo, esta recomendación fue de
Barbara Peisch.
Sobre los procesos de actualización de datos, lo primero es vaciar
nuestras tablas de pruebas, esto nos puede haber pasado alguna vez que el
usuario recibe tablas con datos de prueba del tipo "1111, 2222", en lugar
de tablas vacías. ¿Ideas? Pues, puede ser no mandar tablas y que sea un
programa que se encargue de generarlas, otra variante es tener un programa
para la limpieza de las tablas y mandar el entorno, porque algunas tablas
deben permanecer con datos, en fin ... opiniones, ideas, variantes, lo que
sea mejor para cada uno.
Se recomienda emplear diagramas de procesos para cada versión que
referencien lo nuevo, lo que no va, lo que ha sido arreglado. Este diagrama
nos hace ver rápidamente las modificaciones entre una versión y la
anterior.
La mejor forma para actualizar al usuario, es emplear instaladores y no
enviar ejecutable o ficheros. Permitir y probar los procesos de
desinstalación de la aplicación.
Rick Borup también habló del control de errores, de la información de
errores que debe dar la aplicación y de depuración. Estos temas se han
repetido una y otra vez a lo largo de esta conferencia, lo que indica que
son imprescindibles desde cualquier óptica que se vea el desarrollo de
aplicaciones.
Termina Rick y ...?
Pues no, aun no acaba la fiesta, Whil toma la palabra para
resumir un poco lo que han sido unas intensas jornadas de trabajo en las
que se ha producido una constante tormenta de cerebros sobre todos los
temas y en las que todos hemos salido beneficiados.
Agradeció la presencia de algunas personas que han estado siempre en las
conferencias que se organizan aquí, agradeció a los locales, a los que
vienen de lejos y ... tuvo un detalle especial conmigo, que soy la que vino
de más lejos ... Alabao !!!! me puse colorada y todo ... pues me regaló un
libro firmado por el, y muchos de los presentes, WOW !!! Excelente
regalo, me gustó muchísimo, lo guardaré con mucho cariño. En ese momento,
Nancy Folson, fan indiscutible de PortalFox, comentó sobre el
trabajo que hacemos por acá y pidió un aplauso para la comunidad
hispanoamericana y especialmente para PortalFox ¡¡ Muchas felicidades a
todos !!
Estuvo muy bonito, gracias Whil, gracias Nancy ... por poco se me sale
el corazón de lo nerviosa que estaba :-) ; pero fue bonito, siempre lo voy
a recordar.
Whil comentó sobre las portadas de sus libros, algunos salen de escenas
de películas, otras son combinaciones de fotos, otras de cuadros, es
curioso cómo se las ingenian en las portadas.
Hubo un momento muy divertido en el que Whil presentó lo que podían ser
portadas de sus libros ante cada versión de VFP, teniendo en cuenta que
dicen cada vez, que muere y que muere. El juego de palabras no lo puedo
traducir; pero piensen en películas como Nacido para matar y esas cosas ...
fue muy divertido.
Se acabó !! Ahora sí ... Oh no ... Andy Kramer tendrá una sesión
extra !!!!, pequeñita, habló de su clase para controlar datos almacenados
en VFP y/o SQL, yo estuve allí y lo ví; pero esto se los debo, luego con
más calma...
¿Será que no queremos que acabe?
Pues ... parece, nos fuimos a almorzar, al estilo americano,
hamburguesas, papas fritas y esas cosas, éramos muchos, muy divertido, la
pasamos super bien ... poco a poco se fue retirando la gente, y yo para no
ser la última, me fui casi al final ... a dar un paseo.
De regreso noté que el hotel se ha quedado un poco vacío, no hay reunión
en el bar, se han ido ¿quizás todos..? En fin, que ha sido una experiencia
muy bonita, una Conferencia diferente en cuanto a formato y objetivos, un
intercambio fenomenal ... una fiesta vamos, ni más ni menos. Fue un placer
conocer gente nueva, especialmente a Hugo Ranea, argentino radicado en
Canadá.
Quiero agradecer a Pablo Roca, Luis María Guayán e
Isaac Venegas, los tres son SysOps de este PortalFox, por
la atención que me han estado prestando en estos días y por su constante
compañía por la Web o teléfono. Gracias especiales a LuisMa, nuestro editor
jefe porque se ha encargado de dar formato a las ideas que he estado
enviando, y que no he tenido tiempo de leer de retocar.
Volveré para revisar y complementar estos informes. Cualquier error o
despiste que haya pasado por alto lo arreglaré, vean estos escritos como
avances, escritos en la eterna lucha contra el tiempo y el cansancio ... no
los vean como resúmenes definitivos.
Como siempre, un placer, ¡¡ Gracias chicos !!
Me espera el largo viaje de regreso ... a ver si puedo conocer a Isaac
... espero que si !!!!
Saludos,
Ana |