dev-3: getting started with openedge® architect – part ii david lund sr. training program manager...

41
DEV-3: Getting Started with OpenEdge® Architect – Part II David Lund Sr. Training Program Manager Mark Hanley Sr. Manager Development Tools

Upload: charleen-hubbard

Post on 13-Dec-2015

219 views

Category:

Documents


0 download

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

© 2006 Progress Software Corporation41DEV-3: Getting Started with OpenEdge Architect, Part II