a4: introduction to the openedge ® gui for.net jim lundy principal product manager

33
A4: Introduction to the OpenEdge ® GUI for .NET Jim Lundy Principal Product Manager

Upload: herbert-hamilton

Post on 12-Jan-2016

219 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

A4: Introduction to the OpenEdge® GUI for .NET

Jim LundyPrincipal Product Manager

Page 2: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation2

Agenda

What is the New UI GUI for .NET Overview Architectural Overview Visual Designer Demo Q & A

Page 3: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation3

D I S C L A I M E R

Under Development

This talk includes information about potential future products and/or product enhancements.

What I am going to say reflects our current thinking, but the information contained herein is preliminary and subject to change. Any future products we ultimately deliver may be materially different from what is described here.

D I S C L A I M E R

Page 4: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation4

A Microsoft® .NET™ based Windows graphical user

interface that can replace or be integrated into an existing

OpenEdge GUI Client

What is the New UI?

The New UI is…

Page 5: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation5

OpenEdge GUI for .NET

Based on Microsoft .NET GUI Technology (WinForms)

• De-facto standard for state-of-the-art desktop applications

• Purposed for line of business applications– Data-centric UI controls– ADO.NET maps well to a ProDataSet™

• Wealth of .NET controls– Microsoft and Infragistics®

– Other 3rd party controls

Page 6: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation6

What is it Called?

New UI• Project name: “OpenEdge Advanced GUI”• Not a product…• A feature of OpenEdge • Develop using OpenEdge Architect or ABL development

products

New control set• Project name: “OpenEdge Advanced UI Controls”• Will be a product… optional add-on• Add-on to OpenEdge development products• Bundle of controls from Infragistics that extends the .NET UI

development capability

Page 7: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation7

What is it Called?

New UI• Technology name: “OpenEdge GUI for .NET”• Not a product…• A feature of OpenEdge • Develop using OpenEdge Architect or ABL development

products

New control set• Product name: “OpenEdge Ultra Controls for .NET”• Will be a product… optional add-on• Add-on to OpenEdge development products• Bundle of controls from Infragistics that extends the .NET UI

development capability

Page 8: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation8

Who is the target audience?

ABL Developers using OpenEdge Architect…

Seeking to build extremely modern and appealing .NET graphical user interface…

Through the ease of ABL

Page 9: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation9

Target audience characteristics

ABL Developers using OpenEdge Architect…• For customers on OpenEdge

• Comfortable with Object Oriented concepts

Seeking to build extremely modern and appealing .NET graphical user interface…• Windows oriented for development and user client

Through the ease of ABL• Desires an OpenEdge-centric development environment

Page 10: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation10

Leverages the ABL• Single language; No need to learn C#, VB.NET• Data binding between ABL data sources and UI controls • Event binding between ABL methods and UI events

Single design center: OpenEdge Architect• No need to purchase, learn or use non-OpenEdge products

(Visual Studio®)

Benefits: Benefits: • Shorter ramp-upShorter ramp-up Higher productivity Higher productivity• Built-in data binding Built-in data binding Purposed for business Purposed for business

applicationsapplications• Built on OpenEdge: Deployment and data source flexibilityBuilt on OpenEdge: Deployment and data source flexibility

Primary Features and Benefits

Page 11: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation11

Integrates with existing GUI (at container level)

Independent of deployment topology (C/S or n-tier)

Extensible with 3rd party controls and custom controls

Adaptable to future UI enhancements or other emerging UIs

BenefitsBenefits: : • Adopt at your own paceAdopt at your own pace• Contemporary Windows look and feel without compromiseContemporary Windows look and feel without compromise• Architected for investment protectionArchitected for investment protection

Primary Features and Benefits

Page 12: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation12

How does it compare to other OpenEdge UI Technologies?

OpenEdge GUIfor .NET

Build modern state-of- the-art .NET™ GUIs in ABL

OpenEdge Architect 10.2A

or above

UI Technology Primary Use

Progress® GUI

WebClient™

OpenClient

WebSpeed®

Character

Build Windows 95 user interface look and feel

Build thick client GUI with thin client deployment characteristics

Provides the capability to add alternate UIs (.NET & Java™) to OpenEdge Apps

Build Web-browser based apps with zero client footprint

Build traditional green-screen user interfaces

Progress Dynamics®

OpenEdge StudioOpenEdge Architect

OpenEdge StudioOpenEdge Architect

OpenClient Toolkit

WebSpeed Workshop

OpenEdge Architect OpenEdge Studio4GL Development System

Tools to Use

Page 13: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation13

Zero Client Footprint

Thin Client Footprint

2-Tier Computing

OpenEdge GUI for .NET

WebSpeed

Progress GUI

Progress Character

OpenClient.NET & Java™

n-Tier Distributed Computing

How does it compare to other OpenEdge UIs?

