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
# | Title | User Story | Importance | Notes |
---|---|---|---|---|
1 | Publish | 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 |
|
2 | Unpublish | 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 | ||
3 | Update | As 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. |
| |
4 | Subscribe/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). |
| |
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. |
| |
6 | Disable Node | As 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. |
| |
7 | Enable Node | As 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 | ||
8 | Registry 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 | ||
9 | Source Search | As 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 |
| |
10 | Date Search | As an administrator, I want to find a node based on publish date |
| |
11 | Remove | 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 | ||
12 | Manualy Add Node | As an administrator, I want to manually add a new DNA contact record to my contact list, including multiple federation methods and associated properties | ||
13 | Delete | As an administrator, I want to delete DNA contact record to my contact list (including all of its information) | ||
14 | Edit | 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) |
| |
15 | Multi 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 |
|
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. |
| ||
17 | Configure Local Node Information | As an administrator, I want to be able to configure publishing my identity node DNA information to 0 or more other nodes. | ||
18 | Multi Publish | As an administrator, I want to have the option to publish my identity node to any node I configure as an External DNA Information Provider. |
| |
19 | Node Visibility | As an administrator, I want to configure which DNA contacts are available to nodes requesting DNA information from my node. |
|
User interaction and design
Questions
Below is a list of questions to be addressed as a result of this requirements document:
Question | Outcome |
---|---|