Skip to content

Commit 6157f16

Browse files
committed
Preparing for RTD deployment.
1 parent 25a7169 commit 6157f16

File tree

7 files changed

+114
-117
lines changed

7 files changed

+114
-117
lines changed

source/design/UseCases/01_uc.txt

+7-10
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Goal
1010

1111
Retrieve an object identified by PID.
1212

13-
Summary
13+
Summary
1414
~~~~~~~
1515

1616
A client has an identifier for some object within the DataONE system and is
@@ -19,10 +19,10 @@ Coordinating Node). If the object exists on the node and the user has READ
1919
permission on the object, then the bytes of that object are returned,
2020
otherwise an error condition occurs.
2121

22-
This low level operation assumes that the client knows that the desired object
23-
is available on the target node. The normal process for retrieving an object
24-
given only the identifier is to first resolve the object, then retrieve the
25-
object from one of the identified nodes. Resolution is described in
22+
This low level operation assumes that the client knows that the desired object
23+
is available on the target node. The normal process for retrieving an object
24+
given only the identifier is to first resolve the object, then retrieve the
25+
object from one of the identified nodes. Resolution is described in
2626
:doc:`UC36 </design/UseCases/36_uc>`.
2727

2828
Actors
@@ -55,12 +55,13 @@ Post Conditions
5555

5656

5757
.. uml::
58+
:alt: Use case 01 diagram.
5859

5960
@startuml images/01_uc.png
6061
actor "User" as client
6162
usecase "12. Authentication" as authen
6263
note top of authen
63-
Authentication may be provided
64+
Authentication may be provided
6465
by an external service
6566
end note
6667

@@ -87,9 +88,6 @@ Post Conditions
8788
action.
8889

8990

90-
.. image:: images/01_seq.png
91-
92-
9391
.. uml::
9492

9593
@startuml images/01_seq.png
@@ -119,7 +117,6 @@ distinction is made between Member Node and Coordinating Node implementation
119117
as they are identical at this level of detail.
120118

121119

122-
123120
**Notes**
124121

125122
1. For the GET operation, should isAuth() be performed only by CNs? Relying on

source/design/UseCases/03_uc.txt

+54-54
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Revisions
1111
Goal
1212
Register a new Member Node.
1313

14-
Summary
14+
Summary
1515
This use case describes the technical process for addition of a new member
1616
node (MN) to to the DataONE infrastructure. It is assumed that the
1717
appropriate social contracts have been formed and the MN is operational,
@@ -40,14 +40,14 @@ Triggers
4040
- A new Member Node is ready to be brought online and a DataONE
4141
administrator initiates the process.
4242

43-
Post Conditions
43+
Post Conditions
4444
- The new MN operates as part of the DataONE infrastructure
4545

4646
- DataONE infrastructure resources are incremented by the amount available
4747
at the new MN
4848

4949
- The operation outcomes are logged
50-
50+
5151
- Synchronization of the MN commences as per scheduled operation
5252

5353
- Synchronize capabilities metadata across CNs
@@ -56,68 +56,35 @@ Post Conditions
5656

5757
- The new MN is added to CN list of targets for replication
5858

59-
**Notes**
6059

61-
- Specify default replication policies
62-
63-
- Also check for version updates
6460

65-
- Should new nodes be registered with specified trust levels?
66-
67-
- Are there different levels of trust for member nodes?
68-
69-
- Data providers that use acceptable services can still be discovered and
70-
accessed without registering in the DataONE registry (Conflicting, as
71-
someone has to register it).
72-
73-
However, a MN that has not registered but does expose DataONE services is
74-
not part of the DataONE infrastructure and so does not participate in
75-
replication or other DataONE services.
76-
77-
- Allow service providers to register their services, (such as data extraction
78-
services) (ala GEOSS), but include mapping to higher semantic model
61+
.. uml::
7962

80-
- For well known services, registration system must be able to describe
81-
constraints (e.g., allowable inputs, outputs, algorithms that can be
82-
specified)
63+
@startuml images/03_uc.png
8364

84-
- Services can be parameterized
65+
actor "User" as client
66+
usecase "12. Authentication" as authen
8567

86-
- Member node should be able to request the coordinating node to re-validate
87-
its capabilities list.
68+
actor "Administrator" as admin
69+
admin ..|> client
70+
actor "Coordinating Node" as CN
71+
actor "Member Node" as MN
72+
usecase "13. Authorization" as author
73+
usecase "03. Register MN" as register
74+
admin -- register
75+
CN -- register
76+
MN -- register
77+
register ..> author: <<includes>>
78+
register ..> authen: <<includes>>
8879

89-
.. image:: images/03_uc.png
80+
@enduml
9081

9182
*Figure 1.* Use Case 03.
9283

9384

94-
.. image:: images/03_seq.png
95-
96-
*Figure 2.* Interactions for use case 03.
97-
9885

99-
..
100-
@startuml images/03_uc.png
101-
102-
actor "User" as client
103-
usecase "12. Authentication" as authen
86+
.. uml::
10487

105-
package "DataONE"
106-
actor "Administrator" as admin
107-
admin ..|> client
108-
actor "Coordinating Node" as CN
109-
actor "Member Node" as MN
110-
usecase "13. Authorization" as author
111-
usecase "03. Register MN" as register
112-
admin -- register
113-
CN -- register
114-
MN -- register
115-
register ..> author: <<includes>>
116-
register ..> authen: <<includes>>
117-
@enduml
118-
119-
120-
..
12188
@startuml images/03_seq.png
12289
actor Admin
12390
participant "Admin" as app_admin << Application >>
@@ -140,11 +107,44 @@ Post Conditions
140107
c_reg -> c_sync: scheduleSynch ()
141108
note right
142109
Harvest process occurs asynchronously.
143-
Separate use case.
110+
Separate use case.
144111
end note
145112
app_admin <-- c_reg: ack or fail
146113
deactivate c_reg
147114
@enduml
148115

