Download - Encuentro GeneXus 2003 Migracion Win Web
Migración Win a Web, Migración Win a Web, experiencias, tips y consejos.experiencias, tips y consejos.
Ing. Alejandro [email protected]
Ing. Enrique [email protected]
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Quienes somos?Quienes somos?
• Consultoría y Desarrollo de Software
• Reconocimientos XII Encuentro GeneXus• “Early Adopter of New Technology”
• “Mejor Betatester GeneXus” 2000 y 2001
• Knowledge Base Supplier
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
ObjetivosObjetivos
• 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)
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
TemasTemas• 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
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Comparación HTML vs GUIComparació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
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Mayor exigencia en diseño gráfico…Mayor exigencia en diseño gráfico…
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Mayor exigencia en diseño gráfico…Mayor exigencia en diseño gráfico…
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Diseño y estéticaDiseñ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
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Programación de EventosProgramació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
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Programación de EventosProgramació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’).
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…Return Return
Cambio de comportamientoCambio de comportamientowkpA…call(wB)
callwkpB…call(wC)...return
callwkpC…return…
Return Return
WIN
wbpA…call(hB)
callwbpB…call(hC)...return
callwbpC…return… Return
Return
WEB
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
ReturnReturnPosibles solucionesPosibles 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 Webpanels
http://www.gxopen.com/main/hversion.aspx?123,2
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
ReportesReportes
• 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
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
SeguridadSeguridad
• 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
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Filtros y variablesFiltros 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’
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Armado de PáginasArmado de Páginas
• Los pantallas se arman “on request”
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
• 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
Confirmación y mensajesConfirmación y mensajes
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Call en WorkPanels vs Call Call en WorkPanels vs Call en WebPanelsen 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!
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…Call en WorkPanels vs Call Call en WorkPanels vs Call
en Webpanelsen Webpanels
Evento...Call(wA)...Call(prc)
Codigo wA...
WIN
Codigo hA...
Evento...Call(hA)...Call(prc)
WEB
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Integridad transaccional y UTLIntegridad transaccional y UTL
• Transacciones–Pseudo – Conversacional–Commit on exit
• Webpanels–Cada Webpanel es una UTL distinta
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Interacción con el Interacción con el clientecliente
• 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
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Otros problemasOtros problemas
• Procesos batch, pueden dar time out. • Tab-Control• Validación Full Screen• Menu Bar
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Posibilidades del WEBPosibilidades 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
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
WebComponentsWebComponents
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
WebWrapperWebWrapper
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Concluyendo:Concluyendo:Motivos para NO migrarMotivos para NO migrar
• Nuevos problemas de seguridad• Hay que soportar una nueva
plataforma• Bastante trabajo, sobre todo de
ajustes y pruebas en diferentes navegadores.
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Concluyendo: Concluyendo: Motivos para migrarMotivos 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
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Comparación Comparación
GX 7.5• Master Style Wbp y TRN
• Salvar como– WKP -> WebPanel– TRN -> WebTrn
• Ajustes de lógica
• Ajustes estéticos
• Testear mucho!!
GX 8.0• Master Style Wbp y TRN• Definir Theme• Salvar como
– WKP -> WebPanel– TRN -> WebTrn
• Ajustes de lógica (muchos menos)
• Ajustes estéticos (sin regenerar)
• Testear mucho!!
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
CONCEPTOCONCEPTOcomo socio tecnológicocomo socio tecnológico
• Asesoría, presupuestos• Desarrollo a distancia• Soluciones tecnológicas• Migración macro
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…
Migración de Win a Web Migración de Win a Web ConclusionesConclusiones
• 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
Mig
raci
ón
Win
a W
eb
…M
igra
ció
n W
in a
Web
…Migración Win a Web, Migración Win a Web, experiencias, tips y consejosexperiencias, tips y consejos
¿Preguntas?
Ing. Alejandro [email protected]
Ing. Enrique [email protected]