Vous êtes sur la page 1sur 50

P

OW
ERPO
INTSHO
ULDNOTBE
ANEYESIGHTTEST

2008 Progress Software Corporation

Montreal: Canada Progress Users Group

Getting Started with OpenEdge Architect Introduction to the OpenEdge Advanced GUI
Simon Epps
Solutions Engineer

OpenEdge Architect: An Integrated Development Environment (IDE)


Open and standards based
Productive and responsive Intuitive, easily configurable

SDLC Tools Build new SOBA applications Maintain current applications


3 2008 Progress Software Corporation

Whats All the Fuss?


Context assist, navigation, etc. Team support

Increased Productivity Easy adoption Customizab le by role Promotes bestpractices Vast tools eco-system
4 2008 Progress Software Corporation

Help, cheat sheets, wizards Import / export Perspectives Properties and preferences

Templates Modeling / roundtrip engineering Tools for full SDLC UML modeling, SCM, testing, etc.

OpenEdge Architect Components (packaged)


ABL Editor Debugger T4BL DB Navigator

Catalog

Integrated AB

3rd party

Eclipse (foundation platform) Project-based IDE OpenEdge Studio AppBuilder, Progress Dynamics, Pro*Tools, ProxyGen, WebSpeed Workshop OpenEdge Development Server Application Server, WebSpeed Transaction Server, Client Networking

OpenEdge AVM
Data Administration Tools OpenEdge Database
5 2008 Progress Software Corporation

How Will it Increase Your Productivity?


Eclipse Your Point of View

Perspectives
OpenEdge Editor OpenEdge Debugger Progress DB Navigator OpenEdge Tools for Business Logic OpenEdge AppBuilder OpenEdge Visual Designer

2008 Progress Software Corporation

Getting More Details While Editing Your Business Logic


OpenEdge Editor Perspective

OpenEdge Workbench

Resource view

Editor

DB Structure View

Task view
7 2008 Progress Software Corporation

Screen Decorators

Marker bar

Editor Pane

Overview Ruler

2008 Progress Software Corporation

Code Folding
Collapsible indicator

Collapsed indicator Line showing code that will be folded when cursor is over the indicator

2008 Progress Software Corporation

Trading File Chaos for Workspace Order

Organizing physical files (a.k.a. resources)


Into logical workspaces and projects
Physical view Logical view
Workspace Project

Folder
Files Files
10 2008 Progress Software Corporation

Bracketing Paired Elements


ABL coding aids

Auto-bracketing

Auto-matching

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

11 2008 Progress Software Corporation

Editor Source Code Options


Fast ways to apply common formatting

Add Procedure (Ctrl + Alt + P) Add Method (Ctrl + Alt + M) Add Function (Ctrl + Alt + F) Strip AppBuilder markup Format (Ctrl + Shift + F)
Formats entire document based on the current autoformatting options

Toggle comment (Ctrl + /) Fix indentation (Ctrl + I)


Corrects the indentation for the selected code block

Options available from file menu Source and from Context menu Source
12 2008 Progress Software Corporation

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

13 2008 Progress Software Corporation

Local History

A copy of a file is

saved each time a file is edited and saved Use for comparison and for replacing with a previous version Access from the context menu
Compare With Replace With

14 2008 Progress Software Corporation

Quick Diff

Turn on using
Preferences
Select Version on Disk if not using CVS

Hold over indicator to


see what is in saved version
Deletion Shows that disk version has Return Change Addition
15 2008 Progress Software Corporation

Locate changes quickly using the Overview Ruler

What is a Meta Catalog?


Slicing and dicing of code

Its 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.
16 2008 Progress Software Corporation

Meta Catalog Data About Data


Meta Catalog Key Concepts

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


17 2008 Progress Software Corporation

Populating the Meta Catalog database


Content Builder ABL Reference

ABL Application Source Code (.p, .w, .cls, .i)

Content Builder ABL Meta Schema


Content Builder ABL Annotations

Meta Catalog Data

18 2008 Progress Software Corporation

Meta Catalog Search


Select one or more projects to search Tab for Meta Catalog Search

Select one or more catalogs to search

Searches are saved allowing reuse

19 2008 Progress Software Corporation

Progress DB Navigator

SQL Editor

Selected DB connection

Execute SQL statement Time to execute the query

SQL History view

SQL Results view

20 2008 Progress Software Corporation

What are Tools for Business Logic (T4BL)?

Visual design tools for


the development of business objects Component Designer
Supports modeling ProDataSets & TempTables
ttCust
CustNum:INTEGER CustName:CHARACTER Contact:CHARACTER Country:CHARACTER
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

