DDF Registry
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
# | Title | User Story | Importance | Notes |
---|---|---|---|---|
1 | Publish | As an administrator, I want to publish node information that I know about to another node so that I can expose the chosen node's registry information to somewhere else. | Must Have |
|
2 | Unpublish | As an administrator, I want to unpublish node information that I published to an external node so that the information is no longer exposed there | Must Have | |
3 | Update | As an administrator, I want to update node information for nodes that I have published to another node so that I can inform that node of changes. | Must Have |
|
4 | Subscribe/Poll | As an administrator, I want to be able to configure access to external node information provider, which will then be polled periodically for node information to add to my local contact list, so that I can have node information for other nodes with which to configure federation (automatically or otherwise). | Must Have |
|
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 node information exchange. | Must Have |
|
6 | Disable Node | As an administrator, I want to disable federation to a node in my node contact list so that it can be hidden from use by users and processes interacting with my node's services. | Must Have |
|
7 | Enable Node | As an administrator, I want to enable a disabled node in my node contact list so that it can be put into an active state for users and processes interacting with my node's services | Must Have | |
8 | Node Preview | As an administrator, I want to preview/view the node contact information present at an external node information provider, so that I can decide whether or not to configure that node as a provider of node 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 node information provider so that I no longer use it to retrieval node contact list information updates | Must Have | |
12 | Manualy Add Node | As an administrator, I want to manually add a new node contact record to my contact list, including multiple federation methods and associated properties | Must Have | |
13 | Delete | As an administrator, I want to delete node contact record to my contact list (including all of its information) | Must Have | |
14 | Edit | As an administrator, I want to edit a node contact record in my contact list (including adding federation methods and editing any related properties or adding new ones) | Must Have |
|
15 | Multi Subscribe | As an administrator, I want a view of my node 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 node information contact list from 0 or more external node information providers, and configurably allow other nodes to use me as node information provider and place to publish node information to. |
| ||
17 | Configure Local Node Information | As an administrator, I want to be able to configure publishing my identity node node 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 node Information Provider. |
| |
19 | Node Visibility | As an administrator, I want to configure which node contacts are available to nodes requesting node information from my node. |
|
Decision
Created a DDF Registry which was later extracted to a separate repository.