04 Isc 001-Tesis
04 Isc 001-Tesis
04 Isc 001-Tesis
CAPTULO I
INTRODUCCIN A LAS
HERRAMIENTAS CASE
Generalidades
Definiciones de Herramientas CASE
Clasificacin de las Herramientas CASE
Objetivos de las Herramientas CASE
Estructura de las Herramientas CASE
Proceso de Desarrollo de Software con Herramientas CASE
Ponderaciones para la Utilizacin de Herramientas CASE
Requerimientos para Adquirir Herramientas CASE
Estrategias para la Correcta Implantacin de Herramientas CASE
Recuperacin de Costos de las Herramientas CASE
1.1. GENERALIDADES
El principal objetivo de los desarrolladores de aplicaciones es: elaborar software de calidad, a precios
cmodos y en tiempos mnimos, de tal manera que sus aplicaciones sean compatibles para la mayora
de: plataformas, bases de datos arquitecturas y frontales existentes.
Para lograrlo se ha buscado herramientas que permitan: solucionar, consolidar, acoplar y unir los
diferentes requerimientos que surgen de los compradores de sistemas. Una de las principales
alternativas es la utilizacin de Herramientas CASE, donde el desarrollador desde: un ambiente
grfico de diseo, obviando las partes automatizables, proyectndose hacia una cultura de
programacin ordenada, enfocado al desarrollo de su sistema cumpliendo los estndares
recomendados por la ingeniera de software, puedan desarrollar soluciones de gran nivel competitivo.
Para comprender este prembulo de una mejor manera se presenta el siguiente ejemplo: El cliente A,
desea un sistema de contabilidad, y dispone de: SQL Server, Visual Basic y Windows NT. El cliente
B, quiere el mismo sistema de contabilidad realizado con: Informix para Linux, y Java. La semana
siguiente otro cliente C, desea un sistema de contabilidad similar para: AS/400 con DB/2 en el
servidor y Foxpro para Windows en el cliente.
Si se quiere satisfacer todos estos requerimientos, se tiene dos alternativas: 1.Contratar a tres
desarrolladores diferentes que sean expertos en cada una de las arquitecturas requeridas. 2.
Desarrollar una sola aplicacin con una Herramienta CASE que sea capas de generar todas las
aplicaciones con los requisitos mencionados.
Los conceptos y las formas bsicas de desarrollo convencional de sistemas son de mucha importancia,
por ejemplo: el diseo de las bases de datos desde un lenguaje SQL puro o el desarrollo de una
aplicacin con programacin netamente en C ++ o en HTML; el buen programador debe conocer
solidamente todos estos mtodos, para tener una concepcin adecuada sobre la automatizacin de los
mismos por parte de las Herramientas CASE.
Grfico 1.1
Grfico 1.2
Otro aspecto importante del por qu se enfoca la utilizacin de Herramientas CASE, es el mbito
laboral de los Ingenieros de Sistemas, al egresar estos profesionales deben ser entes generadores de
empleo, con miras a la creacin de su propia empresa desarrolladora. En nuestro medio el desarrollo
de aplicaciones con herramientas que permitan satisfacer la mayora de requerimientos de un cliente,
a tiempos mnimos, a precios cmodos, con facilidades de mantenimiento, de utilizacin, instalacin,
escalabilidad y que vayan de acuerdo a las necesidades cotidianas, todava no es muy comn, y es una
alternativa de trabajo que est en pleno auge para su explotacin.
CASE: Computer Aided Software Engineering. (Ingeniera de Software Asistida por Computadora.)
CASE: Son un conjunto de mtodos, utilidades y tcnicas que facilitan la automatizacin del ciclo de
vida del desarrollo de sistemas de informacin, completamente o en alguna de sus fases. (Calderi
Irivict) [www003]
Henry David Crockett (Portland State University) "Las Herramientas CASE se ven simplemente
como herramientas que cualquiera puede escoger y utilizar (como un martillo) para desarrollar un
sistema de informacin, su seleccin e implementacin casi siempre llevar a una reducida
productividad y calidad. La seleccin e implementacin de Herramientas CASE son procesos de
mltiples etapas que permiten errores fatales en cada etapa. Uno de los errores ms comunes es
escoger una herramienta CASE que apoye un mtodo desconocido para los diseadores".
Alan Chimura (CASE Associates) dice "Las Herramientas CASE incluyen manejadores, mtodos,
tcnicas, disciplina, e instrucciones, todos trabajando juntos. Definir Herramientas CASE menos
ampliamente y presentarlo sin un suficiente entorno de apoyo es un acto de negligencia".
Las Herramientas CASE abarcan cada etapa del proceso de ingeniera y cada actividad que se
desarrolla a lo largo del mismo. Las Herramientas CASE forman un conjunto de bloques que
comienzan en el nivel del hardware y del sistema operativo y acaban en cada una de las herramientas
del sistema. [www005]
Las Herramientas CASE se refieren a herramientas para el desarrollo de sistemas que constan de
cinco componentes: herramientas de diagramacin, depsito de informacin, generadores de
interfaces, generadores de cdigo y herramientas de administracin. Las Herramientas CASE hacen
hincapi en las actividades de alto nivel, aunque el objetivo a largo plazo es abarcar las actividades de
anlisis, diseo y desarrollo. [www006]
El proceso de desarrollo de software consiste en una serie de pasos bien definidos, que seguidos
adecuadamente, conducen a un software mantenible y bien diseado, an as, muchas organizaciones
olvidan las fases de anlisis y diseo a favor de comenzar inmediatamente la implementacin de
cdigo.
Es ms positivo pensar en el desarrollo de software, no como un proceso lineal, sino como un ciclo,
aunque el paso de una fase a otra se realiza en un sentido, tambin pueden existir vueltas atrs en
determinados momentos, especialmente cuando aparecen requerimientos de usuario ocultos en las
primeras fases, a continuacin se muestra cuales son las principales facetas para desarrollar software.
[www027]
1. Anlisis de Requerimientos
2. Diseo de la Especificacin (Prototipo)
3. Implementacin (Produccin)
4. Integracin, Tes y Documentacin.
5. Mantenimiento
6. Reingeniera
Cuadro 1.1.
Por su TOOLKIT
Amplitud WORKBENCH
POR SU AMPLITUD
Como se muestra en el cuadro 1.2 las Herramientas CASE tambin pueden clasificarse de la siguiente
manera: [www003]
Cuadro 1.2
Herramientas de Alto Nivel (U CASE). Upper CASE, CASE superior o front - end,
orientadas a la automatizacin y soporte de las actividades desarrolladas durante las primeras
fases del desarrollo: anlisis y diseo.
Herramientas de Bajo Nivel (L-CASE). Lower CASE, CASE inferior o back - end,
dirigidas a las ltimas fases del desarrollo: Construccin e implantacin.
Una estrategia posible es utilizar una U-CASE para anlisis y diseo, combinada con otras
herramientas ms modernas para las fases de construccin y pruebas, en este caso, habra que vigilar
cuidadosamente la integracin entre las distintas herramientas.
Herramientas de Soporte. Se engloban en esta categora las herramientas que recogen las
actividades aplicables en todo el proceso de desarrollo, como las que se relacionan a
continuacin: [www027]
Herramientas de documentacin
Herramientas para software de sistemas
Herramientas de control de calidad
Herramientas de bases de datos
Repositorio
Reingeniera
Soporte del Ciclo de Vida
Soporte de Proyectos
Mejora Continua de la Calidad
Planeamiento
Anlisis y Diseo
Implantacin (programacin y pruebas)
Mantenimiento y actualizacin
Los sistemas CASE pueden cubrir la totalidad de estas fases o bien especializarse en alguna(s)
de ellas. En este ltimo caso se puede distinguir sistemas de "alto nivel" ("Upper Case"),
orientados a la autonoma y soporte de las actividades correspondientes a las dos primeras
fases y, sistemas de "bajo nivel" ("Lower Case"), dirigidos hacia las dos ltimas. Los sistemas
de "alto nivel" pueden soportar un nmero ms o menos amplio de metodologas de
desarrollo.
No permite la integracin
del ciclo de vida.
Integra el ciclo de Vida. No es eficiente para niveles
simples, sino para
Mejora la productividad a complejos.
mediano plazo.
Depende del hardware y
I CASE
Buen soporte de software.
mantenimiento.
Costos elevados.
Mantiene la persistencia
en niveles corporativos.
En el grfico 1.3 se puede observar qu partes del ciclo de vida pueden generar los diferentes tipos de
Herramientas CASE. [www004]
Grfico 1.3
Upper CASE
Middle CASE
Lower CASE
Ciclo de Vida
Automatizar:
El desarrollo del software
La documentacin
La generacin del cdigo
El chequeo de errores
La gestin del proyecto
La generacin del modelo de datos
La generacin de diagramas
La generacin de pantallas
Permitir:
La reutilizacin del software
La portabilidad del software
La estandarizacin de la documentacin
Integrar las fases de desarrollo con ingeniera del software y Herramientas CASE.
Cuadro 1.4
Mdulo de Repositorio
Mdulo de Diagramacin y Modelamiento
Mdulo de Prototipado
Mdulo de Generacin de Cdigo
Mdulo de Generacin de Documentacin
En el contexto de las Herramientas CASE se entiende por enciclopedia a la base de datos que
contiene toda la informacin relacionadas con: las especificaciones, anlisis y diseo de la aplicacin,
definiendo a cada objeto de la siguiente manera:
La mayora de Herramientas CASE poseen un repositorio propio o bien trabajan sobre un repositorio
suministrado por otro fabricante o vendedor, es preferible trabajar con herramientas que tengan su
propio repositorio ya que se adaptan a la tecnologa propia de la herramienta y no tienen que heredar
metodologas de otro fabricante.
CARACTERSTICAS DE UN REPOSITORIO
Tipo de Informacin. Que contenga alguna metodologa concreta, para formar: datos, grficos,
procesos, informes, modelos y reglas.
Tipo de Actualizacin. Si los cambios en los elementos de anlisis o diseo se ven reflejados en el
repositorio en tiempo real o mediante un proceso por lotes (match). Esto ser importante en funcin
a la necesidad de que los cambios sean visibles por todos los usuarios en el acto.
Reutilizacin de Mdulos para Otros Diseos. El repositorio es la clave para identificar, localizar
y extraer cdigo para su reutilizacin.
Posibilidad de Exportacin e Importacin. para extraer informacin del repositorio y tratarla con
otra herramienta (formateo de documentos, mejora de presentacin) o incorporar al repositorio,
informacin generada por otros medios.
Grfico 1.4
Procedimientos
Mens
Repositorio
Base de Conocimiento
Base de
Datos
Diagrama de un Repositorio
Es la parte del sistema, donde el programador disea la realidad, dicho de otra manera disea lo que
desea ver propiamente en su programa, luego de esto la Herramienta CASE automticamente genera
los diferentes diagramas, como: [www003]
El objetivo principal de esta herramienta es poder mostrar al usuario desde los momentos iniciales
del diseo, el aspecto que tendr la aplicacin una vez desarrollada. Esto facilitar a que el software
cuente con la mayora de las necesidades que pueda tener el usuario, antes de que la aplicacin entre a
produccin.
El programador diseara el software conjuntamente con el usuario, hacindole ver como se van a
presentar en pantalla los criterios requeridos por l. En el grfico 1.5 se observa el ciclo de vida de
diseo, prototipo y produccin. [LIB001]
Grfico 1.5
La herramienta ser mucho ms til, cuanto ms rpidamente permita la construccin del prototipo y
cuanto ms antes, se consiga la implicacin del usuario final en el diseo de la aplicacin.
Asimismo, es importante poder aprovechar como base el prototipo para la construccin del resto de
la aplicacin. Actualmente, es imprescindible utilizar productos que incorporen esta funcionalidad por
la cambiante tecnologa y necesidades de los usuarios.
Los prototipos han sido utilizados ampliamente en el desarrollo de sistemas tradicionales ya que
proporcionan una realimentacin inmediata, que ayudan a determinar los requisitos del sistema. Las
Herramientas CASE estn bien dotadas, en general, para crear prototipos con rapidez y seguridad.
En el ciclo de produccin por el contrario, pasar con menos frecuencia el bucle Diseo Produccin,
ya que la generacin del sistema se realiza solamente cuando el prototipo ha sido totalmente
aprobado, o luego de haber instrumentado y probado algn cambio. [LIB001]
Normalmente, se suele utilizar sobre ordenadores personales o estaciones de trabajo, por lo que el
paso posterior del cdigo al host puede traer problemas, al tener que compilar en ambos entornos, en
los grficos 1.1 y 1.2 Se puede observar como una Herramienta CASE genera cdigo
automticamente en diferentes lenguajes.
Generacin automtica a partir de los datos del repositorio, sin necesidad de un esfuerzo
adicional.
Combinacin de informacin textual y grfica, lo que hace ms fcil su comprensin.
Generacin de referencias cruzadas, con ello se podr localizar fcilmente en qu partes de la
aplicacin se encuentra un determinado objeto o elemento, con el fin de analizar el impacto
de un cambio o identificar los mdulos afectados por un determinado error.
Ayuda en el tratamiento de textos, es la facilidad para la introduccin de textos
complementarios a la documentacin que se genera de forma automtica.
Interfase con otras herramientas: procesadores de textos, editores grficos, etc.
La arquitectura de entorno, compuesta por la plataforma hardware y el soporte del sistema operativo,
incluida la red y la gestin de la base de datos, constituyen la base de las Herramientas CASE.
Pero el entorno de las Herramientas CASE en s mismo necesitan otros componentes; un conjunto
de servicios de portabilidad forman un puente entre las Herramientas CASE con su marco de
integracin y la arquitectura de entorno.
Los servicios de portabilidad permiten que las Herramientas CASE y su marco de integracin puedan
migrar a travs de diferentes plataformas hardware y sistemas operativos, sin grandes esfuerzos de
adaptacin. En el grfico 1.6. se visualiza la arquitectura jerrquica de las Herramientas CASE.
[www005]
Grfico 1.6.
Herramientas CASE
Marco de Integracin
Servicios de Portabilidad
Sistema Operativo
Hardware
Arquitectura de Entorno
La mayora de las Herramientas CASE no han sido construidas utilizando todos los bloques
componentes, muchas de stas son soluciones puntuales, esto es, una herramienta se utiliza como
ayuda en una actividad concreta de ingeniera de software, pero no se comunica directamente con
otras herramientas porque no est unida a una base de datos de proyectos; aunque esta situacin no
es la ideal, una Herramienta CASE puede ser utilizada eficientemente, an siendo una solucin
puntual.
La meta ideal de las Herramientas CASE es crear herramientas que integren en conjunto los
siguientes elementos: [www003]
Para esto es necesario estudiar las formas comunes de integracin como: el intercambio de datos
punto a punto, el acceso comn a herramientas, las formas de integracin etc.
Grfico 1.7
Herramienta A Herramienta B
TRADUCTOR
Datos Privados
Intercambio de Datos PP
La mayora de las herramientas permiten exportar datos en forma de archivo sin estructura con un
formato conocido. Esto permite un intercambio de datos punto a punto entre las distintas
Herramientas CASE (grfico 1.7), utilizando normalmente un "filtro" de transmisin intermedio.
La desventaja del intercambio de datos punto a punto est, en que a menudo slo parte de los datos
exportados es utilizable por la herramienta receptora, ya que no fue diseada para ser totalmente
compatible.
Adems, a medida que evoluciona el software, la necesidad de transferir archivos cada vez que se hace
un cambio pequeo puede llevar mucho tiempo. Las versiones pueden quedar "desfasadas" fcilmente,
perdindose la posibilidad de transferencia, la cual suele ser en un nico sentido.
No hay posibilidad de que los cambios se reflejen en ambos sentidos, y es difcil hacer
comprobaciones cruzadas de documentos y mantener la integridad de la configuracin a travs de las
distintas herramientas que se estn utilizando. [ww003]
Permite al usuario utilizar distintas herramientas de forma similar, por ejemplo a travs de un men
desplegable del gestor de ventanas del sistema operativo.
Grfico 1.8
Herramienta A Herramienta B
TRADUCTOR
Datos Privados
Gestin Comn de Datos. Los datos de distintas herramientas se pueden mantener en una nica
base de datos lgica, que puede estar fsicamente centralizada o distribuida. Hay una modalidad de
fusin que permite combinar el trabajo de varias personas trabajando en diferentes partes de una
aplicacin.
Aunque los datos generados por las distintas herramientas se gestionan de forma conjunta en el nivel
de gestin de datos comunes, las herramientas no conocen de forma explcita las estructuras de datos
y la semntica de representacin del diseo de las dems. Consecuentemente, se requiere una etapa de
traduccin normalmente ejecutada manualmente para permitir que una herramienta utilice la salida
generada por otra.
Datos Compartidos. Las herramientas del nivel de datos compartidos tienen estructuras de datos y
semntica compatible, pudiendo intercambiar datos sin necesidad de una etapa de traduccin. Cada
herramienta se disea para ser compatible con las dems. Por esta razn, la mayor parte del
intercambio de datos se da entre herramientas de un nico fabricante o en casos en los que se han
establecido relaciones estratgicas, entre distintos fabricantes para generar un conjunto de datos
integrado, a veces, a peticin de clientes importantes. (grfico 1.9)
Grfico 1.9
Integracin de Datos
Para alcanzar la integracin total del entorno CASE se necesitan dos caractersticas ms: gestin de
meta datos y capacidad de control (grfico 1.10.) Los meta datos representan informacin sobre los
datos de ingeniera generados por las distintas Herramientas CASE. Esta informacin incluye:
Grfico 1.10
MECANISMOS DE ACTIVACIN
META DATOS
Integracin Total
Normalmente, la parte de reglas y procedimientos de los meta datos se definen en forma de base de
reglas, para facilitar su modificacin segn evoluciona el proceso de desarrollo del software. Por
ejemplo, un nuevo mtodo de diseo podra alterar las reglas de representacin y cambiar los
estndares del proceso de trabajo seguido hasta el momento.
La capacidad de control permite que cada herramienta pueda notificar al resto del entorno a otras
herramientas, al gestor de meta datos, al gestor de datos, etc; la ocurrencia de sucesos significativos,
as como enviar peticiones para la realizacin de acciones a otras herramientas y servicios por medio
de un activador. Por ejemplo, una herramienta de gestin de configuracin que haga una
comprobacin cruzada de la consistencia de documentos.
El activador puede estar incorporado en un entorno cerrado o puede estar visible para las distintas
herramientas, a travs de una interfase de programacin y un mecanismo de paso de mensajes.
[ww003]
Deben ser fciles de: utilizar y comprender por usuarios y personal tcnico
La utilizacin del Herramientas CASE debe ser ms barata y eficiente que los mtodos
tradicionales para construir software.
Las especificaciones y el diseo generadores por Herramienta CASE deben ser exactas y
concisas representaciones del sistema a ser construido.
Cada requerimiento en la implantacin del software debe ser verificable y seguible hasta el
documento original. Criterios de eficiencia en ejecucin, limites del sistema y condiciones de
error deben ser establecidos como parte del diseo.
Las especificaciones y el diseo deben ser fciles de adaptar a medida que las metas de
anlisis y diseo cambien.
Tipo(s) de plataforma(s) sobre las que deber funcionar la herramienta, tanto desde el punto
de vista del equipamiento lgico como del equipamiento fsico.
Requisitos fsicos (espacio en disco, memoria RAM, UCP, etc).
Necesidad de integracin con otras herramientas de ayuda al desarrollo ya existentes.
Necesidad de acceso simultneo para diferentes usuarios. Esto puede enfocar la eleccin hacia
una herramienta que permita accesos compartidos a los datos y que cuente con una definicin
de perfiles de usuario para la proteccin de informacin.
Necesidad de compartir datos con aplicaciones externas. Se valorar ms a aquella aplicacin
que permita exportar sus datos o que almacene la informacin en un formato de fcil acceso
para otra aplicacin. [www003]
los nuevos productos. Se deber considerar cules son los recursos disponibles en el
equipamiento existente para la implantacin de la Herramienta CASE en cuestin. Debern
conocerse con el mayor detalle, posibles cuestiones como memoria RAM y espacio en disco
necesarios, grado de utilizacin de la(s) UCP(s) en condiciones normales de operacin y de
picos de demanda de la nueva herramienta. Este punto es importante de cara a un posible
redimensionamiento del equipamiento disponible. Estas mismas consideraciones tambin
deben ser tomadas en cuenta no ya para la propia Herramienta CASE, sino para las
aplicaciones desarrolladas con ayuda de dicha herramienta.
En la definicin del objeto del contrato y los requisitos inherentes al mismo, as como en la
valoracin y comparacin de ofertas de los proveedores, pueden intervenir muchos factores y de muy
diversa ndole, as:
No obstante, y a ttulo orientativo en este apartado se hace mencin de aquellos factores que, entre
los anteriores, pueden intervenir en el proceso de adquisicin de herramientas de ayuda al desarrollo
y cuyo seguimiento debe efectuarse exhaustivamente.
Aparte de las clusulas que se toman en cuenta cuando se adquiere cualquier tipo de software, las
consideraciones en el contrato de adquisicin de Herramientas CASE son:
Es importante asegurarse de poder utilizar la nueva herramienta sin tener que volver a escribir las
aplicaciones existentes. En el caso particular de implantar por primera vez una Herramienta CASE,
es un factor crtico el apoyo del suministrador o de consultores con experiencia en las etapas iniciales,
el cual deber ser suministrado por el proveedor.[www002] [www003]
Requisitos Lgicos. Expresado en el Modelo de Tecnologa, se debe analizar con especial atencin
la necesidad de otros mdulos no incluidos en el producto ofertado por el vendedor, para el correcto
y completo funcionamiento de la herramienta como: compiladores, mdulos para trabajo en grupo,
parches, software adicional, etc.
Es fundamental comprobar si la herramienta tiene los mdulos que incorporan las funcionalidades
ofrecidas. Hay que tener cierta precaucin cuando se analice un mdulo ofertado, ya que hay casos en
que para el funcionamiento de dicho mdulo, es necesario adquirir otros mdulos incluso de
diferentes fabricantes.
La prueba se debe realizar en las condiciones ms parecidas a las reales que se puedan conseguir e
intentando simular el acceso de un nmero de usuarios, parecido al esperado. Durante la prueba se
debern evaluar conceptos objetivos y fcilmente medibles.
No todas las herramientas cumplen con las prestaciones indicadas en los manuales, por lo que es
aconsejable establecer un perodo de prueba para explorar la herramienta que se pretende adquirir.
Una vez que en las especificaciones tcnicas se hayan definido, la plataforma fsica y lgica y las
necesidades funcionales, durante un perodo de prueba aceptable, se podr decidir si la herramienta
funcionar o no en su organizacin.
Dependencia del Proveedor. Hay que evitar esta dependencia. A veces las herramientas llevan
integradas partes de la plataforma operativa, lo cual las hace cerradas y propietarias. En el contrato
de adquisicin se debe contemplar la asesora tcnica, la capacitacin y la informacin tcnica. Se
debe encontrar el equilibrio entre la productividad de la herramienta y su carcter abierto, por
ejemplo: independencia del proveedor y del sistema operativo.
Costo lmite de Adquisicin. En este apartado hay que analizar las posibilidades que ofrece el
suministrador en cuanto a disponer de licencias individuales, grupos de licencia o licencias
corporativas. Los costes varan considerablemente en funcin del tipo de licencia, los costos de
Herramientas CASE varan de acuerdo al nmero de programas, bases de datos y plataformas en las
que pueden generar sus soluciones.
Costo de Instalacin de las Aplicaciones Generadas. Hay que averiguar si una vez generada la
aplicacin y a la hora de distribuirla entre los usuarios, es necesaria la instalacin de un mdulo
propiedad del suministrador.
Este mdulo en ocasiones no es de libre distribucin y es preciso comprarlo. Hay que dejar claro este
punto desde un principio, hay que averiguar si la herramienta genera programas ejecutables.
Capacidad de Integracin. Hay que tener en cuenta la plataforma o plataformas diferentes en que
va a ser instalada la herramienta en cuestin, su tipologa (fabricante, modelo y sistema operativo) y
las caractersticas de la red de interconexin, cuando exista. Igualmente habr que asegurar la
integracin con el software ya instalado. La necesidad de la integracin con una herramienta CASE
determinada, condiciona de forma decisiva la eleccin de un buen lenguaje de programacin. (4GL)
En el caso particular de un 4GL, este factor puede convertirse en decisivo si se tiene la intencin de
instalar la aplicacin generada en entornos tcnicos diferentes: sistemas operativos, plataformas
fsicas, interfases grficas y protocolos de red. Un 4GL ser realmente portable si el cdigo generado
se ejecuta en diferentes plataformas sin necesidad de adaptar los programas. [www002] [www003]
Los ambientes corporativos que hoy en da no utilizan metodologas de desarrollo soportada por
Herramientas CASE, podran compararse a empresas constructoras cuyos mtodos de construccin
se redujesen a la experiencia de sus operarios y cuyas herramientas constructivas fueran los
tradicionales picos, palas, carretillas, etc; aunque sus equipos humanos estuvieran integrados por
excelentes jefes de obra y oficiales de albailera, sus "mtodos y tcnicas artesanales" les impediran
abordar competitivamente cualquier proyecto de construccin actual, con independencia de que el
mismo se llevase a cabo con los ms modernos materiales. Esta situacin que en construccin civil e
industrial es asumida y tan evidente, no es trasladable a los desarrollos o construcciones
Informticas.
Visual Basic, pero sus mtodos y tcnicas constructivas permanecen como las de antao; en muchos
casos se limitan a la experiencia particular de sus tcnicos.
En estas organizaciones se sigue construyendo software con costos y tiempos muy altos los nuevos
sistemas informticos, con toda la problemtica ya muy conocida, que fue denominada con las
palabras anglosajonas de "sistemas heredados", aunque posiblemente la traduccin ms adecuada en
espaol hubiera sido la de sistemas ruinosos.
La mayora de las Direcciones de Informtica son conscientes de que est bajo su responsabilidad
directa cambiar esta situacin, puesto que seguir desarrollando hoy en da nuevos sistemas
artesanales es un error que implica graves daos para las empresas e instituciones que los estn
financiando.
Como observar, no se est ante una decisin econmica sino humana, siendo conscientes de que lo
ms costoso y grave para las empresas es no cambiar su metodologa y seguir trabajando con los
mtodos tradicionales.
Esta ganancia de productividad es aun mayor cuando en un proyecto participan mltiples analistas o
desarrolladores, en estas situaciones muy frecuentes en proyectos de tamao medio y grande, las
Herramientas CASE se convierten adems en excelentes herramientas de trabajo en grupo. Esta
ganancia de productividad permite prcticamente por si sola la recuperacin de las inversiones
llevadas a cabo por la adquisicin de Herramientas CASE en menos de 18 meses.
Disminucin de los Costos de Puesta a Punto de los Nuevos Sistemas Desarrollados. Uno de
los principales problemas que estn teniendo la mayora de empresas es el excesivo tiempo de la
puesta a punto de los programas en los proyectos en desarrollo. Gran parte de esta problemtica est
directamente relacionada con un anlisis y diseo inicial defectuoso e incompleto. Su repercusin
econmica en el conjunto del proyecto es muy importante pues obliga a realizar cambios en los
procesos ya programados que no hubieran sido precisos si el anlisis y diseo se hubieran realizado
con amplitud y detalle utilizando Herramientas CASE. A nivel de costos se puede estimar una
reduccin del 10% en los costos totales de un proyecto realizado con una metodologa moderna de
desarrollo soportada por Herramientas CASE.
Disminucin de los Costos de Mantenimiento de las Aplicaciones. Estos beneficios son los ms
importantes a largo plazo, para conseguirlos es necesario que los sistemas hayan sido llevado a cabo
con el soporte de tecnologas CASE si se parte de sistemas ya existentes, que su anlisis y diseo
se documente en la enciclopedia de las Herramientas CASE.
Cuando una organizacin ya est trabajando con Herramientas CASE, el mantenimiento se simplifica
de forma drstica; cualquier cambio requerido en los procesos o en los datos que se estn utilizando
es automticamente evaluado; las Herramientas CASE permiten ver el detalle del impacto de los
cambios en todos los procesos de desarrollo por medio de los ciclos diseo, prototipo y produccin;
sin Herramientas CASE esto es imposible.
Mayor Calidad de los Sistemas Desarrollados. El uso Herramientas CASE permite verificar que
los requisitos establecidos en cualquier proyecto informtico se cumplan correctamente. El control de
calidad cuando no se utilizan Herramientas CASE se hace muy difcil de llevar a cabo.
CAPTULO II
Una de las principales caractersticas, que hay que tomar en cuenta en la arquitectura cliente /
servidor, es que se est frente a una plataforma abierta por excelencia. Ciertamente las posibilidades
de igualar o nivelar distintos productos como: sistemas operativos, bases de datos, aplicaciones o
componentes de varios proveedores, brinda la oportunidad de hacer una gran cantidad de
combinaciones de clientes y servidores, ya que las empresas de hoy en da, tienden a distribuir todas
sus aplicaciones.
Cliente / Servidor es una tecnologa de bajo costo, que proporciona: recursos compartidos,
escalabilidad, integridad, encapsulamiento de servicios, seguridad, etc. Pero al igual que toda
tecnologa, el desarrollo de aplicaciones cliente / servidor requiere que el personal tenga
conocimientos, experiencia y habilidades en: procesamiento de transacciones, diseo de base de datos,
redes de ordenadores diseo grfico de interfases, seguridad, distribucin de usuarios, etc.
[www0015] [www016] [www020] [www027]
En su ejecucin puede estar un solo usuario a la vez o sea son uniusuario y no existe conversacin
entre equipos. Antes de existir cliente / servidor los programas informticos se ejecutaban
independientemente en cada PC, sin importar que el mismo producto lo utilizarn a la vez un gran
nmero de usuarios, se deba instalar todo el programa en un computador diferente para cada usuario
del mismo, entonces no se poda compartir datos de un computador a otro. (grfico 2.1)
Grfico 2.1
Un solo Usuario
Su principio bsico es muy sencillo. Se tienen aplicaciones en un computador, las cuales estn
"conversando" con aplicaciones en otro computador; a partir de ese momento se establece un dilogo
cooperativo entre los dos computadores.
Grfico 2.2
Servidor
Cliente
Cliente
Cliente
Cliente Servidor
La idea no hace referencia a un tipo especfico de hardware o sistema administrador de base de datos;
de hecho en este estudio se explica cmo la idea tras la cual se basa la arquitectura, no solo funciona
para aplicaciones acogiendo a bases de datos, sino que existen otras reas de la computacin, que
pueden ser susceptibles a la implementacin de esta tecnologa. Hoy en da los modelos cliente /
servidor, se los utiliza para soluciones de: correo electrnico, servicios transaccionales, telefona
mvil, internet, bases de datos, etc. (grfico 2.2) [www016] [www020]
Grfico 2.3
Clientes
Windows
Servidor NT Servidor
RS/6000
Linux
Clientes
Linux
Un sistema Cliente / Servidor es aquel que coloca la maquinaria de acceso a la base de datos a travs
de la red en un equipo poderoso central o servidor, y la presentacin en un equipo menos poderoso
(PC ) denominado cliente.
Cliente / Servidor. Es el concepto de interaccin ms comn entre aplicaciones en una red. No forma
parte de los conceptos de la Internet como los protocolos IP, TCP o UDP, sin embargo todos los
servicios estndares de alto nivel propuestos en Internet funcionan segn este Concepto.
Cliente / Servidor. Es un modelo para construir sistemas de informacin, que se sustenta en la idea
de repartir el tratamiento de la informacin y los datos por todo el sistema informtico, permitiendo
mejorar el rendimiento del sistema global de informacin.
2.3.1 SERVIDOR
Servidor, es cualquier recurso de cmputo dedicado a responder a los requerimientos del cliente. Los
servidores pueden estar conectados a los clientes a travs de redes LANs o WANs, para proveer de
mltiples servicios a los clientes, tales como impresin, acceso a bases de datos, fax, procesamiento
de imgenes, correo electrnico, internet, etc.
Servidor o Servicio, es el proceso encargado de atender a mltiples clientes que hacen peticiones de
algn recurso administrado por l. Al proceso servidor se lo conoce con el trmino back - end. El
servidor normalmente maneja todas las funciones relacionadas con la mayora de las reglas del
negocio y los recursos de datos, hoy en da se utiliza mucho los servidores de transaccionales o lgica
del negocio; algunas de sus funciones son: [www013] [www018]
2.3.2 CLIENTE
El cliente es el proceso que permite al usuario formular los requerimientos y pasarlos al servidor,
(grfico 2.4) se lo conoce con el trmino front - end. Normalmente maneja todas las funciones
relacionadas con la manipulacin y despliegue de datos, por lo que estn desarrollados sobre
plataformas que permiten construir interfaces grficas de usuario (GUI), adems de acceder a los
servicios distribuidos en cualquier parte de la red, sus funciones son: [www013] [www019]
Grfico 2.4
SERVIDOR CLIENTE
Compaq Proline 670 CC
PC Compaq Presario
Windows NT Windows 98 Visual Basic 6.0
ORACLE 8i
Front - Ent
Bac-Ent
Peticiones a la BD
Respuesta del Servidor
Dilogo mutuo
2.4.1. MIDDLEWARE
Es una capa de software que protege a los desarrolladores de tener que manejar detalles de bajo nivel
de diferentes protocolos de comunicacin, sistemas operativos y arquitecturas de bases de datos. Este
tipo de interfaces incluyen mensajera de red y accesos a bases de datos.
Es un ambiente en el cual los sistemas y productos de cmputo de diferentes proveedores son capaces
de trabajar conjuntamente, para proveer una solucin aplicativa a cualquier requerimiento de la
organizacin. Tambin se refiere a la posibilidad de transportar aplicaciones y/o datos desde
cualquier sistema de cmputo a otro.
2.4.3. DOWNSIZING
Es un modelo de sistemas y/o de aplicaciones, en el cual las funciones y los datos pueden estar
distribuidos a travs de mltiples recursos de cmputo, conectados en un ambiente de redes LAN o
WAN.
En los sistemas cliente / servidor se puede distribuir los recursos en diferentes partes como
servidores de: bases de datos, correo electrnico, noticias, FTP, internet, transacciones o aplicaciones.
2.4.5. SMARTSIZING
El Smartsizing, a diferencia del downsizing, est basado en la reingeniera de procesos del negocio
que reimplementa los sistemas automatizados ya existentes en unos ms pequeos o en plataformas
basadas en LAN.
En esta ltima parte, mientras el cdigo de la aplicacin puede perfeccionarse, poco o ninguna
consideracin se le da al proceso en s. En el grfico 2.5 Se puede observar en la parte izquierda, la
aplicacin ya realizada, y en la parte derecha, las tablas que quiere transformar a otras bases de datos
o lenguajes de programacin, esta tarea est realizada por medio de una Herramienta CASE, lo que
comnmente se conoce como reingeniera.
Grfico 2.5
El Smartsizing sostiene que la tecnologa de la informacin puede hacer ms eficiente los procesos
del negocio e incrementar sus beneficios.
La reingeniera de negocios se basa en el uso de tecnologa para los flujos de trabajo interno, tales
como los ingresos de rdenes y la facturacin a clientes. La tecnologa de la informacin puede usarse
para incrementar la satisfaccin del cliente. Los productos pueden desarrollarse y lanzarse ms
rpido al mercado, usando la tecnologa de la informacin.
2.4.6. OUTSOURZING
En general, Outsourcing es una cesin completa de la gestin, pudiendo incluir al personal tcnico
informtico al equipamiento fsico lgico que pudiera existir en el momento de la realizacin del
contrato, de modo que todas las tareas de carcter informtico de la organizacin, pasan a ser
realizadas por la empresa contratista.
En ocasiones particulares esta cesin puede hacerse de forma sectorial por ejemplo, puede excluirse al
personal informtico y, en general, debe ser muy flexible para adaptarse a las necesidades propias de
cada organizacin.
2.4.7. UPSIZING
2.4.8. RIGHTSIZING
Las organizaciones exitosas de hoy en da eligen metodologas soportadas por Herramientas CASE,
ya que han demostrado la mejora en la productividad del software desarrollado. [www019]
La primera pregunta tiene relacin con otras interrogantes internas, como: Qu plataforma cliente
elegir? Qu plataforma servidor? Qu clase de middleware ? Qu administrador o servidor de base
de datos? Sobre qu arquitectura de computacin distribuida se tendr que montar la solucin?.
El segundo aspecto tiene relacin con la toma de decisiones sobre el rea de desarrollo y
herramientas de Cliente / Servidor a utilizar, como en cuntas capas se va a desarrollar la aplicacin.
Si bien es cierto que la mayor ventaja de esta tecnologa es la flexibilidad en cuanto a que se puede
elegir entre muchas opciones, esto obliga a tener conocimientos importantes para la integracin de
las mismas, dado que el desarrollo de aplicaciones Cliente / Servidor requiere del manejo de
elementos en el rea de diseos de bases de datos, comunicacin entre procesos, procesamiento de
transacciones, generacin de interfaces grficas de usuarios y para que hablar de Internet, con
clientes y servidores distribuidos a lo largo de la red de redes.
Como se ha venido sealando, Cliente / Servidor es un modelo basado en la idea del servicio, en el
que el cliente es un proceso consumidor de servicios y el servidor es un proceso proveedor de
servicios, adems esta relacin est establecida en funcin del intercambio de mensajes que es el nico
elemento de acoplamiento entre ambos.
De estas lneas se desprenden los tres elementos fundamentales sobre los cuales se desarrollan e
implantan los sistemas Cliente / Servidor: el Proceso Cliente que es quien inicia el dilogo, el
Proceso Servidor que pasivamente espera a que lleguen peticiones de servicio y el Middleware que
corresponde a la interfaz que provee la conectividad entre el cliente y el servidor para poder
intercambiar mensajes.
Para entender en forma ms ordenada y clara los conceptos y elementos involucrados en esta
tecnologa se puede aplicar una descomposicin denominada: arquitectura de niveles. Esta
descomposicin principalmente consiste en separar los elementos estructurales de esta tecnologa en
funcin de aspectos ms funcionales de la misma:
Grfico 2.6
Gestin de
Datos
ORACLE
Aplicacin RED
Proceso Lgico Comunicacin
SERVIDOR
Windows NT
Proceso Proceso
Local Local
W 98 Windows 95
Nivel de Comunicacin: Agrupa a todos los elementos que hacen posible la comunicacin
entre los componentes Cliente y servidor.
Nivel de Base de Datos: Agrupa a todas las actividades asociadas al acceso de los datos.
En el grfico 2.6 se demuestra los niveles de Cliente / Servidor, detallando las consideraciones
mencionadas anteriormente. Cabe recalcar que las Herramientas CASE Workbench automatizan
todos los niveles de desarrollo Cliente / Servidor. [www016]
De hecho el analista o lder deber conocer estos eventos y restricciones del negocio, para a partir de
all, hacer las consideraciones y estimaciones de la futura configuracin, teniendo en cuenta aspectos
como: la oportunidad de la informacin, tiempo de respuesta, tamaos de registros, tamao de bases
de datos, estimaciones del trfico de red, distribucin geogrfica tanto de los procesos como de los
datos, etc.
Para esto, se presenta una clasificacin de Cliente / Servidor (cuadro 2.2), que ayudar al
desarrollador a escoger la opcin ms adecuada.
Este tipo de clasificacin se basa en los grados de libertad que brinda el modelo Cliente / Servidor
para balancear la carga de proceso entre los niveles de presentacin, aplicacin y base de datos,
dependiendo de qu segmento de las capas de software tenga que soportar la mayor o menor carga de
procesamiento.
Consideraciones de este tipo son importantes al momento de decidir una plataforma, al punto que se
pueda definir la viabilidad o no de las mismas para enfrentar un cierto nmero de restricciones
impuestas por una problemtica a resolver. (cuadro 2.1)
Cuadro 2.1
Cliente Pesado Servidor Liviano (Fat Client -Thin Server). En este esquema de
arquitectura el grueso de la aplicacin es ejecutada en el cliente, es decir, en el nivel de
presentacin y en el nivel de aplicacin corre un nico proceso cliente, y el servidor es
relegado a realizar las funciones que provee un administrador de base de datos. Para este
modelo se consideran frontales grandes o pesados y bases de datos pequeas o livianas, por
ejemplo power builder con SQL Server. En general este tipo de arquitectura tiene mejor
aplicacin en sistemas de apoyo de decisiones y sistemas de informacin ejecutiva, tienen
pocas posibilidades de aplicarse en sistemas de misin crtica.
Cliente Liviano - Servidor Pesado (Fat Server - Thin Client). Este es el caso opuesto al
anterior, el proceso cliente es restringido a la presentacin de la interfaz de usuario, mientras
que el grueso de la aplicacin corre por el lado del servidor de aplicacin. En general este
tipo de arquitectura presenta una flexibilidad mayor como para desarrollar un gran espectro
de aplicaciones, incluyendo los sistemas de misin crtica a travs de servidores de
transacciones y grandes servidores de bases de datos. Un ejemplo puede ser Oracle con
Visual Foxpro.
Cliente Liviano - Servidor Liviano / Cliente Pesado - Servidor Pesado. Servidor Gordo
con Cliente Gordo y Servidor Flaco con cliente flaco, respectivamente. Esta clasificacin
nivela los dos componentes, tanto clientes como servidores, por ejemplo informix con power
builder y SQL con visual basic, en ambos casos el cliente y el servidor tienen igual
importancia unos de otros.
Cuadro 2.2
Implementado con
SQL Remoto
Dos Planos Implementado con
Planos a Procedimientos
Niveles de Almacenados
Software
Tres Planos
N Planos
Por Planos
o Capas
(Tier)
Dos Planos
Planos a
Niveles de Tres Planos
Hardware
Mltiples Planos
Servidores de
Transacciones
Por la Servidores de
Naturaleza Bases de Datos Desencadenantes
del Servicio Restricciones
Servidores de
Transacciones
NServidoreGeneral
Clasificacin s de Cliente / Servidor
Una de las ms comunes y discutidas distinciones entre las diferentes arquitecturas Cliente Servidor
se basan en la idea de planos, la cual es una variacin sobre la divisin o clasificacin por tamao de
componentes en especial clientes grandes y servidores amplios.
Esto se debe a que se trata de definir el modo en que las prestaciones funcionales de la aplicacin
sern asignadas, y en qu proporcin, tanto al cliente como al servidor. Dichas prestaciones se deben
agrupar entre los tres componentes bsicos para Cliente / Servidor: interfaz de usuario, lgica de
negocios y los datos compartidos, cada uno de los cuales corresponde a un plano.
Dentro de esta categora se tiene las aplicaciones en dos planos (two-tier), tres planos (three-tier) y
multi planos (multi-tier). Dado que este trmino ha sido sobrecargado de significados por cuanto se
lo utiliza indistintamente para referirse tanto a aspectos lgicos (Software) como fsicos (Hardware),
aqu se esquematizan ambas posibilidades.
Por ejemplo, esto permite hablar de servidores de aplicacin distribuidos a lo largo de una red, y no
tiene mucho sentido identificar a un equipo de hardware como servidor, si no ms bien entenderlo
como una plataforma fsica sobre la cual pueden operar uno o ms servidores de aplicaciones.
Cliente / Servidor Dos Planos. Esta estructura se caracteriza por la conexin directa entre el
proceso cliente y un administrador de bases de datos. Dependiendo de donde se localice el grupo de
tareas correspondientes a la lgica de negocios se pueden tener a su vez dos tipos distintos dentro de
esta misma categora, los cuales son implementaciones con SQL remoto e Implementaciones con
procedimientos almacenados.
Implementado con SQL Remoto. En este esquema el cliente enva mensajes con solicitudes SQL al
servidor de bases de datos y el resultado de cada instruccin SQL es devuelto por la red, no
importando si son uno, diez, cien o mil registros. Es el mismo cliente quien debe procesar o validar
todos los registros que le fueron devueltos por el servidor de base de datos, segn el requerimiento
que l mismo hizo, (Grfico 2.7)
Esto hace que este tipo de estructura se adece a los requerimientos de aplicaciones orientadas a los
sistemas de apoyo y gestin, pero resultan inadecuados para los sistemas crticos en que se requieran
bajos tiempos de respuesta, la lgica de negocio est en el cliente. [www029]
Grfico 2.7
Interface de
Usuario Nivel de presentacin
Cliente
Plano 1 Lgica de
Negocio Nivel de Aplicacin
Acceso a Datos
Nivel de
Comunicacin
Acceso a
Datos Nivel de Base de
Servidor de
BD Datos.
Plano 2
Datos
En s, la base de datos junto con sus funciones procesa todas las peticiones del cliente, la lgica del
negocio est en el plano del servidor, exactamente en el servidor de base de datos.
Grfico 2.8
Nivel de Presentacin
Cliente
Interface de Usuario
Plano 1
Conectividad
Nivel de
Comunicacin
Servidor Conectividad
de BD
Plano 2
LGICA Nivel de Aplicacin
DE Nivel de Base de
NEGOCIO Datos.
Acceso a Datos
Cliente / Servidor Implementado con Procedimientos Almacenados
Datos
Cliente / Servidor Tres Planos: Esta estructura se caracteriza porque sus aplicaciones se
generan en base a dos capas principales de software, ms la capa correspondiente al servidor de
aplicaciones o lgica del negocio.
Al igual que en la arquitectura dos capas, y segn las decisiones de diseo que se tomen, se puede
balancear la carga de trabajo entre el proceso cliente y el nuevo proceso correspondiente al servidor
de aplicacin.
En este esquema el cliente enva mensajes directamente al servidor de aplicacin el cual debe
administrar y responder todas las solicitudes. Es el servidor, dependiendo del tipo de solicitud, quien
accede y se conecta con la base de datos. (grfico 2.9) [www029]
Grfico 2.9
Interface de usuario
Nivel de
Plano 1
Presentacin
Cliente
Conectividad
Nivel De
Comunicacin
Plano 2 Conectividad
Servidor
Aplicaciones Lgica de Negocio Nivel de Aplicacin
Acceso a datos
Acceso a Datos
Plano 3
Servidor Nivel de Datos
BD
Datos
Esta clasificacin del modelo Cliente / Servidor se basa igualmente en la distribucin de los procesos
y elementos entre sus componentes, pero centrndose en la parte fsica del mismo, en el que la
administracin de la interfaz grfica se asocia a los clientes PC y la seguridad e integridad de los
datos quedan asociados a ambientes mainframe o por lo menos a servidores locales y / o centrales.
Segn los distintos estndares de SQL (SQL-89, SQL-92, SQL3) el servidor debe proveer un acceso
compartido a los datos con los mecanismos de proteccin necesarios, as como proveer mecanismos
para seleccionar resultados dentro de un conjunto de datos, posibilitando un ahorro en todos los
procesos, especialmente en los de comunicacin. El servidor debe tambin proveer mecanismos de
concurrencia, seguridad y consistencia de datos, basado principalmente en el concepto de transaccin
en el que todo se realiza, y por lo tanto es permanente.
Los servidores de bases de datos actuales son una mezcla de SQL estndar ms otras extensiones
propias de cada proveedor. Por ejemplo casi todas las bases de datos estn provistas con
procedimientos almacenados (stored procedures), desencadenantes (triggers) y restricciones
(constraints) pero presentan diferencias importantes en su implementacin.
Es claro que esto obedece a presiones comerciales para tratar de extender los mecanismos de bases de
datos para que realicen ms funciones de las que corresponden a un servidor SQL relacional, con el
objeto de tener una mayor participacin en el espectro de los sistemas Cliente / Servidor por parte de
los proveedores de bases de datos y como una manera de diferenciar sus productos.
Una de las posibilidades de implementar de mejor forma un sistema Cliente / Servidor en dos planos,
sin olvidar todas sus restricciones y limitaciones, es a travs de procedimientos almacenados, que
son funciones que agrupan un conjunto de instrucciones y lgica de procedimientos SQL, los cuales
son compilados y almacenados en la misma base. Ya se hizo notar que con estos mecanismos los
proveedores de bases de datos introducen la lgica de negocios dentro de su servidor propietario; lo
lgico sera mantener una independencia entre datos, cdigos y reglas de comportamiento, por medio
de servidores de aplicaciones, mecanismos que todava no son tan utilizados.
Los eventos a los cuales se hace referencia estn asociados a las actualizaciones de tablas mediante
sentencias delete, insert o update, y son llamados implcitamente al suceder cualquiera de estos
eventos, a diferencia de los procedimientos almacenados que son llamados explcitamente por un
proceso cliente.
Restricciones : Al igual que los desencadenantes, son acciones que se realizan asociadas a algn
evento determinado y estn orientadas a llevar a cabo validaciones ms simples de datos. Los tipos de
eventos son los mismos que para los desencadenantes.
En el grfico 2.10 se observa una aplicacin Cliente / Servidor, generada por una Herramienta
CASE, en este caso genexus. La figura esquematiza a un cliente Java trabajando para un servidor
Oracle, cabe mencionar que el diseo se realiza completamente con la herramienta, y este se encarga
de generar todo el proceso de desarrollo de aplicaciones, solamente toca especificar qu lenguaje y a
que base de datos conectarse, en la figura se observa las flechas para los distintos clientes y
servidores.
Las principales Herramientas CASE, que generan aplicaciones Cliente / Servidor son:
KnowledgeWares Application Development Workbench, TIs Information Engineering Facility
(IEF), Andersen Consultings Foundation for Cooperative Processing, Genexus, etc.
Es importante esclarecer que las Herramienta CASE C / S a las cuales se enfoca este estudio son de
tipo Workbench, ya que solamente aquellas solucionan todo el ciclo de vida de un sistema, y es donde
se puede observar directamente la generacin de una arquitectura Cliente / Servidor. Lo que no
sucede con otros tipos de CASE, que sirven solo para generar alguna parte de ciclo de vida, como por
ejemplo el diseo del modelo de datos.
Grfico 2.10
Cliente
Servidor
Adems de los requerimientos bsicos que solicitan los generadores CASE, como: espacio en disco,
cantidad de memoria, versin del sitema operativo, etc. Es necesario tomar en cuenta estos aspectos:
Cada estacin de trabajo deber disponer de una conexin va TCP/IP con el servidor donde se
realizar la compilacin, se habla de TCP/IP ya que es el protocolo ms utilizado por los sistemas de
red, pero depender de lo que se est manejando para instalar el protocolo ms adecuado como por
ejemplo IPX SPX para novell.
Esta conexin, se utiliza para transferir los fuentes generados al servidor, se recomienda utilizar FTP
como protocolo de transferencia y para la ejecucin de comandos remotos REXEC que es el
requerido para efectuar la compilacin de programas. El esquema de transferencia FTP y ejecucin
remota se basa en la especificacin Winsock 1.1 por lo que, prcticamente, cualquier producto que
provea soporte TCP/IP puede aprovecharlo. El programa que realiza la transferencia y compilacin
requiere directamente los servicios de: WINSOCK.DLL. [www027]
Para estar en condiciones de conectarse desde el cliente al servidor y realizar las tareas de
transferencia y compilacin se requieren, adems de existir un medio fsico que los conecte, de los
siguientes productos y servicios instalados y en funcionamiento.
Los dos primeros asumen que el directorio del modelo no est en el servidor, y que, por
consiguiente, se necesita transferir los fuentes all generados al servidor para poder compilarlos.
El tercer esquema, Don' transfer asume que el directorio mencionado arriba ya se encuentra en el
servidor, el cliente lo ve como un disco de red y en consecuencia, no es necesaria la transferencia.
Si se selecciona FTP como esquema de transferencia, es necesario que el servidor tenga disponible y
'escuchando' el servicio de FTP.
Si se selecciona Copy o Don't transfer como esquemas de transferencia, la estacin de trabajo debe
'ver' los discos del servidor como discos de red. En otras palabras, el servidor debe funcionar tambin
como servidor de archivos para la estacin. En esta situacin, no es necesario activar el servicio FTP.
DBMS. Para poder compilar los fuentes generados y armar correctamente programas ejecutables, es
necesario hacer referencia a archivos que el proveedor del DBMS distribuye. Estos archivos son:
include files (*.h), bibliotecas de rutinas compiladas.
Algunos DBMS requieren establecer una conexin a una base de datos durante la precompilacin
para poder validar las sentencias SQL includas en los fuentes y / o generar informacin, en dicha
base de datos relativa al programa precompilado. En la tabla 2.1 se demuestra cuales DBMS
necesitan una conexin durante la precompilacin con Herramientas CASE.
Tabla 2.1
DBMS Requerimientos
DB2 si
Oracle no
Informix no
ODBC. Es la interfase de conexin hacia una base de datos ms utilizada por las personas
encargadas de desarrollar soluciones de software.
Una aplicacin Cliente / Servidor necesita estrictamente un driver ODBC o similar para poder
existir ya que es el mecanismo principal donde se puede ver la distribucin de recursos, de esta
manera se puede tener independencia entre los datos y la aplicacin.
La tecnologa ODBC permite tambin la conexin mediante tecnologa OLEDB, que es una API
elaborada con C++ la cual utiliza las interfases de mejor manera para el acceso hacia: datos, funciones
y objetos sin importar si se trata de una base de datos normal, o sea no importa si el enlace es hacia:
archivos de texto, imgenes, sonidos, direcciones de correo electrnico, etc. Este tipo de tecnologa se
utiliza mucho con bases de datos objeto relacionales.
Cuando se genera aplicaciones con Herramientas CASE, se debe especificar las formas de conexin en
los primeros pasos del desarrollo, exactamente cuando se empieza a crear la base de conocimiento, en
el grfico 2.11 se observa las formas de conexin utilizando Herramientas CASE.
Grfico 2.11
JDBC. Es utilizado especialmente por el generador Java, es un conjunto de drivers odbc, es un odbc
superior o es el API estndar de acceso a base de datos utilizando clientes Java.
JODBC es un ODBC escrito el lenguaje JAVA que presta mayores facilidades de: portabilidad,
instalacin y seguridad, lo que no sucede con ODBC que es escrito en lenguaje C el cual no es
portable.
AS/400 Native. RPG. Es utilizado por los generadores Rpg y Cobol definidos en el modelo de la
Herramienta CASE de referencia (Genexus), se los utiliza para ambientes AS/400 y RS/6000.
Tabla 2.2
ARQUITECTURAS CENTRALIZADAS
La Tabla 2.2 muestra las diferentes opciones de cmo una Herramienta CASE (Genexus 7.0) puede
generar varias aplicaciones en diferentes arquitecturas a partir de una sola especificacin netamente
a nivel de diseo, esta es una de las principales ventajas de las Herramientas CASE, ya que solo se
necesita crear un solo programa y se lo puede generar en cualquier arquitectura requerida. [LIB001]
El segundo aspecto de la reingeniera es aquella que se utiliza cuando se quiere realizar algn cambio
en la aplicacin, tambin se la considera como fase de mantenimiento y actualizacin de la aplicacin;
para esto se debe recorrer los bucles: diseo prototipo y diseo produccin.
Con la finalidad de entender este proceso y los impactos que puede producir un cambio en toda la
aplicacin, se empezar observando como est estructurada una aplicacin realizada con una
Herramienta CASE. (grfico 2.12)
Grfico 2.12
Base de Conocimiento
Aplicaciones
Programas de Aplicacin
DBMS
T, R, WP, P, M
Aplicacin en Produccin, Realizada por medio de una Herramienta CASE (Genexus 7.0)
Una vez que el software est funcionando, los usuarios cambian las visiones y existen muchas
modificaciones en la aplicacin. Para poder realizar estos cambios (reingeniera y/o mantenimiento)
las herramientas como genexus primeramente generan una nueva base de datos, alimentada por la
nueva base de conocimiento (grfico 2.13) [LIB001]
Grfico 2.13
Nueva
Base de Conocimiento
Aplicaciones
Programas de Aplicacin
DBMS
Nueva T, R, WP, P, M
DBMS
Algunas veces, la nueva base de datos coincide con la anterior, en este caso todos los programas
anteriores existentes seguirn siendo vlidos, ya que la base de datos antigua sigue siendo parte del
sistema, hasta que se realice un anlisis de impacto general: a la base, a las formas y a los dems
objetos de la aplicacin. Este anlisis de impacto se genera cuando se pasa de diseo a produccin o a
prototipo.
Cuando se realiza algn cambio en la aplicacin, inclusive se conservan los datos existentes en las
tablas, si los cambios realizados concuerdan con los existentes; por ejemplo se puede cambiar de un
char de 20 a un char de 50 pero no conservar los datos si cambia un char de 20 por un int de 10.
Una vez confirmadas las nuevas visiones de los usuarios, la herramienta procede automticamente a
generar un anlisis de impacto sobre los objetos. (grfico 2.14)
Al realizar el anlisis de impacto, la herramienta muestra en pantalla todos los cambios que se
realizarn en cada objeto de la aplicacin, conjuntamente con los problemas y las prdidas de datos
que se ocasionarn por los cambios realizados, para evitar problemas inesperados se recomienda
probar primeramente en modo prototipo.
Grfico 2.14
Anlisis de
Base de Conocimiento
Impacto Base de Conocimiento
Aplicaciones
Programas de Aplicacin
DBMS
Nueva T, R, WP, P, M
DBMS
Despus de haber generado el anlisis de impacto, la herramienta produce otro informe en el que se
visualiza como quedaron los nuevos objetos, ya sean producto de una reorganizacin o de una
creacin.
Como todava estos cambios reposan en la base de conocimiento, habr que hacer una reorganizacin
de la base de datos, de las transacciones, de los paneles de trabajo, etc para que los cambios surtan
efecto en la aplicacin. Las Herramientas CASE, empiezan realizando los respectivos cambios por la
base de datos. (grfico 2.15)
Grfico 2.15
Programas
de Base de Conocimiento
Reorganiza
cin
Aplicaciones
Programas de Aplicacin
DBMS
Nueva T, R, WP, P, M
DBMS
Grfico 2.16
Aplicaciones
NUEVOS
Programas de Aplicacin
Nueva
DBMS T, R, WP, P, M
En el grfico 2.16 se muestra los cambios automticos sobre los lenguajes de programacin como:
VB, FP, Java, C#, Fox, etc.
En el grfico 2.17 se obserba a una aplicacin final, despus de su ciclo de reingeniera y/o
mantenimiento, en sntesis es el producto final de una aplicacin.
Cabe indicar que estas herramientas son totalmente adaptables a todas las necesidades repentinas de
los clientes, es por eso que se le toma a la reingeniera como los procesos de ingeniera inversa y los
procesos de mantenimiento y actualizacin del sistema, enfocado todo a las necesidades y
requerimientos espordicos de los usuarios.
Para poder generar todos estos cambios sin necesidad de reprogramar a toda la aplicacin, las
Herramientas CASE manejan el concepto de que ninguna base de datos es estable y que todas pueden
estar sujetas a cualquier cambio, adaptacin o modificacin repentina. [LIB001] [LIB002]
Grfico 2.17
Base de Conocimiento
Aplicaciones
Nuevos
Programas de Aplicacin
Nueva
DBMS T, R, WP, P, M
Si tiene presin por resultados a corto plazo, el empleo de un Lower CASE le ser de utilidad,
si se basa en modelos de datos y procesos claros y definidos.
Considere los recursos apropiados para usar Herramientas CASE, tanto en la parte fsica y en
la parte lgica.
Considere el tipo de arquitectura con la que desea trabajar y evale si la herramienta genera
o no dicha arquitectura.
Considere la seguridad que le brinda la herramienta, con respecto a posibles atracos y robos
de los datos de la aplicacin.
Evale las versiones que soporta la herramienta, con respecto a la base de datos y lenguajes
de programacin.
Proporcionar Aplicaciones Porttiles. La herramienta debe generar cdigo para Windows, OS/2,
Macintosh, Unix y todas las plataformas de servidores conocidas. Debe ser capaz, a tiempo de
corrida, desplegar la versin correcta del cdigo en la mquina apropiada.
Control de Versin. La herramienta debe reconocer las versiones de cdigos que se ejecutan en los
clientes y servidores, y asegurarse que sean consistentes. Tambin, la herramienta debe ser capaz de
controlar un gran nmero de tipos de objetos incluyendo texto, grficos, mapas de bits, documentos
complejos y objetos nicos, tales como definiciones de pantallas y de informes, archivos de objetos y
datos de prueba y resultados. Debe mantener versiones de objetos con niveles arbitrarios de
granularidad; por ejemplo, una nica definicin de datos o una nica agrupacin de mdulos.
[www027]
Trabajar con una Gran Variedad de Software Intermedios. La herramienta debe adaptar sus
comunicaciones Cliente / Servidor al software intermedio existente. Como mnimo la herramienta
debera ajustar los temporizadores basndose en si el trfico se est moviendo en una LAN o WAN.
Soporte Multiusuarios. La herramienta debe permitir que varios diseadores trabajen en una
aplicacin simultneamente. Debe gestionarse los accesos concurrentes a la base de datos por
diferentes usuarios, mediante el arbitreo y bloqueos de accesos a nivel de archivo o de registro.
Al favorecer el uso de interfaces grficas interactivas, los sistemas construidos bajo este esquema
tienen mayor interaccin intuitiva con el usuario.
Cliente/Servidor presenta la ventaja, con respecto a uno centralizado, de que no es siempre necesario
transmitir informacin grfica por la red pues esta puede residir en el cliente, lo cual permite
aprovechar mejor el ancho de banda de la red.
Una ventaja adicional del uso del esquema Cliente/Servidor es que es ms rpido el mantenimiento y
el desarrollo de aplicaciones, pues se pueden emplear las herramientas existentes, por ejemplo, los
servidores de SQL o las herramientas de ms bajo nivel como los sockets o RPC.
Cuenta con muy escasas herramientas para la administracin y ajuste del desempeo de los sistemas.
Es importante que los clientes y los servidores utilicen el mismo mecanismo (por ejemplo sockets o
RPC), lo cual implica que se deben tener mecanismos generales que existan en diferentes plataformas.
Adems, hay que tener estrategias para el manejo de errores y para mantener la consistencia de los
datos. La seguridad de un esquema Cliente/Servidor es otra preocupacin importante. Por ejemplo,
se deben hacer verificaciones en el cliente y en el servidor. Tambin se puede recurrir a otras tcnicas
como el encriptamiento.
El desempeo es otro de los aspectos que se deben tener en cuenta en el esquema Cliente/Servidor.
Problemas de este estilo pueden presentarse por congestin en la red, dificultad de trfico de datos,
mala seguridad, etc.
Un aspecto directamente relacionado con lo anterior es el de cmo distribuir los datos en la red. En el
caso de una organizacin, por ejemplo, ste puede ser hecho por departamentos, geogrficamente, o
de otras maneras. Hay que tener en cuenta que en algunos casos, por razones de confiabilidad o
eficiencia, se pueden tener datos replicados, y que puede haber actualizaciones simultneas.
CAPTULO III
SOLUCIONES INTERNET
GENERADAS POR HERRAMIENTAS
CASE
Generalidades de Internet.
Sistema de Nombres de Dominio. (DNS)
Direcciones IP.
Tres Capas y Aplicaciones WEB.
Programacin de Aplicaciones WEB.
CASE en Soluciones WEB.
Estructura de los CASE para el WEB.
Utilizacin de Componentes con CASE.
Objetos Generados por CASE en Aplicaciones WEB.
Grfico 3.1.
Internet
En si, no existe una definicin totalmente satisfactoria de lo que es Internet, ya que se la puede
concebir en relacin con sus protocolos comunes, como una coleccin de circuitos y rutinas, como un
conjunto de recursos compartidos o incluso como una disposicin a intercomunicarse, es decir, como
una mega red de computadores.
Sin embargo otro de los enfoques es pensar en la red como el medio a travs del cual se enva y
acumula informacin, entonces Internet es tanto un conjunto de comunidades como un conjunto de
tecnologas.
Tcnicamente es una Red de Redes de Ordenadores. (grfico 3.2) Se forma por la integracin en
una nica red con cobertura mundial, de multitud de redes de centros estatales, universidades,
empresas, etc. Cada uno de estos organismos busca los mtodos ms adecuados para conectarse a
Internet.
Grfico 3.2
Red SNA
Red
Regional Tnel
Red
Nacional
Los Sistemas de Informacin basados en Internet se han hecho populares hace algunos aos, como
una manera eficaz de proporcionar acceso remoto y amigable a fuentes de informacin distribuida.
Estos sistemas estn implementados combinando tecnologas de software maduras y bien conocidas;
en muchos casos involucran dispositivos mviles, como: celulares, palms, pc porttiles, cmaras
digitales etc.
Internet. Los sitios de comercio electrnico como amazon.com no son exitosos porque se puede
comprar o vender, sino porque se puede encontrar fcilmente lo que se desea desde cualquier lugar
del planeta.
Las soluciones web estn enfocadas al desarrollo macro de una organizacin, son las principales
artfices de la globalizacin ya que comparten sus recursos con usuarios del mundo entero. Los
conceptos de: comercio electrnico, transacciones electrnicas, e-mail, B2B (negocios sobre negocios),
B2C (negocios sobre consumidores), etc; han evolucionado de una forma vertiginosa, de tal manera
que las organizaciones mas pequeas cuentan por lo menos con su propia pgina web, la marca que
no consta en Internet, est sentenciada a desaparecer.
Hoy en da todos los desarrolladores de: lenguajes de programacin, bases de datos, herramientas
CASE y sistemas operativos elaboran sus productos enfocados al web, toda herramienta tiene ya su
mdulo para generar aplicaciones www.
Se puede citar algunos ejemplos como: Oracle Portal, Visual Estudio.net de Microsoft, Genexus 7.5,
Data Directory de Informix, etc. Si el producto no tiene facilidades considerables para aplicaciones
Internet, no puede competir con los similares de su especie. Incluso hasta el hardware como: teclados,
mouse, pantallas, equipos portables, etc. Tienen teclas especficas para acceder al web de una manera
ms rpida. [LIB005] [LIB008] [www017]
Aunque se pueda pensar que Internet es algo que ha surgido en los ltimos tiempos, no es as:
Internet ya lleva unas cuantas dcadas, en funcionamiento.
Los inicios de Internet se remontan a los aos 60. En plena Guerra Fra, Estados Unidos crea una
red exclusivamente militar, con el objetivo de que en el hipottico caso de un ataque Ruso, se pudiera
tener acceso a la informacin militar desde cualquier punto del pas, de tal manera que si un nodo
fuera destruido, existieran varios caminos de comunicacin; esta red se cre en 1969 y se llam
ARPANET.
En principio la red contaba con 4 ordenadores, distribuidos entre distintas universidades del pas: la
Universidad de California en Los ngeles, la Universidad de California en Santa Brbara, el Instituto
de Investigacin de Stanford y la Universidad de Utah. En un par de aos otras instituciones
educativas y de investigacin se unieron a la red.
Dos aos despus, ya contaba con 40 ordenadores conectados; tanto fue el crecimiento de la red que
su sistema de comunicacin se qued obsoleto. Entonces dos investigadores crearon el Protocolo
TCP/IP, que se convirti en el estndar de comunicaciones dentro de las redes informticas.
ARPANET sigui creciendo y abrindose al mundo, y cualquier persona con fines acadmicos o de
investigacin poda tener acceso a la red.
Las funciones militares se desligaron de ARPANET y fueron a parar a MILNET (Red Militar), una
nueva red creada por los Estados Unidos. La NSF (National Science Fundation) crea su propia red
informtica llamada NSFNET, que ms tarde absorbe a ARPANET, creando as una gran red con
propsitos cientficos y acadmicos.
El desarrollo de las redes fue abismal y se crean nuevas redes de libre acceso que ms tarde se unen a
NSFNET formando el embrin de lo que hoy se lo conoce como INTERNET. El desarrollo de
NSFNET fue tal que hacia el ao 1990 ya contaba con alrededor de 100.000 servidores, el grfico 3.3
muestra uno de los backbones de NSFNET. [LIB006]
Grfico 3.3
El CERN (Centro Europeo de Investigacin de Partculas) crea las Pginas Web, con el objetivo de
comunicarse con otros cientficos europeos. En 1993 un estudiante norteamericano escribi el cdigo
del primer explorador web, el Mosaic que se distribua de forma gratuita por la red y permita tener
acceso a grficos y documentos de texto dentro de Internet. Esto supuso una autntica revolucin, y
a partir de ese momento Internet no ha parado de crecer. En el ao 1996 existan cerca de 90.000
sitios web. [www021] [www022] [www023]
La tabla 3.1 y los grficos 3.4 3.5 muestran el crecimiento de la red www, segn el ao y los
equipos conectados a Internet. [www024] [www025]
Tabla 3.1
EQUIPOS EQUIPOS
FECHA CONECTADOS FECHA CONECTADOS
Dic-69 4 Oct-90 313.000
Jun-70 9 Ene-91 376.000
Oct-70 11 Jul-91 535.000
Dic-70 13 Ene-92 727.000
Abr-71 23 Jul-92 992.000
Oct-72 31 Ene-93 1313.000
Ene-73 35 Jul-93 1776.000
Jun-74 62 Ene-94 2217.000
Mar-77 111 Jul-94 3212.000
Dic-79 188 Ene-95 5846.000
Ago-81 213 Jul-95 8200.000
May-82 235 Ene-96 14352.000
Ago-83 562 Jul-96 16729.000
Oct-84 1.024 Ene-97 21819.000
Oct-85 1.961 Jul-97 26053.000
Feb-86 2.308 Ene-98 29670.000
Nov-86 5.089 Jul-98 36739.000
Dic-87 28.174 Ene-99 43230.000
Jul-88 33.000 Jul-99 56218.000
Oct-88 56.000
60000000
50000000
40000000
No Equipos Conectados
30000000
20000000
10000000
0
Dic-69
Dic-70
Dic-71
Dic-72
Dic-73
Dic-74
Dic-75
Dic-76
Dic-77
Dic-78
Dic-79
Dic-80
Dic-81
Dic-82
Dic-83
Dic-84
Dic-85
Dic-86
Dic-87
Dic-88
Dic-89
Dic-90
Dic-91
Dic-92
Dic-93
Dic-94
Dic-95
Dic-96
Dic-97
Dic-98
Fecha
Dic-69 Jun-70 Oct-70 Dic-70 Abr-71 Oct-72 Ene-73 Jun-74 Mar-77 Dic-79 Ago-81 May-82 Ago-83 Oct-84 Oct-85
Feb-86 Nov-86 Dic-87 Jul-88 Oct-88 Oct-90 Ene-91 Jul-91 Ene-92 Jul-92 Ene-93 Jul-93 Ene-94 Jul-94 Ene-95
3.2.1. GENERALIDADES
Con el aparecimiento de las arquitecturas multicapa y en especial de tres capas, se genera una
confusin de tipo tcnico, por el enfoque que algunos diseadores le dieron a las aplicaciones web.
El kit de esta confusin se da porque a los sistemas tres capas se los vincula directamente con los
sistemas web. Al aceptar estos enfoques se creera que toda aplicacin web es una aplicacin tres
capas, los textos incluso representan a tres capas en su mayora con aplicaciones web.
Esto no es as, una aplicacin web puede ser: en dos capas o multicapa, si a esta se suman servidores:
transaccionales, de correo, noticias, etc. Es de reconocer que tres capas es una de las mejores
arquitecturas para este tipo de soluciones, pero tambin se debe dar cuenta que no es la nica
arquitectura disponible. Los grficos 3.7 y 3.8 muestran aplicaciones www en dos y tres capas.
Grfico 3.7
Capa 2 Capa 1
Servidor Cliente
Datos Browser
Visual
Servidor
WEB Interdev
Como se puede observar en el grfico, las aplicaciones web, si se pueden generar en dos planos,
independientemente de las plataformas, bases de datos y browsers utilizados.
Grfico 3.8
MS-SQL
JAVA
Servidor
Se limita solo a
guardar datos
Web
La capa donde se encuentran las reglas o la lgica del negocio, encapsula todo el cdigo especfico de
la aplicacin, es decir los procesos particulares del problema que se quiere resolver.
En este segundo plano, se inserta un nuevo componente que es el Servidor WEB que permite
publicar y guardar las pgina en formato de Internet.
La capa de acceso a la base de datos, es genrica para cualquier sistema y consta de clases para
establecer conexin con los datos. [www031]
NOTA: En la mayora de textos acerca de Aplicaciones WEB Tres Capas, aparece el Servidor WEB
en el segundo plano de esta arquitectura, o sea en la parte de la lgica del negocio, pero como el
Servicio WEB es otro objeto de distribucin de aplicaciones, habra que estudiar si este tipo de
arquitectura se le debiera considerar como una aplicacin de cuatro capas; donde estn: el servidor de
base de datos, el servidor transaccional o lgica del negocio, el servidor web y el cliente
El Autor.
Grfico 3.9
Plano 2 Plano 3
Plano 1
Servidor Servidor
Internet HTTP
Datos
Browser WEB Aplicacin
P G
B
Firewall
P = Presentacin Lgica
G = Servidor Web
LAN B = Lgica del Negocio
Cliente
P
El programador tal vez se haya preguntado en alguna ocasin, por qu no es posible colocar su
ejecutable en el servidor y que los clientes vean las ventanas del programa desde sus ordenadores
conectados a Internet.
La respuesta es que la comunicacin entre ordenadores no se produce de forma mgica, sino que debe
estar basada sobre determinados protocolos. HTTP es el protocolo de la Web, y por tanto en la
salida del ejecutable no se deben ser ventanas de Windows sino cdigo HTML.
Tal vez se pregunte por qu usar HTTP en lugar de un protocolo que permita enviar ventanas
completas tipo Windows. La respuesta es que los procesos que requieren transmisin por la Red son
rdenes de magnitud ms lentos que los que se producen en el interior de un ordenador. Es decir, hay
que programar de forma que se minimice el trnsito de datos por la Red.
La programacin para las redes TCP/IP consiste en que el programa se divide en dos componentes:
uno en el ordenador cliente y otro en el ordenador servidor, y si se tiene aplicaciones tres capas, se
divide tambin en el ordenador de lleva la lgica del negocio. La parte cliente se encarga de la
interfaz y de la interaccin con el usuario, y la parte servidor de obtener y manipular los datos.
La parte del cliente de las aplicaciones web est formada por el cdigo HTML que forma la pgina
web, con opcin a cdigo ejecutable mediante los lenguajes de scripting de los navegadores
(JavaScript, VB Script, etc) o mediante pequeos programas (applets) en Java.
La parte del servidor est formada por un programa o script que es ejecutado por el servidor web, y
cuya salida se enva al navegador del cliente. Tradicionalmente a este programa o script que es
ejecutado por el servidor web se le denomina CGI (Common Gateway Interface, Acceso Comn a la
Interfaz)
Con la entrada en 1995 de Microsoft en el mundo Internet y la salida al mercado de su servidor web
(Internet Information Server) se abri un nuevo campo para las aplicaciones web: el ISAPI (Internet
Server Aplication Program Interface, Interfaz de Programacin de Aplicaciones del Internet Server,
es decir un conjunto de funciones que el servidor web pone a disposicin de los desarrolladores de
bibliotecas.
Con el ISAPI los desarrolladores pueden crear DLL (bibliotecas de funciones) con funciones que son
invocadas para determinados archivos. Los filtros ISAPI permiten al desarrollador escribir cdigo
que se ejecuta por el servidor web cuando el cliente solicita un archivo con una determinada
extensin. Todo el sistema ASP no es ms que una DLL del tipo ISAPI, que es invocada
automticamente para los archivos cuya extensin sea .asp. La biblioteca ASP preprocesa el archivo
ASP interpretando su cdigo como un script a ejecutar en el servidor. Sin embargo ella no interpreta
directamente el cdigo, sino que en funcin del lenguaje en el que est escrito, invoca a otra DLL que
se encarga de ejecutar el script. Despus recoge la salida y se la enva al servidor web, de igual
manera funciona PHP para linux. Las Herramientas CASE actuales como Genexus 7.5 crean sus
aplicaciones basndose en mdulos *.asp.
El crecimiento vertiginoso de las Herramientas CASE, ha llevado a que estas puedan generar
aplicaciones completamente terminadas para ambientes web; con estas herramientas el desarrollador
elabora sus sistemas Internet desde un ambiente netamente grfico de diseo, el cual genera todos los
procesos correspondientes al ciclo de vida de una aplicacin, tal es el caso de Gexus 7.5.
Por lo general las Herramientas CASE se basan primordialmente en el diseo de la realidad, o sea, en
el diseo de las pantallas que desea ver el usuario en Internet, tcnicamente se las conoce como:
pginas web y hoy en da como transacciones web.
Una vez diseadas las transacciones web las Herramientas CASE se encarga de crear
automticamente: las pginas web, los hipervnculos, la base de datos, integridad referencial,
normalizacin, prototipos, documentacin, etc, y en algunos casos las consultas de dicha transaccin,
sin necesidad de que el programador tenga que escribir cdigo HTML para cada transaccin
realizada.
El grfico 3.10 indica cmo una Herramienta CASE (Genexus 7.5), es capas de generar aplicaciones
web, con el simple cambio de las propiedades de la interfaz de usuario.
Grfico 3.10
Win Form
Web Form
Como se puede observar en este grfico, la Herramienta CASE le solicita al programador qu tipo de
interfaz desea: con ventanas de tipo Windows o Pginas Web y con un este simple cambio de
propiedades la herramienta genera soluciones web de la misma forma en la que genera soluciones
windows.
Para tener una idea ms clara de cmo el una Herramienta CASE, genera aplicaciones web
automticamente, se realizar una transaccin web de nombre: PROVEEDORES y se valorar su
facilidad.
Primeramente se debe realizar la estructura de la transaccin (grfico 3.11), esta tiene: ruc, nombre,
direccin y telfono. Esta estructura ser la columna vertebral de la transaccin, con esta simple
especificacin, la Herramienta CASE deber generar automticamente: las pantallas, la base de datos,
los reportes y en este caso las pginas web.
Grfico 3.13
Al disear la estructura de la transaccin se est diseando la realidad, porque en esta parte se ponen
todos los datos que el cliente quiere ver en su aplicacin, a diferencia de la programacin
convencional que primero tiene que hacerse un anlisis minucioso de los requerimientos mas no del
diseo en si, dando como resultado no un diseo prototipo sino un modelo de datos.
El grfico 3.12 muestra el formato web de la transaccin realizada, en esta parte la transaccin puede
ser modificada a gusto del desarrollador, porque todava se encuentra en la etapa de diseo y no en
prototipo o produccin.
Grfico 3.12
Forma Web (Web Form) de una Transaccin Generada por Herramientas CASE.
Obtenido Genexus 7.5
Cuando el programador ya est decidido a generar su pgina web con los cambios o especificaciones
personales, entonces es la ora de cambiarse del modo de diseo hacia prototipo o produccin, se
recomienda pasar primeramente a modo prototipo para poder ver a la aplicacin en forma real y
realizar alguno que otro cambio que no se lo tomo en cuenta.
En estos ambientes: prototipo o produccin, la herramienta genera las bases de datos, integridad
referencial, diagramas de flujo, etc; aqu ya se puede ejecutar la aplicacin; El grafico 3.13 muestra la
pgina web de la transaccin generada por Genexus.
Grfico 3.13
Los requerimientos de software necesarios para que esta transaccin funcione son:
A continuacin se mostrar el cdigo html perteneciente a la transaccin, cave recalcar que este
cdigo fue creado y generado automticamente por la Herramienta CASE.
El grfico 3.14 indica los mdulos creados por la Herramienta CASE, dentro del lenguaje de
programacin (Visual Basic 6.0)
Grfico 3.14
Como se puede dar cuenta esta Herramienta CASE workbench, genera automticamente todo el
ciclo de vida de la aplicacin, incluso genera a travs de mdulos ASP.
El grfico 3.15 muestra a la base de datos: creada, corregida y normalizada en tercera forma normal,
de una forma automtica desde el diseo de la transaccin.
Grfico 3.15
Ahora bien, una vez realizado un ejemplo de cmo una Herramienta CASE genera soluciones web
simplemente especificando el diseo, se puede dar cuenta de qu tan poderosas son estas
herramientas y de cunto le ayudan al desarrollador a realizar sus aplicaciones.
Lo importante de las Herramientas CASE para el web y para todo tipo de aplicacin, es que siguen
una estricta cultura de programacin, generan los cdigos, basados en estndares de programacin
que en la programacin comn algunas veces se los pasa desapercibidos.
La mayora de Herramientas CASE para el web, generan cdigo para JAVA, C# y Visual Interdeb,
que son los lenguajes ms comunes del web. Java y C# son las mejores opciones para las aplicaciones
Internet ya que tienen mejores propiedades para el desarrollo de soluciones utilizando componentes.
JAVA es un lenguaje creado por Sun Microsystems que est enfocado al desarrollo de aplicaciones
web. Desde el punto de vista de los usuarios de las Herramienta CASE sus caractersticas mas
importantes son las siguientes:
INTERPRETADO. El cdigo Java se escribe en fuentes con extensin *.java y se compila a clases
con extensin *.class. En tiempo de ejecucin se interpretan y ejecutan los *.class.
PORTABLE. Para ejecutar una aplicacin java es necesario tener una mquina virtual que
interprete y ejecute el cdigo java. Estas mquinas virtuales son las que traducen las instrucciones de
los *.class a las instrucciones nativas del sistema operativo. Existen mquinas virtuales para
prcticamente todos los sistemas operativos.
Es posible realizar llamadas a cdigo nativo de cada plataforma, lo que permite aprovechar las
ventajas especficas de cada sistema operativo, pero le quita portabilidad.
ORIENTADO A INTERNET. Las aplicaciones Java pueden ejecutarse de modo que el cdigo se va
descargando de un servidor Web a medida que es necesario ejecutarlo.
Esto tiene como ventaja que no se descarga mas cdigo que el necesario, y que la distribucin de las
aplicaciones deja de ser un problema, ya que cambiando la aplicacin en el servidor, se actualizan para
todos los clientes de forma automtica.
Como contrapartida, cada *.class se transfiere en una operacin de descarga independiente (en un
requerimiento HTTP distinto), lo que implica una carga agregada importante. Para evitar esto se
pueden instalar automticamente en el cliente las clases necesarias para ejecutar la aplicacin.
Por otro lado, java, tiene en sus bibliotecas estndar, clases para utilizar TCP-IP de una forma
sencilla, lo que simplifica la programacin de aplicaciones que utilicen Internet como medio de
comunicacin, y clases para permitir la ejecucin distribuida de las aplicaciones.
SEGURO. Las aplicaciones java, que se descargan de Internet, se ejecutan en una caja que no les
permite realizar diversas operaciones, como por ejemplo leer y escribir en el disco duro del usuario.
Esto da a los usuarios de aplicaciones java la tranquilidad de que su mquina no corre ningn peligro
El generador JAVA, solo generar aplicaciones Cliente / Servidor, no habr una versin que genere
programas con acceso a base de datos local como Access o DBFs.
Las aplicaciones pueden generarse en 2 capas utilizando JDBC (el equivalente java a ODBC) o en 3
capas utilizando CORBA, DCOM o RMI como protocolo de comunicacin entre las capas.
El generador java se apoya en las GXDB++ de Genexus, para realizar el acceso a la base de datos.
Las GXDB++ son un conjunto de clases java, generadas en tiempo de creacin y reorganizacin, que
encapsulan los accesos a la base de datos y luego son utilizadas por los programas generados.
Las aplicaciones java, pueden ejecutarse de dos formas. Como applets o como aplicaciones. En el
primer caso se ejecutan dentro de un web browser, los programas compilados java residen en el web
server y son bajados al cliente cuando este los necesita ejecutar, o bien se pueden instalar en el cliente
utilizando un utilitario que se provee con el generador llamado Deployment Wizard. En el segundo
caso, se ejecuta como una aplicacin independiente, y los programas compilados estn en el disco del
cliente, o de algn archivo servidor al que pueda acceder. [www010] [www013]
Desde la versin 7.5 de Genexus se puede utilizar la tecnologa *.net con su herramienta ADO.net
que es la metodologa de punta desarrollada por Microsoft.
Las aplicaciones generadas con Herramientas CASE pueden ejecutarse en un esquema de mltiples
servidores. Entre todos los servidores hay uno que tiene que asumir el rol de 'Servidor de Nombres
de Dominios' (DNS).
Cada vez que un servidor de aplicaciones se levanta, se conecta con el servidor de nombres, el cual
informa que est levantado, y le dice cual es su nombre. El nombre del servidor de aplicaciones es el
que se especifica en el Location.
Cuando un cliente necesita conectarse con un servidor de aplicaciones que est en un Location dado,
le pide al servidor de nombres una referencia a dicho servidor de aplicaciones, y luego se comunica
directamente con ste.
Esta arquitectura permite que en el diseo de la aplicacin la nica direccin IP fsica sea la del
servidor de nombres. Solo cambiando esta propiedad puede modificarse el ambiente en que ejecuta la
aplicacin.
Grfico 3.16
Cliente
2 3
Servidor de Nombres
4
4 1
Servidor de Servidor de
Aplicaciones Aplicaciones
del CASE del CASE
El cliente se ejecuta, y por cada Location que vaya necesitando acceder, le pedir al servidor de
nombres una referencia al servidor de aplicaciones de la Herramienta CASE correspondiente. Esto es
lo que indica el nmero (2). El nmero (3) indica la referencia al servidor de aplicaciones que
devuelve el servidor de nombres.
El cliente le solicita al servidor de aplicaciones referencias a los objetos que debe ejecutar
remotamente, y los ejecuta. Esto es lo que indica el numero (4).
CORBA: Common Object Request Broker Architecture, es una arquitectura que permite la ejecucin
distribuida de aplicaciones.
Es un estndar definido por una institucin llamada Object Management Group, que est compuesta
por varios fabricantes de software. Es una arquitectura multiplataforma, que permite la integracin
de mdulos escritos en diferentes lenguajes.
Existen muchos productos en el mercado que permiten la utilizacin de CORBA con java
Actualmente se ha probado el cdigo generado utilizando dos productos:
VisiBroker for java 3.4 o posterior, de Inprise Corp.
JDK 1.2.x o posterior, de Sun Microsystems
Para levantar los procesos necesarios en el servidor, se provee un archivo *. bat que lo hace para las
dos implementaciones de CORBA soportadas. El bat se llama ORBSRV.BAT, se le debe pasar como
primer parmetro "vb" si se quiere usar VisiBroker o "jdk12" si se quiere utilizar el JDK 1.2 y como
segundo parmetro el nombre del archivo de configuracin (server.cfg) que se desea utilizar. El
orbsrv.bat contiene al principio algunos SETs que se deben modificar para reflejar el lugar donde
estn instalados los productos CORBA:
Para el JDK 1.2/1.3 no es necesario el primer ejecutable, por lo que solo se levanta el servidor de
nombres (tnameserv.exe del subdirectorio BIN el directorio donde se instal el JDK) y el servidor de
aplicaciones la herramienta.
Para levantar el servidor de aplicaciones GeneXus se utiliza otro .bat llamado gxappser.bat, que debe
estar en el mismo directorio que el orbsrv.bat
Si se quiere levantar manualmente sin utilizar los .BAT, para ejecutar con el JDK 1.3, se deben
ejecutar los siguientes comandos en el servidor y luego ejecutar el cliente:
<path to java>\bin\tnameserv.exe
<path to java>\bin\java. com.genexus.ApplicationServer <server.cfg>
Es necesario tener en el classpath del servidor las clases GeneXus (gxclassr.zip) y los drivers JDBC
que se deseen utilizar.
Classpath. En caso de utilizar VisiBroker hay que agregar al Classpath de las preferences de
ejecucin los archivos. vbjapp.jar, vbjcosnm.jar y vbjorb.jar, que se encuentran en el subdirectorio
LIB del directorio en donde se instal el producto.
Para utilizar RMI no es necesario instalar ningn producto adicional, dado que est incluido en las
clases java estndar. Si se quiere ejecutar con el SDK de Microsoft, es necesario utilizar el RMI de
Sun, dado que Microsoft no distribuye RMI con su SDK.
Un detalle muy importante, es que para que el RMI funcione correctamente el cliente debe ser capaz
de resolver el nombre del servidor a partir de su IP y viceversa, o sea, si se pone en la preference
Name Server = 192.168.0.1, en el cliente debe poder resolverse que esa direccin corresponde al
servidor, por ejemplo, myserver.com. Esta resolucin de nombres la debera resolver el DNS, pero
si no fuera as hay que agregarlo en el archivo HOSTS del directorio \WINDOWS en Windows
95/98 o en del directorio \WINNT\SYSTEM32\DRIVERS\ETC en Windows NT.
Para verificar que los nombres del DNS estn correctos se pueden hacer pruebas con el comando
ping, as:
ping <IP del Servidor>
ping <Nombre del Servidor>
ping a <IP del servidor>
Con estos comandos, se deben devolver valores consistentes o sea siempre debe mostrar el mismo
nombre de servidor.
Con SDK de Microsoft no se distribuyen las clases necesarias para ejecutar aplicaciones con RMI.
Para obtener las clases que soportan RMI con la maquina virtual de Microsoft, existen dos
alternativas, una que provee Microsoft a manera de libreras y otra de IBM.
Ninguna de estas dos alternativas permite instalar RMI en Internet Explorer de forma automtica,
requieren de una instalacin manual. Si se desea que las aplicaciones en Internet usen RMI y lo
hagan con Internet Explorer hay que crear un archivo .CAB con una firma digital, con todos los
permisos de ejecucin dentro del Internet Explorer. Este archivo puede ser instalado en el IE.
DCOM solo se puede utilizar con la mquina virtual de Microsoft. En el subdirectorio GXJAVA del
directorio donde est instalado GeneXus se distribuye una DLL llamada "GXDCOMJ.DLL". Esa
DLL se registra automticamente cuando se instalan las clases de GeneXus al ejecutar la aplicacin
como Applet en el Internet Explorer.
Si se quiere ejecutar como Application, debe registrarse manualmente con el comando REGSVR32
gxdcomj.dll tanto en el cliente como en el servidor. Adicionalmente, es necesario ejecutar el
utilitario en el servidor NT "DCOMCNFG" y en la seccin "Default Properties" poner "Default
Authentication Level = None.
Tambin, cuando se instalan automticamente las clases de la herramienta, al ejecutar como applet,
se modifica un seteo del registro del cliente que cambia el 'Default Autentication Level' a 'None'.
Si es la primera vez que se instalan las clases de la herramienta , para que el cambio tenga efecto es
necesario que el cliente reinicie su equipo, de otro modo no podr conectarse al servidor de
aplicaciones, salvo que est conectado al mismo dominio, o que exista en el dominio del servidor una
combinacin usuario / password idntica a la del cliente. Esto es, si el cliente est conectado a un
dominio NT1, y su usuario / password son Genexus / Genexus, debe existir en el dominio del
servidor un usuario Genexus con password Genexus. [www010] [www013]
Algunos de los objetos web generados por Herramientas CASE son. transacciones WEB, paneles de
trabajo WEB, en algunos casos reportes web, mens web, etc.
Las Transacciones Web no son un nuevo tipo de objeto, sino una forma de interfaz ms para las
transacciones que permiten su ejecucin en navegadores.
Las Transacciones Web facilitan el diseo de aplicaciones Web porque permiten resolver el ingreso
de datos realizando automticamente todos los controles de integridad referencial necesarios. Para
ejecutarlas, slo se requiere un navegador instalado en el cliente.
Se puede decir que los objetos web panel y work panel son similares ya que ambos permiten definir
consultas interactivas a la base de datos.
Son objetos muy flexibles que se prestan para mltiples usos, cuya programacin est dirigida por
eventos. De todos modos, hay algunas diferencias entre ellos, causadas principalmente por el
esquema de trabajo en Internet. Una particularidad fundamental que diferencia a estos dos objetos es
que en los web panels, en tiempo de ejecucin, el resultado de la consulta se formatea en HTML para
presentarse en un navegador.
Existe un API especificada por Sun Microsystems llamada 'Java Servlet API' que define la forma para
ejecutar lo equivalente a los web panels de GeneXus. Esta API define una arquitectura moderna y
eficiente, que presenta algunas ventajas importantes con respecto a la ejecucin con CGI que se
utiliza en los web panels generados con Visual Basic, RPG o C/SQL. Las ventajas son bsicamente
las siguientes:
Con CGI cada vez que se ejecuta un web panel se levanta un proceso en el servidor, se
ejecuta, y se baja el proceso. Esto impone una carga considerable al servidor, en particular a
aquellos en los que levantar un proceso tiene un costo alto. Los Servlets Java se cargan la
primera vez que se ejecutan, y luego no se vuelven a cargar.
Los web panels con CGI deben conectarse a la base de datos cada vez que se ejecutan. Los
Servlets pueden mantener conexiones abiertas y utilizarlas a medida que las van necesitando
Los Servlets ejecutan dentro de motores de Servlets que permiten administrar eficientemente
el manejo de los recursos del servidor.
Se pueden ejecutar en cualquier sistema operativo para el que haya disponible una mquina
virtual Java y un servidor web que permita ejecutar Servlets (NT, Win95, AS/400, AIX,
Linux, Macintosh, etc.).
El soporte de Java para Servlets es bastante sofisticado, lo que hace sencillo agregar nueva
funcionalidad a los web panels, como manejo de sesiones, compresin de pginas HTML en
tiempo real, etc.
Como SSP se entiende a la ejecucin de un web panel dinmico para una instancia de los datos que
recibe como parmetro, es decir archivos de texto conteniendo HTML con la informacin obtenida a
partir de la base de datos.
Estos SSP pueden convivir con los web panels dinmicos, tanto pudiendo llamarlos como pudiendo
ser llamados. Esto ser muy til en sitios de informacin (portales) donde gran parte de la
informacin, despus de generada ser esttica. Los generadores Java y C/SQL permiten la
generacin de este tipo de pginas.
Es recomendable utilizarlos en los siguientes casos: Si se tiene pginas cuyo contenido vara en la
base de datos con una periodicidad conocida. Si la aplicacin puede soportar mostrar alguna
informacin no on-line sino que se actualice hacia el web con cierta periodicidad.
Cuando el SSP se invoca desde el browser se comporta como un web panel normal, resolviendo
automticamente para cada link si el web panel llamado es esttico o dinmico.
Los web panels en Java pueden enviar la pgina HTML comprimida, de modo que sea descomprimida
en tiempo real por el navegador. La compresin se realiza solo si el navegador indica que es capaz de
descomprimirlo.
Esta opcin puede deshabilitarse con la preference 'Auto compress web pages', dado que es posible
que algunos navegadores no reporten correctamente su capacidad para descomprimir las pginas, y
no puedan desplegar correctamente a las mismas. [LIB009]
CAPTULO IV
GENEXUS
DESARROLLO DE APLICACIONES
INTRODUCCIN A GENEXUS.
DEFICICIN DE REQUERIMIENTOS, PARA SOLUCIONES
GENEXUS.
DISEO DE TRANSACCIONES.
DISEO DE REPORTES.
DISEO DE PROCEDIMIENTOS.
DISEO DE PANELES DE TRABAJO.
GRAFICACIN DE DATOS.
DISEO DE MENS.
DISEO Y PUBLICACIN DE OBJETOS WEB.
Desde el punto de vista terico, Genexus es ms una metodologa para desarrollar aplicaciones que
una herramienta de software. Est relacionado con las metodologas tradicionales, pero aporta
grandes y novedosos cambios a las mismas.
Cuando se comenzaron a utilizar verdaderos modelos corporativos que normalmente poseen cientos
de tablas, se confirm que no deba perderse ms tiempo buscando algo que no existe: las bases de
datos estables. Luego de varias investigaciones, se desarrollo una teora la cual fue crear una
herramienta que pudiera posibilita el desarrollo incremental y permitir la convivencia con las bases
de datos reales, el grfico 4.1 explica el crecimiento del modelo incremental.
Grfico 4.1
Definicin
Inicial
Metodologa Incremental
En cada momento se desarrolla la aplicacin con el conocimiento que se tiene, y luego cuando se pasa
a tener: ms, menos o nuevo conocimiento; Genexus se ocupar de hacer automticamente todas las
nuevas adaptaciones en las bases de datos y programas.
Utilizando Genexus la tarea bsica del analista es la descripcin de la realidad. Solo el hombre podra
realizar esta tarea, ya que solo l puede entender los problemas del usuario. Desde luego que esto
modifica la actividad del analista e incluso su perfil supuestamente ptimo ya que lo transforma en un
Busines Analyst o analista del negocio.
Ahora trabaja en alto nivel, discutiendo problemas con el usuario y probando con el las
especificaciones a nivel de prototipo, en vez de desarrollar su actividad en tareas de bajo nivel como:
disear archivos, normalizar, disear programas, programar, buscar y eliminar errores de
programacin, etc.
Genexus es una herramienta que genera cdigo para: Java, C#, Cobol, Visual Basic, Fox, Visual
Foxpro, RPG, C, Visual C++, Visual Basic .net, entre otras; y para las bases de datos: Oracle,
Informix, Acces, UDB, DB/2 y MS-SQL Server. [LIB001]
Genexus es una herramienta de carcter comercial, por esta razn tiene su costo que relativamente es
considerable en las diferente versiones individuales o corporativas. Estas versiones se las puede
comprar por medio de cualquier sitio autorizado por Artech, en Ecuador es GMS. La versin
comercial ms actual es: GENEXUS 7.5 adems se est probando una versin OLIMAR BETA3,
que es la antesala de Genexus 8.0 que genera aplicaciones netamente para el web.
Anteriormente exista la versin RELASE de Genexus 7.0; era una versin de tipo acadmico que se
distribua a los centros de estudios superiores, por medio de convenios vi direccionales con Artech.
Esta versin era muy til ya que no existan restricciones de generacin, se poda desarrollar un
nmero ilimitado de los objetos Genexus. Solo haba el inconveniente que el tiempo de duracin de la
licencia duraba hasta que concluya el convenio.
Hoy en da existe una versin gratis de Genexus 7.5 que se denomina: GENEXUS 7.5 TRIAL
VERSIN, esta versin de la herramienta es la que se va a utilizar en este captulo; se puede bajar y
activar desde internet y es de libre uso para todo pblico.
En las versiones comerciales de Genexus, cada producto o generado tiene su costo y su licencia que
se las adquiere de acuerdo a las necesidades del analista.
En la versin 7.5 trial, se adopt un tipo de licencia centralizada la cual con una sola clave se activan
todos los generadores de Genexus permitidos por esta versin.
Cuando alguien obtiene el producto, ya sea trial o comercial, primeramente debe instalarlo y este
programa ya instalado le dar un Site Code, el cual deber ser enviado va internet o telefnico, a
Artech, para que le devuelvan un Site Key que le servir para activar la versin.
GeneXus 7.5 Trial Versin fue creada para quienes desean evaluar el producto, como para docentes
y estudiantes de universidades y centros de educacin superior y para los alumnos y maestros de los
cursos Genexus dictados por Artech.
Es una versin TRIAL UNLIMITED y como tal, tiene algunas limitaciones, que son:
No se puede abrir bases de conocimiento generadas por: genexus estndar a genexus trial y
viceversa.
Transacciones 20.
Work Panels 50 incluidos los de genexus.
Web Panel 50 incluidos los de genexus.
Procedimientos 20.
Reportes 20.
La versin Trial no tiene soporte.
Tiene soporte solo para problemas de instalacin. [www009]
Cuadro 4.1
PRODUCTO DESCRIPCIN
Modelador Ambiente de Desarrollo
Generador VB Para los DBMS soportados por genexus
Generador C# Para los DBMS soportados por genexus
Generador Java Para los DBMS soportados por genexus
Las bases de datos soportadas son: SQL Server, Informix, Oracle, Acees, DB2/400, DB2 UDB.
4.1.2.3. INSTALACIN
Existen dos maneras de instalar Genexus 7.5 Trial Versin: puede instalar el producto directamente
desde internet o puede instalar bajando los archivos de instalacin al disco duro desde el web.
Para que Ud. Pueda bajar los archivos o instalar directamente, debe ser primero un usuario de la
comunidad Genexus, Y esto lo realiza loguiandose en la siguiente pgina web:
http://www.gxtechnical.com/main/hgxtrialuser.aspx?2,4,228
A este proceso se le llama registrarse on-line o registrarse en lnea, aqu se abrir un cuadro donde
tendr que contestar algunas preguntas. (grfico 4.2)
Grfico 4.2
Entonces el nuevo usuario contestar las preguntas personales como: nombres, empresa, nombre de
usuario, pasword, etc. Se solicita la direccin de un correo electrnico, ya que a esa direccin Artech
enva el site key de activacin de Genexus.
Registrado como usuario Genexus, puede bajar todas las cosas free de la herramienta, en este caso los
instaladores de Genexus 7.5 Trial Versin, desde la pgina:
http://www.gxtechnical.com/main/hgxuser.aspx?2,4,286
Una vez instalado Genexus en su PC, la herramienta emite un site cdigo de la siguiente manera:
SITE CODE: 44205 12264 63626 40509 y pedir un SITE KEY del mismo formato, el cual se lo
obtiene enviando el site code a la pgina web de activacin y este enva el key code directamente a su
direccin de correo electrnico que puso en la pgina de registro. (grfico 4.3)
Grfico 4.3
TRANSACCIONES. Las transacciones permiten definir los objetos de la realidad. La mayor parte
de las transacciones pueden ser identificadas prestando atencin a las entidades que el usuario
menciona, como: clientes, proveedores, productos, etc. A partir de las transacciones, Genexus infiere
el diseo de la base de datos.
REPORTES. Son aquellos que recuperan informacin a partir de los datos almacenados y no los
alteran. A los reportes generalmente se los conoce como listados.
PANELES DE TRABAJO Y WEB PANELS. Permiten definir consultas interactivas a las bases de
datos, ya sea en modo windows o en modo web.
MENUES. Son objetos organizadores del resto de objetos Genexus, los cuales sirven para realizar
listas desplegables de seleccin de objetos. [LIB001] [LIB002]
Esta mini aplicacin explicativa tendr la facultad de facilitar a los encargados de las compras, tener
un control automatizado, sobre los accesorios que provee dicha empresa.
Ellos se encargarn de mantener el stock adecuado y de solicitar los pedidos necesarios para que la
empresa marche de la mejor manera y no le falten productos para no quedar mal con sus clientes
potenciales.
El personal de compras estar ntimamente relacionado con los proveedores, tendr toda la
informacin acerca de ellos y los productos que tiene. Se encargar de hacer los pedidos, con
consultas previamente al stock en bodega. Cada pedido alimentar el stock de cada producto.
Para disear de mejor manera las transacciones, primero se debe analizar cuales son los objetos de la
realidad, ya sean visibles o imaginarios y cul ser su comportamiento.
Se empezar por la DESCRIPCIN DEL SISTEMA, que es una lluvia de ideas sobre las posibles
transacciones que tendr la aplicacin y de qu forma quisiera visualizarlas en pantalla; A breves
rasgos el sistema en sus primeros pasos tendra las siguientes transacciones:
Productos
Categoras
Proveedores
Vendedores
Pedidos
Las transacciones tienen otros objetos que tambin pertenecen a la realidad y se los debe definir en
esta etapa del desarrollo de aplicaciones:
Estructura. De qu atributos o campos est compuesta la transaccin, y qu relacin tienen entre si.
Form Web. Es la parte donde se realizan las pantallas que quiere ver el usuario final; pero en modo
web.
Reglas. Con las reglas se define el comportamiento particular de las transacciones. Por ejemplo:
cules son los valores por defecto de los atributos, a que atributo se le debe sumar o restar un stock,
qu mensaje debe aparecer si el usuario inserto un dato fuera de rango, etc. En las reglas se define
grn parte de la lgica del negocio.
Subrutinas. Son rutinas locales a la transaccin que se ejecutan al ser invocadas si se cumple alguna
funcin especfica.
Form Classes. Es el tipo de imagen que el usuario quiere ver en su aplicacin; ya sea en modo texto
para ambientes IBM (AS/400) o tipo Windows con su presentacin nativa o web. [LIB001]
[LIB002]
Como se dijo anteriormente, en una transaccin se define los atributos o capos y cmo estn
relacionados unos de otros. Se empezar diseando la transaccin Vendedores. (grfico 4.4)
Grfico 4.4
Estructura
Form
Web Form
Reglas
Eventos
El campo VenId cuya descripcin es Vendedor ID representa al cdigo del vendedor; para esto se
debe definir el tipo de campo o atributo de la siguiente manera. (grfico 4.5)
Grfico 4.5
Definicin de Atributos
Grfico 4.6
Definicin de Dominios
Los dominios se utilizan cuando en una base de datos, ciertos atributos comparten definiciones
similares; esto no quiere decir que establecen una relacin directa entre ellos, en su definicin constan
los siguientes propiedades:
ATRIBUTOS CLAVE: Son los atributos que en las bases de datos se los considera CLAVES
PRIMARIAS, son nicos y sirven para identificar a la transaccin, en vendedores el atributo clave es
VenId y se lo reconoce porque esta marcado con una llave.
La estructura de la transaccin vendedores, ya con las descripciones, nombres, tipos, dominios, de sus
atributos, quedara de la siguiente manera. (grfico 4.7)
Grfico 4.7
Terminada la definicin de datos Genexus genera automticamente las pantallas o formularios que se
observarn en la realidad. Como esta generacin es automtica el programador no tiene que hacer
absolutamente nada para poder visualizar sus aplicaciones, simplemente debe acabar la definicin de
datos.
En el grfico 4.8 se observa las pantallas de la transaccin vendedores en modo Windows y en modo
Web.
Grfico 4.8
Si se cambia las propiedades de las transacciones; especficamente los form class, se puede ajustar a
las transacciones a un modo tipo texto, el cual se lo utilizara en ambientes AS/400. (grfico 4.9)
Grfico 4.9
Con esta informacin va construyendo el modelo de datos. En este caso a la transaccin Vendedores
se le asociar la Tabla: Vendedores que quedara de la siguiente manera. (tabla 4.1)
Tabla 4.1
VENDEDORES
VenId*
VenCed
VenNom
VenApel
VenDir
VenTel
VenCel
Tabla Vendedores
Asociada a la Transaccin Vendedores
El NDICE por defecto est dado por la clave primaria (VenId) pero luego puede ser cambiado por el
desarrollador. Como se dijo que la tabla vendedores esta asociada a la transaccin vendedores, si: se
modifica, se elimina o se altera algo en la transaccin vendedores, automticamente: se modificar, se
eliminar o se alterar la tabla vendedores.
Artech a definido un estndar para la nomenclatura de sus objetos, que se la denomina GIK Genexus
Incremental Knowledge Base (Base de Conocimiento Incremental de Genexus), esta nomenclatura es
utilizada estrictamente por toda la comunidad de usuarios Genexus, ya que de aqu Genexus saca el
conocimiento para la generacin de la base de datos (grfico 4.10, tabla 4.2).
Grfico 4.10
Complemento
Calificador 1 - 3
Calificador 1 - 3
Categora Semntica 1
Objeto 1 - 6
Nomenclatura GIK.
Tabla 4.2
Esta nomenclatura ayuda a la base de conocimiento a generar de una mejor forma las tablas y es el
principio de una cultura de programacin nueva; ya que con otras herramientas no importa el
nombre que se les de a los atributos de las tablas, con esta nomenclatura el programador se centra a
un estndar, el cual es muy til para reconocer fcilmente los atributos de una determinada
transaccin.
Para explicar los tipos de controles se realizara algunas transacciones con ellos; el grfico 4.11
muestra la transaccin Proveedores utilizando los siguientes controles: para ProTip se utiliz un
Combo Box, Para ProAct Check Box y para ArtNac se utiliz un Radio Buttom. Estos controles son
estndar y los generan la mayora de programas; sus caractersticas son:
Edit. Normalmente los atributos tienen un rango de valores muy grande, por ejemplo: un nombre,
un precio, etc. En estos casos se le permite al usuario entrar el valor del atributo y el sistema se
encarga de validarlo.
A estos tipos de controles se los llama Edit Box. Sin embargo, existen atributos que tienen un rango
de valores muy pequeo y que pueden ser desplegados de antemano para que el usuario seleccione
uno. De esta forma se controla que ingresen solo valores vlidos. Estos tipos de controles son:
Check Box. Es usado para aquellos atributos que tienen solo dos valores posibles elegidos por el
usuario; existe una nica descripcin disponible y en caso que este campo est seleccionado, el valor
almacenado ser el especificado por el usuario.
Radio Button. Los Radio Button en cambio pueden tener ms de dos valores en pantalla, el valor que
se almacena es manejado internamente para luego pasar la informacin a la base de datos; en el
ejemplo esta dado por la nacionalidad del proveedor.
Grfico 4.11
Combo Box. Es generalmente usado para aquellos atributos que tienen un rango grande de valores
que hace poco prctico utilizar un Radio Button.
Se despliega un campo de tipo Edit siempre y cuando presione: un botn una vieta o una tecla
especfica que se encuentra a la derecha o izquierda del campo seleccionado; no es recomendable
utilizar este tipo de control como lista de seleccin de atributos que puedan ser ledos de una tabla;
Para estos casos se usan los Dynamic Combobox.
Dynamic Combobox. Un Dynamic Combobox es un tipo de control similar al Combo Box. La forma
de operacin es similar, salvo que los valores desplegados no son estticos, sino que son descripciones
ledas de una determinada tabla de la base de datos.
List Box. Este tipo de control tiene asociada una coleccin de items. Cada tem tiene asociado un par
<valor, descripcin>. El control da la posibilidad de seleccionar un solo tem a la vez. El atributo o
variable toma el valor en el momento que se selecciona el tem. La seleccin se realiza dando clic con
el mouse en un tem o con las flechas del teclado.
El control List Box puede verse como un Combo Box abierto, es decir, que los valores (items) se
muestran desplegados en una lista, siendo la definicin y funcionalidad del List Box totalmente
anloga a la del Combo Box.
Dynamic List Box. Este tipo de control tiene asociada una coleccin de items. Cada tem tiene
asociado un par <valor, descripcin>. La coleccin de items se carga desde una tabla de la base de
datos en tiempo de ejecucin. En tiempo de diseo se asocian dos atributos al Dynamic List Box, uno
al valor que tendr el tem y el otro a la descripcin que ste tomar. Ambos atributos deben
pertenecer a la misma tabla. En tiempo de especificacin se determina la tabla desde la cual se traern
los valores y las descripciones.
El programador podr definir este tipo de controles en la definicin de los atributos, en control de
informacin y control de tipo, esto se los observa en el grfico 4.12.
Grfico 4.12
Se va a definir la transaccin Productos, para esto ya se han diseado las transacciones: Categoras y
Marcas que estn ntimamente vinculadas a Productos. (grfico 4.13)
En una base de datos comn, habra que disear la integridad referencial con: Productos, Categoras
y Marcas, ya que las claves primarias de categoras y marcas, seran claves forneas de productos.
Con Genexus, simplemente se agrega el tipo de atributo con su clave primaria de marcas y
categoras, en la estructura de la transaccin productos. De esta manera Genexus automticamente
crea su propia integridad referencial. (grfico 4.13)
Grfico 4.13
Como se puede apreciar CatId y MarId son las claves primarias de categoras y marcas, y forneas de
productos. Con esta informacin basta para crear la integridad referencial.
Otra caracterstica a destacar es que cuando se define la estructura de una transaccin no se est
describiendo la estructura de una tabla y si los datos que se necesitan en la pantalla o en las reglas
como: CatNom, no quiere decir que ste se encuentre en la tabla de productos. Se lo incluye en la
estructura ya que se quiere que est presente en la pantalla de productos, en la tabla solo se
almacenar CatId.
Nivel 2
Nivel 1
Como se observa en las transacciones anteriores, estas tienen un solo nivel, o sea las transacciones
despliegan informacin de una sola estructura; para observar los niveles que podra tener una
transaccin, se realizar la transaccin compras. (grfico 4.14)
En transaccin compras se puede ver una nueva situacin que es: los niveles de una transaccin. Aqu
existen dos niveles, se podra decir: el de la tabla compras y el detalle compras, cada nivel se lo define
abriendo y cerrando parntesis.
Cada nivel de una transaccin tiene una tabla asociada. La clave primaria de las tablas asociadas a los
niveles subordinados, es la concatenacin de los identificadores de los niveles superiores. Genexus
exactamente generar a las tablas compras y compras1. Compras 1 vendra a ser comnmente como
detalle compras. (tabla 4.3) (grfico 4.15)
Tabla 4.3
Tabla: Compras
ComNo *
ComFe Tabla: Compras 1
ComFo
ComTip ComDId *
ComRuc PtoId
ComNom PtoNom
VenId PtoDPU
VenApell PtoDCan
VenNom PtoDST
ComSt
ComIva Nivel 2
ComTo Tabla
Asociada
Nivel 1
Grfico 4.15
Desde esta pantalla se observa las tablas creadas automticamente por Genexus, en especial se
muestra compras y compras1, que modelando manualmente seran compras y detalle compras.
La eleccin, de los identificadores o claves primarias es una de las tareas ms importantes que puede
simplificar o complicar la implementacin del sistema. Por ejemplo compras no admite que estn dos
productos de los mismos, en este caso ya no se deber definir a ComDId como identificador del
segundo nivel de compras, si no a PtoId. Como no se defini a PtoId como identificador Compras1,
se deber hacer un procedimiento para que controle esta situacin.
Cuanto ms reglas de la realidad se pueden reflejar en la estructura de los datos, menor ser la
cantidad de procesos que se deber implementar, de esta forma se gana simplicidad y flexibilidad
[LIB001]. El grfico 3.16 indica cmo se ver en la realidad la transaccin compras.
Grfico 3.16
La base para realizar cualquier aplicacin es definir bien qu tipo de relacin existe entre los
diferentes objetos, en especial en las transacciones o en las entidades. As se podra decir que: Un
proveedor tiene muchas compras, entonces sera (relacin 1- N) o sea de uno a varios, o que una
compra tiene un solo proveedor (relacin 1 N) que viene a ser la relacin simtrica de la primera,
otra forma son las relaciones M N, en el caso de las compras y productos que dice que: una compra
tiene muchos productos y un producto puede estar en varias compras, en este caso para romper ese
varios a varios, Genexus automticamente crea la tabla Compras1.
Para no tener problemas y para que la herramienta normalice mejor y para que cree integridad
referencial de una forma satisfactoria, lo correcto y ptimo es definir bien a los identificadores, de esta
forma sabr cual es la relacin existente entre los objetos. Segn el tipo de relaciones, Genexus a
creado el concepto de tabla base y tabla extendida.
TABLA EXTENDIDA. Dada una tabla de la base de datos, (TABLA BASE) se denomina tabla
extendida de la misma, al conjunto de atributos conformados por: Atributos que pertenecen a la tabla
y Atributos que tengan una relacin N-1 con la tabla extendida determinada hasta el momento.
El inconveniente ms notorio es que los datos se encuentran dispersos en muchas tablas, y cuando se
quiere hacer consultas muy complejas, se debe consultar a una cantidad importante de tablas.
Un ejemplo de esto es el siguiente: Para listar una consulta de Facturas es necesario consultar a:
Facturas, clientes, categoras y productos.
Para simplificar esto Genexus utiliza el concepto de tabla extendida. (grfico 4.17). La tabla 4.4 aclara
cuales con las tablas extendidas de las diferentes tablas bases.
Grfico 4.17
N 1 N 1
N
N 1
FACTURA PRODUCT
1 O
FacNro* ProCod*
ProCod* ProNom
FacLinCo Relaciones
ProPre
Tabla 4.4
Categora Categora
Cliente Cliente
Categora
Factura Factura
Cliente
Categora
Factura1
Factura1 Factura1
Producto
Factura
Cliente
Producto Producto
Una transaccin puede tener varios forms, ya sea diseados por el usuario de forma manual, o
aceptando los que automticamente genera Genexus.
El form que genera esta herramienta tanto en modo windows, texto o web, se lo puede modificar a
preferencia del usuario, utilizando las herramientas que tiene Genexus, los forms por defecto son los
que constan en todos los grficos anteriores. Cabe recalcar que en cada form se puede tambin
mostrar imgenes.
Tambin se puede usar un style previamente elaborado, el cual servir como plantilla de los objetos
Genexus a crear, el grfico 4.18 muestra un form por defecto y otro ms elaborado.
Grfico 4.18
Un atributo es una FRMULA, si su valor se puede calcular a partir del valor de otros atributos. Por
ejemplo el subtotal es una frmula porque su valor es igual a cantidad * precio.
Una frmula se inserta seleccionando el atributo y haciendo clic con el botn derecho del mouse,
saldr un men y selecciona frmula., el grfico 4.19 muestra la estructura de la transaccin compras
una vez definidas sus frmulas.
Grfico 4.19
Los atributos frmula estn marcados con un (x) y son lo que normalmente se conoce como
campos calculados.
En cada transaccin se puede definir qu atributos son frmulas, esta definicin es global, o sea
tendr un impacto en todos los objetos de la aplicacin.
Existe mucha similitud entre frmulas y reglas, incluso la sintaxis es similar, pero la frmula es
global y la regla es local, o sea solo para el objeto Genexus que a sido definida.
FRMULAS HORIZONTALES. Son aquellas en las que los atributos involucrados deben
pertenecer a la tabla extendida del atributo definido como frmula; o sea los atributos deben estar en
un solo nivel; pueden ser una o varias expresiones condicionales o no condicionales, as:
El IVA es igual al subtotal * 0.12 y el subtotalD es igual a precio unitario por la cantidad. Para
representar una frmula con condiciones, se va a suponer que en una transaccin ventas existen
descuentos.
Descuento = VenTot * 0.10 if VenTot > 500 .and. VenTot < = 1000;
= VenTot * 0.20 if VenTot > 1000;
= 0 OTHERWISE.
El descuento ser del 10% si la venta total est entre 500 y 1000, ser del 20% si la venta total es
mayor a 1000 y ser cero si la venta es menor a 500
Las expresiones pueden utilizar operadores aritmticos como: ( +, -, *, /, ^) y muchas funciones como
today ( ) que inserta la fecha actual, cuando los casos son ms complicados se puede utilizar
subrutinas para que ejecuten las cosas que no pueden hacer las frmulas.
SUM. Suma un atributo perteneciente a una tabla directamente subordinada. Su sintaxis es:
SUM (Atributo), en la transaccin compras se tiene: ComST = SUM (ComDST) que suma los datos
del atributo ComDST.
COUNT. Cuenta las filas de una tabla directamente subordinada o sea cuando un atributo est en
una tabla con relacin (1-N), su sintaxis es COUNT (atributo).
Las frmulas verticales se resuelven mediante una navegacin vertical es por eso su nombre de
frmulas verticales. Dentro de una frmula vertical no se puede agregar directa o indirectamente
expresiones agregate select y el atributo count no puede ser parte de alguna clave de la transaccin.
El atributo sum puede ser frmula de frmulas, como se lo expresa en el ejemplo anterior.
4.3.11. REGLAS
Segn los preceptos de las metodologas orientadas a objetos, en cada transaccin se debe definir cul
es su estructura y cul es su comportamiento. En este caso ya se vio el diseo de las estructuras,
ahora toca definir cmo ser su comportamiento.
Con este prembulo las REGLAS son todos aquellos parmetros que define el analista de sistemas,
para definir el comportamiento de los datos y los objetos en las aplicaciones, a continuacin se citar
algunas reglas disponibles.
Default. Se utiliza para definir los valores por defecto de algunos atributos, por ejemplo:
default ( ComFe, today( ) );
Aade la fecha actual en el campo seleccionado. El funcionamiento de default vara segn el tipo de
dilogo, full-screen o campo a campo. En el dilogo full-screen se asigna el valor por defecto si el
usuario no digit nada en el campo. En el dilogo campo a campo primero se asigna el valor por
defecto y luego se permite modificarlo. Esto depende de cmo quiera ver el analista.
Error. Es la regla para definir los controles que deben cumplir los datos, por ejemplo si se quiere que
la cantidad de cada producto o artculo sea siempre mayor que 4.
Cuando la cantidad de los productos sea menor o igual a 4 (ComDCan) se desplegara una pantalla
que dice 'La Cantidad debe ser mayor a 4 y no podr seguir realizando la transaccin hasta no
modificar el dato.
Otro ejemplo puede ser si no desea que se eliminen compras, aparecer una pantalla que diga
Prohibido eliminar las compras.
Add y Subtract. Para entender este tipo de reglas, se realizar un ejemplo para manejar el stock de
los productos. La transaccin de compras debe modificar ese valor porque cada compra nueva
aumenta el stock de productos. Tambin existir alguna otra transaccin ventas, que disminuir el
stock, pero en el ejemplo solo se representar con la transaccin compras.
add(ComDCan, PtoStoAct );
NOTA: Para poder realizar este tipo de operaciones PtoStoAct debe ser un atributo de la
Transaccin Compras El Autor.
Se puede decir que SUM redundante es equivalente a la regla ADD. Por ejemplo el ComST se puede
definir de dos maneras diferentes:
Es muy comn que las frmulas verticales tengan que estar redundantes para tener buena
performance se recomienda el uso de la regla ADD y no de la frmula SUM. La regla SUBTRACT
es equivalente pero realiza las operaciones contrarias, es decir en ves de asignar resta.
Serial. Esta regla es til cuando se quiere asignar automticamente valores a algn identificador de
la transaccin, son conocidas como auto series. Por ejemplo se quiere hacer automtico el
identificador del segundo nivel da la transaccin compras. (ComDId)
En donde el primer parmetro define cul es el atributo que se est numerando, el segundo indica
cul es el atributo que tiene el ltimo valor asignado, o sea la ltima lnea y el tercer parmetro el
incremento, en este caso es 1.
El atributo ComUltLin (Ultima lnea asignada) debe ser incluido en la estructura de la transaccin en
el nivel de ComNo.
Call es una de las reglas ms importantes de Genexus, que permite llamar a otros objetos como:
transacciones, paneles de trabajo, mens, reportes, textos, etc.
En el caso de la regla call, es necesario definir el momento en que se va a disparar el call, por ejemplo,
desde la transaccin compras se quiere llamar a un reporte que imprima la factura de compras.
Donde rimprec es el programa llamado (factura) y ComNo es el parmetro que se enva. Al tener
after (trn) el call se realiza despus de haber realizado todo el pedido, los after existentes son:
Confirm. La regla se dispara despus de haber confirmado los datos del nivel pero antes de haber
realizado la actualizacin.
Insert, Update, Delete. Se dispara despus de haber insertado, actualizado o eliminado el registro
de la tabla base del nivel. Se usa fundamentalmente para llamar a procesos que realizan
actualizaciones.
Level. Se dispara despus de haber entrado todos los datos de un nivel. Se usa muchas veces para
controles de totales. El control recin se realizar cuando se a terminado de ingresar todas las lneas
del nivel.
Trn. Se dispara despus de haber entrado todos los datos de una transaccin. Se usa
fundamentalmente para llamar a programas que imprimen los datos. En ambientes con integridad
transaccional esta regla se dispara luego que se realiza el commit de la transaccin.
INFORMACIN. Son los datos generales del reporte, o sea la informacin de los datos que desea
visualizar, como: nombre, id, apellido, telfono, etc.
LAYOUT. Es la pantalla de presentacin para el diseo de los reportes, similar al form de las
transacciones.
CONDICIONES. Son las condiciones que deben cumplir los datos para ser impresos o
visualizados, por ejemplo solo se quiere visualizar el nombre y el monto de los vendedores en el mes
de agosto.
4.4.2. LAYOUT
Aqu se tiene comandos como: header, end, for each y end dor. Que son las partes cabezales para
definir un reporte, tanto en la presentacin grfica como ttulos, cartulas, etc, como tambin en la
parte lgica o de comportamiento de los datos.
Los datos que estn en este reporte se los puede observar en el grfico 4.21.
GRFICO
4.20
Grfico 4.21
La definicin de reportes se divide en uno o varios bloques. Estos bloques pueden ser: de cdigo o de
impresin. En los bloques de impresin se disea la salida que posteriormente ser impresa y se los
denomina Prin Blocks.
GRFICO
4.22
Cada bloque de impresin puede tener un conjunto de controles: atributos, variables, textos, etc. Los
bloques de impresin o Print Blocks tienen asociadas ciertas propiedades que pueden ser
configuradas desde un dilogo que se abre al hacer doble-clic sobre el bloque de impresin; aqu se
configura: el tipo de papel, el tipo de letra, etc. (grfico 4.22) en este caso el print block del reporte
vendedor es: VENDEDOR01, estos print blocks se utiliza para llamar a los procesos impresin desde
cualquier objeto Genexus.
Se puede realizar una transaccin factura, luego un reporte facturas, y despus un prin block de
facturas, de esta manera solo se llama a travez de un Call al Prin Block factura para que sea impreso.
Todos los bloques de impresin que se encuentren entre los comandos HEADER y END son las
lneas que se imprimen en el cabezal de la pgina. Tambin existe el comando FOOTER que permite
imprimir un pie de pgina en cada hoja. El comando FOR EACH indica qu datos se desplegaran; del
ejemplo anterior se tendra.
For each
VenId VenCed VenApe VenNom
Endfor
Quiere decir que se imprimirn: el id del vendedor, la cdula, el apellido y el nombre de todos los
veedores existentes.
Es uno de los comandos ms importante de los reportes, ya que dentro de el se define a toda la
estructura del reporte con respecto al acceso a la base de datos.
Con este comando, se leen todos los atributos que Ud. Quiere visualizar desde la base de datos,
solamente especificando el atributo que desea, sin necesidad de especificar la tabla de donde
provienen los datos, la herramienta automticamente busca la mejor forma y las tablas de donde
sacar los datos; Genexus se encarga de cmo hacerlo, a continuacin se realizar un reporte de
compras (grfico 4.23)
Grfico 4.23
El reporte compras tiene datos de varias tablas: compras, compras1, productos, proveedores y
vendedores. En el diagrama de Bachman (grfico 4.24) se dar cuenta cmo son las relaciones y de
donde Genexus saca los datos para publicarlos.
Cuando se especifica un Reporte Genexus muestra un listado que se llama: Listado de Navegacin,
donde se indica cules son las tablas que se estn accediendo.
Grfico 4.24
En el listado de navegacin (grfico 4.25) la primer tabla representada indica cul es la tabla base de
la tabla extendida y las tablas que figuran debajo de sta indican las tablas 1-N de la misma.
Una interpretacin muy prctica de este diagrama es: para la tabla del primer nivel de indexacin se
leen muchos registros y para cada tabla del siguiente nivel se lee un solo registro por cada registro
ledo en la tabla del primer nivel.
Vertical Formulas. Son las frmulas verticales que tienen los reportes, en este caso ComST es la
frmula involucrada para ComTo.
Grfico 4.25
Los reportes realizados anteriormente fueron elaborador por defecto, sin tomar en cuenta el orden de
presentacin de los datos o sea de que manera y de acuerdo a que atributo desea ordenar el reporte.
Cuando no se especifica el orden o ndice, Genexus automticamente ordena por medio de la clave
primaria de la transaccin, como sucedi en los ejemplos anteriores. Para los casos en donde se
quiere definir el orden de los datos de forma explcita se utiliza la clusula ORDER dentro del
comando FOR EACH, para indicar este paso se realizar el reporte Productos, ordenado por
nombres. (grfico 4.26)
Grfico 4.26
En la lnea marcada con color rojo se observa: for each ORDER PtoNom Esto significa que este
reporte estar ordenado por el nombre del producto, los datos desplegados se observan en el grfico
4.27.
A continuacin se generar otro reporte de productos02, con ORDER de otra tabla extendida CatId
o sea se lo ordenar por categoras, tambin se invocar al nombre de la categora y la marca, que son
atributos que estn fsicamente aparte de la transaccin productos. (grfico 4.28)
Grfico 4.27
En el reporte de productos por categoras, se puede observar el for each ORDER CatId, que es un
ordenamiento por medio de la clave fornea de la tabla productos y clave principal de categoras.
De la misma manera se observa a CatNom y MarNom que son los nombres de la categora y la
marca, estos atributos son fsicamente distantes de la transaccin productos, pero con solo
introducirlos en el layout, Genexus automticamente genera el cdigo para la representacin de los
datos, incluso el reporte de navegacin es muy censillo. (grfico 4.29)
Grfico 4.28
Grfico 4.29
Grfico 4.30
La condicin where dentro de un for each, se la utiliza de una manera similar como en sql puro. Esta
condicin es necesaria para filtrar o restringir los datos, por ejemplo si se quiere obtener un reporte
de los productos que liste a los productos cuyo stock mnimo sea igual al stock actual; este reporte se
identifica como Producto 03 (grfico 4.31).
For each
WHERE PtoStoMin = PtoStoAct
Por medio de este for each con condicin where se listarn los productos cuyo stock actual sea igual
al stock mnimo.
Grfico 4.31
Datos de Producto 03
Dentro de los reportes se pueden definir VARIOS WHERE que podran cumplir las condiciones
AND o OR. Cuando la condicin es AND se define varios where sucesivos; para indicar este tipo de
condiciones se realizar el reporte Compra 3 (grfico 4.32).
Grfico 4.32
Layout de Compra 3
Datos de Compra 3
En Compra 3 se visualiza la utilizacin de un for each, tipo AND, que consta de los siguiente:
For each
WHERE ComFe = Today() Fecha de Hoy.
WHERE ProNom = DYCMECANIC Proveedor DYCMECANIC
WHERE ComTo > 1000 La compra total > 1000
Esto quiere decir que liste el reporte de todas las compras del da de hoy, cuyo proveedor sea
DYCMECANIC y cuyo valor de la compra total sea mayor que mil.
Para un WHERE con la condicionante OR, no es necesario poner varios WHERE, sino solamente
uno con la siguiente estructura. WHERE ComFe = Today OR ComFe = 03/04/03. Quiere decir
que reporte las compras del da de hoy o del da 03/04/03.
Se utilizan para realizar reportes ms complejos, donde dentro del reporte pueden ir dos niveles o
pueden ir dos tipos de ndices. Los reportes anteriores solamente tenan un nivel.
Para entender los for each anidados se realizar un reporte de vendedores que desplegara al vendedor
y los pedidos realizados. (grfico 4.33)
En este reporte se introducen atributos de otras tablas, pero con el concepto de tabla extendida que
maneja Genexus es muy fcil de realizarlo, simplemente se aade los atributos deseados en la
estructura o layout del reporte.
Cuando se realiza reportes con dos niveles, o con for each anidados, el reporte se lo define a manera
de una estructura de la siguiente manera.
VenId
VenNom
VenApel
(ComNo
ComFec
ComTo)
Grfico 4.33
Se nota que existen dos niveles, un nivel para cada for each, de esta manera primero se extrae el Id
del vendedor y este a su ves lo valida automticamente con el id del vendedor de la transaccin
compras.
Cuando hay dos FOR EACH anidados, Genexus busca cul es la relacin de subordinacin existente
entre la tabla base del segundo FOR EACH y la tabla extendida del primer FOR EACH, en el caso
anterior la relacin era que la tabla Compras estaba subordinada a la tabla vendedores por VenId y
establece de esta manera la condicin que deben cumplir los registros del segundo FOR EACH.
Puede darse el caso de que no exista relacin entre ambos FOR EACH, por ejemplo un reporte de
vendedores y proveedores, en este caso Genexus hace el producto cartesiano entre los dos for each; a
este tipo de for each se les denomina FOR EACH PARALELOS.
Para representar for each paralelos se realizar un reporte de proveedores y vendedores, los cuales no
tienen ninguna relacin entre si (grfico 4.34).
Grfico 4.34
A veces es necesario utilizar atributos que no estn almacenados en la base de datos, estos atributos
que no estn en la base de datos se los conoce como variables; son de orden local, o sea solo del
objeto en las cuales se las define. Las variables estn acompaadas de el smbolo (&) y su sintaxis es
&nombre.
Genexus tiene algunas variables predefinidas, es decir que ya tienen un significado propio, como:
&Today que es una variable con que saca la fecha de hoy. Otro ejemplo es la variable &Page que
indica cul es la pgina que se est imprimiendo. Las variables se pueden definir tambin en funcin
de otros atributos, usando la opcin de Based On (grfico 4.35).
Grfico 4.35
Para indicar cmo se insertan variables en un reporte, se realizar el reporte compras por fecha, y a
cada registro se le aadir el total de las compras de cada da, el total de compras ser la variable
insertada (grfico 4.36).
Grfico 4.36
La variable (&SubTot) es una variable de tipo precios, esta suma a todos los ComTo (total de cada
compra) realizada cada da. Cave recalcar que &SubTot no se almacena en la base de datos, porque es
local solo para el reporte.
Este tipo de variables se utiliza para realizar cierres, tanto diarios mensuales anuales, etc, depende del
criterio del analista.
Para tener una idea ms clara de lo que se quiso realizar se va a desplegar los datos del reporte
realizado (grfico 4.37).
La manera como Genexus realiza reportes, se la puede considerar como un generador automtico de
consultas.
Grfico 4.37
En el diseo de reportes existen tambin Comandos de Control, los comandos de control son IF-
ELSE-ENDIF y DO WHILE-ENDDO.
El comando IF-ELSE-ENDIF es muy utilizado para impresin condicional, es decir, imprimir una
lnea solo cuando se cumple alguna condicin. El comando DO WHILE-ENDDO es muy usado para
imprimir varias lneas, por ejemplo si se quiere imprimir dos lneas del reporte.
En esta parte se definen las condiciones que se quieren imponer a los datos, es equivalente a la
clusula WHERE del comando FOR EACH, incluso tienen la misma sintaxis, con la diferencia que
el WHERE se aplica al FOR EACH en el que se encuentran definidas y las condiciones definidas aqu
se aplicarn a todo el reporte. En el Listado de Navegacin se indica a qu FOR EACH se estn
aplicando.
Muchas veces se requiere que las condiciones no sean valores fijos, sino que el usuario elija los
valores cuando se ejecuta el reporte. Por ejemplo, se quiere listar solo algunos productos que el
usuario seleccione antes de ejecutar el reporte productos; esto se hace de la siguiente manera.
Ena vez especificado estas condiciones, aparecer una pantalla de la siguiente manera (grfico 4.38).
Grfico 4.38
Los reportes generados por medio de report Wizard, sor objetos realizados siguiendo una ayuda
propia de Genexus. Es la manera ms fcil y prctica de realizar un reporte. El diseo del layout
consiste en dos pasos.
Primero, se necesita crear una estructura de datos similar a la estructura de una transaccin, algunos
atributos estarn marcados con un (*) que no significa que son claves primarias, si no se est
especificando el orden de despliegue de los datos. (grfico 4.39) En este caso se realizar un reporte
de compras pero generado con wizard.
Grfico 4.39
El primer nivel del reporte se va a ordenar por ComNo y el segundo nivel por ComDId. La
estructura de cualquier reporte nunca modifica la estructura de la transaccin.
El segundo paso simplemente sirve para modificar la forma del reporte, como: fuente, tipo, tamao y
el despliegue de datos: vertical, horizontal o por defecto. (grfico 4.40)
Grfico 4.40
Por ejemplo se realiz un contrato considerable para proveer de suministros petroleros a una
compaa internacional, para complacer de una manera eficaz a estos clientes y para no tener
problemas de abastecimiento, es necesario aumentar en 5 unidades el stock mnimo de cada producto.
Para esto se debe actualizar el campo (PtoStoMin) de la transaccin productos; la modificacin en se
realiza en el ENDFOR siguiente manera (grfico 4.41).
Programa:
For each
PtoStoMin = PtoStoMin + (1 * &stok)
Endfor
Reglas:
Parm( &stok );
No todos los atributos pueden ser modificados. No se pueden modificar los atributos
pertenecientes a la clave primaria de la tabla base del FOR EACH, tampoco se pueden modificar los
atributos que pertenecen al ndice. (orden) con el que se est accediendo a la tabla base.
En el Listado de Navegacin se informa cules son las tablas que se estn actualizando marcando con
un smbolo correspondiente a un lpiz (Grafico 4.42). La tabla a ser modificada es: productos, y el
atributo es PtoStoMin.
Grfico 4.41
Grfico 4.42
Si se quiere rebajar el stock mnimo de un rango de productos especificado por el usuario, solamente
se cambia a frmula y se pone condiciones as: (grfico 4.43)
Grfico 4.43
Se est definiendo la variable &Stoc2, la cual tiene un valor de (4), o sea se va a restar 4 unidades del
stock mnimo, asi: PtoStoMin = PtoStoMin - (1*&Stoc2) . Las condiciones se las define de la
siguiente manera.
PtoId >= ask('Ingrese el Producto Inicial:');
PtoId <= ask('Ingrese el Producto Final:');
Los procedimientos en la vida real se los observa como cualquier objeto Genexus,; constan en las
ventanas por defecto de las aplicaciones. (grfico 4.44)
Grfico 4.44
Genexus genera automticamente work panels para cada nivel de una transaccin diseada, estos se
los utiliza como listas de seleccin de datos cuando existen claves forneas en la transaccin que se
diseo y son conocidos como Promps.
La metodologa de los work panels est enfocada a la programacin de ambientes grficos dirigidos
por eventos. En cada work panel se definen las siguientes partes:
INFORMACIN: Son los datos generales del panel de trabajo, por ejemplo: nombre, descripcin,
tipo de letra, fuenta, etc.
FORM: Es la pantalla de presentacin en la cual va a interactuar el usuario, son similares a las de las
transacciones.
EVENTOS: Aqu se define la respuesta a los eventos que pueden ocurrir durante la ejecucin del
Panel de Trabajo. Por ejemplo, qu respuesta dar cuando el usuario presion: enter, un botn, etc.
REGLAS: Definen aspectos generales del panel de trabajo, por ejemplo: orden de los datos a
mostrar, parmetros, etc.
Para entender mejor la funcin que hace un work panel, se realizar un WP de Vendedores, el cual al
desplegar su informacin y sealando un registro de proveedores, se visualizar con algn botn la
informacin de las compras realizadas por el vendedor.
Primeramente se debe insertar un nuevo objeto Genexus (Work Panel), y a continuacin aparecer
una pantalla en la que va la informacin del objeto como: nombre, descripcin, se pone siguiente y le
saldr una pantalla donde van los atributos del WP (grfico 4.45)
Aqu usted puede ingresar los atributos, o simplemente finaliza la elaboracin de WP para luego
insertar un SUBFILE, (grfico 4.46) que viene a ser un especie de tabla, donde se desplegarn los
datos como una hoja de exel, para desde aqu ser sealados y con alguna otra accin van a ser
modificados o simplemente desplegados. El form y los datos generados por este WP con un subfile
incluidos se los visualiza en los grfico 4.47 y 4.48.
Grfico 4.45
En esta pantalla (grfico 4.45) se inserta los atributos manualmente o se inserta una tabla al estilo
subfile.
Grfico 4.46
Con el dilogo que se realiza para crear un subfile se puede introducir los atributos que se quiere
desplegar en la tabla, en este caso son: VenId, VenApel y Ven Nom.
Grfico 4.47
Grfico 4.48
Como se puede observar a simple vista este WP, pareciera una consulta comn y corriente. Para que
no se lo vea de esta manera falta insertar algn botn que despliegue toda la informacin del
proveedor, o las compras realizadas por cada vendedor sealando a uno de los vendedores que estn
desplegados en el work panel.
Para esto se crear dos botones: Compras que desplegara las compras por vendedor llamando al work
panel de compras y Personal, que desplegara toda la informacin de cada proveedor, igualmente
llamando a un WP Proveedor.
Primeramente, se crear los dos WP que van a ser llamados por medio de eventos, desde el primer
WP creado. (grfico 4.49 y 4.50)
Grfico 4.49
Grfico 4.50
Se observar que los dos WP tienen o llevan la regla: Parm(VenId), esto quiere decir que recibirn la
clave principal de la transaccin vendedores como parmetro, o sea recibirn esa informacin del
vendedor seleccionado en el primer WP.
El primer WP que se realizo, tiene que tener los dos botones adicionales que se mencion
anteriormente: Personal y Compras (grfico 4.51)
Grfico 4.51
EVENTOS:
Event 'Personal'
call(WVendedor, VenId)
EndEvent // 'Personal'
Event 'Compras'
call(WComVen, VenId)
EndEvent // 'Compras'
Cada botn tiene asociado un evento (Enter), los botones asignados a este WP son: Personal y
Compras, los cuales llaman a otros WPs que reciben como parmetros en las reglas las claves
primarias de la transaccin vendedores. El cdigo del evento personal es:
Event 'Personal'
call(WVendedor, VenId)
EndEvent // 'Personal'
Como son eventos Enter se van a disparar cuando el usuario presione enter..
Para demostrar cmo funciona este ejemplo, se empezar sealando a un vendedor del primer WP. Se
marcar al vendedor ID = 01 que es Guerra Bastidas Juan Francisco (grfico 4.52) luego se
seleccionar a las opciones, Personal y Compras, (grfico 4.53) las cuales despliegan la informacin y
las compras realizadas por el vendedor 01.
Grfico 4.52
Marcado de un Registro en el WP
Grfico 4.53
Los WP no solamente pueden llamar a wps, sino a: transacciones, reportes, web panels, etc. En los
ejemplos que se realiz anteriormente de un WP se llam simplemente a otro wp, estos pueden
crecer, ya que de vendedores se puede llamar a la transaccin vendedores, o de compras o un reporte
que enve como parmetro el ID de la compra y con este liste los productos, etc.
Esta forma de trabajar es conocida como EVENT DRIVEN (dirigida por eventos) y es tpica de los
ambientes GUI (Interfaz de Usuario Grfica), en donde ya se ha demostrado su productividad,
fundamentalmente porque se necesita programar slo la respuesta a los eventos y no la tarea
repetitiva que implica el manejo de toda la interfaz.
Para programar cada uno de los eventos se utiliza el mismo lenguaje que en los Reportes y
Procedimientos, aunque no estn permitidos ni los comandos relacionados con la impresin (Header,
Footer, etc.) ni los de actualizacin de la base de datos (New, Delete, etc.).
Tambin existen comandos especficos para Paneles de Trabajo, como son el comando refresh, el
comando load, etc. La estructura de los eventos se la puede observar en el grfico 4.54.
Event Insertar
Call(Tvendedor, INS, 0)
Refresh
EndEvent // Insertar
Este es un evento definido por el usuario, para el cul se debe definir el nombre ('Insertar'). En este
evento se llama a la transaccin de Vendedores.
Tambin se podra haber usado el comando con el parmetro keep (Refresh Keep) que hace que una
vez que el comando refresh se ejecute, el cursor quede posicionado en la misma lnea del subfile en la
que estaba antes de la ejecucin.
Grfico 4.54
Comienzo
Evento Refresh
Evento Enter
Evento Exit
Fin
EVENTO REFRESH. Los datos que se presentan en pantalla son los cargados en el SubFile, que a
su vez fueron cargados desde la base de datos. En un ambiente multi-usuario, los datos de una
pantalla pueden haber quedado desactualizados si desde otra terminal fueron modificados.
Cuando el usuario desea actualizar los datos, debe dar clic sobre el botn Refresh (Renovar), o
presionar la tecla F5. El efecto es que se carga nuevamente el SubFile con informacin actualizada.
En algunos casos desde otro evento tambin se necesita cargar nuevamente el SubFile. Por ejemplo,
cuando en otro evento se llama a una transaccin que actualiza los datos, como sucede con el evento
insertar, aqu el SubFile se carga cuando se genera el evento, y refresh se genera cuando:
Se carga la pantalla, por lo tanto despus del evento Start siempre hay un evento Refresh.
El usuario hizo clic sobre el botn Refresh, o presion la tecla F5.
Se ejecut el comando Refresh en otro evento.
El usuario modific el valor de alguna de las variables de la parte fija del subfile, que son
utilizadas como condiciones sobre los datos a cargar.
Aqu se definen las restricciones de los datos de la misma forma que en los Reportes. Lo interesante
de las condiciones en los paneles de trabajo, es que en las mismas pantallas del WP se pueden
visualizar las variables de las condiciones, de tal manera que el usuario, cambiando los valores de
estas variables, cambia los datos que se muestran en el SubFile sin tener que salir de la pantalla. Por
ejemplo, si se quiere visualizar slo un rango de productos, agrega las variables en la misma pantalla
(grfico 4.55)
Grfico 4.55
Variables
REGLAS:
ORDER: Define cul es el orden de los datos del SubFile. Es equivalente a la clusula ORDER del
FOR EACH y se aplica de la misma manera. En estos casos se aplica ndices temporales, Por
ejemplo, si se quiere ver los productos por orden alfabtico, se define la regla: Order (PtoNom);
NOACEPT: A diferencia de las transacciones, en los paneles de trabajo ningn atributo es aceptado,
siempre se muestra su valor pero no se permite modificarlo. Por ejemplo, en un WP en el que se
desea poner la fecha en el form, se escribe la regla: noaccept( &Fecha );
SEARCH: Cuando el SubFile es demasiado extenso, muchas veces se quiere brindar la posibilidad de
que el usuario pueda posicionarse en alguna lnea determinada del mismo en forma directa, sin
tener que avanzar pgina por pgina. Por ejemplo, si en el WP se quiere que exista la posibilidad de
buscar productos segn su nombre, se debe definir la regla: search( PtoNom >= &Nom ).
De esta manera cada vez que el usuario digite algo en &Nom, luego de dar enter, el cursor quedar
posicionado en el primer proveedor con PrvNom mayor o igual al digitado. Cuando hay muchos
nombres la regla es: search( PrvNom LIKE &Nom ) (grfico 4.56)
Grfico 4.56
Grfico 4.57
El grfico 4.57 muestra cmo actan las condiciones y los search. Primero se digita los productos que
uno quiere ver, en este caso desde el 0005 hasta el 0015, luego en el cuadro de search (bsqueda) se
escribe el nombre de el producto donde se quiere posesionar, pero que este dentro del rango de
bsqueda, entonces se digit (llaves) y el cursor se posesion en el registro 0009 que tiene como
nombre llaves de combo.
Los gerentes, directores, o personas encargadas de la toma de decisiones en las empresas, suelen
utilizar ms a menudo los grficos de los datos.
Para aprender a graficar un determinado grupo de datos, se realizar un Work Panel en el que
consten el Id del vendedor y el total de compras realizadas, este va a tener un evento graficar el cual
se encargar de la graficacin de los datos.
Grfico 4.58
Una vez realizado este proceso, se crear un WP (GraVen) Graficar Vendedores, el cual consta de un
sub file con: VenId y VenPedTot de la transaccin vendedores: (grfico 4.59)
Grfico 4.59
WP para Graficar:
Vendedores y Compras Realizadas
En este WP se observa un botn graficar, el cual es un evento que grafica los datos del mismo WP, la
sintaxis y estructura de este evento se la observa en el grfico 4.60. y los datos graficoados en el
grfico 4.61.
Grfico 4.60
Evento Graficar
Grfico 4.61
Graficacin de Datos
4.8.DISEO DE MENS
Los mens son presentaciones personalizadas, las cuales le permiten al usuario escoger de una forma
personal, las opciones de ejecucin y presentacin de los diferentes objetos, lo nico que se requiere
para elaborar un men es simplemente agregar los objetos que quiera.
Grfico 4.62
Estructura de un MENU
Para que pueda ver como se disea un men, se elaborara un men de COMPRAS: este contendr a
los siguientes objetos: Tcompras, Tcategorias, Tmarcas, RcompraFec.
Primeramente se debe insertar un nuevo objeto (Menu), Luego de esto se debe agregar los objetos
que Ud. Desea con el botn (ADD) y debe poner una descripcin de cmo quiere que se vea en
pantalla; el nombre del objeto como Tcompras se lo inserta en la opcin (PROGRAM NAME)
(grfico 4.62 4.63).
Grfico 4.63
Menu Compras
Primeramente se selecciona: File New Model y aparece la pantalla para cambiar las formas
windows a formas web (grfico 4.64)
Despus de este proceso se genera el proyecto y ya se tiene pantallas web. Cabe indicar que: como el
proyecto fue realizado exactamente bajo formas windows, al cambiar a formas web solamente se
generarn las transacciones y los paneles de trabajo; a los reportes toca cambiar algunas propiedades
para que se puedan visualizar va web.
Grfico 4.64
Pantalla de Propiedades.
Cambio de Form Windows a Form WEB
Grfico 4.65
El grfico 4.66 muestra la pantalla de la transaccin Web productos, desde un ambiente de diseo
generado por defecto (Web Form).
Grfico 4.66
Grfico 4.67
En el diseo de transacciones comunes, se deba pulsar la tecla f4 para visualizar los promps en
cambio en el web van acompaados de una flecha al lado izquierdo. En el grfico 4.67 se observar a
la transaccin productos desde internet.
Grfico 4.68
El grfico 4.68 lista los datos de seleccin de marcas por medio de un web promp, este objeto es
generado e invocado por la transaccin web de productos.
Estas pginas o transacciones web generadas por defecto no son de mucho agrado para el usuario, y
siempre se prefiere pginas personalizadas, o con un diseo ms agradable, a continuacin se
mostrar la transaccin vendedores, con un diseo personalizado.(grfico 4.69)
Grfico 4.69
NOTA:
Esta mini aplicacin que sirvi de muestra para explicar el funcionamiento de Genexus esta
disponible en el CD ROM que viene conjuntamente con la tesis; Est ubicada en la carpeta
Pedidos que tiene otras subcarpetas: Pedidos 1 - - - - - Pedidos 5, cada subcarpeta contiene el
contenido de la aplicacin elaborado por partes, para que el investigador pueda darse cuenta
de los cambios realizados en la aplicacin de una forma ms objetiva.
Para que Ud. pueda ver el funcionamiento del programa tendr que instalar en su PC
Genexus 7.5 Trial Versin, herramienta que la puede bajar de Internet o del CD ROM de la
tesis, esta herramienta es de libre distribucin
El Autor.
CAPTULO V
APLICATIVO
DISEO DE UN SISTEMA DE CONTROL DE
INVENTARIOS Y BODEGAS PARA LA EMPRESA
PETROLERA DYGOIL. CIA. LTDA. UTILIZANDO
GENEXUS 7.0
Introduccin.
Soluciones a Generarse en la Aplicacin.
Anlisis de Necesidades.
Diseo de la Aplicacin.
Implementacin de la Aplicacin.
Prototipo / Produccin.
Aplicaciones para el WEB.
5.1. INTRODUCCIN
El aplicativo a desarrollarse se denomina: Diseo de un Sistema de Control de Inventarios y Bodegas
para la Empresa Petrolera Dygoil. Cia. Ltda. Utilizando el CASE Genexus 7.0. Con la construccin de
est solucin informtica se pondr en prctica todas las facetas de la Herramientas CASE
investigadas en anteriormente.
El objetivo de este captulo, no es la documentacin del sistema desde el punto de vista de la empresa
como: como manuales de usuario, manuales tcnicos; este tipo de documentacin ser entregado a
Dygoil cuando la aplicacin quede totalmente implantada en la misma.
Mas bien se enfoca hacia las personas que estudian el desarrollo de aplicaciones, el cual muestra una
metodologa diferente de disear soluciones de software como es la utilizacin de Herramientas
CASE en todo el ciclo de vida de un sistema.
La herramienta que se utilizar sigue siendo Genexus, pero por motivos tcnicos, se ha realizado un
cambio en la versin de la herramienta.
El sistema a disearse, es una aplicacin de carcter considerable, el cual no poda ser elaborado en su
totalidad con Genexus 7.5 Trial Versin, ya que por tener sus limitaciones en el nmero de objetos a
desarrollar, propios de las versiones trial, no poda cubrir todos los objetos requeridos para el ptimo
diseo de esta aplicacin.
El sistema general se lo realizar con la versin comercial de GENEXUS 7.0 y con su generador
CLIENT / SERVER VISUAL POXPRO GENERATOR.
Para demostrar que las Herramienta CASE si son capaces de generar soluciones multicapa y
multiplataforma, se disear una sola aplicacin con Genexus 7.0, la cual deber ser generada en
diferentes capas y plataformas reduciendo los tiempos y los costos, pero conservando la calidad del
software.
Tambin se disear una mini aplicacin similar con Genexus 7.5 Trial Versin, que simplemente
demostrar las facilidades que brinda la herramienta para desarrollar soluciones completamente para
el web, ya que Genexus 7.0 no cuenta con estos privilegios en su totalidad, debido a que es una
versin anterior.
Cuadro
5.1
C ON
G ENEXUS 7.0
1. Novell, Oracle Windows 98, Visual Foxpro
2. Windows 2000 Server, SQL Server Windows 98 / Visual Foxpro
3. Windows 98 / Visual Foxpro / Visual Basic/ Acces
Para demostrar los ambientes multicapa se elaborar arquitecturas cliente servidor, los cuales se los
puede observar en las dos primeras aplicaciones, que demuestran sistemas en dos capas, la tercera
aplicacin es una arquitectura nativa donde toda la aplicacin y los datos estn en visual foxpro.
Estas arquitecturas nativas no se las toma como cliente servidor dos capas, pueden variar con acces y
visual basic. Por ltimo se har una demostracin de aplicaciones y arquitecturas internet con la
versin trial de genexus.
Para demostrar multiplataforma las aplicaciones sern generadas para Novell Netware y para
Windows.
Cuadro
5.2
SSOO de Red Novell Net Ware 5.1
La propuesta nmero uno es la principal, en base a esto se generarn todas las otras aplicaciones,
dicho de otra manera la base de conocimiento se realizar con estas indicaciones.
Como se puede observar es una aplicacin multicapa y multiplataforma, realizada en una base de
datos grande y considerable, o sea, se est trabajando con un servidor pesado y un cliente liviano,
todos los requerimientos y las propiedades estn relacionadas con la propuesta nmero uno.
A la generacin de las otras aplicaciones, no se le dar tanto nfasis, ya que una vez generada la base
de conocimiento principal solo hay que hacer algunos cambios de propiedades.
Propuesta 2: Windows 2000 Server, SQL Server Windows 98, Visual Foxpro
SSOO Windows 98
La propuesta nmero dos es ana aplicacin cliente servidor, dos capas, uniplataforma y la propuesta
tres, es una aplicacin centralizada o nativa.
Para que el estudioso de estos temas pueda darse cuenta como un case es capaz de generar
aplicaciones para barios Front End, se puede interactuar con Acces y Visual Basic, pero en modos
centralizados, nuevamente se recalca que es por motivos simplemente de no poseer las licencias.
Cuadro 5.5
En esta propuesta web se generar un demo similar al aplicativo, simplemente para demostrar la
generacin de soluciones web, la cual tendr de nuevo, la interaccin de dos servidores: internet
information server y personal web. Para estas soluciones se trabajar con Genexus 7.5 Trial Versin,
porque cubre toda la aplicacin Internet.
Su nombre se forma por la unin de las letras de los primeros apellidos de sus dos principales
accionistas: el Ing. Mauricio Dvalos y el Ing. Cesar Guerra, lo que a llevado a definir: Petroleros,
Dvalos y Guerra (DYGOIL. Cia. Ltda.)
Primeramente se debe crear una transaccin donde se tenga almacenados todos los productos,
debidamente codificados y ordenados de acuerdo a su cdigo. Esta transaccin, se la toma como la
bodega principal en la ciudad de Quito.
Para poder ingresar y codificar los productos, se requiere de otras transacciones como: Categoras,
Subcategoras y Marcas, las cuales deben ser diseadas anteriormente, ya que vienen a ser claves
forneas en la transaccin de productos y son los parmetros principales para la codificacin.
A los productos que estn en la ciudad de Quito, se les asigna una ubicacin, por ejemplo, el producto
04010205 est en la percha de accesorios de taladro, en el bloque 05, parmetro llamado desde la
transaccin Ubicaciones, creada con anterioridad.
Los productos manejan tres tipos de STOCK, un stock disponible, que es el stock que est disponible
en Quito, un stock en ejecucin, que es la cantidad del producto asignada a las bodegas forneas, y un
stock total que viene a ser la suma de los dos stocks. El stock vara dependiendo de los ingresos
egresos y las bajas.
Para alimentar la transaccin productos, se cre una transaccin Compras, la cual viene a sumar el
stock disponible de productos, actualizando la fecha y el precio de la ltima compra en la transaccin
de productos.
Como es normal que algn producto comprado tenga fallas o no cuente con la satisfaccin total de la
empresa, se cre la transaccin Devolucin en Compras, que viene a restar al stock disponible de
productos.
Una vez alimentada la base de datos principal de productos, se puede realizar las transacciones de
bodegas, las cuales vienen a ser una especie de mini transaccin de productos. En estas transacciones
de bodegas, las cuales constan de: Bodega 01, Bodega 02 y Bodega 03 como transacciones
independientes, por motivos tcnicos y econmicos, tienen similares caractersticas que las de los
productos, cave sealar que al ser bodegas independientes si se tiene la posibilidad de incrementar el
nmero de bodegas, ya que se est frente a una tecnologa incremental.
Los productos de las respectivas bodegas, tambin manejan un stock, como el de productos generales,
el stock disponible es el que se puede utilizar, pero solo de la seleccionada, el stock en ejecucin juega
con las rdenes de egreso e ingreso, dentro de la bodega y el stock total es de igual forma la suma de
los dos.
Como cada bodega tiene su base de datos de productos, se realizo una transaccin que se la conoce
como Asignaciones de Bodegas, como son independientes las bodegas, habr una transaccin de
asignacin para cada bodega. Esta toma como referencia y clave fornea el identificador de la bodega.
Cada producto asignado a determinada bodega hace lo siguiente con el stock: resta del stock
disponible y suma al stock en ejecucin de la transaccin de productos generales y suma stock
disponible de los productos de la transaccin bodegas, cada transaccin realizada donde hay: ingresos
o egresos el sistema automticamente le devolver un recibo de comprobacin. Como es lgico cada
bodega tendr la necesidad de devolver algn producto a Quito, para esto se cre la transaccin
Devoluciones de Bodegas, que realiza lo contrario que las asignaciones con los stocks.
Se vuelve a recalcar, que cada transaccin que tenga que ver con bodegas, se la debe realizar
independientemente una de otra, as: si Ud. Realiza una transaccin Devoluciones01 para la bodega
01, debe disear otra transaccin devoluciones02 para la bodega02.
Una vez asignados cierta cantidad de productos a las diferentes bodegas, ya se puede trabajar con
cada una de las bodegas forneas. Se empezar describiendo las rdenes de egreso.
La transaccin Orden de Egreso tiene como objetivo registrar los movimientos de los productos de
una bodega seleccionada. Para esto el trabajador llega a la bodega y saca los productos que necesita
para trabajar, entonces el bodeguero realiza una orden de egreso, la cual consta de nmero de egreso,
fecha, cdigo de la bodega, bodeguero, informacin del proyecto, supervisin, responsable y
productos, los parmetros desde bodeguero hasta aqu son claves forneas.
Informacin del proyecto nace en la transaccin Proyectos, la cual almacena los datos de los
diferentes proyectos subscritos por DYGOIL y las diferentes empresas petroleras, nacionales e
internacionales. En esta transaccin constan el nmero de proyecto, el nombre, la empresa con quien
subscribi el contrato, el campo donde se est operando, el servicio que est prestando DYGOIL, el
personal administrativo responsable y el personal de control responsable, tanto de DYGOIL como de
la empresa contratante. Esta transaccin es muy importante, ya que las empresas petroleras realizan
todas sus transacciones dependiendo del proyecto asignado, y consta en las transacciones de rdenes
de egreso ya que de esta manera se puede saber a que proyecto se asign un determinado producto.
En la transaccin rdenes de egreso consta un responsable, el cual es la persona que saco el producto,
este tiene la obligacin de devolver dicho producto mediante una transaccin Orden de Ingreso, la
cual recibe como clave fornea el nmero de orden de egreso, en las dos transacciones de ingresos y
egresos el sistema automticamente emite un recibo de responsabilidad.
Con las ordenes de ingreso y egreso se mueven las cantidades de los stocks, pero solo dentro de la
bodega elegida, cuando existe una orden de egreso se suma el stock en ejecucin de dicha bodega y se
resta el disponible de la misma, y con la orden de ingreso se suma el disponible y se resta el de
ejecucin.
Como la empresa tambin posee el servicio de Proveedor de Equipos Petroleros, se realizo tambin
un mdulo de ventas, esta transaccin afectar a la bodega principal de Quito.
Todo producto tiene su tiempo de vida til, en especial lo que se refiere a productos petroleros, que
tienen que estar cien por ciento utilizables para no detener la produccin petrolera, es por eso que se
creo dos mdulos de bajas de productos, una transaccin de Bajas Generales, que afecta a la bodega
de Quito, concretamente resta del stock disponible, y otra transaccin de Bajas por Bodegas, que
afecta a la bodega seleccionada como a la principal.
Para cada clave fornea llamada desde una transaccin diferente, se ha generado promps o consultas
de seleccin, la cual valida los datos posibles que pueden alimentar a dicha transaccin.
La informacin para realizar esta aplicacin se la obtuvo, por medio de los: tcnicos, personal de
servicios y personal administrativos de la empresa DYGOIL. Cia. Ltda., a base de preguntas,
criterios y conversaciones sobre lo que est fallando en el control de inventario y bodegas.
Grfico 5.1
Esta es la realidad que desea ver el usuario (grfico 5.1) el diseador de la aplicacin solo tiene que
preocuparse de construir las partes que el cliente quiere ver, con las formas comunes de
programacin, no se puede disear la realidad en los primeros pasos del desarrollo sino que se la ve al
final.
Para disear la realidad en esta transaccin, simplemente se debe de crear una estructura, en la cual
van los datos que se quiere visualizar, y es la siguiente: (estructura 1)
Estructura 1
ArtId*
FamId
FamNom
FamDI
FamDN
FamD2
MarId
MarNom
ArtNom
MedId
MedDes
TarId
TarNom
ArtDes
UbcId
UbcDes
UbcDId
UbcDDe
ArtFuc
ArtStm
ArtStd
ArtSte
ArtStt
ArtPuc
ArtPco
ArtDis
Una vez creada esta estructura la Herramienta CASE genera automticamente la forma, la cual puede
ser modificada a gusto del cliente. (grfico 5.1)
En ArtId* se almacenar el Cdigo del Producto, para poder guardar los datos de esta transaccin,
se llama a las claves principales de las siguientes transacciones: Familia, Subfamilia, Marca, Unidad
de Medida, Tipo de Producto, Ubicacin y Sub ubicacin. Estas transacciones ya fueron creadas con
anterioridad para que puedan ser llamadas por la transaccin productos.
Cave mencionar que si Ud. llama a algunos atributos de una transaccin externa, en la base de datos
solo se guarda la clave primaria de la transaccin a la que fue llamada, con esto se esta impidiendo la
replicacin de datos y ayuda a controlar la normalizacin de la tabla, que Genexus genera para
Tercera Forma Normal.
En estructura 1 se puede visualizar, los atributos que son llamados desde otras tablas, los cuales
estn remarcados con negrillas y son: FamId y FamDId los cuales son atributos principales de la
transaccin familias y subfamilias, FamD2 es el atributo clave de las marcas, se lo considera a
FamD2 y no a MarId, ya que la transaccin familias est diseada para leer determinadas marcas
dependiendo del tipo de subfamilia que se almacene, cuando el usuario quiere almacenar un nuevo
producto, tiene que llenar los datos de FamId y de todos los atributos forneos, los cuales son fciles
de distinguir porque en ellos aparece una vieta de seleccin, la cual llama a un Promp, o lista de
seleccin de los datos almacenados en la transaccin fornea a ser llamada, para esto en la pantalla de
productos no solo sale por ejemplo FamId, sino FamNom que es el nombre de la familia, esto es solo
a manera de lectura y para una mejor visualizacin dentro de la transaccin, ya que en la base de
datos solo se almacenar FamId.
Tambin existen atributos frmula o dicho de otra manera campos calculados, como ArtStt que es el
stock total, el cual nace de la suma del stock disponible con el stock en ejecucin, este atributo no se
almacena en la base de datos.
Una vez generada esta estructura, la herramienta tambin genera un listado de lo que hizo con la
transaccin, como este listado es muy amplio se lo graficar por partes. (grficos 5.2 5.4)
Grfico
5.2
En los grficos siguientes, que son las especificaciones mas concretas de la transaccin, (grfico 5.3)
se especificarn detalles como: a qu tablas accede, de que transacciones, etc.
Grfico
5.3
Grfico 5.4
Como se puede observar en estos grficos, Genexus imprime toda la informacin de los objetos
asociados a la transaccin Productos, incluso presenta un listado de los paneles de trabajo o promps
generados, los cuales son listas para seleccionar los datos de las tablas forneas.
Para esta transaccin la herramienta a generado la tabla ARTIC, la cual se la expone a continuacin
(grfico 4.5), esta tabla es obtenida desde Oracle 8i.
Grfico 5.5
Como se puede observar solo constan los atributos, ya normalizados automticamente por el case, los
atributos frmulas o campos calculados no constan en la base de datos, es el caso de ArtStt artculo
stock total, que suma el disponible mas el de ejecucin, otro campo calculado es el precio comercial, el
cual es el precio de compra mas el 30 por ciento.
El grfico 5.6 nuestra, otra pantalla de la tabla Artic, capturada desde el Shema manager de Oracle 8i.
Grfico 5.6
Grfico 5.7
c c s s m m a a
Categora
Subcategora
Marca
Artculo
Codificacin de Productos
Como se puede observar, los dos primeros dgitos corresponden a la categora, el tercero y cuarto
dgito corresponde a la subcategora, el quinto y sexto a la marca y el sptimo y octavo al detalle de
artculo o producto.
Grfico 5.8
El grfico 5.8 indica a una lista de seleccin de productos, la cual es generada automticamente por la
Herramienta CASE, y sus llamadas tambin son realizadas automticamente, por eso aparecen
vietas en las transacciones. Este panel de trabajo ya tiene sus reglas de comportamiento, una de
ellas es que el usuario puede buscar un producto con la simple insercin de las primeras letras del
mismo, as:
order( ArtId );
search(ArtNom LIKE &C81);
Primeramente est ordenado por ArtId, y despus se puede realizar la bsqueda (search) por el
nombre del artculo.
Siguiendo con la lluvia de ideas, surge la necesidad de adquirir de alguna parte los productos, en este
caso sera de comprar los productos a los proveedores, proceso o transaccin que se le a denominado
adquisiciones.
Grfico 5.9
Esta es la realidad, esta es la idea de cmo se quiere ver a la transaccin adquisiciones (grfico 5.9),
para que esto pueda plasmarse en la aplicacin, simplemente se debe realizar la siguiente estructura:
(estructura 2)
Esta transaccin se a diseado para registrar las compras realizadas a los proveedores, cuando
DYGOIL compre un producto, automticamente se debe actualizar el stock general de productos, en
este caso debe sumar la cantidad comprada al stock general disponible, de la misma manera tiene que
actualizar la fecha y el precio de la ltima compra en la transaccin productos, procesos que se los
realiza mediante reglas de comportamiento, y que van a formar parte de los procedimientos
almacenados en el cliente.
Una vez realizado un comit a esta transaccin, esta llamar a un reporte o factura, el cual se
imprimir automticamente, especificando todo lo referente a la transaccin realizada.
Todos estos pasos se los puede observar por medio del listado de especificaciones de la transaccin
adquisiciones. (5.10 - 5.12)
Estructura 2
AdqId*
AdqFac
AdqFe
TadId
TadDes
ProId
ProRuc
ProNom
AdmId
AdmNre
BroId
BroNom
(AdqDId*
ArtId
ArtNom
MarNom
ArtStd
ArtPuc
ArtFuc
AdqDPu
AdqDCa
AdqDSt)
AdqSt
AdqIva
AdqTot
Estructura de la Transaccin Adquisiciones
Cave indicar que cada nivel tiene su indentificador o clave principal el cual sirve para llamar a la tabla
de la transaccin mencionada, la clave principal del primer nivel es: AdqId* y la del segundo nivel es:
AdqDId*
En el segundo nivel puede ir como clave principal ArtId, pero se recomienda poner un identificador
que no sea identificador principal de otra transaccin, ya que al llamar a los listados de seleccin o al
hacer una transaccin de devolucin, aparecern todos los artculos, mas no los seleccionados en la
adquisicin, esta recomendacin se la hace para todo tipo de transaccin.
Grfico 5.10
AdqFe =today () If Insert, que significa que el campo AdqFe sea igual a la fecha actual.
Tambin aparecen las especificaciones de las frmulas como: vertical frmula de AdqSt, que suma
yodos los subtotales de la adquisicin.
AdqTot=AdqSt+AdqIva est sumando el valor del subtotal con el valor del iva.
Grfico 5.11
En este grfico (5.11) se observa como empieza la herramienta a leer la tabla Adqui1, o si se la podra
llamar como detalle de aplicaciones, la cual fue creada automticamente, tambin indica algunas
reglas como las de no accept, que impide modificar los contenidos de los datos de los atributos
forneos, indica tambin cuales son los campos claves, para un mejor manejo de integridad
referencial, indica tambin a las tablas que accede para formar su transaccin, por ejemplo READ
Bdgro, est leyendo los datos de la transaccin bodeguero, por medio de la tabla Bdgro.
Grfico 5.12
Todas estas reglas son definidas en el diseo de la transaccin; la herramienta se encarga de ver la
forma como las utiliza, tanto en la aplicacin como en la base de datos, una de las frmulas definidas
es la siguiente:
Esta formula permite hacer una suma vertical de todos los subtotales del nivel dos, pero el Genexus
la valida y la interpreta de la siguiente manera:
AdqSt = old(AdqSt)+AdqDStIFinsert;
old(AdqSt)+AdqDSt-old(AdqDSt)IFupdate; old(AdqSt)-old(AdqDSt)IFdelete;
Si Ud. no contara con una Herramienta CASE, tuviera que realizar toda esta frmula; con Genexus
simplemente: AdqST= SUM (AdqDSt)
De la misma manera sucede con la actualizacin del stock disponible en productos, el cual cuando se
realiza una adquisicin, la cantidad de productos comprada desde adquisiciones, debe sumarse al
stock disponible de productos, la regla definida es la siguiente:
add(AdqDCa,ArtStd);
Esto quiere decir: sumar o agregar la cantidad de productos adquiridos (AdqDCa) en la transaccin
adquisiciones al stock disponible (ArtStd) de la transaccin productos; la herramienta la interpreta de
la siguiente manera:
ArtStd = old(ArtStd)-AdqDCaIFdeleteANDlevel(AdqDCa);old(ArtStd)+AdqDCa-
old(AdqDCa)IF(insertORupdateORdelete); (grfico 5.12)
Se a documentado de esta manera el captulo, para que el desarrollador de aplicaciones tenga una
concepcin bastante clara, sobre cmo ayudan las Herramientas CASE en el desarrollo de
aplicaciones de software.
En las lluvias de ideas a alguien se le ocurri tener transacciones con tres o ms niveles, es el caso de
la transaccin familias, la cual lleva anidada a subfamilias y a marcas (grfico 5.13), y la transaccin
proyectos, la cual lleva anidada a personal de supervisin de la empresa contratante y personal de
supervisin de DYGOIL, pero el dilema es cmo realizar estas transacciones.
Grfico 5.13
El grfico 5.13 muestra la realidad de cmo quiere verse la transaccin familias, a su vez es un
ejemplo de diseo de transacciones con todos los niveles anidados. Se seala todos los niveles
anidados ya que se quiere demostrar que: el nivel uno tiene relacin directa con el nivel dos, el nivel
dos tiene relacin directa con el nivel tres, esto implica que el nivel tres tiene relacin directa con el
nivel uno.
Su funcionamiento es el siguiente: en el nivel uno va la parte de las familias, por ejemplo, motores, en
el nivel dos van las subfamilias, como gasolina, diesel, etc, y en el nivel tres van las marcas de las
subfamilias como kumix, international, hino, etc. Esto implica que se puede tener un motor a diesel
marca hino, su estructura es la siguiente: (estructura 3)
Estructura 3
FamId*
FamNom
FamDes
( FamDI*
FamDN
(FamD2*
MarId Nivel 3 Nivel 2 Nivel 1
MarNom
)
)
El grfico indica que todos los datos de todos los niveles son enlazados entre s, todos los datos
dependen mutuamente el uno del otro, lo que no sucede con los niveles paralelos, donde el nivel 1
tiene relacin con el nivel 2, el nivel uno tiene relacin con el nivel 3 y el nivel 2 con el nivel 3 no
tienen ninguna relacin, grficamente sera. (grfico 5.14)
Grfico 5.14
{ {
Nivel 1 Nivel 1
[ (
Nivel 2 Nivel 2
)
(
Nivel 3 (
) Nivel 3
] )
} }
La transaccin familias genera 3 tablas que son: Famil, Famil1 y Famil 2, estas tablas son totalmente
formalizadas y controladas su integridad referencial automticamente; y se pueden observar en el
grfico 5.15.
Grfico 5.15
Para que Ud. pueda darse cuenta de la diferencia existente entre: niveles anidados y niveles paralelos,
se presenta el grfico 5.16, que es la transaccin Proyectos, elaborada con niveles paralelos.
Grfico 5.16
La transaccin proyectos tiene tres niveles, uno que es la informacin del proyecto, y dos mas a
manera de tablas, los cuales son niveles paralelos ya que el dos y el tres no tienen ninguna relacin
entre si, esto se puede divisar de una mejor manera en la estructura de la transaccin, que esta
representada en la estructura 4.
En los niveles paralelos, o tablas como se observa en el grfico, van: el la primera tabla (primer nivel)
el personal de supervisin de la empresa contratante y en la segunda tabla (segundo nivel) el personal
de supervisin de DYGOIL. [MAN007]
Estructura 4
PyeId*
PyeNom
EmpId
EmpNom
SerId
SerNom
CamId
CamNom
PyeEst
PyeRem
AdmId
AdmNre
( PyeDAI*
PyeDAN
PyeDAC )
( PyeDBI*
PerId
PerNom
SupId
SupNom )
Estructura de la Transaccin Pedidos
Niveles Paralelos
Siguiendo con los diseos de la realidad, surge la necesidad de crear las bodegas, las cuales van a ser
diseadas cada bodega como un mdulo diferente, estas tendrn: su cdigo, detalle, descripcin,
ubicacin, tambin tendrn su nivel de bodegueros, y su mdulo de productos, estos dos mdulos
sern de tipo paralelo.
Para cada producto correspondiente a determinada bodega se le asignar otra clave primaria, la cual
sirve solo para la bodega, ya que si se asigna como clave primaria de ese nivel al cdigo del mismo
producto, se estara al frente de la transaccin productos, pero en su totalidad, mas no se visualizara
los productos exclusivos de la bodega, se documentar solo el diseo de la Bodega 01, ya que las
otras bodegas tienen la misma arquitectura. (grfico 0.17)
Grfico 5.17
A ms de los datos propios de la bodega y los bodegueros, esta guarda informacin, sobre todos los
productos que en ella existen, cada cual con una clave primaria propia del nivel de cada bodega, de
est forma permitir observar solo los datos de dicha bodega en los paneles de trabajo llamados desde
cualquier parte.
La transaccin asignaciones de bodegas se encargar de hacer este trabajo, leyendo los productos de
bodegas, restando a los de la transaccin productos y sumando al stock disponible de bodegas. El
grfico 5.18 hace referencia a este tipo de transaccin asignaciones.
Grfico 5.18
Una vez insertada, la cantidad del producto asignado, esta se suma al stock disponible de bodega 01,
y se resta al stock disponible de productos, de la misma forma se suma al stock en ejecucin de
productos. Con este stock disponible de bodegas se empezara a hacer los movimientos de entrada y
salida de los productos, pero dentro de la bodega.
Los movimientos de cada bodega son: rdenes de ingreso, rdenes de egreso, devoluciones y bajas.
Grfico 5.19
Se puede observar que en el primer nivel de este panel, se hace un llamado al cdigo de la bodega,
clave principal de bodegas, y en el segundo nivel a la clave principal del segundo nivel de bodegas, la
cual tiene relacionado a productos, es por eso que solo puede leer los productos asignados a
bodega01.
Estructura 5
A01Id*
A01Fec
A01Det
B01Id
B01Nom
B01Ubi Reglas
AdmId
AdmNre A01Fec = today();
B01D1I Subtract(A01DCa, ArtStd);
BroId Add(A01DCa,ArtSte);
BroNom Add(A01DCa,B01D2D);
(A01DId* Noaccept(B01D2I)if (update);
B01D2I Call(RAsB01,A01Id)if After(Trn);
ArtId
ArtNom
MarNom
ArtStd
ArtSte
B01D2D
A01DCa)
A01Tot
De igual manera actan las devoluciones por bodegas, si no que se las realiza de una manera
contraria, lo que se sumaba antes ahora se resta y lo que se restaba ahora se suma. Esta transaccin
nace de una idea, qu pasar con los productos todava utilizables, designados a cierta bodega, cuando
el proyecto haya concluido.
Tambin, qu pasar cuando un producto este inservible, entonces se pens por medio de los tcnicos
y los directivos, que se debera devolver a Quito, para que tomen all una decisin; el diseo ms
apegado a la realidad de la transaccin devoluciones por bodegas es el siguiente: (grfico 5.20)
Grfico 5.20
Todas las transacciones que tienen que ver con bodegas, se generan como mdulos de cada bodega,
incluso estn elaborados en carpetas diferentes, para apuntar a generar solo en la parte donde est la
bodega y formar una aplicacin y una base de datos distribuidas.
Una vez generado las bodegas conjuntamente con sus productos es la hora de empezar a jugar con
ellos mediante rdenes de ingreso y rdenes de egreso de los productos, estos sern realizados, por el
personal de cada bodega.
Las rdenes de egreso le afectan directamente a la bodega seleccionada, es por eso que a ms de que
la transaccin lleva su propia clave primaria, est llama a los atributos de la bodega, los cuales tienen
productos y stocks, pero de bodega 01, aqu nada tiene que ver el stock de productos general.
En su funcionamiento ya se hace el llamado a los proyectos, ya que se debe tomar en cuenta que si un
trabajador, saca determinados materiales o productos, se debe registrar en que proyecto los est
utilizando.
Se crea tambin otra transaccin para el personal, pero este personal es el que labora o trabaja con la
bodega 01, estos son los responsables de cada material extrado de la bodega. Los responsables a
nivel administrativo son: las personas encargadas de la supervisin por parte de DYGOIL pero de
cada proyecto.
Cuando un material es sacado a trabajar, se resta el stock disponible de la bodega 01, y se suma al
stock en ejecucin de la misma bodega, al concluir o al hacer un comit, de la transaccin rdenes de
egreso, el sistema automticamente imprime un recibo, el cual es aceptado por el personal de
trabajadores responsable, este le servir para realizar su orden de ingreso.
En las rdenes ingreso sucede lo contrario, el trabajador llevando el nmero de egreso, entra al
sistema realizando otra transaccin la cual es : rdenes de ingreso, esta lee todos los movimientos de
las rdenes de egreso y en ese momento ingresa todos los productos prestados por medio de la orden
de egreso, sus reglas mas importantes son:
ADD(I01DCa, B01D2D); suma al stock disponible de la bodega, los productos entregados.
Subtract(I01DCa , B01D2E); resta al stock en ejecucin de la bodega.
Esta transaccin tambin imprime un recibo para constancia del trabajador que a entregado los
productos prestados, su estructura y diseo es el siguiente (grfico 5.22).
Grfico 5.22
Otra de la ideas que surgieron al disear este sistema, fue la baja de productos, tanto desde Quito y
afectando a los productos generales, como desde cualquier bodega afectando a los productos
generales (grfico 5.23).
Cuando un producto: ya no sirve, est caduco, a cumplido su vida til o simplemente est daado,
aparece la necesidad de darle de baja, en este caso la transaccin bajas generales, da de baja a un
producto, pero desde la bodega principal ubicada en Quito.
Sus principales reglas son: Subtract(BagDCa, ArtStd); la cual quita la cantidad de productos al stock
disponible de la base de productos generales.
La transaccin bajas por bodegas, quita o da de baja un producto afectando: tanto a los productos
generales, como al stock disponible de la bodega asi:
Subtract(Ba1DCa,B01D2D); resta la cantidad se productos al stock disponible de bodega 01.
Subtract(Ba1DCa,ArtSte); resta la cantidad de productos al stock en ejecucin de productos
generales.
Resta de las existencias en ejecucin generales, ya que cuando se asign cierta cantidad de productos
desde productos generales, esta cantidad pasa a sumarse al stock en ejecucin de los mismos
productos generales.
Todas estas transacciones tambin imprimen automticamente un recibo para constatacin en papel,
de los interesados.
Grfico 5.23
El mundo del petrleo, el momento que menos se piensa surge un problema y se tiene que
solucionarlo en el menor tiempo posible, en la gran mayora de estos casos se requiere importacin de
repuestos y accesorios, situacin que lleva esperar una cierta cantidad de tiempo considerable, es
cuando se recurre a la compra de estos accesorios a otras empresas petroleras.
Es por eso que DYGOIL a creado el servicio de: Provisin de Insumos y Accesorios Petroleros, el
cual cumple el papel de vendedor de insumos petroleros.
Este mdulo de ventas tambin sirve para la venta de petrleo, servicio tambin instaurado por esta
empresa.
El comportamiento de esta transaccin es muy fcil, ya que simplemente resta los productos vendidos
del stock disponible de la base de productos generales, obviamente la transaccin cuenta con un
nmero de factura, iva y todos los requerimientos que tiene una factura legal; al terminar esta
transaccin el sistema automticamente imprime la factura correspondiente.
Sus reglas principales son: Subtract(VenDCa,ArtStd); resta la cantidad vendida del stock disponible y
call(RVenta1,VenId )if after(Trn); llama a la factura una vez terminada la transaccin, su estructura y
diseo estn en el grfico 5.24.
Grfico 5.24
Dicho de otra manera, una vez analizados los pasos de diseo solo toca saber cuales son las
propiedades a cambiar en la herramienta para que pueda generar una u otra arquitectura.
Requerimientos de Hardware.
Servidor, Pentium III, de 1.0 Ghz en adelante, con 256 MB de memoria ram como mnimo,
disco de 5 Gb en adelante. (Servidor: Novell Oracle)
PC, Pentium III, de 1.0 Ghz en adelante, con 128 MB de memoria ram como mnimo, disco
de 10 Gb en adelante. (Cliente: Genexus Vfoxpro).
Hab pequeo de 8 puertos para la red, si no es posible, enlazar por medio de cable cruzado.
Requerimientos de Software.
Una vez conseguidos estos requerimientos, se va a cambiar las propiedades por defecto que vienen en
la herramienta (grfico 5.25), estas propiedades son de tipo general, las cuales hacen mencin al tipo
de generador utilizado, al tipo de base de datos, en si son las especificaciones principales de Genexus
para generar aplicaciones en diferentes arquitecturas.
Si se quiere cambiar de un modelo a otro se llama a un nuevo modelo y se especifica las propiedades
en la pantalla del grfico 5.25.
Grfico 5.25
Aqu se puede observar: el nombre de la aplicacin, Name: DYGIVN, el tipo, Type: Prototype, el
generador, Clien/Server Visual Foxpro, la base de datos o DBMS, Oracle, que son la estructura
misma de las propiedades de la aplicacin.
Luego de esto se debe insertar las: preferencias ( preferences) y las opciones de la base de datos
(DBMS options) las cuales son los aspectos fundamentales a cambiar para el funcionamiento de
determinada arquitectura.
Las preferencias y las opciones de la base de datos, son el nico proceso un poquito tedioso cuando el
desarrollador est empezando a manejar Genexus con determinada arquitectura, este es el proceso
que requiere de ms investigacin, ya que son temas con bibliografa restringida, solo para clientes
comerciales de la herramienta, es por eso que las versiones triler o relace no tienen ningn tipo de
soporte con respecto a estos temas. [MAN001] [MAN003] [MAN004]
5.5.3. PREFERENCIAS
Generator information
Tables in server All tables are in the
server
Local tables if tables in server= *
Index type for local tables Use .IDX indexes *
Reorganize Server Tables Yes*
General
Join management Join tables on the server
*
Join Type Use default for server*
Transactional Integrity All files *
Isolation Level Read Committed*
Initialize not referenced attribute No*
Generate null for nullvalue() No*
Optimization
Delete groups Yes*
Aggregate groups Yes*
Copy table groups If no unique index*
Hints
Fast first rows Yes*
Transactions dialog locking sch Pseudo-conversational
(updated tables only)
Confirm Do not confirm each
action
List of remote programs (ODBC) *
Default remote procedure location *
AS/400
Library list *
OS for AS/400 version V2R2*
Field exit Tab*
Cancel button action Exit form*
Esc key action Exit level*
Autocenter objects in (0,0) No*
Show status bar Depending on object
type*
Error if control value invalid Yes*
End Tab Page Action Exit tab*
Combo/Listbox Style Show Descriptions
Only*
Show Form Before Start Event*
Color In Read-Only Fields Original*
Click to sort in subfiel (workpanel) Enabled*
PRINTING
Show Printer Dialog on Reports Yes*
Grfico 5.26
Objetos Generados por Genexus - con una sola Bodega (Primera Parte)
Grfico 5.27
En estos grficos se puede ver cada objeto generado, por Genexus, las transacciones tienen su
identificador que es: trn, los reportes rpt, y los work panels: wkp, hasta el momento se tienen 32
transacciones y 50 paneles de trabajo, en este simple ejemplo el programador ya se ahorra de
programar las 50 listas de seleccin, ya que el case los genera automticamente.
Genexus genera dos tipos de diagramas relacionales, conocidos de otra forma como: diagramas
entidad relacin, el primer diagrama se lo puede generar por medio de transacciones, el cual relaciona
exactamente a las transacciones de la aplicacin y el segundo relaciona a las tablas generadas por
medio del diseo de las transacciones.
Todos estos diagramas son generados automticamente, el desarrollador no tiene que estar viendo
cual tabla o cual transaccin est asociada una con otra, sino que la herramienta recoge la
informacin guardada en la base de conocimiento perteneciente a la aplicacin, y por medio de esta
genera todo tipo de relacin en un modo grfico comnmente conocido como diagramas entidad
relacin.
Los diagramas transaccionales se los puede considerar como diagramas entidad relacin de
entidades y los diagramas de tablas se los considera entidad relacin de tablas.
Los diagramas que se presentan a continuacin abarcan no solo a la aplicacin con la bodega01 sino
que abarcan a la aplicacin con las tres bodegas; donde se tiene 76 tablas y 45 transacciones.
Grfico 5.29
Grfico 5.30
Se presenta estas tres vistas de la base de datos, para que el desarrollador de aplicaciones observe,
que no necesita cambiar absolutamente nada para generar la misma aplicacin en diferentes bases de
datos, como se puede observar en la base de datos generada por Genexus y aplicada en: oracle, sql y a
acces y su programacin no cambia absolutamente nada.
Estas son las grandes ayudas que presenta una Herramienta CASE, sin la utilizacin de las mismas
tocara volver a programar nuevamente gran parte de la aplicacin para pasar de una arquitectura a
otra.
Las empresas exitosas de hoy en da utilizan Herramientas CASE, porque las ventajas que brindan
son palpables a simple vista.
5 .6 . PROTOTIPO / PRODUCCIN
El cambio prototipo produccin es un cambio de forma, ya que lo que el sistema desarrollado en
prototipo es un replica exacta de la aplicacin en produccin. Simplemente se debe cambiar las
propiedades del modelo de prototipo a produccin y la aplicacin esta netamente en produccin.
El grfico 5.31 muestra una transaccin ya en ejecucin, este modo ejecucin puede ser visto desde
aplicaciones en modo prototipo y transacciones modo produccin.
Cuando el director del proyecto, presenta hacia su jefe una aplicacin clara de lo que quiere realizar
(prototipo), es mas fcil ver las posibles ventajas del mismo, lo cual le permite tomar decisiones de
una forma mas rpida, este prototipo debe ser capaz de utilizar los sistemas adquiridos
anteriormente, capaz de que no se pierdan los datos ni se desperdicie el tiempo y los costos asignados
a los anteriores sistemas. En si el prototipo es el diseo mismo de la realidad, la imagen de la
transaccin del grfico 5.31 es el mismo en prototipo o produccin.
Grfico 5.31
El requisito principal para que este sistema, generado con genexus 7.5 funciones es internet explorer
6.0 ya que desde la versin 7.5 de Genexus solo se puede generar aplicaciones siempre y cuando
cumpla este requisito.
Se demostrar una o dos transacciones, primeramente en modo windows y luego en modo web, para
que Ud. vea que no existe ningn cambio en el fondo de las estructuras de estas transacciones.
El grfico 5.32 muestra la misma transaccin productos, que en este caso se le va a nombrar como
artculos, generada para modo Windows, y el grfico 5.33 muestra a su estructura.
Grfico 5.32
Grfico 5.33
Para generar soluciones web con genexus 7.5 en adelante, basta con realizar un cambio en las
propiedades de la aplicacin de modo windows a modo web. (grfico 5.34).
Grfico 5.34
Como se observar en este grfico, con el simple cambio de User Interface a Web Form en vez de
Win Form, la aplicacin ser generada totalmente en el web.
Incluso sus work panels por defecto se generarn para el web, el grfico 5.35 muestra cmo Genexus
genera transacciones internet, esta transaccin es generada por defecto es por eso que sale en un
modo no tan presentable.
Las versiones anteriores de Genexus como la 7.0 son capaces de generar objetos web pero solo a
manera de consultas, dicho en otras palabras solo generan paneles de trabajo, en cambio con esta
versin 7.5 ya se puede hacer alimentacin en tiempo real pero desde el Internet, el grfico 5.35
muestra la misma transaccin generada para el web.
Grfico 5.35
Para generar este tipo de transacciones, Genexus 7.5 utiliza la tecnologa de las pginas ASP (Pgina
Activa de Servidor), ya que son pginas con una gran cantidad de contenidos interactivos, porque
realizan alimentacin de datos en lnea por medio de interfaces web.
Se da cuenta Ud. cmo una Herramienta CASE le ahorra tiempo para generar aplicaciones web,
desde una simple especificacin de una estructura, cunto tiempo le tomar al programador
desarrollar esta pgina con herramientas puras como: SQL, html y visual basic, el grfico 5.36
muestra la misma transaccin aplicando un poquito de diseo grfico.
Grfico 5.36
Grfico 5.38
Grfico 5.39
CAPTULO VI
EVALUACIN DE UNA
HERRAMIENTA CASE
La utilizacin de una Herramienta CASE no queda en la simple ilusin del usuario, por sus
atractivas y revolucionarias maneras grficas de diseo, por su simplicidad y consistencia que se
adhieren al principio de asombro mnimo, aceptando que los sistemas desarrollados con estas
herramientas nunca sorprenden.
Para la mayora de organizaciones de tamao medio y grande, y para las compaas de desarrollo de
software, la problemtica no est en la decisin de adquirir una Herramienta CASE, sino en la
introduccin del CASE en las primeras etapas del ciclo de vida del sistema, esta introduccin se lleva
a cabo teniendo en cuenta todos los aspectos considerados con el desarrollo de un proyecto
informtico, en el cul se aade las caractersticas muy particulares de los usuarios y el personal
operador del sistema.
La tecnologa CASE no es substituto de una buena gestin del proyecto, la actitud de los
profesionales, puede afectar beneficiosamente o no al uso de esta tecnologa, los proyectos de
software quedan a menudo fuera de control porque los directivos no programan una buena campaa
de introduccin[LIB003] [www034].
Se presentan las causas del fracaso de las Herramientas CASE, para que los desarrolladores de
software y los directivos de las empresas, tomen en cuenta ciertos criterios y puedan realizar una
comparacin adecuada si estn o no preparados para introducir esta tecnologa:
La tecnologa CASE es una parte muy importante de la solucin de la crisis del software, pero no
debe considerarse como la solucin total a todos los problemas, el simple hecho de comparar
Herramientas CASE es probable que no tenga el efecto deseado en la mejora de la calidad y
productividad del software. Una solucin total a la crisis del software debe verse a travs de mltiples
facetas: gestin, personal, herramientas y metodologas [LIB003].
Esta propuesta diseada para evaluar Herramientas CASE funciona de la siguiente manera: se
formular una definicin conceptual y una definicin operacional de cada uno de los indicadores que
implican a las Herramientas CASE.
La definicin conceptual se basa en una serie de preguntas que le permitirn al evaluador tomar en
cuenta una amplia gama de aspectos que deben ser considerados.
En la definicin operacional se tomar criterios y subcriterios, sobre temas netamente tcnicos, los
cuales tendrn una valoracin a manera de pesos, stos sern posteriormente tabulados para sacar un
porcentaje y una calificacin que determine la calidad de la herramienta evaluada; a los criterios y
subcriterios se los puede considerar como mtricas de evaluacin.
Todos los indicadores a ser evaluados, abarcan directamente a todo el personal relacionado con la
empresa: directivos, administrativos, tcnicos, usuarios, clientes, proveedores, entre otros. Ya que si
alguno de stos no tiene una buena: informacin, motivacin y predisposicin para trabajar con la
nueva herramienta puede ser un elemento causante del fracaso del proyecto CASE.
Los diferentes indicadores utilizados para este trabajo, se los evaluar de forma independiente y luego
sern tabulados en un de los tres grandes grupos de evaluacin; estos son:
Aspectos Preliminares.
Aspectos Internos.
Aspectos Externos.
El valor del peso que puede tomar cada subcriterio, es nico y especfico, y se encuentra impreso en
la parte derecha del subcriterio, esta tcnica se implanta para que no haya problemas de ambigedad
o de preferencias hacia alguna herramienta en particular, por ejemplo: La herramienta genera cdigo
ejecutable?, tiene una respuesta de SI o NO, entonces se tendra un rango de calificacin como uno o
cero respectivamente.
Esta sera la manera ms imparcial y honesta para evaluar Herramientas CASE, ya que si se coloca
un rango de calificacin de uno al diez, se deja abierto al criterio del evaluador la calificacin de dicho
indicador, dando como resultado una calificacin no tan transparente. En la tabla 6.1 se observa un
ejemplo de criterios, subcriterios y pesos.
Como se observa en la tabla 6.1 existen dos tipos de seleccin de subcriterios, el uno que puede elegir
varios subcriterios de cada criterio, el segundo que puede elegir un solo subcriterio de cada criterio;
en el primer caso la calificacin ser la suma de los pesos de los subcriterios elegidos y en el segundo
caso ser el valor del peso del subcriterio elegido.
Para plasmar la metodologa de evaluacin en con una herramienta real, se evaluar a la Herramienta
CASE GENEXUS 7.5. A continuacin se presentan los criterios y subcriterios de esta primera etapa
de evaluacin.
Desconocida
Poco Conocida.
Conocida
Experiencia previa del grupo seleccionado con la Herramienta CASE. Se refiere a que si los
desarrolladores de la herramienta tienen o han tenido algn conocimiento sobre la herramienta, sus
literales son:
Nada
Poco
Expertos
Nada
Pocas
Muchas
Referencias de autores. Las referencias de los autores, sirven para realizar contactos en caso de
problemas y expectativas de la herramienta y de sus publicaciones, las valoraciones son las
siguientes.
Nada
Pocas
Muchas
Costos. Los costos de las Herramientas CASE por lo general son elevados, pero a mediano plazo, no
se convierten en gasto sino en inversin, ya que todo lo que sea para mejorar los procesos de:
automatizacin de la informacin y de desarrollo de soluciones siempre son bien venidos. Sus
calificativos son:
Elevados
Medios
Bajos
Gratis
Mala
Buena
Excelente
Prestigio del distribuidor general. El prestigio que tiene el distribuidor general o dueo de la
herramienta, es de mucha importancia, ya que es el primer certificado de garanta para el que desea
adquirir la herramienta, nadie podr dudar del prestigio de los productos IBM.
Malo
Bueno
Excelente
Prestigio del distribuidor local. El prestigio que tiene un distribuidor local, es un poco mas difcil
de descubrirlo, ya que en nuestro medio las empresas fantasmas se han convertido en el pan de cada
da, si esto llegar a suceder el cliente no pierde la herramienta, sino, pierde las garantas que le
brindaba este distribuidor, muchas de las polticas de los distribuidores locales, daan el prestigio que
tiene una herramienta opacando todas las ventajas que presenta la misma.
Malo
Bueno
Excelente
Seriedad del contacto del proveedor. El contacto asignado por el proveedor, es la persona que
puede levantar o echar abajo todo el prestigio ganado por los proveedores locales y generales.
Es la persona clave para impulsar los primeros pasos de la implantacin de la nueva tecnologa, de l
depende que la herramienta siga teniendo xito o fracase.
Muchas ocasiones, el contacto se presenta como la persona ms amable del mundo, hasta que logra
vender su producto, pero cuando el cliente necesita accesoria o ayuda de la convenida en los contratos
de adquisicin, desconoce a todo mundo.
Es por eso que se pondr pesos considerables a este criterio, el comprador debe primero tomar
referencias del contacto antes de cerrar el negocio, ya que si por mala suerte cay con una persona
contactante de estas caractersticas, los arrepentimientos pueden ser demasiado tarde.
La informacin del contacto no se la debe sacar de la empresa donde trabaja, sino de los clientes a los
cuales ya les vendi la herramienta; si no existe en la empresa otro contacto, cambie de proveedor, no
se deje engaar por vendedores y marquetineros de mala fe, asegrese de escoger una persona que de
verdad se preocupe por su organizacin.
Psimo
Malo
Bueno
Excelente
Garanta por incumplimiento y fallas presentadas. Es la garanta que brinda el proveedor por
incumplimiento en la entrega del producto y por la no entrega de requerimientos convenidos, como
tambin la responsabilidad por fallas, su calificacin es muy objetiva:
No
Si
No cubre
Cubre una parte
Cubre todo el proceso
Ambientes de Generacin: Son los ambientes en los cuales puede generar cdigo, sus calificativos
son los siguientes:
Windows
Web
Texto
Arquitecturas Generadas. Es el tipo de arquitectura para las cuales puede generar aplicaciones,
tendrn mayor valor las multiplataforma ya que se puede distribuir a la aplicacin. [www034]
Nativa
Dos capas
Multicapa
La tabla 6.2 indica claramente la tcnica de evaluacin de una Herramienta CASE, tomando como
criterio la seleccin y adquisicin, los valores seleccionados estn relacionados con la Herramienta
GENEXUS 7.5.
Los criterios de hardware, estn relacionados a los requerimientos que necesita la herramienta para
su ptimo funcionamiento, relacionndolos con la tecnologa actual, y la infraestructura con la que
cuenta la organizacin.
Este criterio influye mucho en lo que es costos, ya que si la herramienta es muy cara y a ms de eso
requiere propiedades del software que se salen de los parmetros de presupuesto, muchas veces no se
puede cubrir estos valores, los criterios son:
Hardware que necesita la herramienta. Este criterio tiene tres subniveles que son: poco, mucho,
nada. Esto se refiere al hardware adicional que se debera instalar en la organizacin una vez
instalada la herramienta.
Hardware que dispone la organizacin. Es el hardware que dispone la organizacin, con relacin a
los requisitos de la herramienta, sus niveles seran: compatible, no compatible e intermedio.
La calificacin obtenida de la primera etapa de evaluacin es 66/100, Como se puede observar se han
asignado pesos especficos a cada criterio de evaluacin, tomando en cuenta el grado de importancia
de estos criterios. La tcnica de tabulacin se la realiza por medio de regla de tres de la siguiente
manera.
6.3.4 COMPONENTES
Tabla 6.9 Componentes
COMPONENTES
Criterio Subcriterio Peso Selec Total
Es una herramienta No 0
1
integrada Si 1 X
Tiene facilidad para No 0
1
diagramacin Si 1
Flujo de datos 1 X
Modelo de datos 1 X
Diagramas genera 3
Estructura de 1 X
rbol
No 0
Es generador de
1
pantallas Si 1 X
Texto 1 X
Tipo de pantallas que
Windows 1 X 3
genera
Web 1 X
Tiene un repositorio No 1
4
comn Si 4 X
Tiene facilidad para No 0
1
documentacin Si 1 X
Visual estudio 1 X
Visual .net 1 X
Java 1 X
Delphi 1
Es generador de cdigo 4
Ambientes c++ 1
Ambientes IBM 1 X
Otros lenguajes 1 X
Otros ambientes 1
Realiza simulacin por No 0
1
prototipos Si 1 X
Calificacin Ideal 23 Total 20
[LIB003] [www0033]
[LIB003] [www0033]
[LIB003] [www0033]
6.3.9 . FUNCIONALIDAD
Tabla 6.14 Funcionalidad
FUNCIONALIDAD
Criterio Subcriterio Peso Selec Total
Bajo 1
Cantidad de lenguajes en
Considerable 2 X 2
que genera el cdigo
Alto 3
Muy poco 1
Cobertura del cdigo Una o varias 2
3
generado partes
Todo 3 X
Poca 1
Grado de completitud
Considerable 2 3
del cdigo generado.
Todo 3 X
Malo 1
Calidad del cdigo
Bueno 2 3
generado
Excelente 3 X
Mala 1
Calidad de los reportes
Buena 2 3
que genera
Excelente 3 X
Poca 1
Grado de completitud de
Considerable 2 3
los reportes
Todo 3 X
Bajo 1
Nivel de generacin de
Medio 2 3
prototipos
Alto 3 X
Cantidad de lenguajes Pocos 1
soportados para Varios 2 X 2
reingeniera Muchos 3
Mala 0
Calidad del producto de
Buena 1 X 1
Reingeniera
Excelente 2
Calificacin Ideal 26 Total 23
[LIB003] [www0033]
6.3.12 FLEXIBILIDAD
[LIB003] [www0033]
A continuacin se va a evaluar los aspectos externos, aqu constan criterios que estn fuera del
alcance de lo que es propiamente la herramienta, se evaluarn los conceptos que tienen que ver con
los proveedores conjuntamente con las garantas que brindan a los usuarios de dicha herramienta.
[LIB003] [www0033]
6.4.2 ENTRENAMIENTO
[LIB003] [www0033]
[LIB003] [www0033]
6.4.5 COSTOS
Ahora se va a proceder a cerrar y tabular todos los indicadores evaluados anteriormente, dicho en
otras palabras se va a cerrar todo el proceso de evaluacin.
Los aspectos preliminares tienen una importancia del veinte por ciento, los aspectos internos tienen
el cincuenta por ciento y los aspectos externos el treinta por ciento.
Por el resultado obtenido de 83.7 /100, le herramienta Genexus 7.5 se la considera: Muy Buena.
CAPTULO VII
CONCLUSIONES Y
RECOMENDACIONES
Verificacin de la Hiptesis
Conclusiones
Recomendaciones
Para poder comprobar el contenido de la hiptesis de una manera real, se realiz un sistema de
control de inventarios y bodegas para la empresa petrolera: DYGOIl. Cia. Ltda. utilizando la
Herramienta CASE: GENEXUS.7.0.
La tcnica de comprobacin es la siguiente: Se dise una sola base de conocimiento del sistema, esta
base de conocimiento se la gener en diferentes capas y plataformas, y se evalu: costos, tiempos,
facilidades de generacin de una plataforma a otra y calidad del software generado.
La base de conocimiento modelo fue diseada para que funcione bajo una arquitectura cliente /
servidor de dos capas, utilizando Novell Netware 5.1 como sistema operativo de red, con un sistema
gestor de base de datos Oracle 8i y en la parte del cliente Windows 98 con Visual Foxpro como
lenguaje de programacin.
Una vez terminada esta aplicacin, se tom la misma base de conocimiento y con un simple cambio
en algunas de las propiedades de la herramienta, se gener aplicaciones para: Windows 2000 Server,
con SQL Server 7.0 en el servidor y Windows 98 con Visual Foxpro en el cliente, generando de igual
manera un sistema cliente servidor de dos capas.
Con esto se demuestra que las herramientas CASE s son capaces de generar sistemas multicapa y
multiplataforma, ya que se gener soluciones: centralizadas, dos capas y web, tanto para plataformas
Windows y plataformas Novell y la calidad del software fue excelente en cada arquitectura generada.
Los costos y tiempos de generacin de una misma aplicacin, en distintas capas y plataformas,
utilizando Herramientas CASE y programacin comn, son extremadamente impresionantes, ya que
si no se utilizara Herramientas CASE se necesitara por lo menos un experto para cada arquitectura
generada, esto implica tiempos ms largos y precios ms altos por cada solucin a generarse.
El tiempo que se tard en el diseo de la base de conocimiento con Genexus 7.0 fue de cuatro meses y
el tiempo de generacin en cada arquitectura mencionada vari de diecisis a veinte segundos y el
recurso humano fue de una sola persona experta en el manejo de la herramienta.
Se estima que con programacin comn, para generar la misma aplicacin en una arquitectura
diferente se necesita un tiempo igual al de generacin de la primera aplicacin, en este caso de tres a
cuatro meces, comparado con veinte segundos que tarda generar la aplicacin con Genexus la
relacin programacin comn versus Herramientas CASE es sumamente grande.
Con esta explicacin queda demostrada la segunda parte de la hiptesis, que es: Las Herramientas
CASE s son capaces de generar soluciones a tiempos mnimos y con costos bajos. La tabla 7.1 indica
los tiempos y costos de generacin de una manera ms especifica.
7.2. CONCLUSIONES
Las conclusiones a las que se lleg en esta tesis fueron obtenidas a base del estudio de la parte terica
y plasmadas en la realizacin del aplicativo.
Las Herramientas CASE reducen costos y tiempos de generacin; porque para cada
aplicacin generada no se vuelve programar nuevamente todo el sistema; solamente se debe
realizar pequeas modificaciones en la base de conocimiento que tiene el sistema de
referencia o prototipo, permitiendo de esta manera la reutilizacin total del cdigo ya
generado, propiedad que lleva a reducir: tiempos, personal y requerimientos de generacin.
Las Herramientas CASE aportan a la generacin de prototipos, los cuales son copias exactas
de la aplicacin real, donde se puede realizar: pruebas, cambios, adaptaciones, etc. Sin que
esto afecte a la aplicacin en produccin; afectar a esta aplicacin siempre y cuando los
cambios realizados en prototipo hayan sido completamente probados y aprobados por el
grupo desarrollador. Los prototipos sirven tambin para demostrar al cliente un demo del
software que va a adquirir.
Genexus 7.5 Trial Versin, tal como est almacenada y publicada en Internet no genera
soluciones cliente servidor para bases de datos que necesitan conexiones ODBC o JDBC solo
se puede realizar soluciones para acces, se comprob en diferentes mquinas y con diferentes
expertos de Genexus. Es por eso que el aplicativo se desarrollo con Genexus 7.0.
7.3. RECOMENDACIONES.
CON RESPECTO A LAS HERRAMIENTAS CASE
Es mejor utilizar herramientas tipo Workbench ya que utilizara una sola metodologa y
cultura de desarrollo en todo el ciclo de vida de la aplicacin.
Cuando ya se decidi por utilizar la tecnologa CASE , se recomienda empezar con un plan
piloto bien diseado.
No piense que las Herramientas CASE son la solucin total a sus problemas de software;
estos problemas tienen diferentes causas.
No ponga sus sistemas en produccin sin antes haber probado y aprobado en prototipo.
Tenga mucho cuidado con la seriedad del distribuidor de la herramienta, ya que lo pueden
sorprender con cosas que usted no saba el momento de adquirir la herramienta; esto sucede
incluso en las versiones educativas y de libre acceso.
En definitiva con todas las ventajas de las Herramientas CASE presentadas en esta
investigacin, se recomienda cambiar la programacin convencional por metodologas CASE,
ya que su objetivo principal es mejorar y automatizar el proceso de desarrollo de software.
Todos los atributos que desea utilizar deben estar en la estructura de la transaccin, por
ejemplo quiere modificar el stock de productos desde compras, en la estructura de la
transaccin compras debe estar el stock del producto, caso contrario no se puede realizar las
reglas.
No se recomienda utilizar objetos como: combo box, check box, radio button, porque estos no
los puede leer el promp generado por defecto, se recomienda realizar transacciones pequeas,
que le permitan la seleccin de informacin.
Se recomienda nombrar los atributos con un nmero mximo de seis caracteres, ya que
algunas bases de datos cumplen este estndar de generacin y al pasar de una arquitectura a
otra va a tener problemas.
Para quitar el men por defecto que genera Genexus cuando se corre la aplicacin, se puede
crear un panel de trabajo y determinarlo como objeto main.
Muchas veces Genexus genera sin problemas a toda la aplicacin, pero cuando se desea ver la
base de datos las tablas no constan el ella; para solucionar esto debe activar la preferencia: all
tables in the server, que quiere decir que todas las tablas estn en el servidor.
Para generar una aplicacin ya realizada en una arquitectura diferente, es mejor crear un
nuevo modelo y generar la aplicacin, caso contrario si genera en el mismo modelo anterior
al momento de ejecutarla la aparecer algunos errores.
Todas estas recomendaciones no constan el los manuales de Genexus disponibles en nuestro medio.
El Autor:
NDICE
CAPTULO I
INTRODUCCIN A LAS HERRAMIENTAS CASE
CAPTULO II
SOLUCIONES CLIENTE / SERVIDOR GENERADAS POR HERRAMIENTAS CASE
2.10. TCTICAS PARA SOLUCIONES CLIENTE / SERVIDOR GENERADAS CON CASE .......................................... 64
CAPTULO III
SOLUCIONES INTERNET GENERADAS POR HERRAMIENTAS CASE
3.2.1. GENERALIDADES........................................................................................................................................................................ 75
3.2.2. COMPONENTES DE UNA APLICACIN WEB TRES CAPAS .................................................................................... 77
3.2.3. PROGRAMACIN DE APLICACIONES WEB. .................................................................................................................. 77
CAPTULO IV
GENEXUS DESARROLLO DE APLICACIONES
CAPTULO V
APLICATIVO
CAPTULO VI
EVALUACIN DE UNA HERRAMIENTA CASE
CAPTULO VII
CONCLUSIONES Y RECOMENDACIONES
BIBLIOGRAFA
ANEXOS