116+
*Figure 2.* Sequence diagram for use case 03.
117+
118+
119+
**Notes**
120+
121+
- Specify default replication policies
122+
123+
- Also check for version updates
124+
125+
- Should new nodes be registered with specified trust levels?
126+
127+
- Are there different levels of trust for member nodes?
128+
129+
- Data providers that use acceptable services can still be discovered and
130+
accessed without registering in the DataONE registry (Conflicting, as
131+
someone has to register it).
132+
133+
However, a MN that has not registered but does expose DataONE services is
134+
not part of the DataONE infrastructure and so does not participate in
135+
replication or other DataONE services.
136+
137+
- Allow service providers to register their services, (such as data extraction
138+
services) (ala GEOSS), but include mapping to higher semantic model
139+
140+
- For well known services, registration system must be able to describe
141+
constraints (e.g., allowable inputs, outputs, algorithms that can be
142+
specified)
143+
144+
- Services can be parameterized
145+
146+
- Member node should be able to request the coordinating node to re-validate
147+
its capabilities list.
148+
149149

150150
.. _history: https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/design/UseCases/03_uc.txt

source/design/UseCases/04_uc.txt

+53-53
Original file line numberDiff line numberDiff line change
@@ -33,85 +33,62 @@ Summary
3333

3434
Actors
3535
Member Node, additional Member Nodes, Coordinating Nodes
36-
37-
36+
37+
3838
Preconditions
3939
- Use is authenticated and so client application has an auth_token for the process.
4040

4141
- DataONE system operational
42-
42+
4343
- MN is registered and is monitored
44-
45-
44+
45+
4646
Triggers
4747
- New data package is present on Member Node
48-
48+
4949
- An existing data package is modified on a Member Node
50-
50+
5151
- A data package is deleted from a Member Node
52-
53-
52+
53+
5454
Post Conditions
5555
- New data package is replicated across MNs
56-
56+
5757
- Search metadata is updated
58-
58+
5959
- Operation recorded in logs
6060

6161
- CN update of search metadata
6262

63-
- CN replication of metadata
63+
- CN replication of metadata
6464

6565
- Watchers notified of change
6666

6767

68-
**Notes**
69-
70-
- Are IDs are pegged to versions? If so, update might differ more radically
71-
from create.
72-
73-
- If delete is a metadata operation only, then will be very similar to update.
74-
But if it is a physical operation, it becomes more complex. Will there be an
75-
archival copy? Will member nodes that hold replicas be "forced" to destroy
76-
the replicas?
77-
78-
- Is submit from a member node a push or pull?
7968

80-
- Should queuing of a submission within a member node be required for success?
81-
(We assume yes, to guarantee replication of submissions).
69+
.. uml::
8270

83-
- Can data packages be deleted or modified?
71+
@startuml images/04_uc.png
72+
actor "User" as client
73+
usecase "12. Authentication" as authen
8474

85-
.. image:: images/04_uc.png
75+
actor "Coordinating Node" as CN
76+
actor "Member Node" as MN
77+
usecase "13. Authorization" as author
78+
usecase "04. Create Object" as create
79+
usecase "06. MN Synchronize" as mn_sync
80+
client -- create
81+
CN -- create
82+
MN -- create
83+
create ..> author: <<includes>>
84+
create ..> authen: <<includes>>
85+
create ..> mn_sync: <<includes>>
86+
@enduml
8687

8788
*Figure 1.* Use case 04.
8889

89-
.. image:: images/04_seq.png
90+
.. uml::
9091

91-
*Figure 2.* Create, update, delete, science metadata or data object in Member
92-
Node.
93-
94-
..
95-
@startuml images/04_uc.png
96-
actor "User" as client
97-
usecase "12. Authentication" as authen
98-
99-
package "DataONE"
100-
actor "Coordinating Node" as CN
101-
actor "Member Node" as MN
102-
usecase "13. Authorization" as author
103-
usecase "04. Create Object" as create
104-
usecase "06. MN Synchronize" as mn_sync
105-
client -- create
106-
CN -- create
107-
MN -- create
108-
create ..> author: <<includes>>
109-
create ..> authen: <<includes>>
110-
create ..> mn_sync: <<includes>>
111-
@enduml
112-
113-
114-
..
11592
@startuml images/04_seq.png
11693
Actor User
11794
participant "Client" as app_client << Application >>
@@ -135,5 +112,28 @@ Node.
135112
deactivate c_health
136113
@enduml
137114

138-
.. _history: https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/design/UseCases/04_uc.txt
139115

116+
*Figure 2.* Create, update, delete, science metadata or data object in Member
117+
Node.
118+
119+
120+
**Notes**
121+
122+
- Are IDs are pegged to versions? If so, update might differ more radically
123+
from create.
124+
125+
- If delete is a metadata operation only, then will be very similar to update.
126+
But if it is a physical operation, it becomes more complex. Will there be an
127+
archival copy? Will member nodes that hold replicas be "forced" to destroy
128+
the replicas?
129+
130+
- Is submit from a member node a push or pull?
131+
132+
- Should queuing of a submission within a member node be required for success?
133+
(We assume yes, to guarantee replication of submissions).
134+
135+
- Can data packages be deleted or modified?
136+
137+
138+
139+
.. _history: https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/design/UseCases/04_uc.txt
-41 KB
Binary file not shown.
-23.3 KB
Binary file not shown.
-30.3 KB
Binary file not shown.
-24.7 KB
Binary file not shown.

0 commit comments

Comments
 (0)