Componentization FRD

Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Server Componentization

Requirements Specification
Document Number: PRJ-REQ-89-00541-Server Componentization Rqmt. Spec
Revision Date: 02/03/19 9:11 AM
Revision Number: Draft .2

Table of Contents
Introduction........................................................................................................................ 1
I. Project Overview........................................................................................................... 1
II. Document Purpose ........................................................................................................ 1
III. Statement of Work ........................................................................................................ 1
IV. Sub-Projects................................................................................................................... 2
V. Sub-Project Phases ....................................................................................................... 3
VI. Definitions ...................................................................................................................... 5
VII. Referenced Documents ................................................................................................. 5
Functional Requirements .................................................................................................. 6
I. Project Goals ................................................................................................................. 6
II. Technical Requirements ............................................................................................... 7
III. Issues / Unknowns ......................................................................................................... 7
Project Requirements ......................................................................................................... 8
I. Sub-Project Dependencies ............................................................................................ 8
II. Assumptions................................................................................................................... 8
III. Platforms/ Versions Supported.................................................................................... 8
IV. Dependencies ................................................................................................................. 8
V. Capital Expenses ........................................................................................................... 8
VI. Training Deliverables ................................................................................................... 8
VII. Product Development Deliverable ............................................................................... 8
VIII. Product Management Deliverables ............................................................................. 8
IX. Knowledge Devlopment Deliverables.......................................................................... 8
X. Documentation Deliverables ........................................................................................ 9
XI. Product Management Deliverables ............................................................................. 9
XII. User-Interface Design ................................................................................................... 9
XIII. Acceptance Criteria: ................................................................................................... 10

Table of Contents i
Document Number: PRJ-REQ-89-00541-Server Componentization Rqmt. Spec
Revision Date: 02/03/19 9:11 AM
Revision Number: Draft .2

Document Change History

Only the material in Section 3 is subject to change control.

TITLE: SYSTEM REQUIREMENTS DOCUMENT FOR Safari BI Plus Componentization

VER DATE INFORMATION AFFECTED RFC AUTHORIZED BY


Draft 5/8/00 Draft of baseline document LRH Ann Johnson
BJG
RJR
.2 5/12/00 Revisions to Techical Requirements based on LRH Ann Johnson
5/10/00 meeting BJG
RJR

Contact Information:
Name: Ann Johnson
E-mail: [email protected]
Telephone: (303) 980-7070 ex. 1144
Organization: Requirements Engineering

Table of Contents 1
Document Number: PRJ-REQ-89-00541-Server Componentization Rqmt. Spec
Revision Date: 02/03/19 9:11 AM
Revision Number: Draft .2

Requirements Specification
Project Name: Server Componentization
Sponsor(s): Randy Reece

Introduction
I. Project Overview
The Safari Business Intelligence Plus current architecture supports components in the client/server
environment, where each Safari InfoTool is one component and the Safarissrv is the other
component, both connected by a Component Interface. The current architecture is as follows:

Notice that the server component consists of a many integrated parts, like a dictionary interface,
database drivers, select engine, 4gl engine, etc.

The Safari Business Intelligence Plus product suite must be changed to meet the demands of the
Web-based applications world and of the extended Enterprise. Our current architecture does not
support multiple users (over about 50), easy implementation of new database drivers, distributed
systems, partial software upgrades with separate deliverable components, or the expansion of our
metadata to support new types of objects. In addition, because the server contains so many
integrated functions, making any changes to the code is difficult and requires testing all functions,
regardless of the change. This prohibits our product from being extensible and scaleable and
requires more time to bring new functions to market

II. Document Purpose


This document will establish the known requirements for breaking the Safari server into
components. Changes to this document shall be made in accordance with a Safari Solutions
revision Requirements Engineering revision policy.

III. Statement of Work


The intent of this project is to componentize the Safari BI Plus product line such that existing
database drivers can be easily upgraded, new database drivers can be easily developed, new
components can be developed and dropped into existing systems, components can be individually
tested and delivered, our overall system can be distributed, etc. all in the interest of supporting the
business demands for more flexibility and adaptability in software solutions.

