COMP-10: Managing OpenEdge® Development with the Roundtable® TSMS

Slides:



Advertisements
Similar presentations
Agile Software Distribution
Advertisements

1.
RDz and Process Integration Using Menu Manager and HATS to customize your RDz installation David Myers.
1 Mind Visual Diff An architecture comparison tool December 16 th, 2014 – v0.2.2 Seyvoz Stephane Assystem.
DEV-2: Getting Started with OpenEdge® Architect – Part I
Improving your OpenEdge® Development Productivity David Lund Sr. Training Program Manager, Progress.
Eralp Erat Senior Software Developer MCP,MCAD.NET,MCSD.NET.
The Next Generation OpenEdge® IDE
Tutorial 12: Enhancing Excel with Visual Basic for Applications
DEV-13: You've Got a Problem, Here’s How to Find It
© 2002, MIP Europe A/S 1 Roundtable TSMS & Roundtable and Dynamics™ Thomas HansenManaging Director, MIP Europe A/S Chairman, Danish Progress User Group.
Expert Database Updates and Delivery with Roundtable ® TSMS COMP-04: Presenters: Jeff Ledbetter and Randall Harp Roundtable Product Architects Tugboat.
Jeff Ledbetter Roundtable Product Architect Expert Database Updates and Delivery Roundtable TSMS.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
A Guide to Oracle9i1 Creating an Integrated Database Application Chapter 8.
Deploying Visual Studio Team System 2008 Team Foundation Server at Microsoft Published: June 2008 Using Visual Studio 2008 to Improve Software Development.
DEV-14: Understanding and Programming for the AppServer™
Michael Solomon Tugboat Software Managing the Software Development Process.
Deploying Dynamics Applications Thomas Hansen – Director, appSolutions a|s
October 30, 2008 Extensible Workflow Management for Simmod ESUG32, Frankfurt, Oct 30, 2008 Alexander Scharnweber (DLR) October 30, 2008 Slide 1 > Extensible.
DEV-07: Increasing Productivity with Tools for Business Logic Gikas Principal Software Engineer.
Developing Workflows with SharePoint Designer David Coe Application Development Consultant Microsoft Corporation.
COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.
DEV-2: Making OpenEdge ® Architect Work For You David Lund Product Readiness.
White Star Software Exchange 2005 – DEV-15 DEV-15 All Dynamic Applications John Campbell White Star Software.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
DEV-05: Ratcheting up your OpenEdge™ Development Productivity Sunil S Belgaonkar Principal Software Engineer.
DEV-09: User Authentication in an OpenEdge™ 10.1 Distributed Computing Environment Michael Jacobs Development Architect.
ARCH-4: The Presentation Layer in the OpenEdge® Reference Architecture Frank Beusenberg Senior Technical Consultant.
DEV-01 What’s New in Progress Dynamics ® Anthony Swindells Progress Fellow.
Why Use The Denkh HTML Reporter Scott Auge Amduus Information Works, Inc.
SOA-26: Extending Your Application with OpenEdge ® Web Services John Sadd OpenEdge Evangelist.
DEV-8: OpenEdge® Architect – Extensibility & Third Party Integration Sunil Belgaonkar Principal Software Engineer Architect Phillip Magnay.
Stop! Don’t throw away that ADM2 code just yet… Jeff Ledbetter Product Architect, Roundtable Software.
ARCH-11: Building your Presentation with Classes John Sadd Fellow and OpenEdge Evangelist Sasha Kraljevic Principal TSE.
Database Concepts Track 3: Managing Information using Database.
I Copyright © 2007, Oracle. All rights reserved. Module i: Siebel 8.0 Essentials Training Siebel 8.0 Essentials.
DEV-3: Getting Started with OpenEdge® Architect – Part II David Lund Sr. Training Program Manager Mark Hanley Sr. Manager Development Tools.
INT-9: Implementing ESB Processes with OpenEdge ® and Sonic ™ David Cleary Principal Software Engineer.
Implementation of EIDE Gateway using ACES Callouts WECC DEWG EIDE Training.
A9: Developer Productivity with the Roundtable ® OpenEdge ® Architect Plug-in Randall Harp Product Architect.
DEV-03: Progress Dynamics® Performance Improvements - Application Data Sharing and Generated Objects Peter Judge Principal Software Engineer.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
IT System Administration Lesson 3 Dr Jeffrey A Robinson.
ARCH-7: Integrate this! SonicMQ® and the OpenEdge® Reference Architecture Christian Stiller Technical Architect.
MOVE-15: Leveraging Business Entities, Data Access Objects and ProDataSets with a Progress Dynamics® or ADM2 GUI Peter Judge Principal Software Engineer.
A2: Making OpenEdge ® Architect Work For You Susan Houniet Senior Solution Consultant.
Neil Kidd Developer Tools Technical Specialist Microsoft UK.
DEV-21: Embracing OpenEdge ® Architect Sunil S Belgaonkar Software Architect.
242: Get Your Head in the Cloud!
Building Enterprise Applications Using Visual Studio®
Data Virtualization Tutorial: Introduction to SQL Script
Code Management Releases
DEV-25: You've Got a Problem, Here’s How to Find It
Deploying and Configuring SSIS Packages
Concurrent Version Control
Exceedra + Azure Mark Rendle Principal Software Architect
Microsoft Access Illustrated
Database System Concepts and Architecture
James Blankenship March , 2018
Design and Programming
ARCH-1: Application Architecture made Simple
C6: Introducing Native Invocation with the OpenEdge® Adapter for Sonic™ ESB Chris James Senior Consultant.
ARCH-4: A Stateful Application in a Stateless World
– JukeBox – transparency, flexibility, speed and comfort!
Paul S Waters Getting Git.
Implementation of EIDE Gateway using ACES Callouts
Dev 11: Embracing OpenEdge® Architect
Presentation transcript:

