Documentos de Académico
Documentos de Profesional
Documentos de Cultura
METODOLOGA GENEXUS
400
Filosofa de GeneXus
Sistema de Compras
Sistema de Ventas
Sistema de Sueldos
401
Sistema de
Ventas
Sistema de
Sueldos
PROBLEMA: no se cuenta en la
empresa
con
informacin
corporativa,
resultando
ser
informacin no confiable
Implementar un sistema corporativo suele resultar una tarea muy compleja cuando se utilizan
herramientas tradicionales, por lo que generalmente no se lleva a cabo.
Esto trae como resultado que se tengan aplicaciones independientes, cada una resolviendo un
problema operativo particular, sin la posibilidad de obtener informacin corporativa.
As encontramos por ejemplo en una empresa comercial: una aplicacin de Ventas, otra de
Compras, otra Contable, etc.
En consecuencia no se cuenta en la empresa con informacin corporativa, resultando por lo tanto
ser informacin no confiable (por la aparicin de informacin redundante).
402
Sistemas Corporativos
La integracin de las Aplicaciones operativas de la
Organizacin es la base para poder construir los sistemas para
el rea de Gestin y Gerencial:
INFORMACION
GERENCIAL
APLICACIONES PARA
EL REA DE GESTION
403
404
405
KB Compras
KB Sueldos
KB Corporativa
KB Ventas
406
3. Desarrollar asegurando la
Integrabilidad de las KBs
Las KBs no son disjuntas, sino que comparten cierto
conocimiento.
La siguiente pregunta que surge es Cmo administrar
el conocimiento en comn, para que al momento de
consolidar todas las KBs el impacto sea mnimo?
Plantearemos el tema suponiendo por un momento, que en
una empresa se realiza la divisin del sistema a desarrollar
en 2 mdulos y 2 equipos comienzan con el desarrollo de
KBs diferentes sin coordinar nada de antemano...
407
Ejemplo
KB 1 COMPRAS
KB 2 VENTAS
Objetos:
Objetos:
Proveedores
Clientes
FacturasCompra
FacturasVta
Productos - - - - - - - - - - - - - - - - - - - -Productos
Bancos - - - - - - - - - - - - - - - - - - - - - -Bancos
Agencias - - - - - - - - - - - - - - - - - - - - -Agencias
Compras
Ventas
OrdenesCompra
NotasCredito
DATOS
PROGRAMAS
DATOS
PROGRAMAS
408
Ejemplo
Consolidacin de KB1 (COMPRAS)
COMPRAS
COMPRAS
KB CONSOLIDADO
Base
de Datos
PROGRAMAS
409
Ejemplo
Consolidacin de KB2 (VENTAS)
COMPRAS
COMPRAS
VENTAS
VENTAS
Anlisis de
Impacto
Proceso de
consolidacin
KB CONSOLIDADO
Base
de Datos
PROGRAMAS
410
Ejemplo
Problemas que surgen en la consolidacin del conocimiento
KB1 COMPRAS
KB2 VENTAS
Objeto: Invoice
Descripcin: Supplier Invoice
Objeto: Invoice
Descripcin: Customer Invoice
SupplierInvoiceId*
SupplierId*
SupplierName
InvoiceDate
(ProductId*
......)
CustomerInvoiceId*
CustomerId
CustomerName
InvoiceDate
(ProductNum*
.......)
411
Ejemplo
Problemas que surgen en la consolidacin del conocimiento
Visiones diferentes de las relaciones
Por ejemplo:
KB 2
KB 1
Transaccin
Bank
BankId*
BankName
Transaccin
Agency
AgencyId*
AgencyName
BankId
BankName
Transaccin
Bancos
BankId*
BankName
(AgencyId*
AgencyName)
Otro problema que puede ocurrir es que los desarrolladores definan visiones diferentes de la
relacin entre los objetos.
Supongamos que tenemos 2 equipos desarrollando aplicaciones en un ambiente bancario.
Ambas aplicaciones, hacen referencia a las entidades Banco y Agencia.
Los 2 equipos de desarrollo tienen clara que la relacin que existe entre Bancos y Agencias es
una relacin de 1 a N : BANCO ---->> AGENCIAS
Sin embargo definen visiones diferentes, como se muestra arriba en la KB1 y KB2.
En la KB1 el atributo AgencyId identifica unvocamente una agencia. Y en la KB2 la agencia
queda identificada por la dupla BankId, AgencyId.
En este caso, no tenemos problema de nomenclatura, pero al integrar, solo quedar definida la
primer relacin , o sea:
AgencyId*
BankId
y no:
BankId*
AgencyId*
Dado que los identificadores en las transacciones juegan un papel fundamental, esto puede
dejar invlidos objetos definidos en la segunda aplicacin.
Concluimos entonces, que las relaciones entre atributos y los identificadores de las diferentes
entidades, juegan tambin un papel fundamental en el momento de integrar diferentes
aplicaciones.
412
Como hemos visto, los problemas de integracin se reducen a problemas de nomenclatura y de definicin
de relaciones e identificadores. Veremos posibles soluciones para minimizar estos problemas:
1. Definir y seguir un padrn de nomenclatura
Como sabemos GeneXus establece la relacin entre los objetos y define la normalizacin de la Base de
Datos, basndose en los nombres de los atributos.
Es por eso que al momento de consolidar, la nomenclatura utilizada para los atributos juega un papel
primordial.
Sin embargo, no son menos importantes los nombres de los objetos (transacciones, procedimientos, etc.)
pues el Knowledge Manager reemplaza en la consolidacin, los objetos con igual nombre.
Los nombres dados a las Tablas, ndices y Data Views sern tambin controlados en el momento de la
consolidacin y debern ser nicos en el Modelo consolidado, por lo que debemos intentar reducir
conflictos tambin en este sentido.
En cuanto a los nombres de las variables, a pesar de que no son relevantes para la consolidacin, ya que
son definiciones locales, igual se sugiere tener una nomenclatura para las mismas con el fin de tener
uniformidad en el desarrollo y mejorar as la comprensin de las aplicaciones.
2. Disear y seguir una Metodologa para administrar el conocimiento comn
Una vez definidos los mdulos y establecida la padronizacin para los objetos del sistema, es el momento
de disear una metodologa para administrar el conocimiento de forma tal de mantener ambientes
independientes de desarrollo y asegurar su integracin en un Modelo Corporativo que tenga asociada una
sola Base de Datos corporativa.
Hemos solucionado parcialmente los problemas de integracin definiendo una nomenclatura standard
para objetos, pero queda an potenciarla y asegurar la integracin desde el punto de vista de
relaciones, es decir asegurar que los objetos compartidos por ms de un mdulo guarden la misma
relacin con el resto de los objetos. Para ello, expondremos a continuacin un esquema basado en tres
tipos de Modelos, que cumplen funciones diferentes en la tarea de administrar el conocimiento.
413
414
KB
KB
COMPRAS
COMPRAS
KB
KB
SUELDOS
SUELDOS
KB
KB
VENTAS
VENTAS
KB CORPORATIVA
BASE DE
DATOS
PROGRAMAS
415
416
417
KB
COMPRAS
KB
NUCLEO
KB
VENTAS
KB
SUELDOS
KB
CORPORATIVA
418
FOLDER
NUCLEO
FOLDER
COMPRAS
FOLDER
NUCLEO
KB
KB
COMPRAS
COMPRAS
FOLDER
COMPRAS
KB
KB
NUCLEO
NUCLEO
FOLDER
VENTAS
KB
KB
VENTAS
VENTAS
FOLDER
NUCLEO
FOLDER
NUCLEO
FOLDER
SUELDOS
KB
KB
SUELDOS
SUELDOS
FOLDER
VENTAS
FOLDER
SUELDOS
KB CORPORATIVA
BASE DE
DATOS
PROGRAMAS
En cada KB (Ncleo y Mdulos) se deber crear un folder, y los objetos propios de dicha KB, debern
ubicarse dentro de ese folder.
Es decir, en la KB Ncleo habr que crear un folder llamado Ncleo, en la KB Compras ser necesario
crear un folder llamado Compras, en la KB Ventas un folder llamado Ventas, y en la KB Sueldos un folder
llamado Sueldos.
La primer KB a ser definida ser la KB Ncleo. Para ello habr que identificar los objetos comunes a todos
los mdulos (por ejemplo, las transacciones Banks, Agencies, Products, Customers) y definirlos dentro del
folder Ncleo de la KB Ncleo.
Una vez definido el Ncleo, este deber distribuirse y consolidarse en cada una de las KBs asociadas a cada
aplicacin, para asegurarse el compartir todas los mismos objetos comunes, exactamente.
De modo que lo que se distribuir ser el folder Ncleo de la KB Ncleo, y se consolidar en cada una de
las KBs asociadas a una aplicacin (KB Compras, KB Ventas y KB Sueldos) as como en la KB
Corporativa.
Recin luego de esto, cada desarrollador responsable de un mdulo podr comenzar a trabajar, debiendo
crear todos los objetos propios de su mdulo, en el folder correspondiente a ese mdulo en particular. As,
la KB Compras tendr 2 folders: el folder Nucleo con los objetos comunes a todos los mdulos, y el
folder Compras con los objetos propios que implementen ese mdulo. Anlogamente, las KBs Ventas y
Sueldos tendrn el folder Nucleo y su folder propio.
Cada KB asociada a una aplicacin tendr un ambiente de Prototipacin, y un ambiente de Test en la
plataforma de Produccin. Estos modelos permitirn tener un diseo completo de la aplicacin, minimizando
los tiempos de desarrollo pues:
1. Se estar trabajando con KBs pequeas, asegurando la integrabilidad con el resto de las aplicaciones
2. Se estarn realizando los primeros niveles de test de funcionalidad para el mdulo en forma
independiente asegurando un ciclo de prototipacin dinmico
3. No se afectar al resto del desarrollo
En la medida que cada desarrollador de por finalizado su mdulo, distribuir el folder propio de su KB (por
ejemplo el folder Sueldos de la KB Sueldos) y este se consolidar en la KB Corporativa. No distribuir el
folder Nucleo de la KB Sueldos, ya que este folder solo se distribuye de la KB Nucleo).
419
Cmo se procede si uno de los mdulos requiere modificar un objeto del Ncleo? Es decir,
supongamos que el desarrollador de un mdulo se da cuenta que le resulta necesario para su
aplicacin, agregar un atributo en una transaccin del Ncleo.
Esto tendr un impacto en todas las KBs de aplicacin, y por tanto deber administrarse con
cuidado.
La forma de proceder es realizar el cambio en la KB Ncleo, y luego redistribuir el Ncleo (folder
Ncleo de la KB Ncleo) a todas las KBs.
420
421