© 2009 progress software corporation 1 click to edit master subtitle style overview of openedge®...

23
© 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for .NET Release 10.2A Jarmo Nieminen Senior Technical Account Manager, Progress Software Oy 19 March 2009

Upload: catherine-sullivan

Post on 27-Dec-2015

225 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

1

Click to Edit Master Subtitle Style

Overview of OpenEdge® GUI for .NETRelease 10.2A

Jarmo NieminenSenior Technical Account Manager,

Progress Software Oy19 March 2009

Page 2: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

2

Agenda

Introduction Architecture OpenEdge Language Support OpenEdge Tool Support

OpenEdge GUI for .NET

Page 3: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

3

A Microsoft .NET™ based Windows graphical user interface that can replace or be integrated into an existing OpenEdge GUI application

A Microsoft .NET™ based Windows graphical user interface that can replace or be integrated into an existing OpenEdge GUI application

Page 4: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

4

User Interface is based on .NET forms and controls Windows Forms (WinForms) is the graphical user

interface API included as part of Microsoft's .NET Framework providing event-driven applications

.NET Controls are reusable classes that interact with users and are contained within a form

– Microsoft® .NET Windows Form controls– Ultra Controls for .NET (Infragistics® WinForms)– 3rd-party .NET controls

Development is done entirely in the ABL environment .NET forms can be mixed with ABL windows in the same

application

User Interface is based on .NET forms and controls Windows Forms (WinForms) is the graphical user interface API included as part of Microsoft's .NET Framework providing event-driven applications .NET Controls are reusable classes that interact with users and are contained within a form

– Microsoft® .NET Windows Form controls– Ultra Controls for .NET (Infragistics® WinForms)– 3rd-party .NET controls

Development is done entirely in the ABL environment .NET forms can be mixed with ABL windows in the same application

Primary characteristics

Page 5: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

5

OpenEdge GUI Client Products Use object-oriented ABL to access .NET objects Data binding between ABL data sources and .NET

controls Write ABL event handlers for .NET controls

OpenEdge Architect Build forms using new Visual Designer – WYSIWYG

editor Basic set of .NET UI controls

OpenEdge Ultra Controls for .NET (optional) Available as an optional product providing additional

feature rich .NET controls from Infragistics

OpenEdge GUI Client Products Use object-oriented ABL to access .NET objects Data binding between ABL data sources and .NET controls Write ABL event handlers for .NET controls

OpenEdge Architect Build forms using new Visual Designer – WYSIWYG editor Basic set of .NET UI controls

OpenEdge Ultra Controls for .NET (optional) Available as an optional product providing additional feature rich .NET controls from Infragistics

OpenEdge Products

Page 6: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

6

Leverages ABL Single language – No need to learn C#, VB.NET Direct `access to .NET controls – no control container required Data binding between ABL data sources and UI controls Event binding between ABL methods and UI events

Single tool set: OpenEdge Architect No need to purchase, learn or use non-OpenEdge products

Integrates with existing GUI

Independent of deployment topology (client server or n-tier)

Extensible with 3rd party and custom controls

Takes advantage of .NET WinForms technology and advancement

Leverages ABL Single language – No need to learn C#, VB.NET Direct `access to .NET controls – no control container required Data binding between ABL data sources and UI controls Event binding between ABL methods and UI events

Single tool set: OpenEdge Architect No need to purchase, learn or use non-OpenEdge products

Integrates with existing GUI

Independent of deployment topology (client server or n-tier)

Extensible with 3rd party and custom controls

Takes advantage of .NET WinForms technology and advancement

Page 7: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

7

OpenEdge UI Technologies

OpenEdge GUI for .NET

Build modern state-of- the-art GUIs for Microsoft Windows in ABL

10.2A: OpenEdge Architect*, OpenEdge Studio, 4GL Development System

UI Technology Primary Use Tools to Use

Progress GUI

WebClient

Open Client

WebSpeed

Character

Build Windows 95 user interface look and feel

Build thick client GUI with thin client deployment characteristics

Build alternate UIs (.NET & Java™) to OpenEdge AppsBuild Web-browser based apps with zero client footprint

Build traditional green-screen user interfaces

Progress DynamicsOpenEdge StudioOpenEdge Architect

OpenEdge StudioOpenEdge Architect

Open Client Toolkit

WebSpeed® Workshop

OpenEdge Architect OpenEdge Studio4GL Development System* Visual Designer only available with OpenEdge

Architect

Page 8: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

8

Agenda

Introduction Architecture OpenEdge Language Support OpenEdge Tool Support

OpenEdge GUI for .NET

Page 9: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

9

OpenEdge GUI for .NET Architecture

OpenEdge Client

OpenEdge AVM

Microsoft CLR

OpenEdge UI (Controller) .NET UI (View)

BridgeBridge

OpenEdge and .NET™ CLR within a single process

Define GUI components Data access I/O blocking (Wait-For) Event handlers

GUI Visualization User interaction and events

Page 10: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

10

OpenEdge GUI for .NET Architecture

