1
ASAP 2.0Introduction to EDL
ASAP 2.0Introduction to EDL
Mike Miller [email protected]
Mike Miller [email protected]
Presentation contains animation sequences that are best viewed in slide show mode. A colon character at the end of a slide bullet indicates when to click the mouse button to advance animation:
2
ASAP EDL - ContentsASAP EDL - ContentsASAP EDL - ContentsASAP EDL - Contents Overview of ASAP EDL Language
– Why its important to understand EDL.– Requirements and Benefits
– Interactive Development Environment– Statements and Examples
ASAP Resources– Internet http://NonstopASAP.com/Document.htm – See: 2.0 TOI Materials and ASAP 2.0 TOI EDL – Questions => email: [email protected]
3
ASAP EDL - OverviewASAP EDL - OverviewASAP EDL - OverviewASAP EDL - OverviewWhat is EDL ?
– Defines how a monitored Entity is related to ASAP features and functions.
Developers use EDL– To define how to monitor Subsystem Availability – To define how to monitor Application Availability
EDL is not something that ASAP users– Need to see,– Understand,– Or even be aware of…
4
ASAP EDL – Why care about EDL?ASAP EDL – Why care about EDL?ASAP EDL – Why care about EDL?ASAP EDL – Why care about EDL?
EDL was designed to define entity & availability properties
But EDL resulted in additional benefits:– Allows users to have different sets of customized ASAP settings.– Allows entire environments to be archived for later reference.– Observed behavior can be shared with other ASAP users. – ASAP environments can be mailed to other people.– Useful for Application and System reporting.
Both Data and Schema are stored in an EDL file:– Allows an entire ASAP environment to be saved in EDL file.– Means you can completely snapshot or capture situations.– EDL Files can be saved, mailed, reviewed, and displayed.
To better understand EDL, let’s review EDL Requirements
5
ASAP EDL – RequirementsASAP EDL – RequirementsASAP EDL – RequirementsASAP EDL – Requirements
ASAP R2 Requirements…
Needed to allow extensible Entity Definitions– Allow Customers to define different Application Entities.– Allow Third Parties & EMFs access to Application Entities.
Needed to provide an entity-attribute Name-Space– Allow DOTs to use entity-attribute Names, instead of metric id#s.– Allow users to customize entity-attribute Names (internationalization)
Needed to reduce Maintenance– Provide Version Independent code (R2 Client runs against R1 Server)– Reduce Source Code maintenance (Add new Entity w/o code change)
6
ASAP EDL – RequirementsASAP EDL – RequirementsASAP EDL – RequirementsASAP EDL – Requirements
Needed to Externalize Definition & Customization of– Entity Names– Attribute Names– Help Text– Heading Text– Availability Vectors– Data Integrity Checks– State Determination Rules– Graph Normalization Values– Data Formatting & Alignment– Command required to retrieve data– …– and any other ASAP property that is
related to Entity-Attribute definitions.
7
ASAP EDL - FeaturesASAP EDL - FeaturesASAP EDL - FeaturesASAP EDL - Features
Result - Entity Definition Language (EDL) File
EDL File provides “Container” for ASAP properties
EDL File allows ASAP properties to be “Portable”.– Provides Portable encapsulation of ASAP Properties.– Entities, Attributes, and Data can be “moved around”.– You can save/share different ASAP environments.– Client registers the .EDL extension with Windows.
EDL also provides mechanism for: – Version independence - due to encapsulation.– Problem Reporting - Captures entire environment.– Prototyping – Entity, Attribute, Data definitions.– Education – Demo features of environment.– QA/Testing - Reproducing test scenarios.
8
ASAP EDL – BenefitsASAP EDL – BenefitsASAP EDL – BenefitsASAP EDL – Benefits EDL Allows Applications to use full ASAP infrastructure.
– Release 1.0 supported multiple applications But only allowed one stats record definition for all Apps. All entity Metrics were forced into single record model. Restrictive, and lead to Nonhomogeneous data.
– Release 2.0 allows multiple entity definitions Allows separate Statistics record definition for each entity. Allows different Apps to have different entity-attribute names. Allows named service-level objectives, eg Rank ATM, Cash>1000. Allows disjoint Applications & Third Parties to share infrastructure. Allows specific user inclusion/exclusion of App entities...
Atm, Funds, Accounting
9
ASAP EDL – Getting Started with EDLASAP EDL – Getting Started with EDLASAP EDL – Getting Started with EDLASAP EDL – Getting Started with EDL EDL Development Environment
– Accessed from ASAP Client– Select File... pulldown Menu
– EDL menus are initially disabled.
Protects inexperienced users
10
ASAP EDL – Enabling EDL IDEASAP EDL – Enabling EDL IDEASAP EDL – Enabling EDL IDEASAP EDL – Enabling EDL IDE-EDL not enabled by default
-To enable EDL IDE
-Select View... Options...
-Select Entity Tab
-Click EDL Button [...]
-Check EDL-IDE check box
-Click OK
-File... EDL ... pulldown menus will now be enabled
11
ASAP EDL – Opening EDL IDE WindowASAP EDL – Opening EDL IDE WindowASAP EDL – Opening EDL IDE WindowASAP EDL – Opening EDL IDE Window
12
ASAP EDL – IDEASAP EDL – IDEASAP EDL – IDEASAP EDL – IDE
ASAP Interactive Development Environment
– Allows Entity definitions to be interactively developed
– Allows Rapid Prototyping of Entities and Data
– Allows Importing and Exporting of EDL definitions
– Provides on-the-fly editing and compilation of entity definitions
– Provides context sensitive Help for statements
13
ASAP EDL – Working with EDL IDE WindowASAP EDL – Working with EDL IDE WindowASAP EDL – Working with EDL IDE WindowASAP EDL – Working with EDL IDE Window
14
EDL IDE – Rapid Application DevelopmentEDL IDE – Rapid Application DevelopmentEDL IDE – Rapid Application DevelopmentEDL IDE – Rapid Application Development
15
EDL IDE - Context Sensitive HelpEDL IDE - Context Sensitive HelpEDL IDE - Context Sensitive HelpEDL IDE - Context Sensitive Help
16
ASAP EDL - StatementsASAP EDL - StatementsASAP EDL - StatementsASAP EDL - Statements ENTITY statement
– Defines entity name and properties (eg SQL Table)– ENTITY Atm Help “Automated Teller Machine”
ATTRIBUTE statement– Defines entity attribute names and properties (eg SQL Columns)– ATTRIBUTE System Help “System Name”ATTRIBUTE Atm Help “Atm Name”ATTRIBUTE Status Help “Atm Status”ATTRIBUTE Cash Help “Cash in Atm”
DATA statement– Defines data associated with entity– DATA ATMSystem Atm Status Cash-------- ----- ------ ----\Chicago Loop Up 150\Chicago North Up 3750
17
ASAP EDL - ENTITY statementASAP EDL - ENTITY statementASAP EDL - ENTITY statementASAP EDL - ENTITY statement
Entity statement defines entity properties
ENTITY ATM Enabled YES Command "APP \* ATM,RAW,TAB,STATE“ Help "Automated Teller Machine“ KeyForNode System KeyForObj Atm KeyForRow “Date Time”;
DATA ATMSystem Atm Status Op Date Time Cash-------- ----- ------ -- ---------- ----- ----\Chicago Loop Up 2 2000/11/15 10:00 150\Chicago North Down 8 2000/11/15 10:00 3750
19
ASAP EDL - ATTRIBUTE statementASAP EDL - ATTRIBUTE statementASAP EDL - ATTRIBUTE statementASAP EDL - ATTRIBUTE statement Attribute statements define entity columns ENTITY ATM ... AT System Grid YES Graph NO Help “System Name"; AT Atm Grid YES Graph NO Help “ATM Name"; AT Status Grid YES Graph YES Type CHAR5 StatePair YES StateIsOp YES StateRule UseStateGraphState Help "Operational Status of ATM"; AT OpState Grid NO Graph NO Help “OpState 2=>Up-Green, 8=>Down-RedX"; ... DATA ATMSystem Atm Status Op Date Time Cash CashState-------- ----- ------ -- ---------- ----- ---- ---------\Chicago Loop Up 2 2000/11/15 10:00 150 7\Chicago North Down 8 2000/11/15 10:00 3750 2
21
• ASAP provides the concept of StatePair Availability Vectors.
• StatePairs allow a state to be associated with an attribute value.
• When an attribute is defined to be a State Pair
• The Attribute <Value> has a <State> associated with it
• StatePairs form a ( <Value>,<State> ) Pair
• Examples
• (98, 7) => Value=98, State 7 => Critical
• (“Up”, 2) => Value=“Up”, State 2 => Up
• Useful for assigning a state to a value, regardless of the value.
Value State
ASAP EDL – “StatePairs”ASAP EDL – “StatePairs”ASAP EDL – “StatePairs”ASAP EDL – “StatePairs”
22
In EDL “StatePair” indicates a state is paired with an attribute. StatePair YES, says an attribute has a state associated with it. State of attribute is determined by the value following Attribute.
AT Status GRID YES -- Show Annotated Status in Grid GRAPH YES –- Analysis & Graph Property StatePair YES –- Attribute is a State Pair vector StateRule UseStateGraphState –- State algorithm StateIsOp YES –- State is Operational object state HELP "Operational Status of Object";AT OpState HELP "Operational State of Object";
DATA ATMSystem Atm Status Op Date Time Cash CashState-------- ----- ------ -- ---------- ----- ---- ---------\Chicago Loop Up 2 2000/11/15 10:00 150 7\Chicago North Down 8 2000/11/15 10:00 3750 2
ASAP EDL – “StatePair” PropertyASAP EDL – “StatePair” PropertyASAP EDL – “StatePair” PropertyASAP EDL – “StatePair” Property
Value State
23
ASAP EDL – Cash “StatePair” ExampleASAP EDL – Cash “StatePair” ExampleASAP EDL – Cash “StatePair” ExampleASAP EDL – Cash “StatePair” Example DATA ATMSystem Atm Status Op Date Time Cash CashState-------- ----- ------ -- ---------- ----- ---- --------- \Chicago Loop Up 2 2000/11/15 10:00 150 7\Chicago North Down 8 2000/11/15 10:00 3750 2
System
Atm
Status
Op
Date
Time
Cash
CashState
24
• ASAP Availability Vectors are not necessarily StatePairs in EDL.
• Availability Vector States are based on one of three constructs:
• Attribute is a <Value>
• Attribute a simple number such as:
• Transaction Rate, ….
• Attribute Value is a <State>
• Attribute Value is interpreted as a <State>
• 2 =>Up, 6 =>Warning, 7 =>Critical, 8 =>Down, …
• Attribute <Value> has <State> Associated with it: StatePair• Attribute is a ( <Value>,<State> ) Pair• (“OK”, 2) => Value=“OK”, State 2 => Up• (98, 7) => Value=98, State 7 => Critical
Value
Value is State
Value State
ASAP EDL – “Availability Vectors”ASAP EDL – “Availability Vectors”ASAP EDL – “Availability Vectors”ASAP EDL – “Availability Vectors”
25
ASAP EDL - “StateRule” AlgorithmsASAP EDL - “StateRule” AlgorithmsASAP EDL - “StateRule” AlgorithmsASAP EDL - “StateRule” Algorithms
Attribute Type
StateRule State Algorithm
Graph Algorithm
"Use Thresholds"
<Value> / <GraphMax> % Compared to Thresholds to Determine State of Attribute
Value/GraphMax
"Use Value… Graph Value"
Use <Value> directly as the State of the Attribute.
Value/GraphMax
"Use State… Graph Value"
Use associated <State> to determine State of Attribute. For example S0, S1, …
Value/GraphMax
"Use State… Graph State"
Use associated <State> to determine State of Attribute. For example S0, S1, …
Associated State
Value
Value is State
Value State
Value State
26
ASAP EDL - DATA statementASAP EDL - DATA statementASAP EDL - DATA statementASAP EDL - DATA statement Data statement allows entity data to be defined
and saved in EDL file along with entity properties.
Data statement is useful for:–Saving data in an EDL file (eg for running environment)
–Manually prototyping data for an entity (eg for design)
–Displaying data in saved EDL file (demo/reporting).
DATA ATMSystem Atm Status Op Date Time Cash-------- ----- ------ -- ---------- ----- ----\Chicago Loop Up 2 2000/11/15 10:00 150\Chicago North Down 8 2000/11/15 10:00 3750
28
ASAP EDL – Exporting EDLASAP EDL – Exporting EDLASAP EDL – Exporting EDLASAP EDL – Exporting EDL ASAP Client allows Exporting environment.
– When you select File... Export EDL...– Client creates EDL for its Environment.
Exported EDL includes:– All Entity & Attributes Definitions– All Live Data for enabled entities– All Availability, Stats, & Performance data
for enabled Objects and associated states– All Attribute settings including:
Show in Graph Show in Grid Graph Max values State Determination Rules
To Export, select File... Export EDL... From ASAP Client browse window...
29
ASAP EDL – Export EDL - Options DialogASAP EDL – Export EDL - Options DialogASAP EDL – Export EDL - Options DialogASAP EDL – Export EDL - Options Dialog
Export EDL – Dialog defines what to export– System Entity Definitions
Cpu, Disk, Expand, File, Process, RDF, Spooler, System, Tape, TMF, ...
– User Entity Definitions App, Atm, Funds, Accounts, ...
– Data Statements Data for selected entities, eg Cpu, Disk, ...
Click OK – To Generate & Export EDL
30
ASAP EDL – Exported EDL - IDE WindowASAP EDL – Exported EDL - IDE WindowASAP EDL – Exported EDL - IDE WindowASAP EDL – Exported EDL - IDE Window When EDL is Exported to IDE Window Exported EDL can be:
– Edited
– Compiled
– Saved
– Mailed
– Imported
– Re-compiled
Note EDL includes DATA statements
Represents Snapshot of the entire ASAP environment
31
ASAP EDL – SummaryASAP EDL – SummaryASAP EDL – SummaryASAP EDL – Summary
Provides Extensible definition of Entities & Attributes– EDL Import - Allows Entities to be added.– EDL Export - Allows Environment to be captured.
EDL File - Provides a Container for ASAP properties – Allows ASAP properties to be Portable.– Encapsulates Entity, Attribute, and Data definitions.– Allows Saving and Sharing of ASAP environments.
EDL Provides: – Version Independence - due to encapsulation.– Problem Reporting – entire environment is captured.– Separation of statistics records - for Application entities.– Discrete entity-attribute names for Service Level Objectives.– Rapid Prototyping of Entity, Attribute, and Data definitions.
Allows Customers & Third parties to share ASAP Infrastructure.