Introduction 1
Document Number: PRJ-REQ-89-00541-Server Componentization Rqmt. Spec
Revision Date: 02/03/19 9:11 AM
Revision Number: Draft .2

IV. Sub-Projects
The subprojects listed below will be created from this master plan to product the following
architecture:

1. Develop the New Component Interface (CompI)

2. Componentize the ODB/DB driver


4.1 Convert the current ODB/DB driver to the new Component Interface
4.2 Separate the ODB driver and incorporate the new CI

3. Componentize the MMX/DB driver


5.1 Rewrite the MMX driver to the ODB model
5.2 Convert the MMX/DB driver to the new Component Interface
5.3 Separate the MMX/DB driver and incorporate the new CI

4. Componentize the Dictionary Interface


6.1 Prepare the Dictionary Interface (dct.c) for componentization
6.2 Convert the Dictionary Interface to the new Component Interface

5. Incorporate the new CI into the Client/Server interface.

6. Convert the MPE/iX Character-Base image and utilities to be posix compliant

Introduction 2
Document Number: PRJ-REQ-89-00541-Server Componentization Rqmt. Spec
Revision Date: 02/03/19 9:11 AM
Revision Number: Draft .2

V. Sub-Project Phases
The following diagrams represent phases of the overall project:

Sub-Projects 1 thru 2

Sub-Project 3

Introduction 3
Document Number: PRJ-REQ-89-00541-Server Componentization Rqmt. Spec
Revision Date: 02/03/19 9:11 AM
Revision Number: Draft .2

Sub-Project 4

Sub-Project 5

Introduction 4
Document Number: PRJ-REQ-89-00541-Server Componentization Rqmt. Spec
Revision Date: 02/03/19 9:11 AM
Revision Number: Draft .2

VI. Definitions

Component A linked collection of code running in a single process space.


Two types:

Application Component: Does NOT know about the platform


details of the component

Device Component: DOES know the platform details of the


component

Component Broker Translates the protocol request from input/output to a single ID;
establishes the data streams to process a transformation.

Component The communication line for single data request and data result
Interface (pipe); converts 1 data type to another data type.

Formatted Data The data that goes through the communication pipe

Functional A description of function calls that can be made into a separate


Interface process, i.e., a function name with arguments and a return
value.

Object Broker Finds the component with the single ID and ensures that the
component is instantiated.

Object Registrar Identifies the location of any given component.

Xform Registrar Identifies the transformation performed by each component.

Kernel Contains the Component Interface and Transport Mechanisms

Broker System Contains the Xform Registrar, Component Broker, Object


Broker and Object Resistrar.

Component Converts existing code to new Component Interface


Bridges architecture. (Newly developed components will not require the
bridges).

Object Registry Persistent image of the physical location of each object

VII. Referenced Documents


Safari Component Interface Sub-Project:
PRJ-REQ-88-00565-Safari Component Interface Rqmt. Spec
PRJ-HLD-88-00565-Safari Component Interface HLD Spec
PRJ-FSD-88-00565-Safari Component Interface FSD Spec

MMX Componentization Sub-Project:


PRJ-REQ-88-00566-MMX Componentization Rqmt. Spec

Introduction 5
Document Number: PRJ-REQ-89-00541-Server Componentization Rqmt. Spec
Revision Date: 02/03/19 9:11 AM
Revision Number: Draft .2

Functional Requirements
I. Project Goals

Project Goals / Benefits


1. Strengths of today: Multiple native drivers, our 4GL, Dictionary metadata
2.1 Will make it easier to develop, test & deliver a new database driver.
2.2 Putting in a driver today, we touch 20-30 files; goal would be to touch only 3-4 files.
2. Prepare our product offering for the demands of the Web Based applications world (i.e., run
applications from the Web where they are NOT required to be installed on the PC)
3. Prepare our product offering for the demands of the extended Enterprise (i.e., hook up our server with
more 3rd party tools, support distributed environments, etc.)
4. Future-proof the product (i.e., make it very easy to plug in new functionality)
5. Support rapid development of new tools and applications
6. Highly scalable, high performance system
7. Be highly adaptable to diverse environments
8. Be easily maintainable and distributable
9. By separating the database drivers, the drivers don’t have to reside on the server; allows upgrade by
replacement of 1 piece, rather than entire system.
10. Once separated, component can be placed on a remote machine
11. Increase confidence in quality via QA testing/certification such that given changes ONLY affect the
isolated module, not the entire product
12. Be upgradable on ‘the fly’ i.e. upgrade of a running system would be possible
13. Must be easier to install, upgrade and administer than the existing product
14. Must be able to support up to 1,000,000 users
15. Must expand the domain described by the metadata
16. Must be able to describe a complex enterprise