Page 14: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation14

OpenEdge GUI Architecture “Classic”

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

ctureO

pe

nE

dg

e R

un

tim

eO

pe

nE

dg

e R

un

tim

e

Page 15: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation15

GUI for .NET Architecture “New”

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

Op

enE

dg

e R

un

tim

eO

pen

Ed

ge

Ru

nti

me

.NET GUI.NET GUI

CL

RC

LR

UI Logic ( events, data binding )UI Logic ( events, data binding ) BridgeBridge

BridgeBridge

Single Process

• GUI Visualization• User interaction and events

• GUI components• Data access• I/O blocking• Event handlers

Page 16: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation16

ABL Extensions

Progress.Windows.Form• ABL forms inherit from this class • InitializeComponent method (generated)

Progress.Data.BindingSource• New ABL object to access Progress data sources • Extends .NET BindingSource class• Binds .NET control to ABL data source (query)

Event Subscription• Subscribe method added to every .NET event• Takes an ABL method / procedure name

Page 17: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation17

A Closer Look into the GUI for .NET Presentation Layer

.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( ) …

One Process for OpenEdge and .NET Runtime

ABL LogicABL Logic

AVM: ABL Virtual Machine CLR: Common Language Runtime

Page 18: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation18

A Closer Look into the GUI for .NET Presentation Layer

.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 19: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation19

GUI for .NET ABL Language

Window

• Create form and controls• Event subscription & handler methods (default)• Binding to ABL data

Form.cls

Startup.p

• Entry point to run GUI• NEW’s Form.cls• Performs WAIT-FOR

Form / Data.p / .i’s

• Alternate location for event handlers• Data source definition and query

Page 20: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation20

GUI for .NET – IDE Architecture

OpenEdge Architect

ABL Editor

Visual Designer

Eclipse, OpenEdge and .NET work together

Eclipse (foundation platform)

.NET GUI

.NET GUI

UI Logic

UI Logic BridgeBridge

BridgeBridge

AV

MA

VM

CL

RC

LR

Page 21: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation21

WYSIWYG Form creation and editing• Define Form• Add .NET controls• Set properties of controls and

components• Define data binding objects• Add event subscriptions

Class Browser• Displays class member information

about ABL and .NET classes

Visual Designer

Built as an Eclipse plug-in for OpenEdge Architect

Page 22: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation22

Generated code for a form

Form class

ABL Editor (source code tab)

Define form property

Define control variables

Constructor

DestructorDelete / free

resources

Initialize formand components

Page 23: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation23

Visual Designer Perspective

ToolboxProperties

view

Selectedproperty

Form

VisualDesigner

Control

Class Browser

Page 24: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation24

GUI for .NET Demo

Page 25: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation25

Visual Designer Perspective

ToolboxPropertiesview

Selectedproperty

Form

VisualDesigner

Control

Class Browser

Page 26: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation26

What reviewers are saying…

Tony Vertenten, Intris

“OpenEdge 10.2A offers a superior interface that not only streamlines developer productivity but also allows us to enhance the look-and-feel of our applications for our end-users”

Page 27: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation27

Areas for Learning in GUI for .NET

ABL• Object-oriented ABL

– Create and access UI objects– Call methods, access properties– Subscribe to UI events

• .NET Windows Form Framework Classes• .NET Infragistics Windows Form Classes

OpenEdge Architect• WYSIWYG Visual Designer

– Properties View and Control Toolbox• Object-oriented Class Browser

Page 28: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation28

Exchange 2008 Content OpenEdge GUI for .NET

DEV-16 Leveraging the Power of the Advanced GUI• Tony Vertenten, Intris • Erwin in ‘t Veld, CCS • Roland de Pijper, Eric Debeij, Progress

DEV-29 Deep Dive into Developing with Advanced GUI• Shelley Chase, Product Architect, Progress

DEV-32 Using the Advanced GUI, Structured Error Handling and SonicMQ to build a Semi-Disconnected Point of Sale• Brian Preece and Romin Sanai, BCP Software

DEV-40 Using SmartObjects with Advanced GUI• Mike Fechner, ConsultingWerk

Page 29: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation29

Development Methodology• Early POC and Usability input from customers

• Structured “Technology Preview” approach; Beta;

GA

Expected dates• Technology Previews released during 2007• Beta test started Q3 2008• General Availability target Q4 2008

When will it be available?

Page 30: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation30

Preparing for OpenEdge GUI for .NET

Move to OpenEdge 10… Ideally 10.1C

Separate logic from UI

Consider UI Design

Get familiar with new concepts Ready?

• Beta is under way!• www.progress.com/openedge/beta

Steps You Can Take Now…

…Ride the Wave!

Page 31: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation31

Questions?

Page 32: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation32

Thank You

Page 33: A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager

© 2008 Progress Software Corporation33