DEV-6: Introduction to the OpenEdge Advanced GUI ®

Download Report

Transcript DEV-6: Introduction to the OpenEdge Advanced GUI ®

DEV-6: Introduction to the
OpenEdge® Advanced GUI
Jim Lundy
Principal Product Manager
Agenda





2
What is the New UI
Advanced GUI Overview
Architectural Overview
Visual Designer Demo
Q&A
DEV-6: Introduction to the OpenEdge Advanced GUI
© 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
DEV-6: Introduction to the OpenEdge Advanced GUI
L
A
I
M
E
R
© 2008 Progress Software Corporation
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
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
Why an OpenEdge GUI for .NET?
 Microsoft Windows is the market leader for
desktop applications
• De-facto standard
• Competitive
• Start-of-the-art user interfaces
 Microsoft .NET Windows Forms is purposed for
line of business applications
• Model-View-Presenter (MVP) pattern
• Data-centric UI controls
• ADO.NET maps well to a ProDataSet™
5
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
.NET UI Components
 Wealth of .NET controls
• Microsoft and Infragistics®
• Other 3rd party controls
 .NET Extender providers
• Cross-control functionality
(Tooltips, Errors)
 .NET User Controls
• User-defined custom
controls
6
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
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
•
•
•
•
7
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
DEV-6: Introduction to the OpenEdge Advanced GUI
© 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
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
Target audience characteristics
 Customers 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
DEV-6: Introduction to the OpenEdge Advanced GUI
© 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 target Q3 2008
• General Availability target 2H 2008
 Interested?
• Beta signup will be open at Exchange!
• www.progress.com/openedge/beta
10
DEV-6: Introduction to the OpenEdge Advanced GUI
© 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
11
DEV-6: Introduction to the OpenEdge Advanced GUI
© 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
12
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
Primary 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
13
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
How does it compare to other
OpenEdge UI Technologies?
UI Technology
OpenEdge
Advanced GUI
Tools to Use
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
14
Primary Use
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
How does it compare to other
OpenEdge UIs?
Zero Client
Footprint
Thin Client
Footprint
2-Tier
Computing
n-Tier
Distributed
Computing
OpenEdge
Advanced GUI
Progress GUI
OpenClient
.NET & Java™
WebSpeed
Progress
Character
15
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
OpenEdge GUI Architecture (“Classic”)
DataSets, Temp-tables
Data Access
Common Infrastructure
OpenEdge Runtime
OpenEdge GUI ( Windows, Frames )
Data Sources
16
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
CLR
Advanced GUI Architecture (“New”)
.NET GUI
Bridge
OpenEdge GUI ( Windows, Frames )
DataSets, Temp-tables
• GUI components
• Data access
• I/O blocking
• Event handlers
Data Access
17
Common Infrastructure
OpenEdge Runtime
• GUI Visualization
UI Logic ( and
events,
data binding ) Bridge
• User interaction
events
Data Sources
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
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
18
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
A Closer Look into the Advanced GUI
Presentation Layer
One Process for OpenEdge Runtime and .NET CLR
.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
OpenEdge Runtime
19
DEV-6: Introduction to the OpenEdge Advanced GUI
Bridge
.NET CLR
© 2008 Progress Software Corporation
A Closer Look into the Advanced GUI
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
1
3
DEV-6: Introduction to the OpenEdge Advanced GUI
5
2
Bridge
OpenEdge Runtime
20
4
Bridge
6
.NET CLR
© 2008 Progress Software Corporation
Advanced GUI 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
21
• Entry point to run GUI
• NEW’s Form.cls
• Performs WAIT-FOR
DEV-6: Introduction to the OpenEdge Advanced GUI
Window
© 2008 Progress Software Corporation
Advanced GUI Tools Architecture
Eclipse, OpenEdge and .NET CLR work together
OpenEdge Architect
OpenEdge Client
ABL
Editor
Visual
Designer
Eclipse
(foundation platform)
22
DEV-6: Introduction to the OpenEdge Advanced GUI
Microsoft
CLR
OpenEdge
AVM
© 2008 Progress Software Corporation
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
23
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
Visual Designer Perspective
Visual
Designer
Toolbox
Properties
view
Control
Selected
property
Form
24
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
Generated code for a form
25
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
Advanced GUI Demo
26
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
Visual Designer Perspective
Visual
Designer
Toolbox
Properties
view
Control
Selected
property
Form
27
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
Advanced GUI Prerequisites
 ABL Programming
• Object-oriented ABL
• .NET Windows Form Framework Classes
• .NET Infragistics Windows Form Classes
 OpenEdge Architect
• WYSIWYG Visual Designer
– Properties view and Control Toolbox
• Object-oriented Class Browser
28
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
Preparing for Advanced GUI
Steps You Can Take Now…
 Move to OpenEdge 10… Ideally 10.1C
 Move UI logic to methods
 Consider UI Design
 Get familiar with OOABL constructs and syntax
• Create and access UI objects
• Call methods, access properties
• Subscribe to UI events
 Beta signup
…Catch the Wave!
29
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
Exchange Content
OpenEdge Advanced GUI
 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
 DEV-43 OpenEdge Tools and User Interface Info Exchange
• Jim Lundy, Principal Product Manager, Progress
30
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
?
Questions
31
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
Thank You
32
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation
33
DEV-6: Introduction to the OpenEdge Advanced GUI
© 2008 Progress Software Corporation