440 likes | 650 Views
Casos de Éxito. Ing. Juan Marcelo Bustamante Lamas jmbl@puntoexe.com.uy . Nuestra Empresa. Conocemos GeneXus desde su versión 3.3 Comenzamos el trabajo en Web con GeneXus desde 2002
E N D
Casos de Éxito Ing. Juan Marcelo Bustamante Lamas jmbl@puntoexe.com.uy
Nuestra Empresa • Conocemos GeneXus desde su versión 3.3 • Comenzamos el trabajo en Web con GeneXus desde 2002 • En el 2006 comenzamos a brindar soporte de migraciones de aplicaciones Win a Web y creamos nuestro producto PXTools. • Tenemos Presencia en 8 países de America • Superamos las 120 licencias otorgadas de PXTools.
2003 2006 2007 2008 2009 2010 2011
2003 Epiway
2003 2006 INSIS – GEOMunicipal
Situación y Necesidad • Cuenta con progrmadores Win. • Poco conocimiento de la nueva plataforma. • Intención de que post migración haya autonomía en el mantenimiento de la aplicación. • Proceso de migración requerido en breve plazo.
Filosofía de la Migración a Web • Comenzó la tecnología pattern con GXPattern y GeneXus 9. • Decidimos utilizar esta tecnología. • Teníamos que modificar los generadores porque • No era suficiente para lo que debíamos desarrollar. • La programación declarativa era fácilmente adaptada por los programadores Win. • Si nos manteníamos en la instancia lográbamos una buena productividad.
Patrón PXWorkWith • Características Destacadas: • Manejo de RecentLink similar a aplicación Win. • Formen transacciones. • Tabs en transacciones. • Scroll en Grilla. • Tabs en Filtros. • Load sin Tabla Base. • ForceGrid Load. • Potenciar Acciones: • Soportar todo lo que se puede llegar a programar en un evento. • Links a ventanas Popups. • Validación de las Acciones. • Confirms
Patrón PXParameterRequest • Características Destacadas: • Form • Sección para validad condiciones de validación del Form independiente de la acción a ejecutar. • Misma potencia que en Acciones del PXWorkWith
2003 2006 2007 GLM - Seguros
Situación y Necesidad • Módulo de consulta de Pólizas. • Pantallas muy complejas • Existencia de múltiples grillas. • Interacción entre las distinas grillas • Módulo de ingreso de Pólizas. • Proceso muy guiado y variable en función de la información que se iba ingresando. • Interacción de multiples interfaces gráficas en una lógica procedural.
Patrón PXComposer • Características Destacadas: • Armado de Secciones • Soporte de invocación como Componentes • Soporte de invocación como EmbeddedPages • Misma potencia que en Acciones del PXWorkWith
Preludio del Patrón PXFlowController T T T T P WP WP WP WP WP WP T T T T WP
Preludio del Patrón PXFlowController T T T T T T WP WP WP WP WP WP P WP T T T T T WP WP
Preludio del Patrón PXFlowController • ¿Cómo resolvemos esta lógica en Web? • Reingeniería de la aplicación. • Implementar el diálogo Modal en Web. • ¿Qué se desarrolló? • APIs. • Plantilla basada en un WebPanel • Implementa una máquina de Estados. • El estado es la identificación de la línea del controlador.
Ejemplo 1 TClientes.Call(TrnMode.Update ,&CliNro ) 2 Do 'Cargo Nombre Cliente' 3 &CountDirecciones = 0 4 ForEach 5 WhereCliNro = &CliNro 6 DefinedByCDrNro 7 &CountDirecciones += 1 8 EndFor 9 If &CountDirecciones > 0 10 &Msg = "¿Desea Actualizar las Direcciones de " + CliNom.Trim() + "?" 11 Confirm(&Msg) 12 IfConfirmed() 13 ForEach 14 WhereCliNro = &CliNro 15 TCliDir.Call(TrnMode.Update ,&CliNro ,CDrNro ) 16 EndFor 17 EndIf 18 EndIf 19 Do 'Verifico Contactos‘ 20
Ejemplo 1 TClientes.Call(TrnMode.Update ,&CliNro ) 2 Do 'Cargo Nombre Cliente' 3 &CountDirecciones = 0 4 ForEach 5 WhereCliNro = &CliNro 6 DefinedByCDrNro 7 &CountDirecciones += 1 8 EndFor 9 If &CountDirecciones > 0 10 &Msg = "¿Desea Actualizar las Direcciones de " + CliNom.Trim() + "?" 11 Confirm(&Msg) 12 IfConfirmed() 13 ForEach 14 WhereCliNro = &CliNro 15 TCliDir.Call(TrnMode.Update ,&CliNro ,CDrNro ) 16 EndFor 17 EndIf 18 EndIf 19 Do 'Verifico Contactos‘ 20
2003 2006 2007 2008 INSIS – ERP & VyT
Situación y Necesidad • Necesidad de realizar una reingeniería. • Objetivo • Migrar el ERP a Web. • Adaptar ciertas partes que requerirán mayor flexibilidad para llevar el sistema a otros Mercados. • Implementación de OAV potente.
PXOAV • Características: • Soporte de Transacción intermedia. • Flexibilidad en Controles de Edición. • Soporte de Integridad Referencial. • Definición de Atributos como Entidad Fuerte. • Personalización de la validación. • Fórmulas (Data TypeExpression) • Fórmulas Condicionadas.
PXOAV • Usos del Pattern: • Mayor rapidez para definir atributos en run-time. • No requiere impacto en la base de datos. • No se definen atributos que no aportan a la funcionalidad del sistema. • Utilización como parte del sistema. • Los atributos son predominantemente informativos. • Tienen influencia minoritariamente en el sistema. • Utilización para afectar lógica del sistema. • Incorporarlos como parametrización del sistema. • Su contenido afecta el comportamiento de la aplicación.
Patrón PXOAV Ejemplo
2003 2006 2007 2008 2009 2010 Swedish Match - SalesPro
Situación y Necesidad • Análisis de soluciones existentes (Base de Datos) • Complejidad en la programación • Programación no GeneXus. • Personalización • Segmentación en Exportación • Procesos post Importación • Interoperabilidad entre distintas Bases de datos
PXSynchronization • Características: • Permite personalizar los procesos de exportación para realizar una correcta segmentación. • Permite personalizar los procesos de importación. • Genera en forma automática la estructura de datos (SDT) • Realiza todos los controles de integridad para importar información consistente. • Interacción con Transacciones BusinessComponent. • Genera Logs en forma automática de la importación. • Brinda en forma preprogramada la visualización del Log para la plataforma Web.
2003 2006 2007 2008 2009 2010 2011 Marke & Crédito de la Casa
Situación y Necesidad • Funcionalidad de Alta de funcionarios. • Interacción con múltiples intercaces. • Control de Cierre de Ventana. • Migraciónde KB de Marke • Uso abundante del diálogo Modal. • Aplicativo. • WorkFlow. • Complejidad en el Salvado y recuperación de variables del controlador. • Uso de invocaciones a interfaces dentro de procesos de iteración.
PXFlowController • Características: • Programación orientada al desarrollo de Bloqueses de Líneas. • Manejo de estado basado en el concepto de número de línea. • Soporte de subrutinas con invocación a interfaces gráficas. • Control de cierre de ventana. • Salvado y recuperación automática de las variables declaradas. • Soporte de iteración con invocación a interfaces gráficas. • Soporte de invocación a reportes con Output devicelocation en Client.
Patrones Soportados • PXWorkWith • PXParameterRequest • PXComposer • PXOAV • PXSynchronization • PXFlowController
UserControls y Extensions • UserControls • PXToolsPasswordQuality Manager • PXToolsScroll Line • Extensions • Licenser • Web Installer C#
Módulos Predefinidos • PXMenus • PXAudit • PXSecurity • PXSendMail • PXSystemParameters • PXProcessStatusMonitor • PXBatchPrint