Attached Documents System Design Document Level 1 (SDD1)

Tivoli Software
SWG - TIVOLI
System Design Document Level 1 (SDD1)
Attached Documents
System Design Document Level 1 (SDD1)
Document Version: 1.0
Document Revision Status: Draft
Document Date: 10/22/2012
IBM Confidential
1.0
Notice: The online version is the Master. Any printed versions of this document are FOR REFERENCE ONLY.
Users of this document are responsible for using the official version, and for verifying that any copies are complete and of the official version.
Online Version is the Master
IBM Confidential (when filled in)
Page 1 of 13
Tivoli Software
System Design Document Level 1 (SDD1)
Document Control Information
Document Owner: Colleen McCretton – Designer/Architect
Document Author: Colleen McCretton – Designer/Architect
Document Approvers:
Functional Area and Role
Role > Determine as appropriate to Project (required)
<Identify Specific Role who must Approve>
Approver’s Name
[name]
[name]
Document Reviewers:
Functional Area and Role
Status
Reviewer's Name
Required
Optional
[name]
[name]
(Indicate Role, such as Manager, Team Lead)
Functions and Roles as per Project]
Functions and Roles as per Project
Summary of Changes:
The Document Author/Owner is authorized to make the following types of changes to the document without requiring that the document be re-approved:
• editorial, formatting and spelling
• clarification
• document structure
To request a change to this document, contact the Document Author or Owner.
Changes to this document are summarized in the following table in chronological order.
Version
1.0
Date
TBD
Short Description
Initial Version, Approved
Document Source: The location of the official version of this controlled document is described in the Project Planning Document (PPD), section 5.0 Data Management, Table 1 Project Documents.
Document Template: TPDM SDD1Template, TIV-T&F-0023, revision 4, Tivoli Document Library (QMX)
All controlled documents must be controlled following the SWG Document Control Procedure, Proc-0006, located in
the SWG Document Library (QMX) database.
Online Version is the Master
IBM Confidential (when filled in)
Page 2 of 13
Tivoli Software
System Design Document Level 1 (SDD1)
About this Document
The System Design Document Level 1 (SDD1) is produced as a work product (deliverable or artifact) from the
TPDM Design and Write the Process in support of the Tivoli Product Development Model (TPDM).
The SDD1, or equivalent design document, is created for product and component development projects. The help
text for requested information will indicate if the information is specifically applicable to only one type of development project: product or component.
The SDD1, or equivalent design document, describes the interfaces and semantics of a major subsystem of the
overall system for the product/component. The interfaces represent the “contractual obligation” between this particular system component and the other components in the overall product/component solution. The SDD1 provides sufficient details for users (developers, ID, Test, HCI) to understand overall subsystem behavior. The SDD1
is also intended to provide information to the Service organizations responsible for maintaining the product/component after release.
The SDD1 provides sufficient details for users (developers, ID, Test, HCI) to understand overall subsystem behavior. The SDD1 is also intended to provide information to the Service organizations responsible for maintaining the
product/component after release.
The SDD1 is formally reviewed by relevant parties as planned. Issues identified during the review are addressed
prior to approval.
The SDD1 is approved by the appropriate authority and placed under change control after approval.
Online Version is the Master
IBM Confidential (when filled in)
Page 3 of 13
Tivoli Software
System Design Document Level 1 (SDD1)
Table of Contents
1.Introduction 6
1.1Overview 6
1.2Component Dependencies .........................................................................................................................6
1.3Related Release Documents ......................................................................................................................6
2.Requirements Addressed ................................................................................................................................6
2.1Requirements..............................................................................................................................................6
2.2Personas and Scenarios.............................................................................................................................6
2.3Main Components of the Architecture ........................................................................................................7
2.4Static Object and Data Models ...................................................................................................................7
2.5Dynamic (Runtime) Models ........................................................................................................................7
2.6Finite State Machines (optional) .................................................................................................................7
2.7Other
7
3.System Structure Flows...................................................................................................................................7
3.1Error Flows 7
3.2Cross-Component Flows ............................................................................................................................8
3.3Cross-Product Flows (not applicable to component design) ......................................................................8
4.Other Design Considerations..........................................................................................................................8
4.1Open Source...............................................................................................................................................8
5.APIs, External Interfaces and Semantics.......................................................................................................8
5.1Command Line Support ..............................................................................................................................8
5.2Programmatic Interfaces (APIs)..................................................................................................................8
5.3External Messages .....................................................................................................................................8
5.4User Assistance Provided...........................................................................................................................8
6.Multi-Customer Implications ...........................................................................................................................9
7.Compatibility, Upgrade, and Coexistence .....................................................................................................9
7.1Compatibility ...............................................................................................................................................9
7.2Upgrade
9
7.3Coexistence ................................................................................................................................................9
7.4Interaction with other Tivoli Products/Components ....................................................................................9
8.Installation and Configuration.........................................................................................................................9
8.1Upgrade
9
8.2Installation and Packaging ..........................................................................................................................9
8.3Configuration.............................................................................................................................................10
8.4Post Install Configuration ..........................................................................................................................10
8.5Installability 10
9.Reliability, Availability and Serviceability (RAS) and Maintainability .......................................................10
9.1Reliability and Availability .........................................................................................................................10
9.2Serviceability.............................................................................................................................................10
9.3Maintainability ...........................................................................................................................................10
10.Accessibility..................................................................................................................................................10
11.Performance..................................................................................................................................................10
12.Security and Authentication........................................................................................................................11
12.1Encryption/Cryptography ........................................................................................................................11
12.2Authentication .........................................................................................................................................11
12.3Authorization ...........................................................................................................................................11
13.Usability 11
14.Documentation..............................................................................................................................................11
15.Globalization .................................................................................................................................................11
Online Version is the Master
IBM Confidential (when filled in)
Page 4 of 13
Tivoli Software
System Design Document Level 1 (SDD1)
16.Privacy
11
17.Educational Services ...................................................................................................................................11
18.Intellectual Property .....................................................................................................................................12
19.Test and Testability ......................................................................................................................................13
19.1Development / Unit Test .........................................................................................................................13
19.2Testability Considerations.......................................................................................................................13
19.3External Tool Dependency .....................................................................................................................13
19.4Internal Tool Dependency.......................................................................................................................13
20.Down Stream Component Design Documentation ...................................................................................13
Online Version is the Master
IBM Confidential (when filled in)
Page 5 of 13
Tivoli Software
System Design Document Level 1 (SDD1)
1. Introduction
1.1 Overview
In a multi-tenant environment the tenants will not have access to the file system so a method for them to use attached documents in a secure fashion – where one tenant cannot see another tenant’s files – is required.
1.2 Component Dependencies
N/A
1.3 Related Release Documents
Table 1: Related Documents
Document Title
Market Themes Document
Release Content Specification
Stage Delivery Plan for this release
System Design Document Level 0
(SDD0/CDD) for this release
UI SDD1 Document
Persona Document
Related Documentation
Location or Link
N/A
TBD
N/A
N/A
N/A
N/A
None
2. Requirements Addressed
2.1 Requirements
Req. ID ##
Requirement Title
41913
As a tenant I need attachment / docklink support for my environment
2.2 Personas and Scenarios
Online Version is the Master
IBM Confidential (when filled in)
Page 6 of 13
Tivoli Software
System Design Document Level 1 (SDD1)
As a tenant I need attachment / docklink support for my environment
2.3 Main Components of the Architecture
The existing methodology for attached documents will be extended to support multiple tenants. The Configuration
Administrator will set up the server directory and associated properties as if it was a single tenant system. Within
that directory, a sub-directory will be created behind the scenes for each tenant. Within this ‘invisible’ directory they
can create sub-folders and use all other functions as can be done today. Tenants may also save their attachments
to a directory other than the default one, but in this case, security will need to be configured on the shared file system.
Because security is of paramount importance in a multi-tenant environment, secure attachments must always be
implemented so that the URL to browse to documents is not readable. In addition, documentation should advise the
Configuration Administrator to disable browsing on the directory containing the attachments via file system security.
Support for both Windows and Unix servers for hosting the attachments is required as is support for direct printing
of attachments when reports are printed.
2.4 Static Object and Data Models
N/A
2.5 Dynamic (Runtime) Models
The file structure, including any required folders and subdirectories, for attached documents will be created dynamically when a user uploads the attachment. The resulting file structure is the parent doclinks directory with a
subdirectory named after the tenant id. Any attachments that a specific tenant uploads are put into this tenant id
subdirectory, including any additional subdirectories they would like to have. The path to the attached document is
generated by obtaining the tenant id from the tenant context and inserting it into the default path as described earlier.
Example:
Non Multi-Tenancy: C:\DOCLINKS\example.txt
Multi-Tenancy: C:\DOCLINKS\<tenant id>\example.txt
2.6 Finite State Machines (optional)
N/A
2.7 Other
None
3. System Structure Flows
Online Version is the Master
IBM Confidential (when filled in)
Page 7 of 13
Tivoli Software
System Design Document Level 1 (SDD1)
3.1 Error Flows
Error flows are the same as before.
3.2 Cross-Component Flows
None
3.3 Cross-Product Flows (not applicable to component design)
None
4. Other Design Considerations
4.1 Open Source
N/A
5. APIs, External Interfaces and Semantics
5.1 Command Line Support
None
5.2 Programmatic Interfaces (APIs)
None
5.3 External Messages
None
5.4 User Assistance Provided
Online Version is the Master
IBM Confidential (when filled in)
Page 8 of 13
Tivoli Software
System Design Document Level 1 (SDD1)
•
The fact that the attached document function is different for the tenants should be invisible to end users.
•
Administrative users will not have to perform the setup
6. Multi-Customer Implications
The entire scope of this enhancement is to better support multi-customer environments. The entire document relates to this section.
7. Compatibility, Upgrade, and Coexistence
7.1 Compatibility
DB2 10.1
Maximo Version 7.5.1
WebSphere 7
Windows and Unix compatibility are the same as before.
7.2 Upgrade
N/A – new application
7.3 Coexistence
N/A
7.4 Interaction with other Tivoli Products/Components
N/A
8. Installation and Configuration
8.1 Upgrade
N/A
Online Version is the Master
IBM Confidential (when filled in)
Page 9 of 13
Tivoli Software
System Design Document Level 1 (SDD1)
8.2 Installation and Packaging
N/A
8.3 Configuration
N/A
8.4
Post Install Configuration
None of the configuration for this enhancement is done via the installer.
8.5 Installability
N/A
9. Reliability, Availability and Serviceability (RAS) and Maintainability
9.1 Reliability and Availability
Nothing in this enhancement has a direct impact on reliability and availability.
9.2 Serviceability
Standard messages will be used for serviceability.
9.3 Maintainability
N/A
10. Accessibility
N/A
Online Version is the Master
IBM Confidential (when filled in)
Page 10 of 13
Tivoli Software
System Design Document Level 1 (SDD1)
11. Performance
N/A
12. Security and Authentication
12.1 Encryption/Cryptography
Secure attachment functionality will be used to encrypt the information about the attachment.
12.2 Authentication
N/A
12.3 Authorization
TBD
13. Usability
TBD
14. Documentation
It must be explained what steps apply for all users and what applies only to the Configuration Administrator. Specifically, all setup tasks only apply to the Configuration Administrator.
15. Globalization
Standard processes for globalization will be followed.
16. Privacy
Standard privacy measures will be incorporated.
Online Version is the Master
IBM Confidential (when filled in)
Page 11 of 13
Tivoli Software
System Design Document Level 1 (SDD1)
17. Educational Services
This is a new application that needs to be factored into current training courses, especially if rolled into the core
product.
18. Intellectual Property
None.
Online Version is the Master
IBM Confidential (when filled in)
Page 12 of 13
Tivoli Software
System Design Document Level 1 (SDD1)
19. Test and Testability
19.1 Development / Unit Test
1.
Log in as tenant 1
2.
Select a record
3.
Attach a file
4.
Log in as tenant 2
5.
Select a record with the same key value as you did for the other tenant
6.
Confirm that you do not see the attachment
7.
Confirm that you can add your own attachment
8.
Try to guess the URL of attachments
9.
Try to browse the directory structure to view attachments
19.2 Testability Considerations
Attached documentation must be configured on the web server.
19.3 External Tool Dependency
N/A
19.4 Internal Tool Dependency
Standard tools for JUnit and automated testing will be used.
20. Down Stream Component Design Documentation
None.
Online Version is the Master
IBM Confidential (when filled in)
Page 13 of 13