Download presentation
Presentation is loading. Please wait.
1
Task 41 Scope – Identity Implementation (L=Nigel Davis)
Purpose – To improve the way that identity and other common attributes are represented in the model Specifically – GlobalClasss and LocalClass and similar other classes that the core classes (LTP, FD, FC …) inherit from Includes – CIM Excludes – TAPI at this stage External Dependencies – none Assumptions – none Risks – none Clean up Task XLS to match this Investigate the identity model (Global class & Local class). Not inherit from Global or Local class. A tool will generate the necessary identity attributes from the Global and Local classes and add to the entity classes at generation time.
2
IPR Declaration Is there any IPR associated with this presentation NO
NOTICE: This contribution has been prepared to assist the ONF. This document is offered to the ONF as a basis for discussion and is not a binding proposal on Cisco or any other company. The requirements are subject to change in form and numerical value after more study. Cisco specifically reserves the right to add to, amend, or withdraw statements contained herein. THE INFORMATION HEREIN IS PROVIDED “AS IS,” WITHOUT ANY WARRANTIES OR REPRESENTATIONS, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION, WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
3
Current Implementation
4
Current Implementation
? 1 Assoc back to front ! * ?
5
Remove LocalClass concept to simplify the model
localId as NameAndValue[1..*] is very inefficient Not usable as a database key Using a single uuid instead is also more ‘event friendly’ as the localId would need the ‘parent’ uuid anyway
6
The issue with the common status attributes
Don’t want to mix fast and slow changing attribute values in the one class Not ‘event friendly’ Uuid – immutable, won’t change names, labels, extensions – expect to be slow changing operationalState, administrativeControl, administrativeState, lifecycleState may change relatively often Also may not apply to every class (don’t add them to decorators for example) Suggested solution Put the 4 state attributes in a datatype “CommonStates” or similar Add a stereotype <<CommonStates>> or similar to all classes that need the states Generator adds an attribute commonStates : CommonStates to all marked classes
7
Proposal 1 Delete classes LocalClass, Name, Label, Extension and Address, LocalIdAndClass, State_Pac, NameAndClass Global Class to have attributes uuid : UniversalId[1] names : NameAndValue [*] {can use for both local and structured names} labels : NameAndValue [*] extensions : NameAndValue [*] Remove all subclass relationships from GlobalClass (perhaps also convert it to a Datatype) Update the generators to add the attributes in GlobalClass to every entity Use the common states suggested solution on the previous slide
8
Proposal 2 There aren’t any other viable options !
9
“Identity by Any Other Name”
“The identifiers connecting these pieces remain immutable while the stuff they identify spins and dances and evolves. Similarly, whatever is using the identity may be simply a mirage while the identifier used remains solid.” “All that really matters is that the identity is unique within the spatial and temporal bounds of its use.” identifier not identity ? “It is the immutable nature of each identifier within the scope of its use that allows it to be the interstitial glue that holds computation together.” “An event is an immutable set of attributes with an identity.” “It is not uncommon for one system to provide an alias for its identifiers. Messages going out and in are translated between the two identity systems.” “Identity is an extremely important part of our systems. Its real power is unleashed when combined with three other "I" words: idempotence, immutability, and interchangeability.” “Without some formalized notion of identity, you don't have immutability.” “Identities may refer to an abstract grouping of equivalent things. The judicious use of ambiguity and interchangeability lubricates distributed, long-running, scalable, and heterogeneous systems. The real art of interchangeability lies in finding a way to identify the equivalent set of individuals; where they must be the same and where differences are acceptable. ”
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.