Presentation is loading. Please wait.

Presentation is loading. Please wait.

2 Solution Development Using Visual Studio.NET and the MDB Bob Knox George Muller.

Similar presentations


Presentation on theme: "2 Solution Development Using Visual Studio.NET and the MDB Bob Knox George Muller."— Presentation transcript:

1

2 2 Solution Development Using Visual Studio.NET and the MDB Bob Knox George Muller

3 3 Conectiv Energy Merchant Generation company in PJM Merchant Generation company in PJM Merchant provides Merchant provides Fuel & fuel arbitrage Fuel & fuel arbitrage Power marketing Power marketing Generation dispatch & management Generation dispatch & management

4 4 PI at Conectiv Energy The Early Years - Plants The Early Years - Plants PI at each plant to capture operational data PI at each plant to capture operational data Used for plant engrng, operation & performance Used for plant engrng, operation & performance Next Phase – Merchant Next Phase – Merchant Time-series market data Time-series market data Market interfaces & information Market interfaces & information Built by External Consulting Firm on Excel/VBA platform Built by External Consulting Firm on Excel/VBA platform

5 5 PI at Conectiv Energy Current Phase Current Phase Merchant / Generation Integration, Generation Desk, Plant management & metrics Merchant / Generation Integration, Generation Desk, Plant management & metrics New and re-architected applications New and re-architected applications Built on Visual Studio.NET, MDB, PI-SDK, and ACE Built on Visual Studio.NET, MDB, PI-SDK, and ACE Allows team to more economically meet growing business needs Allows team to more economically meet growing business needs Leverage code across units with varying characteristics Leverage code across units with varying characteristics Reduces development and maintenance costs Reduces development and maintenance costs

6 6 Value Proposition (how to sell this to your management) First – understand your business model: First – understand your business model: Information = Time + Decisions = $ Information = Time + Decisions = $ Information important in each segment Information important in each segment Growing demand for information & applications Growing demand for information & applications Growing pressure to control escalating costs Growing pressure to control escalating costs Conversion Marketing Customer $ Fuel

7 7 Value Proposition Understand how to add value Understand how to add value Where do you spend application dollars? Where do you spend application dollars? Core – sustain the business, maintenance Core – sustain the business, maintenance Growth – support business growth through enhancement Growth – support business growth through enhancement Venture – allow new business opportunities Venture – allow new business opportunities Core spending grows over time, and with limited resources limits your ability to support Growth & Innovation Core spending grows over time, and with limited resources limits your ability to support Growth & Innovation Challenge – how to maximize the value of your application dollar Challenge – how to maximize the value of your application dollar

8 8 Value Proposition Shifting the Spending MDB to categorize and commoditize assets MDB to categorize and commoditize assets ACE for context-sensitive automated processing ACE for context-sensitive automated processing VS.NET components provide reusable function VS.NET components provide reusable function $ Growth & Investment Maintenance Total Spend

9 9 Solution Development Essentials Platform and Architecture Identification (use ACE?, Web Application?, Windows Application? Other Relational Databases?) Platform and Architecture Identification (use ACE?, Web Application?, Windows Application? Other Relational Databases?) Module Database Factoring and Configuration Module Database Factoring and Configuration Software Modeling Using an Object Oriented Approach Software Modeling Using an Object Oriented Approach

10 10 Module Database Factoring Primary Objective: Model the Physical Design of the Plant and Equipment Primary Objective: Model the Physical Design of the Plant and Equipment Secondary Objective: Model the Application Design, by Meeting the Software and Business Requirements Secondary Objective: Model the Application Design, by Meeting the Software and Business Requirements

11 11 Module Database - Logical Module Design Create a Parent Module named “logical” to contain the Plant Assets and Equipment Create a Parent Module named “logical” to contain the Plant Assets and Equipment Model the Assets of the Plant and Equipment in Child Modules Model the Assets of the Plant and Equipment in Child Modules Match static data and descriptions against Module Database Properties Match static data and descriptions against Module Database Properties Identify and categorize each PI point to a Module Database Alias Identify and categorize each PI point to a Module Database Alias

