Title: A4: Introduction to the OpenEdge
1A4 Introduction to the OpenEdge GUI for .NET
Jim Lundy
Principal Product Manager
2Agenda
- What is the New UI
- GUI for .NET Overview
- Architectural Overview
- Visual Designer Demo
- Q A
3Under 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.
4What is the New UI?
The New UI is
- A Microsoft .NET based Windows graphical user
interface that can replace or be integrated into
an existing OpenEdge GUI Client
5OpenEdge 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
6What 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
7What 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
8Who 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
9Target 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
10Primary Features and Benefits
- 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
- Shorter ramp-up ? Higher productivity
- Built-in data binding ? Purposed for business
applications - Built on OpenEdge Deployment and data source
flexibility
11Primary Features and Benefits
- 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 - Benefits
- Adopt at your own pace
- Contemporary Windows look and feel without
compromise - Architected for investment protection
12How does it compare to other OpenEdge UI
Technologies?
UI Technology
Tools to Use
Primary Use
OpenEdge GUIfor .NET
Build modern state-of- the-art .NET GUIs in ABL
OpenEdge Architect 10.2A or above
Progress DynamicsOpenEdge StudioOpenEdge
Architect
Build Windows 95 user interface look and feel
Progress GUI
Build thick client GUI with thin client
deployment characteristics
OpenEdge StudioOpenEdge Architect
WebClient
Provides the capability to add alternate UIs
(.NET Java) to OpenEdge Apps
OpenClient Toolkit
OpenClient
Build Web-browser based apps with zero client
footprint
WebSpeed
WebSpeed Workshop
OpenEdge Architect OpenEdge Studio4GL
Development System
Build traditional green-screen user interfaces
Character
13How does it compare to other OpenEdge UIs?
n-Tier Distributed Computing
Zero Client Footprint
2-Tier Computing
Thin Client Footprint
OpenEdge GUI for .NET
Progress GUI
OpenClient.NET Java
WebSpeed
Progress Character
14OpenEdge GUI Architecture Classic
OpenEdge GUI ( Windows, Frames )
DataSets, Temp-tables
Common Infrastructure
OpenEdge Runtime
Data Access
Data Sources
15GUI for .NET Architecture New
.NET GUI
CLR
OpenEdge GUI ( Windows, Frames )
- GUI Visualization
- User interaction and events
Single Process
UI Logic ( events, data binding )
DataSets, Temp-tables
- GUI components
- Data access
- I/O blocking
- Event handlers
OpenEdge Runtime
Common Infrastructure
Data Access
Data Sources
16ABL 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
17A Closer Look into the GUI for .NET Presentation
Layer
One Process for OpenEdge and .NET Runtime
.NET GUI
ABL Logic
OpenEdge Runtime
.NET CLR
AVM ABL Virtual Machine
CLR Common Language Runtime
18A Closer Look into the GUI for .NET Presentation
Layer
DEF VAR frm AS Form. frm NEW Form(
). frmClosingSubscribe( FrmClose ). WAIT-FOR
Application.Run( frm ). Method VOID FrmClose(
) MESSAGE BYE VIEW-AS
ALERT-BOX. END.
.NET GUI
ABL Logic
OpenEdge Runtime
.NET CLR
19GUI for .NET ABL Language
- Create form and controls
- Event subscription handler methods (default)
- Binding to ABL data
Form.cls
Form / Data .p / .is
- Alternate location for event handlers
- Data source definition and query
Startup.p
- Entry point to run GUI
- NEWs Form.cls
- Performs WAIT-FOR
20GUI for .NET IDE Architecture
Eclipse, OpenEdge and .NET work together
OpenEdge Architect
ABL Editor
.NET GUI
CLR
Eclipse (foundation
platform)
UI Logic
AVM
21Visual Designer
Built as an Eclipse plug-in for OpenEdge Architect
- 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
22Generated code for a form
ABL Editor (source code tab)
Form class
Define form property
Define control variables
Constructor
Initialize form and components
Destructor
Delete / free resources
23Visual Designer Perspective
Visual Designer
Toolbox
Properties view
Control
Selected property
Form
Class Browser
24GUI for .NET Demo
25Visual Designer Perspective
Visual Designer
Toolbox
Properties view
Control
Selected property
Form
Class Browser
26What reviewers are saying
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
Tony Vertenten, Intris
27Areas 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
28Exchange 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
29When will it be available?
- 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
30Preparing for OpenEdge GUI for .NET
Steps You Can Take Now
- 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
Ride the Wave!
31?
Questions
32Thank You
33(No Transcript)