22

Solution Development Using Visual Studio.NET and the MDB

  • Upload
    hogan

  • View
    37

  • Download
    0

Embed Size (px)

DESCRIPTION

Solution Development Using Visual Studio.NET and the MDB. Bob Knox George Muller. Conectiv Energy. Merchant Generation company in PJM Merchant provides Fuel & fuel arbitrage Power marketing Generation dispatch & management. PI at Conectiv Energy. The Early Years - Plants - PowerPoint PPT Presentation

Citation preview

Page 1: Solution Development Using Visual Studio.NET and the MDB
Page 2: Solution Development Using Visual Studio.NET and the MDB

2

Solution Solution Development Using Development Using Visual Studio.NET Visual Studio.NET

and the MDBand the MDB

Bob Knox Bob Knox

George MullerGeorge Muller

Page 3: Solution Development Using Visual Studio.NET and the MDB

3

Conectiv EnergyConectiv Energy

Merchant Generation company in Merchant Generation company in PJMPJM

Merchant providesMerchant provides Fuel & fuel arbitrageFuel & fuel arbitrage Power marketingPower marketing Generation dispatch & managementGeneration dispatch & management

Page 4: Solution Development Using Visual Studio.NET and the MDB

4

PI at Conectiv EnergyPI at Conectiv Energy

The Early Years - PlantsThe Early Years - Plants PI at each plant to capture operational dataPI at each plant to capture operational data Used for plant engrng, operation & Used for plant engrng, operation &

performanceperformance Next Phase – MerchantNext Phase – Merchant

Time-series market dataTime-series market data Market interfaces & informationMarket interfaces & information Built by External Consulting Firm on Built by External Consulting Firm on

Excel/VBA platformExcel/VBA platform

Page 5: Solution Development Using Visual Studio.NET and the MDB

5

PI at Conectiv EnergyPI at Conectiv Energy Current PhaseCurrent Phase

Merchant / Generation Integration, Merchant / Generation Integration, Generation Desk, Plant management & Generation Desk, Plant management & metricsmetrics

New and re-architected applicationsNew and re-architected applications Built on Visual Studio.NET, MDB, PI-SDK, Built on Visual Studio.NET, MDB, PI-SDK,

and ACEand ACE Allows team to more economically meet Allows team to more economically meet

growing business needsgrowing business needs Leverage code across units with varying Leverage code across units with varying

characteristicscharacteristics Reduces development and maintenance costsReduces development and maintenance costs

Page 6: Solution Development Using Visual Studio.NET and the MDB

6

Value PropositionValue Proposition(how to sell this to your (how to sell this to your

management)management) First – understand your business model:First – understand your business model:

Information = Time + Decisions = $Information = Time + Decisions = $ Information important in each segmentInformation important in each segment Growing demand for information & Growing demand for information &

applicationsapplications Growing pressure to control escalating Growing pressure to control escalating

costscosts

Conversion Marketing Customer $ Fuel

Page 7: Solution Development Using Visual Studio.NET and the MDB

7

Value PropositionValue Proposition

Understand how to add valueUnderstand how to add value Where do you spend application dollars?Where do you spend application dollars?

Core – sustain the business, maintenanceCore – sustain the business, maintenance Growth – support business growth through Growth – support business growth through

enhancementenhancement Venture – allow new business opportunitiesVenture – allow new business opportunities

Core spending grows over time, and with Core spending grows over time, and with limited resources limits your ability to limited resources limits your ability to support Growth & Innovationsupport Growth & Innovation

Challenge – how to maximize the value of Challenge – how to maximize the value of your application dollaryour application dollar

Page 8: Solution Development Using Visual Studio.NET and the MDB

8

Value PropositionValue PropositionShifting the SpendingShifting the Spending

MDB to categorize and commoditize MDB to categorize and commoditize assetsassets

ACE for context-sensitive automated ACE for context-sensitive automated processingprocessing

VS.NET components provide reusable VS.NET components provide reusable functionfunction$

Growth & InvestmentMaintenanceTotal Spend

Page 9: Solution Development Using Visual Studio.NET and the MDB

9

Solution Development Solution Development EssentialsEssentials

Platform and Architecture Identification Platform and Architecture Identification (use ACE?, Web Application?, Windows (use ACE?, Web Application?, Windows Application? Other Relational Databases?)Application? Other Relational Databases?)

Module Database Factoring and Module Database Factoring and ConfigurationConfiguration

Software Modeling Using an Object Software Modeling Using an Object Oriented ApproachOriented Approach

Page 10: Solution Development Using Visual Studio.NET and the MDB

10

Module Database Module Database FactoringFactoring

Primary Objective: Model the Primary Objective: Model the Physical Design of the Plant and Physical Design of the Plant and EquipmentEquipment

Secondary Objective: Model the Secondary Objective: Model the Application Design, by Meeting the Application Design, by Meeting the Software and Business Software and Business RequirementsRequirements

Page 11: Solution Development Using Visual Studio.NET and the MDB

11

Module Database -Module Database -Logical Module DesignLogical Module Design

Create a Parent Module named Create a Parent Module named “logical” to contain the Plant Assets “logical” to contain the Plant Assets and Equipmentand Equipment