12 12 Module Database – Logical Design Suggestions Keep the Design as ‘Flat’ as Possible Keep the Design as ‘Flat’ as Possible Minimize Module and Property hierarchy Minimize Module and Property hierarchy Use Concatenation (i.e. “ParentProp:ChildProp”) of Aliases and Properties Use Concatenation (i.e. “ParentProp:ChildProp”) of Aliases and Properties This design will be the basis for creating a reusable software library, to be shared by other applications This design will be the basis for creating a reusable software library, to be shared by other applications

13 13 Module Database Example: Plant and Equipment Summary

14 14 Module Database Example: “logical” Configuration Live Illustration!

15 15 Module Database – Application Module Design Create a Parent Module named “apps” for each Application Created Create a Parent Module named “apps” for each Application Created Store Security Settings Store Security Settings Store “Win Registry” Settings to Minimize Deployment Issues Store “Win Registry” Settings to Minimize Deployment Issues Store Application Layout and Personalization Settings (i.e. Column Layouts, Color Schemes, etc.) Store Application Layout and Personalization Settings (i.e. Column Layouts, Color Schemes, etc.) Link “logical” Modules to “apps” Modules, if necessary Link “logical” Modules to “apps” Modules, if necessary

16 16 VS.NET Development – Software Modeling Create a Reusable Software Library (a.k.a. Library) to interact with the Module Database “logical” Structure (n-Tier) Create a Reusable Software Library (a.k.a. Library) to interact with the Module Database “logical” Structure (n-Tier) Create new applications which reuse the Library to read / write data from the PI database (User Interface Tier) Create new applications which reuse the Library to read / write data from the PI database (User Interface Tier) Use the PI-SDK vs. PI-API for component development (also, perhaps the PI-OLEDB, dependent upon the platform) Use the PI-SDK vs. PI-API for component development (also, perhaps the PI-OLEDB, dependent upon the platform)

17 17 VS.NET Development – Architectural Overview

18 18 VS.NET Development – “Library” Design Basics Mirror Class Composition to MDB Hierarchy Mirror Class Composition to MDB Hierarchy Start with a Parent class that creates PI-SDK and OLE-DB connections, validates initial security, and instantiates other required objects (i.e. class named “Power”) Start with a Parent class that creates PI-SDK and OLE-DB connections, validates initial security, and instantiates other required objects (i.e. class named “Power”) Create additional classes in order of depth in the Module database “logical” design Create additional classes in order of depth in the Module database “logical” design Results in a composite structure friendly to programmers (i.e. Power.Plants(“MSPS”).Units(“MSCT01”).Property) Results in a composite structure friendly to programmers (i.e. Power.Plants(“MSPS”).Units(“MSCT01”).Property)

19 19 VS.NET Development – “Library” Design Basics (cont’d…) Consider creating classes that support enumeration (through IEnumerable) Consider creating classes that support enumeration (through IEnumerable) Results in support of For Each… (i.e. For Each objUnit in Power.Plants(“MSPS”).Units) Results in support of For Each… (i.e. For Each objUnit in Power.Plants(“MSPS”).Units) Validate security to each child object within the enumeration class Validate security to each child object within the enumeration class Consider creating Base Class and Derived Classes to allow for the different characteristics and attributes of each plant and equipment Consider creating Base Class and Derived Classes to allow for the different characteristics and attributes of each plant and equipment

20 20 VS.NET Development – “Library” Class Diagram

21 21 VS.NET Development Sample Project Review – Live Illustration!

22 22 Thank You! Bob Knox George Muller Conectiv Energy Newark, DE


Download ppt "2 Solution Development Using Visual Studio.NET and the MDB Bob Knox George Muller."

Similar presentations


Ads by Google