Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Document statusDRAFT
DesignerMichael Menousek Phillip Klinefelter

Goals

  • Capture registry requirement/use cases and high level architecture/design artifacts for the creation of a DDF registry.

Assumptions

  • Definitions of terms
    • Dynamic Node Acquisition (DNA) another name for registry 
    • Administrator: person with role, responsibility and permissions to make configuration changes to a node.
    • Node: a single running instance of DDF-based or analogous capabilities. A node has one or more federation methods.
      • The identification key for a node is its name currently, subject to change.
    • Federation Method: named, agreed-upon communication method.
      • properties necessary to define communication with a node. (connection-uri, timeout, security info, etc.)
    • Enterprise: a group of nodes with a purposefully-defined relationship.
    • Identity node: the specific instance that an administrator is configuring.
    • DNA Information:  A "contact list entry" of a node, 1 or more federation methods that the node makes available, and any properties known about each federation method.  Additionally, this will be expanded to include information beyond just available federation methods to include information for understanding or interacting with the node referenced.
  • A node has a local store of DNA information (a "Contact List") that will always consist of at least its "identity node" information, and will generally contain one or more other node's information for federation purposes.

Requirements/Use Cases

#TitleUser StoryImportanceNotes
1Publish As an administrator, I want to publish node DNA information that I know about to another node so that I can expose the chosen node's DNA information to somewhere else.

Must Have

    • This may be my identity node contact information or any other node contact information that I have within my DNA information contact list.
    • a node includes all federation methods and related property information
    • Additional node information should be included if present (e.g., Describe or any other node-specific information stored as part of the DNA information)
2Unpublish

As an administrator, I want to unpublish DNA information that I published to an external node so that the information is no longer exposed there

  
3UpdateAs an administrator, I want to update DNA information for nodes that I have published to another node so that I can inform that node of changes. 
  • Examples of changes:
    • new IPs/URIs
    • FQDN
    • timeouts
4Subscribe/Poll

As an administrator, I want to be able to configure an external DNA information provider, which will then be polled periodically for DNA information to add to my local contact list, so that I can have DNA information for other nodes with which to configure federation (automatically or otherwise).

 
  • can edit polling interval
5

Federation Method Preference

As an administrator, I want to be able to choose my preferred order of the federation methods I can use, so that I can determine the priority for automatic federation configuration against nodes discovered through DNA information exchange.

 
  • Reasons for preference might include bandwidth requirements, secure/public, etc
  • Default priority provided out-of-the-box should be discussed
6Disable NodeAs an administrator, I want to disable federation to a node in my DNA contact list so that it can be hidden from use by users and processes interacting with my node's services. 
  • A disabled node is still available for publish/unpublish to external DNA information providers, property editing, etc. - but is not visible or available for any functional operations in the local node
7Enable NodeAs an administrator, I want to enable a disabled node in my DNA contact list so that it can be put into an active state for users and processes interacting with my node's services  
8Registry Preview

As an administrator, I want to preview/view the DNA contact information present at an external DNA information provider, so that I can decide whether or not to configure that node as a provider of DNA information for my local contact list

  
9Source SearchAs an administrator, I want to find a node based on a source id/site name so that I can find a specific site in the enterprise 

 

10Date SearchAs an administrator, I want to find a node based on publish date 

 

11Remove

As an administrator, I want to be able to remove a configuration of an external DNA information provider so that I no longer use it to retrieval DNA contact list information updates

  
12Manualy Add NodeAs an administrator, I want to manually add a new DNA contact record to my contact list, including multiple federation methods and associated properties  
13Delete

As an administrator, I want to delete DNA contact record to my contact list (including all of its information)

  
14Edit

As an administrator, I want to edit a DNA contact record in my contact list (including adding federation methods and editing any related properties or adding new ones)

 
  • Example properties to edit
    • change timeouts
    • change service uris
  • Need to flag somehow that it has been edited
  • If the DNA contact entry came from an external DNA information provider, then any edited or new properties or federation methods should be considered local "overrides" of the external information, and the changes should be maintained through subsequent refreshes/updates of that DNA contact entry from the external provider
    • In this case (locally edited or expanded DNA contact entries that came from an external DNA information provider), I should be able to see that I have different values than those coming from the external provider, and be able to view/compare them.
15Multi Subscribe

As an administrator, I want a view of my DNA information contact list, from which I can configure it, its population and exposure to/from external nodes, and manage my node's use of it for federation and other purposes.

 

Must Have
  • I should be able to see (through icons, coloring, columns, presentation, or somehow) the nature of each DNA contact list entry:
    • Where it came from (my identity node, published to me, pulled from an external provider, created locally)
    • Edit/override status (if it came from an external provider or publisher, have I edited it to differ from the externally provided information)
    • Federation configuration (am I currently federated with it, or is it disabled? What method am I using to federate with it?)
    • As far as I can tell, if I'm federated with it, what is the coarse status of that federation? (e.g., green/yellow/red)
    • Any visibility restrictions of the entry with respect to external node requests for my contact list entries?
  • I should be able to select or click on a DNA contact list entry to view more detailed information and configuration options, including but not limited to the above
16 As an administrator, I want my node to configurably allow update/refresh of my DNA information contact list from 0 or more external DNA information providers, and configurably allow other nodes to use me as DNA information provider and place to publish DNA information to. 
  • the initial contents of my DNA contact list will be the identity node (i.e., myself)
  • default behavior is to ask during installation for an external DNA information provider
  • default behavior is to deny incoming DNA information requests.
  • default behavior is to deny incoming publish requests.
17Configure Local Node InformationAs an administrator, I want to be able to configure publishing my identity node DNA information to 0 or more other nodes.  
18Multi PublishAs an administrator, I want to have the option to publish my identity node to any node I configure as an External DNA Information Provider. 
  • The default will be to publish my identity node upon configuration.
  • Optionally, I can publish additional contacts at this time.
19Node VisibilityAs an administrator, I want to configure which DNA contacts are available to nodes requesting DNA information from my node. 
  • include/exclude other nodes
  • include/exclude identity node

User interaction and design

Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcome

Not Doing

  • No labels