COMP-10: Managing OpenEdge® Development with the Roundtable® TSMS OpenEdge Architect plug-in Jeff Ledbetter and Randall Harp Roundtable Product Architects Tugboat Software

THE FOLLOWING PRESENTATION HAS BEEN APPROVED FOR ALL AUDIENCES BY PROGRESS SOFTWARE CORPORATION

Agenda Trailer What, why and how Scene Selection Introducing the Roundtable plug-in Directors Cut The vision and how we did it

Overview What is Roundtable® TSMS? Roundtable is a team-oriented extension for the OpenEdge Studio and OpenEdge Architect development environments that provides Software Configuration Management and developer productivity tools.

Roundtable Why Roundtable? OpenEdge Database Repository Repository Entire application, customizations, and change history are stored in the repository database Source code Documentation Schema Images Roundtable Repository

Why Roundtable? Overview of Development Life-cycle Who is working on what? What object versions are checked-out? Why are these changes being made? When were these changes made?

Why Roundtable? Control of Development Processes Which developers can make changes? What objects can they modify? Which processes can they perform? Where can the changes be made?

Why Roundtable? Productivity Tools Task Management Impact Analysis Deployment Management Smart Compilation Schema Management

Agenda Trailer What, why and how Scene Selection Introducing the Roundtable plug-in Directors Cut The vision and how we did it

Introducing the Roundtable Plug-in Overview Written in Java™ Provided as additional views for OpenEdge perspectives Provides access to essential developer functionality Adheres to Roundtable SCM principals

Introducing the Roundtable Plug-in Smart Compilation Impact Analysis Task Management Configurations Overview Version Control

Introducing the Roundtable Plug-in Configurations View Displays a hierarchical tree of Configurations, Modules and Objects Available Tasks Configurations Modules Groups Objects

Introducing the Roundtable Plug-in Tasks View Displays available work-in-process Tasks for the selected Configuration Selected Tasks Task Objects

Introducing the Roundtable Plug-in Versions View Lists all versions of the selected object regardless of the Configuration in which they were created Assign previous versions to selected Configuration Extract committed versions for comparison

Introducing the Roundtable Plug-in Version Ancestry View Lists version ancestry for the selected Object version Easily identify change history Product Module branch indicated by row color change

Introducing the Roundtable Plug-in Xref View Shows all items referenced by the selected Object Shows actions taken on referenced item Shows type of referenced Object Captured automatically at compile time

Introducing the Roundtable Plug-in Where-Used View Shows each Object that references the selected Object Shows how each Object is referenced Captured automatically at compile time

Introducing the Roundtable Plug-in Demo Time

Agenda Trailer What, why and how Scene Selection Introducing the Roundtable plug-in Directors Cut The vision and how we did it

Director’s Cut The Vision True Eclipse plug-in Use existing architecture Adhere to SCM principals Easy migration path for existing customers Deliver on-time

