Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
DEV-3: Getting Started with OpenEdge® Architect – Part II Mark Hanley David Lund Sr. Manager Development Tools Sr. Training Program Manager Getting Started with OpenEdge Architect Session Goals… 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 DEV-3: Getting Started with OpenEdge Architect, Part II 2 © 2006 Progress Software Corporation Agenda Getting Started with OpenEdge Architect OpenEdge Architect The Big Picture OpenEdge Editor Features SQL Editor Meta Catalog Tools for Business Logic Meta Catalog 3 Database Navigator DEV-3: Getting Started with OpenEdge Architect, Part II Services This presentation use the abbreviation ABL for OpenEdge Advanced Business Logic (formerly known as OpenEdge 4GL) © 2006 Progress Software Corporation Why use Architect? It’s about making it easier… OpenEdge Architect provides an open, standards-based, intuitive, extensible toolset that enhances OpenEdge developer productivity Wizard-based configuration Overview ruler Role based perspectives Enhanced Navigation Drag and drop of schema into ABL code Built on Industry Standards View and change editor and UI Customized Perspectives Integrate with 3rd party tools Enhanced Help Generate ProDataSet from model Extendable Search multiple code bases Collapsible code blocks Built in change history Editor auto-completion DEV-3: Getting Started with OpenEdge Architect, Part II 4 © 2006 Progress Software Corporation OpenEdge Architect ABL Editor Tools for Business Logic Meta Catalog Future: DB Navigator Debugger New Plug-ins Eclipse (foundation platform) OpenEdge Development Server OpenEdge Studio Application Server WebSpeed Transaction Server Client Networking AppBuilder Pro*Tools, ProxyGen WebSpeed Workshop OpenEdge Database Data Administration OpenEdge Runtime DEV-3: Getting Started with OpenEdge Architect, Part II 5 © 2006 Progress Software Corporation Agenda Getting Started with OpenEdge Architect OpenEdge Architect The Big Picture OpenEdge Editor Features SQL Editor Meta Catalog Tools for Business Logic Meta Catalog 6 Database Navigator Services DEV-3: Getting Started with OpenEdge Architect, Part II © 2006 Progress Software Corporation Demonstration OpenEdge Editor DEV-3: Getting Started with OpenEdge Architect, Part II 7 © 2006 Progress Software Corporation Screen Decorators Marker bar Editor Pane DEV-3: Getting Started with OpenEdge Architect, Part II Overview Ruler 8 © 2006 Progress Software Corporation Code Folding Collapsible indicator Collapsed indicator Line showing code that will be folded when cursor is over the indicator DEV-3: Getting Started with OpenEdge Architect, Part II 9 © 2006 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 DEV-3: Getting Started with OpenEdge Architect, Part II 10 © 2006 Progress Software Corporation Running ABL Code Uses Project’s OpenEdge runtime session Run • Runs GUI ABL Run Web • Runs WebSpeed programs Starts new OpenEdge runtime session 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 DEV-3: Getting Started with OpenEdge Architect, Part II 11 © 2006 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 DEV-3: Getting Started with OpenEdge Architect, Part II 12 © 2006 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 DEV-3: Getting Started with OpenEdge Architect, Part II 13 © 2006 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 DEV-3: Getting Started with OpenEdge Architect, Part II 14 © 2006 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 Locate changes quickly using the Overview Ruler Deletion Shows that disk version has ‘Return…’ Change Addition DEV-3: Getting Started with OpenEdge Architect, Part II 15 © 2006 Progress Software Corporation Agenda Getting Started with OpenEdge Architect OpenEdge Architect The Big Picture OpenEdge Editor Features SQL Editor Meta Catalog Tools for Business Logic Meta Catalog Database Navigator Services DEV-3: Getting Started with OpenEdge Architect, Part II 16 © 2006 Progress Software Corporation SQL Editor Execute SQL statement Time to execute the query DEV-3: Getting Started with OpenEdge Architect, Part II SQL Editor Selected DB connection SQL History view SQL Results view 17 © 2006 Progress Software Corporation Demonstration SQL Editor DEV-3: Getting Started with OpenEdge Architect, Part II 18 © 2006 Progress Software Corporation Agenda Getting Started with OpenEdge Architect OpenEdge Architect The Big Picture OpenEdge Editor Features SQL Editor Meta Catalog Tools for Business Logic Meta Catalog Database Navigator Services DEV-3: Getting Started with OpenEdge Architect, Part II 19 © 2006 Progress Software Corporation What is a Meta Catalog? Slicing and dicing of code 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. DEV-3: Getting Started with OpenEdge Architect, Part II 20 © 2006 Progress Software Corporation 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 DEV-3: Getting Started with OpenEdge Architect, Part II 21 © 2006 Progress Software Corporation Populating the Meta Catalog database ABL Application Source Code (.p, .w, .cls, .i) Content Builder ABL Reference Content Builder ABL App Schema Content Builder ABL Annotations Meta Catalog Data DEV-3: Getting Started with OpenEdge Architect, Part II 22 © 2006 Progress Software Corporation 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 DEV-3: Getting Started with OpenEdge Architect, Part II 23 © 2006 Progress Software Corporation 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 DEV-3: Getting Started with OpenEdge Architect, Part II 24 © 2006 Progress Software Corporation ABL Annotations /* ABL Annotation Syntax */ @annotation [(attribute= "value" [, attribute="value"]…)]. Supported in ABL • Any line starting with @ is an annotation • Always on a separate line from other code • Treated like a comment when compiled /* Example of an annotation */ @distribute(CodeIncluded="BackOffice") DEV-3: Getting Started with OpenEdge Architect, Part II 25 © 2006 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 DEV-3: Getting Started with OpenEdge Architect, Part II 26 © 2006 Progress Software Corporation Meta Catalog Search Search results Matches found in both the local and master catalogs DEV-3: Getting Started with OpenEdge Architect, Part II 27 © 2006 Progress Software Corporation Meta Catalog Explorer View Nodes Catalog Root Path Project Folder Resource Content Type Value of Annotation attribute Elements DEV-3: Getting Started with OpenEdge Architect, Part II 28 © 2006 Progress Software Corporation Demonstration Meta Catalog DEV-3: Getting Started with OpenEdge Architect, Part II 29 © 2006 Progress Software Corporation Agenda Getting Started with OpenEdge Architect OpenEdge Architect The Big Picture OpenEdge Editor Features SQL Editor Meta Catalog Tools for Business Logic Meta Catalog Database Navigator Services DEV-3: Getting Started with OpenEdge Architect, Part II 30 © 2006 Progress Software Corporation 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 DEV-3: Getting Started with OpenEdge Architect, Part II 31 © 2006 Progress Software Corporation Code to Model / Model to Code Code can be created or edited at any time Code is not dependent on a model 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). Code 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). ttCust Code elements can be transformed into model elements at any time CustNum:INTEGER CustName:CHARACTER Contact:CHARACTER Country:CHARACTER 1 ttOrderLin Model OrderNum:INTEGER LineNum:INTEGER ItemNum:INTEGER Qty:DECIMAL N ttOrder N OrderNum:INTEGER CustNum:INTEGER OrderDate:DATE ShipDate:DATE 1 BUFFER ttCust:BATCH-SIZE = NumCusts. Models create structure and code that can be edited Forward engineering DEV-3: Getting Started with OpenEdge Architect, Part II 32 © 2006 Progress Software Corporation Tools for Business Logic Perspective Component Designer Properties view Outline view of available models DEV-3: Getting Started with OpenEdge Architect, Part II 33 © 2006 Progress Software Corporation 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. DEV-3: Getting Started with OpenEdge Architect, Part II 34 © 2006 Progress Software Corporation Demonstration Modeling a ProDataSet DEV-3: Getting Started with OpenEdge Architect, Part II 35 © 2006 Progress Software Corporation In Summary Adopt OpenEdge Architect • Increases productivity • Increases quality Upgrade to 10.1A NOW! DEV-3: Getting Started with OpenEdge Architect, Part II 36 © 2006 Progress Software Corporation 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 DEV-3: Getting Started with OpenEdge Architect, Part II 37 © 2006 Progress Software Corporation Education / Documentation References Courses • What’s new in 10.1A : OpenEdge Architect DEV-3: Getting Started with OpenEdge Architect, Part II 38 © 2006 Progress Software Corporation Questions? DEV-3: Getting Started with OpenEdge Architect, Part II 39 © 2006 Progress Software Corporation Thank you for your time DEV-3: Getting Started with OpenEdge Architect, Part II 40 © 2006 Progress Software Corporation DEV-3: Getting Started with OpenEdge Architect, Part II 41 © 2006 Progress Software Corporation