ttOrderLin

Model
ttOrder
N

OrderNum:INTEGER LineNum:INTEGER ItemNum:INTEGER Qty:DECIMAL

OrderNum:INTEGER CustNum:INTEGER OrderDate:DATE ShipDate:DATE

21 2008 Progress Software Corporation

Tools for Business Logic Perspective

Component Designer

Properties view

Outline view of available models


22 2008 Progress Software Corporation

Adding to the Tools You Already Know OpenEdge AppBuilder


OpenEdge AppBuilder Perspective

AppBuilder Designer

Design Windows

OpenEdge Editor Capabilities available to AppBuilder users

Visual and Code changes are synchronized


23 2008 Progress Software Corporation

Coming in OpenEdge 10.2A OpenEdge Visual Designer Perspective


OpenEdge Visual Designer Perspective

Resources view

Properties view

Toolbox

Design Canvas

24 2008 Progress Software Corporation

Its Demo Time


OpenEdge Editor DB Navigator

OpenEdge Debugger

Tools for Business Logic

25 2008 Progress Software Corporation

In Summary

Adopt OpenEdge Architect


Increases productivity Increases quality

Focus on Core Competency


For Progress
ABL not IDE

For You
Application not Technology

26 2008 Progress Software Corporation

Questions

27 2008 Progress Software Corporation

Agenda

What is the New UI GUI for .Net Overview Architectural Overview Visual Designer Demo Q&A

28 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 I S C L A I M E R

29 2008 Progress Software Corporation

What is the New UI?


The OpenEdge GUI for .Net is

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

30 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
31 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

32 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

33 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

34 2008 Progress Software Corporation

How does it compare to other OpenEdge UI Technologies?


UI Technology
OpenEdge Advanced GUI Progress GUI

Primary Use
Build modern state-ofthe-art .NET GUIs in ABL

Tools to Use
OpenEdge Architect 10.2A or above Progress Dynamics OpenEdge Studio OpenEdge Architect OpenEdge Studio OpenEdge Architect

Build Windows 95 user interface look and feel

WebClient

Build thick client GUI with thin client deployment characteristics

OpenClient

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

OpenClient Toolkit

WebSpeed

WebSpeed Workshop

Character

35 2008 Progress Software Corporation

OpenEdge Architect OpenEdge Studio 4GL Development System

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

36 2008 Progress Software Corporation

OpenEdge GUI Architecture (Classic)

OpenEdge GUI ( Windows, Frames ) Common Infrastructure

OpenEdge Runtime

DataSets, Temp-tables

Data Access

Data Sources

37 2008 Progress Software Corporation

Advanced GUI Architecture (New)


CLR
.NET GUI

Bridge

OpenEdge GUI ( Windows, Frames )

OpenEdge Runtime

GUI Visualization UI Logic ( and events, data binding ) Bridge User interaction events
Common Infrastructure

DataSets, Temp-tables GUI components Data access I/O blocking Event handlers Data Access

Data Sources

38 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

39 2008 Progress Software Corporation

A Closer Look into the Advanced GUI Presentation Layer


One Process for OpenEdge Runtime and .NET CLR

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( )

.NET GUI

ABL Logic

Bridge

Bridge

OpenEdge Runtime

.NET CLR
40 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 ). WAIT-FOR Application.Run( frm ). Method VOID FrmClose( )
MESSAGE BYE VIEW-AS ALERT-BOX. 7 END. ABL Logic 1 3 2
Bridge

.NET GUI

4 5

Bridge

OpenEdge Runtime

.NET CLR
41 2008 Progress Software Corporation

Advanced GUI ABL Language


Create form and controls Event subscription & handler methods (default) Binding to ABL data

Form.cls

Form / Data Alternate location for event handlers Data source definition and query .p / .is

Startup.p

Entry point to run GUI NEWs Form.cls Performs WAIT-FOR

Window

42 2008 Progress Software Corporation

Advanced GUI Tools Architecture


Eclipse, OpenEdge and .NET CLR work together OpenEdge Architect
OpenEdge Client
ABL Editor Visual Designer

Microsoft CLR OpenEdge AVM

Eclipse (foundation platform)

43 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
44 2008 Progress Software Corporation

Visual Designer Perspective


Visual Designer Properties view Toolbox

Control

Selected property

Form
45 2008 Progress Software Corporation

Generated code for a form

46 2008 Progress Software Corporation

Advanced GUI for .NET Demo

47 2008 Progress Software Corporation

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

48 2008 Progress Software Corporation

Questions

?
49 2008 Progress Software Corporation

Thank You

50 2008 Progress Software Corporation

Vous aimerez peut-être aussi