34
Salvador Viñals Estratega de Producto Introducción a la Interfaz Gráfica de Usuario de OpenEdge® para .NET (GUI for .NET)

Salvador Viñals Estratega de Producto Introducción a la Interfaz Gráfica de Usuario de OpenEdge® para.NET (GUI for.NET)

Embed Size (px)

Citation preview

Page 1: Salvador Viñals Estratega de Producto Introducción a la Interfaz Gráfica de Usuario de OpenEdge® para.NET (GUI for.NET)

Salvador Viñals Estratega de Producto

Introducción a la Interfaz Gráfica de Usuario de OpenEdge® para .NET (GUI for .NET)

Page 2: 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

Page 3: 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 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

Page 4: 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 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?

Page 5: 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 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

Page 6: 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 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

Page 7: 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 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

Page 8: 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 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

Page 9: 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 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

Page 10: 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 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

Page 11: 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 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

Page 12: 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 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

Page 13: 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 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?

Page 14: 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 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

Page 15: 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 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

Page 16: 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 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

Page 17: 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 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

Page 18: 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 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:

Page 19: 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 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

Page 20: 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 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 ).

Page 21: 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 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

Page 22: 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 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

Page 23: 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 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

Page 24: 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 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

Page 25: 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 Corporation26

Perspectiva de Visual Designer

ToolboxVista de

Propiedades

PropiedadSeleccionada

Forma

VisualDesigner

Control

Navegador de ClasesClass Browser

Page 26: 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 Corporation27

GUI for .NET Demo

Page 27: 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 Corporation28

Perspectiva de Visual Designer

ToolboxVista de

Propiedades

PropiedadSeleccionada

Forma

VisualDesigner

Control

Navegador de ClasesClass Browser

Page 28: 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 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”

Page 29: 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 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

Page 30: 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 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?

Page 31: 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 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!

Page 32: 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 Corporation33

¿Preguntas?

Page 33: 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 Corporation34

Gracias

Page 34: 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 Corporation35