“The only thing that isconstant is change”
Keep it simple and stupid
Keep it simple and short
Realidad ModeloAplicación
de Negocio
Evolución del Modelo Genexus
Modelo Actual
Tormenta de Ideas y Experimentación
Destilando
el
Modelo
Modelo Actual
DESARROLLO BASADO EN CONOCIMIENTOFILOSOFÍA Y FUNDAMENTOS TEÓRICOS DE GENEXUSpor Breogán Gonda y Nicolás Jodal
Privilegiar lo concreto sobre lo abstracto
o Consistencia
o Ortogonalidad
o Escalabilidad
• Atributos
• Grupos
• Transacciones
• Dominios
• Procedure
• SDT
• Data Provider
• Data Selector
• User Interface
Modelo
Atributo
Vista de usuario
(Transacción)DataProvider
Poner acá aplicaciones realizadas con GX
Destilando el modelo
Lenguajes
Napoleón, Laplace y Juán Mateo
No permitas que expertos en lenguajes OO te asusten
o Simple
o Evitar decir dos veces lo mismo
o DateTime dt = new DateTime()
o Productividad
Tipos de Lenguajeso Declarativo
o Reglas
o Conditions, Fórmulas
o DataProviders
o DataSelectors
o Queries
o Patterns
o Visuales
o Workflow
o UI
o Procedurales
o Subrutinas – Eventos -
Procedimientos
Mejoras Procedurales
DataProviders
DataProviders Inline
o Comando Save
o Extensiones a Foreachs
o DataSelector implícito
o Tipo Businesscomponent, STDs
o Parámetros opcionales
o Menos Propiedades
Tormenta de Ideas
Data Provider
Más Semántica, Más Declarativo
Modelo
Dominios MódulosSystem
Parameters
SemanticUser
InterfacePatterns
Reglas Dinámicas
Modelo
Dominio
Módulo
UserInterface
En mis meditaciones sobre los dominios y si deben tener semántica, siempre se me han presentado dos casos bien diferentes:
los dominios de la matemática (un conjunto de valores) y los dominios de la física (un conjunto de valores y una dimensión).
o Pienso que nuestros dominios de la
informática deben ser similares a los de
la física.
Simplemente sustituiría "dimensión" por
"significado".
o "The question as to what data types
are supported is orthogonal to the
question of support for the relational
model"
Los dominios nos dominan
o Período de Tiempo
o Rating
o Mapa
o Imagen
o Video
o Prioridad
o Nombre
o Mail
o Twitter Address
Qué necesitamos?
o Almacenamiento
PeriodoTiempo
{
Inicio based on Date
Fin based on Date
}
Métodos, Fórmulaso TimePeriod
{
Inicio based on Date
Fin based on Date
Duracion = Fin – Inicio
o }
o for each
where PeriodoVigencia.Contains(&date)
endfor
Métodos
o Declarativos
Declare Contains(&date)
&Me.Inicio <= &date and &Me.Fin >= &date
EndDeclare
o Procedurales
Otros aspectos
o User Interface
o Reorganizaciones
o Operadores
9628
Módulos
Y su objetivo es…
Tener un diseño con bajo acoplamiento y alta cohesión !!!
Escenarios
o Desarrollo interno.
o Base de conocimiento como
componente.
o Objeto Módulo
o Objetos públicos
o Objetos privados
o Mecanismos de Visualización
o Módulos y su relación con la BD
User Interface
o Navegación
o Semántica
o Multi-Fidelity User Interface
o Riqueza de controles
Modelo
Dominio
Módulo
UserInterface
o Colaborar en semántica : Dominios
o Entender: Módulos
o Más con menos: User Interface
Evolución del Modelo Genexus
Modelo Actual
Tormenta de Ideas y Experimentación
Destilando
el
Modelo
Mantener GeneXus simple para poder manejar los cambios futuros
¡Muchas Gracias!