Director’s Cut What We Had Distributed 4GL application Developed using ADM2 Minimal time

Director’s Cut How We Did It Created ABL Proxy Layer to leverage existing SDO functionality Created Java classes using ProxyGen Eclipse plug-in

Director’s Cut What We Had Distributed ADM2 application S e r v RTB Repo ABL Client

Director’s Cut How We Did It ABL Proxy Layer Between Client and Server RTB Repo Plug-in ABL Client

Director’s Cut ABL Proxy Sample /* rtbGetObject - Proxy procedure to return object data */ DEFINE INPUT PARAMETER pcWspace AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER pcObjType AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER pcObject AS CHARACTER NO-UNDO. DEFINE OUTPUT PARAMETER TABLE-HANDLE phTT. DEFINE VARIABLE cRowIdent AS CHARACTER NO-UNDO. DEFINE VARIABLE hSdo AS HANDLE NO-UNDO. DEFINE TEMP-TABLE rtbObject {rtb/sdo/rtb_u_obj.i} {rtb/admtwo/robjflds.i}. phTT = TEMP-TABLE rtbObject:HANDLE. RUN rtb/sdo/rtb_u_obj.w PERSISTENT SET hSdo. Continued on next slide...

Director’s Cut ... continued from previous slide. DYNAMIC-FUNCTION('fnRtbSelectWorkspaceTypeObject':U IN hSdo, pcWspace, pcObjType, pcObject). cRowIdent = "FIRST":U. RUN rtb/p/rtb_getrowobject.p (INPUT-OUTPUT cRowIdent, INPUT 0, /* rows to batch */ INPUT hSdo, INPUT phTT). RUN destroyObject IN hSdo. RETURN.

Director’s Cut /* rtb_getrowobject.p – Retrieve data from rowObject temp-table */ DEFINE INPUT-OUTPUT PARAMETER pcRowIdent AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER piRowsToReturn AS INTEGER NO-UNDO. DEFINE INPUT PARAMETER phSdo AS HANDLE NO-UNDO. DEFINE INPUT PARAMETER phTT AS HANDLE NO-UNDO. DEFINE VARIABLE hRowObj AS HANDLE NO-UNDO. DEFINE VARIABLE hRowObjQry AS HANDLE NO-UNDO. DEFINE VARIABLE iRowsRet AS INTEGER NO-UNDO. RUN serverSendRows IN phSdo (INPUT ?, /* ? = use the 2nd parameter as starting point */ INPUT pcRowIdent, INPUT (IF pcRowident <> "FIRST":U AND pcRowIdent <> "LAST":U THEN TRUE ELSE FALSE), INPUT piRowsToReturn, OUTPUT iRowsRet, OUTPUT TABLE-HANDLE hRowObj). Continued on next slide...

Director’s Cut ... continued from previous slide. /* Open the query and copy the RowObject temp-table into our own temp-table */ CREATE QUERY hRowObjQry. hRowObjQry:SET-BUFFERS(hRowObj:DEFAULT-BUFFER-HANDLE). hRowObjQry:QUERY-PREPARE("for each RowObject"). hRowObjQry:QUERY-OPEN(). hRowObjQry:GET-FIRST(). DO WHILE NOT hRowObjQry:QUERY-OFF-END: phTT:DEFAULT-BUFFER-HANDLE:BUFFER-CREATE. phTT:DEFAULT-BUFFER-HANDLE: BUFFER-COPY(hRowObj:DEFAULT-BUFFER-HANDLE). hRowObjQry:GET-NEXT(). END. Continued on next slide...

Director’s Cut ... continued from previous slide. /* If we are batching records, we return the ROWID of the last record in the batch to make life easier on the client. This code checks to see if we got less rows than requested. If so, we can assume we are at the last batch so we just return a blank instead of a ROWID. */ IF piRowsToReturn GT 0 THEN DO: IF iRowsRet LT piRowsToReturn THEN pcRowIdent = "". ELSE DO: hRowObjQry:GET-LAST(). pcRowIdent = hRowObj:DEFAULT-BUFFER-HANDLE: BUFFER-FIELD("rowIdent"):BUFFER-VALUE. END. ELSE DELETE OBJECT hRowObj. DELETE OBJECT hRowObjQry. RETURN.

Any Questions? ?

Thank you for attending! www.roundtable-tsms.com