Post on 02-Mar-2015
Salvador Viñals Estratega de Producto
Introducción a la Interfaz Gráfica de Usuario de OpenEdge® para .NET (GUI for .NET)
© 2008 Progress Software Corporation2
Agenda
¿Qué es OpenEdge GUI for .NET? Description General de GUI for .NET Description General de Arquitectura Demo de Visual Designer Preguntas
© 2008 Progress Software Corporation3
D I S C L A I M E R
En Desarrollo
Esta presentación incluye información sobre futuros productos potenciales y/o mejoras de producto.
Lo que voy a presentar refleja nuestra forma actual de prensar, pero la información contenida es preliminar y sujeta a cambios. Cualquier producto que lancemos al mercado eventualmente podría ser materialmente diferente a lo que se describe aquí.
D I S C L A I M E R
© 2008 Progress Software Corporation4
Una Interfaz Gráfica de Usuario para Windows
basada en Microsoft® .NET™ para reemplazar o ser
integrada con OpenEdge GUI actuales
¿Qué es OpenEdge GUI for .NET?
© 2008 Progress Software Corporation5
OpenEdge GUI for .NET
Basada en la tecnología de UI de Microsoft .NET (WinForms)
• El estándar de-facto para aplicaciones “desktop”
• Orientada a aplicaciones de negocios– Controles UI centrados en manejo de datos – Vincula ADO.NET a ProDataSet™
• Multitud de controles UI .NET • Microsoft y Infragistics®
– Otros controles de terceros
© 2008 Progress Software Corporation6
¿Cómo se Llama?
Nueva interfaz• Nombre del Proyecto: “OpenEdge Advanced GUI”• No es un producto…• Una funcionalidad de OpenEdge • Desarrollada utilizando OpenEdge Architect o productos de
desarrollo ABL
Nuevos controles UI• Nombre de Proyecto: “OpenEdge Advanced UI Controls”• Será un producto… opcional• Accesorio a productos de desarrollo OpenEdge • Paquete de controles de Infragistics que extienden la
capacidad de desarrollo de la interfaz .NET
© 2008 Progress Software Corporation7
¿Cómo se Llama?
Nueva interfaz• Nombre de la Tecnología: “OpenEdge GUI for .NET”• No es producto…• Una funcionalidad de OpenEdge• Desarrollada utilizando OpenEdge Architect o productos de
desarrollo ABL
Nuevos controles de UI• Nombre del producto: “OpenEdge Ultra Controls for .NET”• Será un producto… opcional • Accesorio a los productos de desarrollo OpenEdge• Paquete de controles de Infragistics que extienden la
capacidad de desarrollo de la interfaz .NET
© 2008 Progress Software Corporation8
¿A Qué Audiencia Va Dirigida?
Desarrolladores ABL utilizando OpenEdge Architect…
Queriendo construir una Interfaz Gráfica de Usuario en .NET que sea extremadamente moderna y atractiva…
Con la facilidad del ABL
© 2008 Progress Software Corporation9
Características de la Audiencia
Desarrolladores ABL utilizando OpenEdge Architect…• Para clientes OpenEdge• Confortables con conceptos OO = Orientación al Objeto
Queriendo construir una Interfaz Gráfica de Usuario en .NET que sea extremadamente moderna y atractiva…• En Microsoft Windows
Con la facilidad del ABL• Deseando un ambiente de desarrollo basado en OpenEdge
© 2008 Progress Software Corporation10
Aprovechar el ABL• Lenguaje único; No necesita aprender C#, VB.NET• Vínculo de datos entre ABL y los controles UI• Vínculo de eventos entre los métodos ABL y los eventos de la
interfaz Único centro de diseño: OpenEdge Architect
• No requiere comprar, aprender o usar productos que no sean OpenEdge (Visual Studio®)
Beneficios Beneficios • AdopciAdopción más rápidaón más rápida Mayor productividad Mayor productividad• Vínculo de datos integrado Vínculo de datos integrado Para aplicaciones de negocios Para aplicaciones de negocios• Construido en OpenEdge: Flexibilidad de implementación y fuentes Construido en OpenEdge: Flexibilidad de implementación y fuentes
de datosde datos
Características Principales y Beneficios
© 2008 Progress Software Corporation11
Se integra con la GUI existente (al nivel del contenedor) Independiente de la topología de implementación (C/S o n-
tier)
Extensible con controles de terceros y personalizados Adaptable a futuras mejoras de UI o interfaces emergentes
Beneficios:Beneficios: • Adóptenlo a su propio ritmoAdóptenlo a su propio ritmo• Windows “look-and-feel” - Contemporáneo y sin compromisos Windows “look-and-feel” - Contemporáneo y sin compromisos • Architectura para máxima protección de la inversiónArchitectura para máxima protección de la inversión
Características Principales y Beneficios
© 2008 Progress Software Corporation12
¿Cómo se Compara con Otras Interfaces de Usuario y Tecnologías OpenEdge?
OpenEdge GUIpara .NET
Construir GUIs modernas en ABL
OpenEdge Architect 10.2A
o superior
Tecnología UI Primary Use
Progress® GUI
WebClient™
Open Client
WebSpeed®
Carácter
Construir GUI con look and feel de Windows 95
Construir GUI robustas con características de cliente ligero
Ofrece la capacidad de agregar UIs alternas (.NET & Java™) a aplicaciones de OpenEdge
Construir aplicaciones basadas en Navegador Web sin huella en el cliente
Construir interfaces tradicionales de pantalla verde
Progress Dynamics®
OpenEdge StudioOpenEdge Architect
OpenEdge StudioOpenEdge Architect
Open Client Toolkit
WebSpeed Workshop
OpenEdge Architect OpenEdge Studio4GL Development System
Tools to UseUso Primario Herramientas
© 2008 Progress Software Corporation13
Sin huella cliente
Huella cliente ligera 2-tier
OpenEdge GUI for .NET
WebSpeed
Progress GUI
Carácter
Open Client.NET & Java™
n-tier
¿Cómo se Compara con Otras Interfaces de Usuario y Tecnologías OpenEdge?
© 2008 Progress Software Corporation14
Arquitectura GUI OpenEdge “Clásica”
DataSets, Temp-tablesDataSets, Temp-tables
Data AccessData Access
Data SourcesData Sources
Co
mm
on
Infrastru
cture
Co
mm
on
Infrastru
cture
Op
en
Ed
ge
Ru
nti
me
(AV
M)
Op
en
Ed
ge
Ru
nti
me
(AV
M)
OpenEdge GUI ( Windows, Frames )OpenEdge GUI ( Windows, Frames )
• Componentes GUI y visualizacón
• Interacción y eventos de usuario
• Vínculos con datos• Bloqueo I/O • Manejadores de
eventos
© 2008 Progress Software Corporation15
Arquitectura GUI OpenEdge “Nueva”
OpenEdge GUI ( Windows, Frames )OpenEdge GUI ( Windows, Frames )
DataSets, Temp-tablesDataSets, Temp-tables
Data AccessData Access
Data SourcesData Sources
Co
mm
on
Infrastru
cture
Co
mm
on
Infrastru
cture
CL
RC
LR
Op
en
Ed
ge
Ru
nti
me
(AV
M)
Op
en
Ed
ge
Ru
nti
me
(AV
M)
ABL Logic ( Data, Event handlers ) ABL Logic ( Data, Event handlers ) BridgeBridge
.NET GUI ( Forms, User events ).NET GUI ( Forms, User events ) BridgeBridge
• Componentes GUI• Vínculos con
datos• Bloqueo I/O• Manejadores de
eventos
• Visualización GUI• Interacción y
eventos de usuario
Interacción y eventos de usuario
© 2008 Progress Software Corporation16
Una Mirada Más de Cerca a la Capa de Presentación de GUI for .NET
Un Proceso para OpenEdge y .NET Runtime
.NET GUI.NET GUI
OpenEdge RuntimeOpenEdge Runtime
BridgeBridge
.NET CLR.NET CLR
BridgeBridge
frm = NEW Form( ).frm:Closing:Subscribe( EventHdlr1 ).WAIT-FOR Application.Run( frm ).
EventHdlr1( ) …
frm = NEW Form( ).frm:Closing:Subscribe( EventHdlr1 ).WAIT-FOR Application.Run( frm ).
EventHdlr1( ) …
ABL LogicABL Logic
AVM: ABL Virtual Machine CLR: Common Language Runtime
© 2008 Progress Software Corporation17
Una Mirada Más de Cerca a la Capa de Presentación de GUI for .NET
.NET GUI.NET GUI
OpenEdge RuntimeOpenEdge Runtime .NET CLR.NET CLR
3
DEF VAR frm AS Form.frm = NEW Form( ).
frm:Closing:Subscribe( FrmClose ).
WAIT-FOR Application.Run( frm ).
Method VOID FrmClose( ) MESSAGE “BYE” VIEW-AS ALERT-BOX.END.
ABL LogicABL Logic BridgeBridgeBridgeBridge
1
2
4
6
57
© 2008 Progress Software Corporation18
Formas ABL en OpenEdge GUI for .NET
Classes de formas ABL heredan de una de las siguientes:• Progress.Windows.Form
– ABL WINDOW
• Progress.Windows.Dialog– ABL FRAME VIEW-AS DIALOG-BOX
• Progress.Windows.MDIForm– Sin equivalente en ABL
CLASS CustForm INHERITS Progress.Windows.Form:
© 2008 Progress Software Corporation19
Mezclar y Combinar UIs para Migraciones
Formas .NET y Ventanas OpenEdge GUI pueden co-existir en la misma sesión• Pueden establecer parentesco (una puede ser la
madre de la otra y vice versa)
• Todas sus funcionalidades se mantienen independientemente
Ventanas OpenEdge GUI pueden incrustarse (embed) en formas .NET• Área de cliente gestionada en ABL
• El resto de funcionalidades gestionadas en .NET
• Progress.Windows.MDIChildForm
• Progress.Windows.WindowContainer
© 2008 Progress Software Corporation20
Manejo de Eventos en OpenEdge GUI for .NET
Usen el método Subscribe( ) para añadir manejadores de eventos (event handlers) escritos en ABL• Métodos (Methods) o Procedimientos Internos (internal
procedures)• Se soportan múltiples suscriptores para un manejador
(handler)
Los Manejadores de Eventos se invocan cuando los eventos se disparan• Con dos parámetros
– Objeto que disparó el evento ( System.Object )– Parámetros específicos del Evento
( System.EventArgs )
CustForm:FormClosing:Subscribe( FormClosingHdlr ).
© 2008 Progress Software Corporation21
Modelo .NET de Vinculación de Datos
Progress.Data.BindingSource• Proporciona datos para los controles UI .NET
– Cómo: Con las APIs requeridas por los controles .NET (IList)
– Por qué: OpenEdge proporciona los datos satisfaciendo las necesidades de .NET
– El qué: Cualquier Query, Buffer o ProDataSet™ ABL
OpenEdge RuntimeOpenEdge Runtime .NET CLR.NET CLR
Progress.Data. BindingSource
ProDataSetCustomer
Lift Line SkiingUrpon FrisbeeHoops Croquet
Order
1 53 01/01/932 81 01/04/933 66 01/04/93
Query
12
3
© 2008 Progress Software Corporation23
GUI for .NET – Arquitectura IDE
OpenEdge Architect
ABL Editor
Visual Designer
Eclipse, OpenEdge y .NET trabajan juntos
Eclipse (foundation platform)
.NET GUI
.NET GUI
UI Logic
UI Logic BridgeBridge
BridgeBridge
AV
MA
VM
CL
RC
LR
© 2008 Progress Software Corporation24
Creación y edición de formas WYSIWYG• Definir la forma• Añadir controles .NET • Asignar propiedades de controles y
componentes• Definir objetos de vinculación de datos• Añadir suscripciones de eventos
Navegador de Clases (Class Browser)• Muestra información de clases ABL y .NET
Visual Designer
Construido como plug-in de Eclipse para OpenEdge Architect
© 2008 Progress Software Corporation25
Código Generado Para Una Forma
Crear Clase
ABL Editor (solapa código fuente)
Definir laspropiedades
Definir Variables de
control
Constructor
DestructorEliminar / Liberar
recursos
Inicializar formasy componentes
© 2008 Progress Software Corporation26
Perspectiva de Visual Designer
ToolboxVista de
Propiedades
PropiedadSeleccionada
Forma
VisualDesigner
Control
Navegador de ClasesClass Browser
© 2008 Progress Software Corporation27
GUI for .NET Demo
© 2008 Progress Software Corporation28
Perspectiva de Visual Designer
ToolboxVista de
Propiedades
PropiedadSeleccionada
Forma
VisualDesigner
Control
Navegador de ClasesClass Browser
© 2008 Progress Software Corporation29
Qué Dicen los Asociados Encuestados…
Tony Vertenten, Intris
“OpenEdge 10.2A ofrece una interfaz superior que no solamente impulsa la productividad de los desarrolladores, pero también nos permite mejorar el “look-and-feel” de nuestras aplicaciones para el usuario final”
© 2008 Progress Software Corporation30
Áreas Para el Aprendizaje de GUI for .NET
ABL• ABL Orientado a Objetos (OOABL)
– Crear y acceder objetos UI– Llámada a métodos y acceso a propiedades– Suscripción a eventos de la interfaz
• .NET Windows Form Framework Classes• .NET Infragistics Windows Form Classes
OpenEdge Architect• WYSIWYG Visual Designer
– Properties View y Control Toolbox• Class Browser
© 2008 Progress Software Corporation31
Metodología de Desarrollo• Pruebas de concepto y usabilidad
con las aportaciones de clientes• Programa "Technology Preview";
Beta; Disponibilidad General
Fechas tentativas• Technology Previews durante 2007• Beta - Q3 2008• Disponibilidad General - Q4 2008
¿Cuándo Estará Disponible?
© 2008 Progress Software Corporation32
Preparándose Para GUI for .NET
Migren a OpenEdge10… Idealmente 10.1C
Separen la lógica de UI en métodos
Consideren el diseño de UI
Familiarizense con los nuevos conceptos
¿Listos?• ¡10.2A Beta está en marcha!• www.progress.com/openedge/beta
Pasos que pueden tomar…
…¡Súbase a la ola!
© 2008 Progress Software Corporation33
¿Preguntas?
© 2008 Progress Software Corporation34
Gracias
© 2008 Progress Software Corporation35