Single Process for OpenEdge runtime and .NET Common Language Runtime (CLR)

OpenEdge runtime .NET CLR

.NET GUI

frm = NEW Form( ).frm:Closing:Subscribe( EventHdlr1 ).

WAIT-FOR Application.Run( frm ).

METHOD EventHdlr1( ) …

ABL Logic

OpenEdge UI (Presenter)

.NET UI (View)BridgeBridge

4

12

6

7 3 5

Page 11: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

11

Agenda

Introduction Architecture OpenEdge Language Support OpenEdge Tool Support

OpenEdge GUI for .NET

Page 12: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

12

OpenEdge GUI for .NET – Code components

Window

Create form and controls Event subscription & event handler methods Data Binding definitions (ProBindingSource)

Forms

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

SupportingFiles*.cls, *.p, *.i

Alternate location for event handlers Data source definition and query

*.cls

Page 13: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

13

.NET Inheritance Stack

Root class: Progress.Lang.Object

OpenEdge Form

Progress.Lang.Object ABL System.Object   System.MarshalByRefObject   System.ComponentModel.Component    System.Windows.Forms.Control     System.Windows.Forms.ScrollableControl      System.Windows.Forms.ContainerControl       System.Windows.Forms.Form

Progress.Windows.Form OE

.NET

CustEntryForm OE

Progress.Lang.Object ABL System.Object    System.MarshalByRefObject      System.ComponentModel.Component       System.Windows.Forms.Control

.NET

.NET Control

Infragistics.Win.UltraControlBase   Infragistics.Win.Misc.ControlBase     Infragistics.Win.Misc.AutoSizeControlB       Infragistics.Win.Misc.UltraButtonBase          Infragistics.Win.Misc.UltraButton

ABL Class .NET class

Infragistics Class OpenEdge form OpenEdge derived Class

Page 14: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

14

.NET classes used like ABL classes Share common base class Progress.Lang.Object Can refer to .NET object type using namespace Case-sensitive type names

.NET classes used like ABL classes Share common base class Progress.Lang.Object Can refer to .NET object type using namespace Case-sensitive type names

Access to .NET objects based on object-oriented ABL

DEFINE VARIABLE myForm AS Progress.Windows.Form.DEFINE VARIABLE helloBtn AS System.Windows.Forms.Button.myForm = NEW Progress.Windows.Form ( ).helloBtn = NEW System.Windows.Forms.Button( ).helloBtn:Text = “Hello World”.myForm:Controls:Add(helloBtn).MESSAGE helloBtn:Text VIEW-AS ALERT-BOX.…

Page 15: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

15

Bind ABL data to .NET controls (data binding) New Progress.Data.BindingSource

– Enables design-time binding to business objects – Provides layer of abstraction between data and UI

Can bind UI control with various data sources: – Buffers, queries, ProDataSets

Bind ABL data to .NET controls (data binding) New Progress.Data.BindingSource

– Enables design-time binding to business objects – Provides layer of abstraction between data and UI

Can bind UI control with various data sources: – Buffers, queries, ProDataSets

ABL data sources tied directly to .NET controls

DEFINE VARIABLE custbs AS Progress.Data.BindingSource.CREATE QUERY hdlQry. ... /* Prepare and open query */custbs = NEW Progress.Data.BindingSource( hdlQry,"*","").custGrid:DataSource = Custbs.

Page 16: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

16

Agenda

Introduction Architecture OpenEdge Language Support OpenEdge Tool Support

OpenEdge GUI for .NET

Page 17: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

17

OpenEdge GUI for .NET Tools Architecture

OpenEdge Architect

ABL Editor Visual

Designer

OpenEdge Client

Eclipse, OpenEdge and .NET CLR work together

OpenEdge AVM

Microsoft CLR

Eclipse (foundation platform)

Visual Designer

WYSIWYG designer ABL Code generation Event subscriptions & handler methods Properties view

Page 18: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

18

Define FormAdd .NET controlsSet propertiesDefine data binding

objectsAdd event

subscriptions

Define FormAdd .NET controlsSet propertiesDefine data binding objectsAdd event subscriptions

Built as an Eclipse plug-in for OpenEdge Architect

WYSIWYG Form creation and editing

Page 19: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

19

Summary - ABL to .NET in a Nutshell

Modern, competitive UI in ABL Uses .NET objects Many 3rd party controls available

Visual Designer – WYSIWYG tool Leverages ABL

Object-oriented extensions .NET objects integrated into ABL hierarchy Built-in data type conversions Event-driven programming (WAIT-FOR) Mix-n-match of OpenEdge GUI and OpenEdge GUI for .NET Topology independent: Standalone, C/S, n-tier, web

(WebClient) Developers need only write ABL code

Page 20: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

20

OpenEdge GUI for .NET

Questions?

OpenEdge Client

OpenEdge AVM

Microsoft CLR

OpenEdge UI (Controller)

.NET UI (View)Bridg

eBridge

Page 21: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

21

Thank you foryour time

Page 22: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

22

Page 23: © 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical

© 2009 Progress Software Corporation

23

Questions?