Post on 02-Apr-2018
transcript
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 1/50
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 2/50
Montreal: Canada
Progress Users Group
Getting Started with OpenEdge® Architect
Introduction to the OpenEdge ® Advanced GUI
Simon Epps Solutions Engineer
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 3/50
© 2008 Progress Software Corporation3
OpenEdge Architect: An IntegratedDevelopment Environment (IDE)
Open and standards based
Productive and responsive
Intuitive, easily configurable
SDLC Tools
Build new SOBA applications
Maintain current applications
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 4/50
© 2008 Progress Software Corporation4
• Context assist, navigation,etc.
• Team support
IncreasedProductivity
• Help, cheat sheets, wizards
• Import / export
Easy
adoption• Perspectives
• Properties and preferencesCustomizable by role
• Templates• Modeling / roundtrip engineering
Promotesbest-
practices• Tools for full SDLC
• UML modeling, SCM, testing, etc.
Vast toolseco-system
What‟s All the Fuss?
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 5/50
© 2008 Progress Software Corporation5
OpenEdge ArchitectComponents (packaged)
Eclipse (foundation platform)Project-based IDE
OpenEdge Studio
AppBuilder, Progress Dynamics ® ,
Pro*Tools, ProxyGen,
WebSpeed ® Workshop
Data Administration Tools
OpenEdge AVM
OpenEdge Database
OpenEdge Development Server
Application Server,
WebSpeed® Transaction Server,
Client Networking
Debugger CatalogDB
Navigator ABL
Editor T4BL Integrated
AB 3rd party
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 6/50
© 2008 Progress Software Corporation6
How Will it Increase Your Productivity?
Perspectives…
• OpenEdge Editor
• OpenEdge Debugger
• Progress® DB Navigator
• OpenEdge Tools for Business Logic
• OpenEdge AppBuilder
• OpenEdge Visual Designer
Eclipse Your Point of ‘View’
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 7/50© 2008 Progress Software Corporation7
Getting More Details While Editing Your Business Logic
Resourceview
Editor
DB Structure View
Task
view
OpenEdge Editor Perspective
O p e n E d g e W o r k b e n c h
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 8/50© 2008 Progress Software Corporation8
Screen Decorators
Marker bar Overview Ruler Editor Pane
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 9/50© 2008 Progress Software Corporation9
Line showing
code that willbe folded when
cursor is over
the indicator
CodeFolding
Collapsible
indicator
Collapsed
indicator
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 10/50© 2008 Progress Software Corporation10
Trading File Chaos for Workspace Order
Organizing physical files (a.k.a. resources)
• Into logical workspaces and projects
Logical view
Workspace
Project
Folder Files
Files
Physical view
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 11/50© 2008 Progress Software Corporation11
Bracketing Paired Elements
Auto-bracketing
• Matching element automatically inserted after
cursor when typing
• „(„, „{„, „[„, double and single quotes
Auto-matching
• Matching element is highlighted when the cursor
is positioned on any bracket• „(„, „{„, „[„, double and single quotes, DO - END
ABL coding aids
Auto-matching
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 12/50
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 13/50© 2008 Progress Software Corporation13
References (Ctrl+Shift+G)
References show
where a ABL source
file is being referenced
by other files Open button opens
the selected reference
in the editor
Requires r-code to be
saved
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 14/50© 2008 Progress Software Corporation14
Local History
A copy of a file issaved each time a fileis edited and saved
Use for comparisonand for replacing witha previous version
Access from the
context menu• Compare With
• Replace With
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 15/50© 2008 Progress Software Corporation15
Quick Diff
Turn on using
Preferences
• Select Version on
Disk if not using CVS
Hold over indicator tosee what is in saved
version
Shows that disk version
has ‘Return…’
Locate changes quickly
using the Overview Ruler
Deletion
Change
Addition
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 16/50© 2008 Progress Software Corporation16
What is a Meta Catalog?
It‟s a reference for developers
• Indexes your application
• You use the index to locate or find out
information about your code
The Meta Catalog understands the code
Use it to analyze the impact of code changes
across a code base
It is like a card catalog at a library. Tools can be used to
quickly look up, identify information about a code base.
Slicing and dicing of code
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 17/50© 2008 Progress Software Corporation17
Meta CatalogData About Data
Does not store source code (or any other
objects)
• Stores information about source code
Quickly and easily updateable
• Automatically update as files are saved
• If catalog is lost, then just rebuild application
objects to create a new current version Not used at run time
Meta Catalog Key Concepts…
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 18/50© 2008 Progress Software Corporation18
Populating the Meta Catalog database
Content Builder
ABL Annotations
Content Builder
ABL Meta Schema
Meta Catalog Data
ABL
Application
Source
Code(.p, .w, .cls, .i)
Content Builder
ABL Reference
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 19/50© 2008 Progress Software Corporation19
Meta Catalog Search
Tab for MetaCatalog Search
Select one or morecatalogs to search
Select one or moreprojects to search
Searches are savedallowing reuse
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 20/50© 2008 Progress Software Corporation20
Progress DB Navigator SQL
Editor
SQLResults
view
ExecuteSQL
statement SQLHistory
view
Selected DBconnection
Time toexecute
the query
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 21/50
© 2008 Progress Software Corporation21
What are Tools for Business Logic (T4BL)?
Visual design tools for
the development of
business objects
Component Designer • Supports modeling
ProDataSets & Temp-
TablesttCust
CustNum:INTEGER
CustName:CHARACTER
Contact:CHARACTER
Country:CHARACTER
ttOrder
OrderNum:INTEGER
CustNum:INTEGER
OrderDate:DATE
ShipDate:DATE
ttOrderLin
OrderNum:INTEGER
LineNum:INTEGER
ItemNum:INTEGER
Qty:DECIMAL
1
N
N
1
DEFINE TEMP-TABLE ttCust LIKE Customer.
DEFINE TEMP-TABLE ttOrder LIKE Order.
DEFINE TEMP-TABLE ttOrdlin LIKE OrderLine.
DEFINE DATASET CustOrdLin FOR ttCust,ttOrder,ttOrdlin
DATA-RELATION Customer_Order FOR ttCust,ttOrder
RELATION-FIELDS (CustNum,CustNum)
DATA-RELATION Order_OrderLine FOR ttOrder,ttOrdlin
RELATION-FIELDS (OrderNum, OrderNum).
DEFINE INPUT PARAMETER NumCusts AS INTEGER .
DEFINE OUTPUT PARAMETER DATASET FOR CustOrdLin.
DEFINE OUTPUT PARAMETER sError AS CHARACTER .
DEFINE DATA-SOURCE srcCust FOR Customer.
DEFINE DATA-SOURCE srcOrder FOR Order.
DEFINE DATA-SOURCE srcOline FOR Orderline.
BUFFER ttCust: ATTACH-DATA-SOURCE(DATA-SOURCE srcCust).
BUFFER ttOrder: ATTACH-DATA-SOURCE(DATA-SOURCE srcOrder).
BUFFER ttOrdlin: ATTACH-DATA-SOURCE(DATA-SOURCE srcOline).
BUFFER ttCust:BATCH-SIZE = NumCusts.
Code
Model
T l f B i L i P ti
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 22/50
© 2008 Progress Software Corporation22
Tools for Business Logic Perspective
Outline view
of available
models
ComponentDesigner
Properties
view
Adding to the Tools Yo Alread Kno
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 23/50
© 2008 Progress Software Corporation23
Adding to the Tools You Already KnowOpenEdge AppBuilder
OpenEdge AppBuilder Perspective
OpenEdge Editor Capabilities
available to AppBuilder users
Design Windows
Visual and Code changes
are synchronized
AppBuilder Designer
Coming in OpenEdge 10 2A OpenEdge Visual
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 24/50
© 2008 Progress Software Corporation24
Coming in OpenEdge 10.2A OpenEdge VisualDesigner Perspective
OpenEdge Visual Designer Perspective
Resourcesview Properties
view
Design
Canvas
Toolbox
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 25/50
© 2008 Progress Software Corporation25
It‟s Demo Time
OpenEdge Editor
OpenEdge Debugger Tools for Business Logic
DB Navigator
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 26/50
© 2008 Progress Software Corporation26
In Summary
Adopt OpenEdge Architect
• Increases productivity
• Increases quality
Focus on Core Competency
• For Progress
– ABL not IDE• For You
– Application not Technology
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 27/50
© 2008 Progress Software Corporation27
Questions?
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 28/50
© 2008 Progress Software Corporation28
Agenda
What is the New UI
GUI for .Net Overview
Architectural Overview
Visual Designer Demo
Q & A
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 29/50
© 2008 Progress Software Corporation29
D I S C L A I M E R
Under Development
This talk includes information about potentialfuture products and/or product enhancements.
What I am going to say reflects our currentthinking, but the information contained herein ispreliminary and subject to change. Any futureproducts we ultimately deliver may be materiallydifferent from what is described here.
D I S C L A I M E R
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 30/50
© 2008 Progress Software Corporation30
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 OpenEdge GUI for .Net is…
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 31/50
© 2008 Progress Software Corporation31
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™
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 32/50
© 2008 Progress Software Corporation32
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”
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 33/50
© 2008 Progress Software Corporation33
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
Primary Features and Benefits
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 34/50
© 2008 Progress Software Corporation34
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 emergingUIs
Benefits:
• Adopt at your own pace• Contemporary Windows look and feel without compromise
• Architected for investment protection
Primary Features and Benefits
How does it compare to other
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 35/50
© 2008 Progress Software Corporation35
How does it compare to other OpenEdge UI Technologies?
OpenEdge
Advanced GUI
Build modern state-of-
the-art .NET ™ GUIs in ABLOpenEdge 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 Studio
OpenEdge Architect
OpenEdge Studio
OpenEdge Architect
OpenClient Toolkit
WebSpeed Workshop
OpenEdge Architect
OpenEdge Studio
4GL Development System
Too ls to Use
How does it compare to other
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 36/50
© 2008 Progress Software Corporation36
Zero ClientFootprint
Thin ClientFootprint
2-Tier Computing
OpenEdge
Advanced GUI
WebSpeed
Progress GUI
Progress
Character
OpenClient.NET & Java™
n-Tier
DistributedComputing
How does it compare to other OpenEdge UIs?
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 37/50
© 2008 Progress Software Corporation37
OpenEdge GUI Architecture (“Classic”)
OpenEdge GUI ( Windows, Frames )
DataSets, Temp-tables
Data Access
Data Sources
C omm o
nI nf r a s t r u c t ur e O
p e n E d g e R
u n t i m e
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 38/50
© 2008 Progress Software Corporation38
Advanced GUI Architecture (“New”)
OpenEdge GUI ( Windows, Frames )
DataSets, Temp-tables
Data Access
Data Sources
C omm onI nf r a s
t r u c t ur e
O p e n E
d g e R u n t i m
e
.NET GUI C L R
UI Logic ( events, data binding ) Bridge
Bridge
• GUI components• Data access• I/O blocking• Event handlers
• GUI Visualization• User interaction and events
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 39/50
© 2008 Progress Software Corporation39
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
A Closer Look into the Advanced GUI
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 40/50
© 2008 Progress Software Corporation40
A Closer Look into the Advanced GUIPresentation Layer
.NET GUI
OpenEdge Runtime
Bridge
.NET CLR
Bridge
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 Runtime and .NET CLR
ABL Logic
A Closer Look into the Advanced GUI
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 41/50
© 2008 Progress Software Corporation41
A Closer Look into the Advanced GUIPresentation Layer
.NET GUI
OpenEdge Runtime .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 LogicBridgeBridge
1
2
4
6
57
Ad d GUI ABL L
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 42/50
© 2008 Progress Software Corporation42
Advanced GUI 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
Ad d GUI T l A hit t
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 43/50
© 2008 Progress Software Corporation43
Advanced GUI Tools Architecture
OpenEdge Architect
ABL
Editor
Visual
Designer
OpenEdge Client
Eclipse, OpenEdge and .NET CLR work together
OpenEdge AVM
Microsoft
CLR
Eclipse
(foundation platform)
Vi l D i
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 44/50
© 2008 Progress Software Corporation44
WYSIWYG Form creation and editing
• Define Form
• Add .NET controls
• Set properties of controls andcomponents
• Define data binding objects
• Add event subscriptions
Class Browser
• Displays class member informationabout ABL and .NET classes
Visual Designer
Built as an Eclipse plug-in for OpenEdge Architect
Vi l D i P ti
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 45/50
© 2008 Progress Software Corporation45
Visual Designer Perspective
Toolbox
Propertiesview
Selected
property
Form
Visual
Designer
Control
G t d d f f
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 46/50
© 2008 Progress Software Corporation46
Generated code for a form
Ad d GUI f NET D
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 47/50
© 2008 Progress Software Corporation47
Advanced GUI for .NET Demo
GUI f NET P i it
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 48/50
© 2008 Progress Software Corporation48
GUI for .NET 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
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 49/50
© 2008 Progress Software Corporation49
Questions ?Thank You
7/27/2019 Montreal PUG - OpenEdge Architect & GUI for .Net
http://slidepdf.com/reader/full/montreal-pug-openedge-architect-gui-for-net 50/50