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

« Previous Version 2 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
    • 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.
    • registry 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 registry 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 registry information that I know about to another node so that I can expose the chosen node's registry 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 registry 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 registry information)
2Unpublish

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

  
3UpdateAs an administrator, I want to update registry 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 registry information provider, which will then be polled periodically for registry information to add to my local contact list, so that I can have registry 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 registry 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 registry 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 registry 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 registry 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 registry contact information present at an external registry information provider, so that I can decide whether or not to configure that node as a provider of registry 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 registry information provider so that I no longer use it to retrieval registry contact list information updates

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

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

  
14Edit

As an administrator, I want to edit a registry 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 registry contact entry came from an external registry 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 registry contact entry from the external provider
    • In this case (locally edited or expanded registry contact entries that came from an external registry 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 registry 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 registry 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 registry 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 registry information contact list from 0 or more external registry information providers, and configurably allow other nodes to use me as registry information provider and place to publish registry information to. 
  • the initial contents of my registry contact list will be the identity node (i.e., myself)
  • default behavior is to ask during installation for an external registry information provider
  • default behavior is to deny incoming registry 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 registry 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 registry 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 registry contacts are available to nodes requesting registry 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