290 likes | 489 Views
Migración Win a Web, experiencias, tips y consejos. Knowledge Base Supplier. Quienes somos?. Consultoría y Desarrollo de Software. Reconocimientos XII Encuentro GeneXus “Early Adopter of New Technology” “Mejor Betatester GeneXus” 2000 y 2001. Objetivos.
E N D
Knowledge Base Supplier Quienes somos? • Consultoría y Desarrollo de Software • Reconocimientos XII Encuentro GeneXus • “Early Adopter of New Technology” • “Mejor Betatester GeneXus” 2000 y 2001
Objetivos • Brindar ayuda a problemas con soluciones ya probadas • Problemas típicos y posibles soluciones • Comparación de funcionalidades de GX 7.5 con GX 8.0 • Incentivar migraciones a web (páginas dinámicas HTML)
Temas • Comparación HTML vs GUI • Diseño y estética • Programación de Eventos • Return • Reportes • Seguridad • Filtros y variables • Generación dinámica • Confirmación y mensajes • Call a WKP vs Call a WBP • Integridad transaccional y UTL • Interacción con el cliente • Nuevas posibilidades del HTML
Comparación HTML vs GUI • Son diferentes plataformas!! • HTML mas limitado y no estricto • Depende del navegador y versión • HTML es un estándar mundial • Facilita la integración • RECOMENDACION: No intentar reproducir el ambiente GUI en un ambiente web
Diseño y estética • Win: Styles • Desarrolladores son los que hacen el diseño gráfico • Web: Mayor exigencia en diseño • Aumento del 20% en el desarrollo • Necesidad de profesionalizar el diseño gráfico • Web: Themes (GX8.0) • Desarrolladores se concentran más en la lógica y no tanto en el diseño gráfico
Programación de Eventos • Eventos independiente de líneas (ej:agregar) • Eventos sobre a una línea (ej:Eliminar) • GX7.5 no hay forma de seleccionar una línea de la grilla • Una nueva columna y cargar un link en el load • “click”en variables combobox o check box • GX8.0 Propiedad para seleccionar una línea del la grilla
Programación de Eventos • Eventos sobre más de una línea • For each line In Subfile1 (ej: Totalizar importes de líneas marcadas con &Op=‘X’).
wbpA … call(hB) wbpB … call(hC) ... return call wbpC … return … wkpA … call(wB) call wkpB … call(wC) ... return call wkpC … return … call WIN Return Return Return Return WEB Return Cambio de comportamiento
ReturnPosibles soluciones • Hacer un Call(wbpA) • No funciona si hay más de un wbp que llama a wbpB • Pasar por parámetros • call(&llamador) • Programar una pila de llamadas • GXOpen: Return entre Webpanelshttp://www.gxopen.com/main/hversion.aspx?123,2
Reportes • En papel • PDF • Javascript(windows.print()) • Print del navegador • Problemas • Menor control del formato (diferentes navegadores) • Reimpresiones • Mayor facilidad de adulteración de listados • Documentos Preimpresos • Impresiones masivas • Paliativos, hacerlos electrónicos • Mail/WebWrapper • WebServices
Seguridad • Se puede acceder a cualquier parte del sistema escribiendo la URL directamente • Saltearse los controles de seguridad • Controlar la seguridad en el start del objeto protegido • Cambiar los parámetros • Encriptar parámetros
Filtros y variables • Las variables no se preservan • Se pierden los filtros al regresar de otra pantalla • Pasarlos por parámetros • Guardarlos en una cookie al hacer un ‘refresh’ y leerlos en el ‘Start’
Armado de Páginas • Los pantallas se arman “on request”
Confirmación y mensajes • WorkPanels/Transacciones en medio de un Procedimiento • Reprogramar!! • Mensaje de confirmación • JSEvent() • Solo sirve para hacer una confirmación inicial y no para detener un proceso a la espera de la decisión del usuario
Call en WorkPanels vs Call en WebPanels • Asincrónico • El significado de un CALL a un Web Panel (desde otro) es: mostrará este Web Panel cuando termine la ejecución del evento donde se hizo el call • Problemas en casos donde • Se hacen call a dos o mas WKP en el mismo evento • Call a PRC después de call a un WKP en el mismo evento • Reprogramar!
WIN WEB Evento ... Call(wA) ... Call(prc) Evento ... Call(hA) ... Call(prc) Codigo wA ... Codigo hA ... Call en WorkPanels vs Call en Webpanels
Integridad transaccional y UTL • Transacciones • Pseudo – Conversacional • Commit on exit • Webpanels • Cada Webpanel es una UTL distinta
Interacción con el cliente • Problema:Leer o escribir archivos locales • Ejemplo: WorkPanel con GxOffice/Excel • Soluciones: • Crear en archivo en el servidor y dar la posibilidad de bajarlo • Módulo de instalación local (Java) • Ejemplo: Upload de archivo al servidor • Soluciones: • www.GxOpen.com • Enviar mail con archivo adjunto
Otros problemas • Procesos batch, pueden dar time out. • Tab-Control • Validación Full Screen • Menu Bar
Posibilidades del WEB • WebComponents • Mucha mayor reutilización de objetos • Más funcionalidades en una misma pantalla • Mail/WebWrapper • Eliminar varias impresiones • WebServices • Facilita modularización • Integración con otros sistemas
Concluyendo:Motivos para NO migrar • Nuevos problemas de seguridad • Hay que soportar una nueva plataforma • Bastante trabajo, sobre todo de ajustes y pruebas en diferentes navegadores.
Concluyendo: Motivos para migrar • Porque los clientes lo piden • Poder acceder a las aplicaciones desde cualquier lugar • Instalaciones mas simples, menor administración • Mas dispositivos, Sistemas Operativos heterogéneos • Desarrollo tecnológico rápido en el WEB • Con Genexus es relativamente sencillo hacerlo
Migración de Win a Web Conclusiones • Se puede hacer • Tiene ventajas importantes • Es viable • GX 7.5 – 2 horas por objeto • GX 8.0 – 1 hora por objeto • Recomendación: Pasarse a Gx 8.0 • Selección de líneas en grillas • Themes
Migración Win a Web, experiencias, tips y consejos ¿Preguntas?