dev-3: getting started with openedge® architect – part ii david lund sr. training program manager...
TRANSCRIPT
DEV-3: Getting Started with OpenEdge® Architect – Part II
David LundSr. Training Program Manager
Mark HanleySr. Manager Development Tools
© 2006 Progress Software Corporation2DEV-3: Getting Started with OpenEdge Architect, Part II
Getting Started with OpenEdge Architect
Provide an understanding of several of the OpenEdge Architect development tools• OpenEdge Editor features
• Using the SQL Editor
• Meta Catalog impact analysis
• Modeling ProDataSets using Tools for Business Logic
Session Goals…
© 2006 Progress Software Corporation3DEV-3: Getting Started with OpenEdge Architect, Part II
Agenda
The Big Picture OpenEdge Editor Features SQL Editor Meta Catalog Tools for Business Logic
Getting Started with OpenEdge ArchitectO
penEd
ge
Arch
itect
Serv
ices
Data
base
N
avig
ato
r
Meta
Cata
log
This presentation use the abbreviation ABL for OpenEdge Advanced Business Logic (formerly known as OpenEdge 4GL)
© 2006 Progress Software Corporation4DEV-3: Getting Started with OpenEdge Architect, Part II
Why use Architect?
OpenEdge Architect providesan open, standards-based, intuitive,
extensible toolset that enhances OpenEdge developer productivity
Enhanced Navigation
Customized Perspectives
Built on Industry Standards
Collapsible code blocks
Role based perspectives
View and change editor and UIDrag and drop of schema into ABL code
Integrate with 3rd party tools
It’s about making it easier…
Search multiple code bases
Editor auto-completion
Enhanced Help
ExtendableBuilt in change history
Overview ruler Wizard-based configuration
Generate ProDataSet from model
© 2006 Progress Software Corporation5DEV-3: Getting Started with OpenEdge Architect, Part II
OpenEdge Architect
Eclipse (foundation platform)
Tools for Business
Logic
Meta Catalog DB Navigator DebuggerABL EditorFuture:
New Plug-ins
OpenEdge Runtime
Data Administration
OpenEdge StudioAppBuilder
Pro*Tools, ProxyGen
WebSpeed Workshop
OpenEdge Database
OpenEdge Development ServerApplication Server
WebSpeed Transaction Server
Client Networking
© 2006 Progress Software Corporation6DEV-3: Getting Started with OpenEdge Architect, Part II
Agenda
The Big Picture OpenEdge Editor Features SQL Editor Meta Catalog Tools for Business Logic
Getting Started with OpenEdge ArchitectO
penEd
ge
Arch
itect
Serv
ices
Data
base
N
avig
ato
r
Meta
Cata
log
© 2006 Progress Software Corporation7DEV-3: Getting Started with OpenEdge Architect, Part II
Demonstration
OpenEdge Editor
© 2006 Progress Software Corporation8DEV-3: Getting Started with OpenEdge Architect, Part II
Screen Decorators
Marker bar Overview RulerEditor Pane
© 2006 Progress Software Corporation9DEV-3: Getting Started with OpenEdge Architect, Part II
Line showing code that will
be folded when cursor is over the indicator
Code Folding
Collapsible indicator
Collapsed indicator
© 2006 Progress Software Corporation10DEV-3: Getting Started with OpenEdge Architect, Part II
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
© 2006 Progress Software Corporation11DEV-3: Getting Started with OpenEdge Architect, Part II
Running ABL Code
Run • Runs GUI ABL
Run Web • Runs WebSpeed programs
Run as GUI application • Runs GUI ABL
Run as TTY application • Runs character programs
Run Configuration• Provides array of configuration/launch options
‘Launch …’ (not shown in image)• Last 5 launched runtimes• Not saved when Architect is closed
Uses Project’s OpenEdge runtime session
Starts new OpenEdge runtime session
© 2006 Progress Software Corporation12DEV-3: Getting Started with OpenEdge Architect, Part II
Editor Source Code Options
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 auto-formatting options
Toggle comment (Ctrl + /) Fix indentation (Ctrl + I)
• Corrects the indentation for the selected code block
Fast ways to apply common formatting
Options available from file menu Source and from Context menu Source
© 2006 Progress Software Corporation13DEV-3: Getting Started with OpenEdge Architect, Part II
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
© 2006 Progress Software Corporation14DEV-3: Getting Started with OpenEdge Architect, Part II
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
© 2006 Progress Software Corporation15DEV-3: Getting Started with OpenEdge Architect, Part II
Quick Diff
Turn on using Preferences• Select Version on
Disk if not using CVS
Hold over indicator to see what is in saved version
Shows that disk versionhas ‘Return…’
Locate changes quicklyusing the Overview Ruler
Deletion
Change
Addition
© 2006 Progress Software Corporation16DEV-3: Getting Started with OpenEdge Architect, Part II
Agenda
The Big Picture OpenEdge Editor Features SQL Editor Meta Catalog Tools for Business Logic
Getting Started with OpenEdge ArchitectO
penEd
ge
Arch
itect
Serv
ices
Data
base
N
avig
ato
r
Meta
Cata
log
© 2006 Progress Software Corporation17DEV-3: Getting Started with OpenEdge Architect, Part II
SQL EditorSQL
Editor
SQL Results
view
Execute SQL
statement SQL History
view
Selected DB connection
Time to execute
the query
© 2006 Progress Software Corporation18DEV-3: Getting Started with OpenEdge Architect, Part II
Demonstration
SQL Editor
© 2006 Progress Software Corporation19DEV-3: Getting Started with OpenEdge Architect, Part II
Agenda
The Big Picture OpenEdge Editor Features SQL Editor Meta Catalog Tools for Business Logic
Getting Started with OpenEdge ArchitectO
penEd
ge
Arch
itect
Serv
ices
Data
base
N
avig
ato
r
Meta
Cata
log
© 2006 Progress Software Corporation20DEV-3: Getting Started with OpenEdge Architect, Part II
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
© 2006 Progress Software Corporation21DEV-3: Getting Started with OpenEdge Architect, Part II
Data 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…
© 2006 Progress Software Corporation22DEV-3: Getting Started with OpenEdge Architect, Part II
Populating the Meta Catalog database
Content Builder ABL Annotations
Content Builder ABL App Schema
Meta Catalog Data
ABLApplication
SourceCode
(.p, .w, .cls, .i)
Content Builder ABL Reference
© 2006 Progress Software Corporation23DEV-3: Getting Started with OpenEdge Architect, Part II
Types of Catalogs
Local Meta Catalog• Contains local metadata for a workspace
Master Meta Catalog• Contains metadata for code that is centrally
located– For example a source code repository
© 2006 Progress Software Corporation24DEV-3: Getting Started with OpenEdge Architect, Part II
What are ABL Annotations
Mechanism for describing your source code• Code becomes self-describing
Annotations are added to code by developers
Annotation templates• Create annotations that can be saved and
reused
Annotation Generation Wizard– Generate annotations into selected code
© 2006 Progress Software Corporation25DEV-3: Getting Started with OpenEdge Architect, Part II
ABL Annotations
Supported in ABL• Any line starting with @ is an annotation
• Always on a separate line from other code
• Treated like a comment when compiled
/* ABL Annotation Syntax */ @annotation [(attribute=
"value" [, attribute="value"]…)].
/* Example of an annotation */ @distribute(CodeIncluded="BackOffice")
© 2006 Progress Software Corporation26DEV-3: Getting Started with OpenEdge Architect, Part II
Meta Catalog Search
Tab for Meta Catalog Search
Select one or more catalogs to search
Select one or more projects to search
Searches are saved allowing reuse
© 2006 Progress Software Corporation27DEV-3: Getting Started with OpenEdge Architect, Part II
Meta Catalog Search
Search results
Matches found in both the local and master catalogs
© 2006 Progress Software Corporation28DEV-3: Getting Started with OpenEdge Architect, Part II
Meta Catalog Explorer View
Catalog
Root Path
Project
Folder
Resource
Content Type
Elements
Nodes
Value of Annotation attribute
© 2006 Progress Software Corporation29DEV-3: Getting Started with OpenEdge Architect, Part II
Demonstration
Meta Catalog
© 2006 Progress Software Corporation30DEV-3: Getting Started with OpenEdge Architect, Part II
Agenda
The Big Picture OpenEdge Editor Features SQL Editor Meta Catalog Tools for Business Logic
Getting Started with OpenEdge ArchitectO
penEd
ge
Arch
itect
Serv
ices
Data
base
N
avig
ato
r
Meta
Cata
log
© 2006 Progress Software Corporation31DEV-3: Getting Started with OpenEdge Architect, Part II
What are Tools for Business Logic (T4BL)?
Visual design tools for the development of business objects
10.1A Component Designer• Supports modeling of ProDataSets and
Temp-Tables
More to come…
INNOV-9 – OpenEdge Development Products Roadmap
© 2006 Progress Software Corporation32DEV-3: Getting Started with OpenEdge Architect, Part II
Code to Model / Model to Code
DEFINE TEMP-TABLE ttCust LIKE Customer.DEFINE TEMP-TABLE ttOrder LIKE Order.DEFINE TEMP-TABLE ttOrdlin LIKE OrderLine.
DEFINE DATASET CustOrdLin FOR ttCust,ttOrder,ttOrdlinDATA-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 can be created or edited at any time
Code is not dependent on a model
Code elements can be transformed into model elements at any time
Models create structure and code that can be edited
Forward engineering
ttCust
CustNum:INTEGERCustName:CHARACTERContact:CHARACTERCountry:CHARACTER
ttOrder
OrderNum:INTEGERCustNum:INTEGEROrderDate:DATEShipDate:DATE
ttOrderLin
OrderNum:INTEGERLineNum:INTEGERItemNum:INTEGERQty:DECIMAL
1
N
N
1
CodeModel
© 2006 Progress Software Corporation33DEV-3: Getting Started with OpenEdge Architect, Part II
Tools for Business Logic Perspective
Outline view of available models
Component Designer
Properties view
© 2006 Progress Software Corporation34DEV-3: Getting Started with OpenEdge Architect, Part II
Component Designer
The Component Designer is a graphical editor used to work with models
Supported component types• Tables and DataSets
Models created and modified using the Component Designer are saved to two files• A diagram file• A component model file (XMI) or database
XML Metadata Interchange (XMI) facilitates standardized interchange of object models.
© 2006 Progress Software Corporation35DEV-3: Getting Started with OpenEdge Architect, Part II
Demonstration
Modeling a ProDataSet
© 2006 Progress Software Corporation36DEV-3: Getting Started with OpenEdge Architect, Part II
In Summary
Adopt OpenEdge Architect • Increases productivity
• Increases quality
Upgrade to 10.1A NOW!
© 2006 Progress Software Corporation37DEV-3: Getting Started with OpenEdge Architect, Part II
Relevant Exchange Sessions
DEV-2: Getting Started with OpenEdge Architect – Part I
DEV-8: OpenEdge Architect − Extensibility and Third-Party Integration
MOVE-13: Adopting OpenEdge Architect INNOV-9: OpenEdge Development
Products Roadmap INNOV-14 A Look Inside the OpenEdge UI
Research Lab
© 2006 Progress Software Corporation38DEV-3: Getting Started with OpenEdge Architect, Part II
Education / Documentation References
Courses• What’s new in 10.1A : OpenEdge Architect
© 2006 Progress Software Corporation39DEV-3: Getting Started with OpenEdge Architect, Part II
Questions?
© 2006 Progress Software Corporation40DEV-3: Getting Started with OpenEdge Architect, Part II
Thank you foryour time