17. Must reduce the ‘footprint’ of all images, the server image in particular
18. Architecture must support an indeterminate number of concurrent users.
19. Implementation GOALS: Don’t copy data unless you have to.
Don’t convert data unless you have to.
Transfer as little data as possible.

Functional Requirements 6
Document Number: PRJ-REQ-89-00541-Server Componentization Rqmt. Spec
Revision Date: 02/03/19 9:11 AM
Revision Number: Draft .2

II. Technical Requirements

Technical Requirements
1. Must continue to provide the same product functionality that we have today
2. All components must be designed such that any changes to a component are isolated and don’t affect
other components
3. Must be able to incrementally deliver componentized segments
4. Must be able to distribute replacement components for upgrades such that the whole system does not
need to be upgraded
5. Must support 100 concurrent user logins initiated within a 10 second period and responded to within
30 seconds
6. Must run on all currently supported platforms (as of 7.1-AA)
7. Must be designed such that new platforms added after 7.1-AA can be supported
8. Must continue to support all current data sources (as of 7.1-AA)
9. Must be designed such that any new data sources added after 7.1-AA can be supported
10. Performance of any function must be the same or better than provided today
11. Must coexist and interface with EJB or Corba
12. Component Interface must be designed such that it is replaceable by EJB, Corba, Java, a variant of
RPI/IPC, etc. (until new CompI using the data stream architecture is proven on all supported
platforms)
13. Must build a test plan to quantify scaleability.
14. Components must be allowed to reside locally or remotely to the caller.
15. Location of the called component must be transparent to the caller.

III. Issues / Unknowns

Functional Requirements 7
Document Number: PRJ-REQ-89-00541-Server Componentization Rqmt. Spec
Revision Date: 02/03/19 9:11 AM
Revision Number: Draft .2

Project Requirements

I. Sub-Project Dependencies
1. Develop the New Component Interface (CompI)

2. Componentize the ODB/DB driver

3. Componentize the MMX/DB driver

4. Componentize the Dictionary Interface

5. Incorporate the new CI into the Client/Server interface.

6. Convert the MPE/iX Character-Base image and utilities to be posix compliant

II. Assumptions
 Enter

III. Platforms/ Versions Supported


 Enter

IV. Dependencies
The following ATR’s must be fixed for this project
 Enter

V. Capital Expenses
 Enter

VI. Training Deliverables


 Enter

VII. Product Development Deliverable


 Enter

VIII. Product Management Deliverables


 White paper
 Positioning paper
 Pricing
 Release Schedule
 Evaluation agreement

IX. Knowledge Devlopment Deliverables


 Enter

Project Requirements 8
Document Number: PRJ-REQ-89-00541-Server Componentization Rqmt. Spec
Revision Date: 02/03/19 9:11 AM
Revision Number: Draft .2

X. Documentation Deliverables
 Enter

XI. Product Management Deliverables


 Enter

XII. User-Interface Design


N/a

Project Requirements 9
Document Number: PRJ-REQ-89-00541-Server Componentization Rqmt. Spec
Revision Date: 02/03/19 9:11 AM
Revision Number: Draft .2

XIII. Acceptance Criteria:


1. enter
2. enter
3. enter
4. enter
5. enter

All Detail Plans will be completed by:

 Each detail plan will be attached to this project plan upon its development and approval.
 The estimates for Coding and Implementation will be included in each detail design.
 The release schedule for this project will be published separately by Product Administration.

Project Requirements 10

You might also like