Model the Assets of the Plant and Model the Assets of the Plant and Equipment in Child ModulesEquipment in Child Modules Match static data and descriptions Match static data and descriptions

against Module Database Propertiesagainst Module Database Properties Identify and categorize each PI point to Identify and categorize each PI point to

a Module Database Aliasa Module Database Alias

Page 12: Solution Development Using Visual Studio.NET and the MDB

12

Module Database –Module Database – Logical Design Suggestions Logical Design Suggestions Keep the Design as ‘Flat’ as PossibleKeep the Design as ‘Flat’ as Possible

Minimize Module and Property Minimize Module and Property hierarchyhierarchy

Use Concatenation (i.e. Use Concatenation (i.e. “ParentProp:ChildProp”) of Aliases and “ParentProp:ChildProp”) of Aliases and PropertiesProperties

This design will be the basis for This design will be the basis for creating a reusable software library, creating a reusable software library, to be shared by other applications to be shared by other applications

Page 13: Solution Development Using Visual Studio.NET and the MDB

13

Module Database Example:Module Database Example:Plant and Equipment Plant and Equipment

SummarySummary

Page 14: Solution Development Using Visual Studio.NET and the MDB

14

Module Database Module Database Example:Example:“logical” “logical”

ConfigurationConfigurationLive Illustration!Live Illustration!

Page 15: Solution Development Using Visual Studio.NET and the MDB

15

Module Database – Module Database – Application Module DesignApplication Module Design

Create a Parent Module named Create a Parent Module named “apps” for each Application Created“apps” for each Application Created Store Security SettingsStore Security Settings Store “Win Registry” Settings to Store “Win Registry” Settings to

Minimize Deployment IssuesMinimize Deployment Issues Store Application Layout and Store Application Layout and

Personalization Settings (i.e. Column Personalization Settings (i.e. Column Layouts, Color Schemes, etc.)Layouts, Color Schemes, etc.)

Link “logical” Modules to “apps” Link “logical” Modules to “apps” Modules, if necessary Modules, if necessary

Page 16: Solution Development Using Visual Studio.NET and the MDB

16

VS.NET Development –VS.NET Development –Software ModelingSoftware Modeling

Create a Reusable Software Library Create a Reusable Software Library (a.k.a. Library) to interact with the (a.k.a. Library) to interact with the Module Database “logical” Structure (n-Module Database “logical” Structure (n-Tier)Tier)

Create new applications which reuse the Create new applications which reuse the Library to read / write data from the PI Library to read / write data from the PI database (User Interface Tier)database (User Interface Tier)

Use the PI-SDK vs. PI-API for component Use the PI-SDK vs. PI-API for component development (also, perhaps the PI-development (also, perhaps the PI-OLEDB, dependent upon the platform)OLEDB, dependent upon the platform)

Page 17: Solution Development Using Visual Studio.NET and the MDB

17

VS.NET Development –VS.NET Development –Architectural OverviewArchitectural Overview

Page 18: Solution Development Using Visual Studio.NET and the MDB

18

VS.NET Development –VS.NET Development –“Library” Design Basics“Library” Design Basics

Mirror Class Composition to MDB Mirror Class Composition to MDB HierarchyHierarchy Start with a Parent class that creates PI-SDK Start with a Parent class that creates PI-SDK

and OLE-DB connections, validates initial and OLE-DB connections, validates initial security, and instantiates other required objects security, and instantiates other required objects (i.e. class named “Power”)(i.e. class named “Power”)

Create additional classes in order of depth in the Create additional classes in order of depth in the Module database “logical” designModule database “logical” design

Results in a composite structure friendly to Results in a composite structure friendly to programmers (i.e. programmers (i.e. Power.Plants(“MSPS”).Units(“MSCT01”).ProperPower.Plants(“MSPS”).Units(“MSCT01”).Property)ty)

Page 19: Solution Development Using Visual Studio.NET and the MDB

19

VS.NET Development –VS.NET Development –“Library” Design Basics “Library” Design Basics

(cont’d…)(cont’d…) Consider creating classes that support Consider creating classes that support

enumeration (through IEnumerable)enumeration (through IEnumerable) Results in support of For Each… (i.e. For Results in support of For Each… (i.e. For

Each objUnit in Power.Plants(“MSPS”).Units)Each objUnit in Power.Plants(“MSPS”).Units) Validate security to each child object within Validate security to each child object within

the enumeration classthe enumeration class Consider creating Base Class and Consider creating Base Class and

Derived Classes to allow for the different Derived Classes to allow for the different characteristics and attributes of each characteristics and attributes of each plant and equipmentplant and equipment

Page 20: Solution Development Using Visual Studio.NET and the MDB

20

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

Page 21: Solution Development Using Visual Studio.NET and the MDB

21

VS.NET VS.NET DevelopmentDevelopmentSample Project Review –Sample Project Review –

Live Illustration!Live Illustration!

Page 22: Solution Development Using Visual Studio.NET and the MDB

22

Thank You!Thank You!

Bob KnoxBob Knox

George MullerGeorge Muller

Conectiv EnergyConectiv Energy

Newark, DENewark, DE