DEV-6: Introduction to the OpenEdge® Advanced GUI

advertisement
A4: Introduction to the
OpenEdge® GUI for .NET
Jim Lundy
Principal Product Manager
Agenda
 What is the New UI
 GUI for .NET Overview
 Architectural Overview
 Visual Designer Demo
 Q&A
2
© 2008 Progress Software Corporation
Under Development


D I S C L A I M E R
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
3
I
S
C
L
A
I
© 2008 Progress Software Corporation
M
E
R
What 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
4
© 2008 Progress Software Corporation
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
5
© 2008 Progress Software Corporation
What is it Called?

New UI
•
•
•
•

New control set
•
•
•
•
6
Project name: “OpenEdge Advanced GUI”
Not a product…
A feature of OpenEdge
Develop using OpenEdge Architect or ABL development
products
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
© 2008 Progress Software Corporation
What is it Called?

New UI
•
•
•
•

New control set
•
•
•
•
7
Technology name: “OpenEdge GUI for .NET”
Not a product…
A feature of OpenEdge
Develop using OpenEdge Architect or ABL development
products
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
© 2008 Progress Software Corporation
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
8
© 2008 Progress Software Corporation
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
9
© 2008 Progress Software Corporation
Primary 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
10
© 2008 Progress Software Corporation
Primary Features and Benefits




Integrates with existing GUI (at container level)

Benefits:
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
• Adopt at your own pace
• Contemporary Windows look and feel without compromise
• Architected for investment protection
11
© 2008 Progress Software Corporation
How does it compare to other
OpenEdge UI Technologies?
UI Technology
Tools to Use
OpenEdge GUI
for .NET
Build modern state-ofthe-art .NET™ GUIs in ABL
OpenEdge Architect 10.2A
or above
Progress® GUI
Build Windows 95 user interface
look and feel
Progress Dynamics®
OpenEdge Studio
OpenEdge Architect
WebClient™
Build thick client GUI with thin
client deployment characteristics
OpenEdge Studio
OpenEdge Architect
OpenClient
Provides the capability to add
alternate UIs (.NET & Java™) to
OpenEdge Apps
OpenClient Toolkit
WebSpeed®
Build Web-browser based apps
with zero client footprint
WebSpeed Workshop
Build traditional green-screen user
interfaces
OpenEdge Architect
OpenEdge Studio
4GL Development System
Character
12
Primary Use
© 2008 Progress Software Corporation
How does it compare to other
OpenEdge UIs?
Zero Client
Footprint
Thin Client
Footprint
2-Tier
Computing
OpenEdge
GUI for .NET
Progress GUI
OpenClient
.NET & Java™
WebSpeed
Progress
Character
13
© 2008 Progress Software Corporation
n-Tier
Distributed
Computing
OpenEdge GUI Architecture “Classic”
DataSets, Temp-tables
Data Access
Data Sources
14
© 2008 Progress Software Corporation
Common Infrastructure
OpenEdge Runtime
OpenEdge GUI ( Windows, Frames )
CLR
GUI for .NET Architecture “New”
.NET GUI
Bridge
OpenEdge GUI ( Windows, Frames )
DataSets, Temp-tables
• GUI components
• Data access
• I/O blocking
• Event handlers
Data Access
15
Data Sources
© 2008 Progress Software Corporation
Common Infrastructure
OpenEdge Runtime
• GUI Visualization
UI Logic ( and
events,
data binding ) Bridge
• User interaction
events
Single
Process
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
16
© 2008 Progress Software Corporation
A Closer Look into the GUI for .NET
Presentation Layer
One Process for OpenEdge and .NET Runtime
.NET GUI
frm = NEW Form( ).
frm = NEW Form( ).
frm:Closing:Subscribe(
frm:Closing:Subscribe(
EventHdlr1
).
EventHdlr1 ).
WAIT-FOR Application.Run( frm ).
WAIT-FOR Application.Run( frm ).
EventHdlr1( ) …
EventHdlr1( ) …
ABL Logic
Bridge
Bridge
OpenEdge Runtime
AVM: ABL Virtual Machine
17
.NET CLR
CLR: Common Language Runtime
© 2008 Progress Software Corporation
A Closer Look into the GUI for .NET
Presentation Layer
DEF VAR frm AS Form.
frm = NEW Form( ).
frm:Closing:Subscribe( FrmClose ).
.NET GUI
WAIT-FOR Application.Run( frm ).
Method VOID FrmClose( )
MESSAGE “BYE” VIEW-AS
ALERT-BOX.
7
END.
ABL Logic
4
1
3
2
Bridge
Bridge
6
OpenEdge Runtime
18
5
© 2008 Progress Software Corporation
.NET CLR
GUI for .NET ABL Language
Form.cls
• Create form and controls
• Event subscription & handler methods (default)
• Binding to ABL data
Form / Data • Alternate location for event handlers
• Data source definition and query
.p / .i’s
Startup.p
19
• Entry point to run GUI
• NEW’s Form.cls
• Performs WAIT-FOR
© 2008 Progress Software Corporation
Window
GUI for .NET – IDE Architecture
Eclipse, OpenEdge and .NET work together
Visual
Designer
Eclipse
(foundation platform)
20
© 2008 Progress Software Corporation
CLR
ABL
Editor
.NET Bridge
GUI
AVM
OpenEdge Architect
UI
Logic Bridge
Visual 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
21
© 2008 Progress Software Corporation
Generated 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
22
© 2008 Progress Software Corporation
Visual Designer Perspective
Visual
Designer
Toolbox
Properties
view
Control
Selected
property
Class Browser
23
Form
© 2008 Progress Software Corporation
GUI for .NET Demo
24
© 2008 Progress Software Corporation
Visual Designer Perspective
Visual
Designer
Toolbox
Properties
view
Control
Selected
property
Class Browser
25
Form
© 2008 Progress Software Corporation
What 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
26
© 2008 Progress Software Corporation
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
27
© 2008 Progress Software Corporation
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
28
© 2008 Progress Software Corporation
When 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
29
© 2008 Progress Software Corporation
Preparing 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!
30
© 2008 Progress Software Corporation
?
Questions
31
© 2008 Progress Software Corporation
Thank You
32
© 2008 Progress Software Corporation
33
© 2008 Progress Software Corporation
Download