Expert Database Updates and Delivery Roundtable TSMS Jeff Ledbetter Roundtable Product Architect Tugboat Software Progress Technology Alliance Partner Roundtable TSMS Roundtable Team Other Solutions • SOS Labor Scheduling • SOS Vacation Scheduling 2 © 2011 Tugboat Software. All rights reserved. Session Agenda 3 What is Roundtable and SCM? Logical Schema Schema Domains Updating the Physical Database Promoting Schema Changes Sneak Preview Questions © 2011 Tugboat Software. All rights reserved. Roundtable TSMS Roundtable TSMS is a team-oriented extension for the OpenEdge Studio and OpenEdge Architect development environments that provides Software Configuration Management and developer productivity tools. 4 © 2011 Tugboat Software. All rights reserved. Software Configuration Management Software Configuration Management is the discipline of managing the entire life cycle of a software project. 5 © 2011 Tugboat Software. All rights reserved. Software Configuration Management Software Configuration Management is the heartbeat of any serious software development effort. One would not start mass producing a car without first building a factory and defining the production line. SCM is THE factory for software development. It is the discipline, based on the principles of the manufacturing industry that brings repeatable, high-quality production to your software applications. Gary S. Clink, Senior Solutions Engineer Progress Software, UK 6 © 2011 Tugboat Software. All rights reserved. Software Configuration Management 7 Configuration Identification Configuration Control Configuration Status Accounting Configuration Auditing © 2011 Tugboat Software. All rights reserved. Configuration Identification Identify application components Define the physical and functional hierarchy Identify application configurations 8 © 2011 Tugboat Software. All rights reserved. Configuration Control Establish configuration security Manage application changes Define workflow 9 © 2011 Tugboat Software. All rights reserved. Configuration Auditing Ensure existence of required components Review configuration changes 10 © 2011 Tugboat Software. All rights reserved. Configuration Status Accounting Identify changes made to configuration Identify work in process 11 © 2011 Tugboat Software. All rights reserved. Problem – Managing Schema without SCM 12 Store .df files No history of schema changes Difficult to revert to previous schema releases Promoting schema changes is manual process No impact analysis © 2011 Tugboat Software. All rights reserved. Solution – Logical Schema Management 13 Stored in Roundtable repository Access controlled by security settings Changes associated with a task Version history per schema object Promoted through lifecycle Revert to previous versions Impact analysis © 2011 Tugboat Software. All rights reserved. Logical Schema – Object Types Sports2000 - 2.0.0 Sports2000 -1.0.0 Customer -1.1.0 Customer -1.0.0 Customer.Name -1.0.0 Customer.Number -1.0.0 14 © 2011 Tugboat Software. All rights reserved. PDBASE • Database Object Definition PFILE • File Object definition PFIELD • Field Object definition Logical Schema - PDBASE Database Object Definition PDBASE is a collection of... • PFILE Objects • Sequence definitions Sports2000 (WIP) 2.0.0 Customer 1.0.0 Order 2.0.0 OrderLine 1.1.0 Warehouse 1.0.0 15 © 2011 Tugboat Software. All rights reserved. PFILE assignments are attributes of this version of the PDBASE Object Logical Schema - PDBASE Different versions of PDBASE Objects can have… • Different PFILE Object assignments • Different Sequence definitions Sports2000 (2.0.0) New PFILE Object assignment for this version 16 Customer Order Sports2000 (1.0.0) Customer OrderLine Order Warehouse OrderLine © 2011 Tugboat Software. All rights reserved. Logical Schema - PFILE File Object Definition PFILE is a collection of… • PFIELD Objects • Index definitions Customer (WIP) 2.0.0 CustNum 1.0.0 Name 2.0.0 City 1.1.0 Hairstyle 1.0.0 17 © 2011 Tugboat Software. All rights reserved. PFIELD assignments are attributes of this version of the PFILE Object Logical Schema - PFILE Different versions of PFILE Objects can have… • Different PFIELD Object assignments • Different Index Definitions Customer (2.0.0) CustNum New PFIELD Object assignment for this version 18 Customer (1.0.0) Name CustNum City Name Hairstyle City © 2011 Tugboat Software. All rights reserved. Logical Schema - PFIELD Field Object Definition Different versions of PFIELD Objects can have different attributes Can be assigned to multiple parents 19 © 2011 Tugboat Software. All rights reserved. Logical Schema – Direct Manipulation Logical schema Object definitions are created/modified via Roundtable Logical Schema is modified/assembled using Schema Manager Logical Schema is later applied to physical database via Schema Update 20 © 2011 Tugboat Software. All rights reserved. Logical Schema – Indirect Manipulation Schema Object definitions can be loaded from a physical database using Load Schema tool Preview and selectively load schema changes Logical schema is updated automatically Automatically create update notes 21 © 2011 Tugboat Software. All rights reserved. Logical Schema - Putting it Together Demo 22 © 2011 Tugboat Software. All rights reserved. Schema Domains Assignment of a single PFIELD or PFILE Object to multiple parents Share a common Object definition Facilitates managing common fields across multiple tables Not supported via Schema Load 23 © 2011 Tugboat Software. All rights reserved. Logical Schema – PFIELD Domain • Provides a single PFIELD definition for multiple assignments • The PFIELD assignments inherit changes made to the domain PFIELD definition FIELD Object myNameField Customer.Name 24 © 2011 Tugboat Software. All rights reserved. Supplier.Name Warehouse.Name Logical Schema – Schema Domains Demo 25 © 2011 Tugboat Software. All rights reserved. Promoting Schema Changes • Schema changes can be promoted through development life-cycle • Make schema changes once and push them downstream • Update downstream physical databases using Schema Update 26 © 2011 Tugboat Software. All rights reserved. Delivering Schema Changes • Schema changes can be delivered to your end-user by including schema in a Workspace deployment • Data Processing procedures can also be included in your deployment • Database updating and data transformation processing is automated at your end-user site with the Roundtable setup and update tools • Roundtable is not required at the end-user site 27 © 2011 Tugboat Software. All rights reserved. Delivering Schema Changes Demo 28 © 2011 Tugboat Software. All rights reserved. Some Common Problems 29 Partially promoting schema changes Making schema changes twice Manually reverting physical schema Confusing loading and udpating © 2011 Tugboat Software. All rights reserved. Roundtable 11.0 - What’s Coming 30 Schema viewer Schema compare Improved Schema Update UI Improved data procedure handling Direct manipulation via plug-in for OEA © 2011 Tugboat Software. All rights reserved. What Did We Learn Software Configuration Management is a defined set of principals Roundtable manages logical schema definitions Schema domain Objects are an effective way to manage common fields Deployments help deliver targeted schema application schema changes 31 © 2011 Tugboat Software. All rights reserved. More Information www.roundtable-tsms.com White Papers Come by our Booth! 32 © 2011 Tugboat Software. All rights reserved. Questions 33 © 2011 Tugboat Software. All rights reserved.