GP.File Storage: Difference between revisions
(GP added) |
(typo in service link) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Maturity| | {{Maturity|4}} | ||
{{Pageheaderbox4GP | {{Pageheaderbox4GP | ||
|name=File Storage | |name=File Storage | ||
Line 5: | Line 5: | ||
|version=0.5 | |version=0.5 | ||
|owner=J.A.H. Schoonderbeek | |owner=J.A.H. Schoonderbeek | ||
|summary=This Pattern offers functionality to store, retrieve and modify data in loosely structured form. | |summary=This Pattern offers functionality to manipulate (store, retrieve and modify et cetera) data in loosely structured form (e.g. files). | ||
}} | }} | ||
This | This function enables a service that offers its consumers the ability to manipulate (store, retrieve and modify et cetera) data in [[OIAm_data_view|loosely structured]]. The function may distribute the data over multiple logical locations, but makes its consumers view it as located in a single logical location. The function may also offer the ability to perform storage related "intelligent" tasks, such as replication, migration, encryption, reporting, compression and data deduplication. | ||
Note that File Storage is always implemented on top of some form of Raw Storage. As a consequence, an Applied Pattern dealing with file storage is often based on both the File Storage Generic Pattern and the [[GP.Raw Storage|Raw Storage]] Generic Pattern. | Note that File Storage is always implemented on top of some form of Raw Storage. As a consequence, an Applied Pattern dealing with file storage is often based on both the File Storage Generic Pattern and the [[GP.Raw Storage|Raw Storage]] Generic Pattern. | ||
As examples: realizations of File Storage (and Raw Storage under it) can include: | As examples: realizations of File Storage (and Raw Storage under it) can include: | ||
* Content Management Systems (CMS) and alike solutions, | * simple Content Management Systems (CMS) and alike solutions, | ||
* (the front-end of) NAS appliances, | * (the front-end of) NAS appliances, | ||
* file share servers. | * file share servers. | ||
Note: it's possible that the solution is to make use of Business Rules (e.g. for data deduplication or automatic migration of data to nearline/offline storage). If this is | Note: it's possible that the solution is to make use of Business Rules (e.g. for data deduplication or automatic migration of data to nearline/offline storage). If this is to be modelled then this Pattern must be combined with the corresponding functions. | ||
{{Pattern Realizes | {{Pattern Realizes | ||
|service=GS.File Storage | |service=GS.File Storage | ||
Line 33: | Line 29: | ||
|function=GF.File Engine | |function=GF.File Engine | ||
|choice=Must | |choice=Must | ||
|reason=This function handles the actual storing/retrieving of loosely structured data such as (but not restricted to) files or documents. It serves | |reason=This function handles the actual storing/retrieving of loosely structured data such as (but not restricted to) files or documents. It serves the needs of the File Storage service's consumers such as end-users or systems (among which application engines and database servers). | ||
Note that it requires access to Raw Storage services to physically store the bits and bytes that make up the instances of loosely structured data. | |||
Note that it requires access to Raw Storage services to physically store the bits and bytes that make up the instances of loosely structured data. | |||
}} | }} | ||
{{Generic Pattern Composition Row | {{Generic Pattern Composition Row | ||
|function=GF.Controlling | |function=GF.Controlling | ||
|choice=Must | |choice=Must | ||
|reason=This function can be used by authorized administrators | |reason=This function can be used by authorized consumers (such as administrators and users) to change the behaviour of the Pattern. | ||
}} | }} | ||
{{Generic Pattern Composition Row | {{Generic Pattern Composition Row | ||
|function=GF.Caching | |function=GF.Caching | ||
|choice=May | |choice=May | ||
|reason=The Pattern may use caching functionality to increase its capacity to receive and/or return data on request. | |reason=The Pattern may use caching functionality to increase its capacity to receive and/or return data on request. | ||
}} | }} | ||
{{Table Ending}} | {{Table Ending}} | ||
Line 59: | Line 47: | ||
|service=GS.Raw Storage | |service=GS.Raw Storage | ||
|choice=Must | |choice=Must | ||
|reason=All "loosely structured data" eventually will have to be stored on some physical device, where it is treated as "unstructured data | |reason=All "loosely structured data" eventually will have to be stored on some physical device, where it is treated as "unstructured data". Placing this Service under the File Storage pattern delivers this ability. | ||
}} | }} | ||
{{Generic Pattern Adjacent Service Row | {{Generic Pattern Adjacent Service Row | ||
|service=GS.Authentication+ | |service=GS.Authentication+Authorization | ||
|choice=May | |choice=May | ||
|reason=A&A will be required for one or more of the following uses: | |reason=A&A will be required for one or more of the following uses: | ||
* permission validation for read/write/modification/deletion actions on the loosely structured data being stored; | * permission validation for read/write/modification/deletion actions on the loosely structured data being stored; | ||
* | * access to the more sensitive parts of the Controlling function, that may influence aspects of this Pattern's behaviour ranging from facility management to self-service provisioning of storage space; | ||
}} | }} | ||
{{Generic Pattern Adjacent Service Row | {{Generic Pattern Adjacent Service Row | ||
|service=GS. | |service=GS.Data Protection Management | ||
|choice=May | |choice=May | ||
|reason=Combining this Pattern with a | |reason=Combining this Pattern with a Data Protection Management service serves to create secondary copies of the data stored by the Pattern, with the aim of being able to perform a (partial or complete) restore of the data, in the original location or an alternative location. | ||
Note that the | Note that the Data Protection Management service is usually under control of IT Operations, but may occasionally be offered to consumers directly. Depending on the way it's modelled, this may impact the Controlling function inside the Pattern. | ||
}} | }} | ||
{{Generic Pattern Adjacent Service Row | {{Generic Pattern Adjacent Service Row | ||
|service=GS.Archive Management | |service=GS.Archive Management | ||
|choice=May | |choice=May | ||
|reason=Combining this Pattern with an Archive Management service | |reason=Combining this Pattern with an Archive Management service serves to create a primary copy of the data stored by the Pattern at a different physical location. This can be to satisfy legal or other user requirements, or to free up storage space in this Pattern. | ||
Note that the Archive Management service is usually under control of IT Operations, but may occasionally be offered to clients directly. | Note that the Archive Management service is usually under control of IT Operations, but may occasionally be offered to clients directly. Depending on the way it's modelled, this may impact the Controlling function inside the Pattern. | ||
}} | }} | ||
{{Table Ending}} | {{Table Ending}} | ||
{{Text Footer GP}} | {{Text Footer GP}} |
Latest revision as of 06:32, 7 October 2013
Page maturity This page has maturity level 4 (mature) |
GP | File Storage | Version: | 0.5 | ||
---|---|---|---|---|---|
Document type: | Generic Pattern | Owner: |
This Pattern offers functionality to manipulate (store, retrieve and modify et cetera) data in loosely structured form (e.g. files). |
Description
This Generic Pattern belongs to "Core". This function enables a service that offers its consumers the ability to manipulate (store, retrieve and modify et cetera) data in loosely structured. The function may distribute the data over multiple logical locations, but makes its consumers view it as located in a single logical location. The function may also offer the ability to perform storage related "intelligent" tasks, such as replication, migration, encryption, reporting, compression and data deduplication.
Note that File Storage is always implemented on top of some form of Raw Storage. As a consequence, an Applied Pattern dealing with file storage is often based on both the File Storage Generic Pattern and the Raw Storage Generic Pattern.
As examples: realizations of File Storage (and Raw Storage under it) can include:
- simple Content Management Systems (CMS) and alike solutions,
- (the front-end of) NAS appliances,
- file share servers.
Note: it's possible that the solution is to make use of Business Rules (e.g. for data deduplication or automatic migration of data to nearline/offline storage). If this is to be modelled then this Pattern must be combined with the corresponding functions.
Services realized
This Pattern realizes the following service(s):
- File Storage (This service offers clients the ability to store, retrieve and modify data in loosely structured form.)
Functional and Integration view
This is the graphic representation of the functional model of this Generic Pattern:
Generic Pattern Composition
This pattern is an aggregation of the following (mandatory and optional) functions, expressed in Generic Functions:
Icon | Function | Inclusion | Rationale |
File Engine | recommended | This function handles the actual storing/retrieving of loosely structured data such as (but not restricted to) files or documents. It serves the needs of the File Storage service's consumers such as end-users or systems (among which application engines and database servers).
Note that it requires access to Raw Storage services to physically store the bits and bytes that make up the instances of loosely structured data. | |
Controlling | recommended | This function can be used by authorized consumers (such as administrators and users) to change the behaviour of the Pattern. | |
Caching | optional | The Pattern may use caching functionality to increase its capacity to receive and/or return data on request. |
Services connected with this Generic Pattern
This Generic Pattern has the following mandatory and optional relations with adjacent Generic Services.
Service | Adjacency | Summary | Rationale |
Raw Storage | recommended | This service offers to store, manipulate and read data at the level of "unstructured data". | All "loosely structured data" eventually will have to be stored on some physical device, where it is treated as "unstructured data". Placing this Service under the File Storage pattern delivers this ability. |
Authentication & Authorization | optional | This service can validate an identity claim, and it can validate the permissions required for an action, as part of an Authentication & Authorization process. | A&A will be required for one or more of the following uses:
|
Data Protection Management | optional | This service provides the ability to protect data against accidental or wilful corruption. | Combining this Pattern with a Data Protection Management service serves to create secondary copies of the data stored by the Pattern, with the aim of being able to perform a (partial or complete) restore of the data, in the original location or an alternative location.
Note that the Data Protection Management service is usually under control of IT Operations, but may occasionally be offered to consumers directly. Depending on the way it's modelled, this may impact the Controlling function inside the Pattern. |
Archive Management | optional | This service provides the ability to create and use archives. | Combining this Pattern with an Archive Management service serves to create a primary copy of the data stored by the Pattern at a different physical location. This can be to satisfy legal or other user requirements, or to free up storage space in this Pattern.
Note that the Archive Management service is usually under control of IT Operations, but may occasionally be offered to clients directly. Depending on the way it's modelled, this may impact the Controlling function inside the Pattern. |
Applied Patterns based on this Generic Pattern
The following Applied Patterns are based wholly or in part on this Generic Pattern: