Oyster Safari Training Institute SOTI-EDMS Software Architecture Document Version 1.0 SOTI-EDMS Software Architecture Document <document identifier> Version: 1.0 Date: 20/07/07 Revision History Date 20/07/07 Confidential Version 1.0 Description Software Architecture Description SOTI, 2007 Author Lanre Ogunkunle Page 2 of 16 SOTI-EDMS Software Architecture Document <document identifier> Version: 1.0 Date: 20/07/07 Table of Contents 1. Introduction 4 1.1 1.2 1.3 1.4 1.5 4 4 4 5 5 Purpose Scope Definitions, Acronyms and Abbreviations References Overview 2. Architectural Representation 6 3. Architectural Goals and Constraints 6 4. Use-Case View 8 4.1 9 5. Use-Case Realizations Logical View 10 5.1 5.2 12 13 Overview Architecturally Significant Design Packages 6. Process View 14 7. Deployment View 15 8. Implementation View 15 8.1 8.2 15 15 Overview Layers 10. Size and Performance 16 11. Quality 16 Confidential SOTI, 2007 Page 3 of 16 SOTI-EDMS Software Architecture Document <document identifier> Version: 1.0 Date: 20/07/07 Software Architecture Document 1. Introduction [The introduction of the Software Architecture Document should provide an overview of the entire Software Architecture Document. It should include the purpose, scope, definitions, acronyms, abbreviations, references, and overview of the Software Architecture Document.] This document describes a high level overview of the evolving technical architecture for the SOTI-EDMS project. It outlines the technologies that SOTI staff, clients and management group will use for document management, and electronic workflow processes. In facilitating easy document creation, storage, retrieval and processing; the system will enhance staff and customer satisfaction with the business practices while the organization will be able to reap the benefits from cost reduction, better utilization of office space, better rate of response to events and a formidable security from natural disaster. The document provides a high level description of the goals of the architecture. Also, it defines the use cases support by the system architectural styles and components that have been chosen to best achieve the use cases. The emerging framework guides the development of the design criteria and documents that describe the technical and domain standards in detail. The detail design documents will guide the development of the actual SOTI-EDMS 1.1 Purpose This document provides a comprehensive architectural overview of the system, using a number of different architectural views to depict different aspects of the system. It is intended to capture and convey the significant architectural decisions which have been made on the system. To describe the software accurately, this document structure is based on “4+1” model view of architecture [KRU41]. This view gives stakeholders the ability to view the architecture from different perspectives. 1.2 Scope The scope of this document is to depict the architecture of the SOTI-EDMS. 1.3 Definitions, Acronyms and Abbreviations RUP : Rational Unified Process UML: Universal Modelling Language SAD: Software Architecture Document Confidential SOTI, 2007 Page 4 of 16 SOTI-EDMS Software Architecture Document <document identifier> 1.4 Version: 1.0 Date: 20/07/07 References [KRU41]: The “4+1” view model of software architecture, Philippe Kruchten, November 1995, http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/2003/Pbk4p1.pdf [RSA]: IBM Rational Software Architect http://www-306.ibm.com/software/awdtools/architect/swarchitect/index.html [RUP]: The IBM Rational Unified Process: http://www-306.ibm.com/software/awdtools/rup/index.html 1.5 Overview [This subsection should describe what the rest of the Software Architecture Document contains and explain how the Software Architecture Document is organized.] The remaining section of this document is structured as follows Section 2: Describes the architectural representation Section 3: Contains the description of the architectural constraints of the system Section 4: Describes the use case view Section 4.1: Contains the description of important use-case realization. Section 5: Describes logical view Section 5.1: Overview of the logical view Section 5.2: Architecture significant design packages Section 6: Describes the process view Section 7: describes how the system will be deployed. Section 8: describes the implementation view Section 9: describes the size and performance issues Section 10: Contains description about quality. 2. Architectural Representation [This section describes what software architecture is for the current system, and how it is represented. Of the Use-Case, Logical, Process, Deployment, and Implementation Views, it enumerates the views that are necessary, and for each view, explains what types of model elements it contains.] The views defined in “4+1” model has been utilized for the purpose of describing the architecture; RUP naming convention will also be used for naming. The views necessary to document the SOTI-EDMS application are: Logical view Confidential SOTI, 2007 Page 5 of 16 SOTI-EDMS Software Architecture Document <document identifier> Version: 1.0 Date: 20/07/07 Target Audience: Designers. Area: Functional Requirements: describes the design's object model. Also describes the most important use-case realizations. Artifacts: Design model Process view Target Audience: Integrators. Area: Non-functional requirements: describes the design's concurrency and synchronization aspects. Artifacts: (no specific artifact). Implementation view Target Audience: Programmers. Area: Software components: describes the layers and subsystems of the application. Artifacts: Implementation model, components Deployment view Target Audience: Deployment managers. Area: Topology: describes the mapping of the software onto the hardware and shows the system's distributed aspects. Artifacts: Deployment model. Use Case view Target Audience: all the stakeholders of the system, including the end-users. Area: describes the set of scenarios and/or use cases that represent some significant, central functionality of the system. Artifacts : Use-Case Model, Use-Case documents Data view (optional) Target Audience: Data specialists, Database administrators Area: Persistence: describes the architecturally significant persistent elements in the data model Artifacts: Data model. 3. Architectural Goals and Constraints [This section describes the software requirements and objectives that have some significant impact on the architecture, for example, safety, security, privacy, use of an off-the-shelf product, portability, distribution, and reuse. It also captures the special constraints that may apply: design and implementation strategy, development tools, team structure, schedule, legacy code, and so on.] This section describes the software requirements and objectives that have some significant impact on the architecture 3.1 Technical Platform The SOTI-EDMS application will be deployed on a .NET Framework using IIS 7.0 as the web server running Windows Vista Ultimate OS. The clients will be web browsers Internet Explorer 7.0 for staff and a variety of others from the customers ranging from FireFox to Netscape and others Confidential SOTI, 2007 Page 6 of 16 SOTI-EDMS Software Architecture Document <document identifier> 3.2 Version: 1.0 Date: 20/07/07 Transaction The EDMS application has many transactions of high importance. The transactional abilities of the system come from the underlying framework that will be utilized. The .NET framework, IIS Server, Windows OS, SQL Server 2005 are all powerful tools with high performance and scalability. 3.3 Security The system must be secured, so that only authorized users will have access level priviledges The application must implement basic security behaviors: Authentication: Login using at least a user name and a password Authorization: according to their profile, organization’s customers must be granted permission to perform some specific actions on the system in accordance with the specified rules For all types of access, the following requirements are required: 3.4 Confidentiality: sensitive data must be encrypted (credit card payments) Data integrity : Data sent across the network cannot be modified by a tier Auditing: Every sensitive action can be logged Non-repudiation : gives evidence a specific action occurred Persistence This issue will be addressed using a relational database. 3.5 Reliability/Availability System availability is of high importance. The candidate architecture is expected to have failover capabilities. Reliability/Availability will be addressed through the .NET platform Targeted availability is 23.5/7: 23.5 hours a day, 7 days a week The time left (30 minutes) is reserved for any maintenance activities 3.6 Performance This system is expected to have high performance abilities. The system should have high response time, should be able to scale very well. Confidential SOTI, 2007 Page 7 of 16 SOTI-EDMS Software Architecture Document <document identifier> 4. Version: 1.0 Date: 20/07/07 Use-Case View [This section lists use cases or scenarios from the use-case model if they represent some significant, central functionality of the final system, or if they have a large architectural coverage - they exercise many architectural elements, or if they stress or illustrate a specific, delicate point of the architecture.] This section lists use cases or scenarios from the use-case model that represent some significant, central functionality of the final system. There are five use-cases with a significant impact on the SOTI-EDMS. Confidential The Capture Document Use Case The Create Workflow Use Case The Manage Workflow Use Case The Manage Document Use Case The Manage System Use Case SOTI, 2007 Page 8 of 16 SOTI-EDMS Software Architecture Document <document identifier> Confidential Version: 1.0 Date: 20/07/07 SOTI, 2007 Page 9 of 16 SOTI-EDMS Software Architecture Document <document identifier> Version: 1.0 Date: 20/07/07 5. Logical View 5.1 Overview SOTI-EDMS is divided into layers according to the N-Tier Architecture The layering model of the EDMS solution is based on a responsibility layering strategy that associates each layer with a particular responsibility. This strategy is well adapted because it isolates various system responsibilities from one another, so that it improves both system development and maintenance Confidential SOTI, 2007 Page 10 of 16 SOTI-EDMS Software Architecture Document <document identifier> Version: 1.0 Date: 20/07/07 Each layer has specific responsibilities. The presentation layer is concerned with the presentation logic and the rendering of pages The control layer deals with management of access to the domain layer The resource layer is responsible for access to the data store The domain layer manages accesses to the resource layer. The Common Elements layer collects the common objects reused through all the layers The SOTI-EDMS 1.0 is a web based application that contains four basic features Confidential Capture Feature: For capturing documents Store Feature: For storing electronic documents and data Work Flow Feature: For handling office processes Distribute Feature: For disseminating information SOTI, 2007 Page 11 of 16 SOTI-EDMS Software Architecture Document <document identifier> 5.2 Version: 1.0 Date: 20/07/07 Architecturally Significant Design Packages 1. Distribute Package is responsible for disseminating electronic information captured in the datastore in different format. It can print or plot or viewing. Confidential SOTI, 2007 Page 12 of 16 SOTI-EDMS Software Architecture Document <document identifier> Confidential Version: 1.0 Date: 20/07/07 SOTI, 2007 Page 13 of 16 SOTI-EDMS Software Architecture Document <document identifier> Version: 1.0 Date: 20/07/07 Basic Flow: 2. 6. Process View The .NET framework will handle threading and processing issues. Confidential SOTI, 2007 Page 14 of 16 SOTI-EDMS Software Architecture Document <document identifier> Version: 1.0 Date: 20/07/07 7. Deployment View 8. Implementation View 8.1 Overview [This subsection names and defines the various layers and their contents, the rules that govern the inclusion to a given layer, and the boundaries between layers. Include a component diagram that shows the relations between layers. ] 8.2 Layers 8.2.1 Presentation Layer This layer contains all the components needed to allow interactions with an end-user. It encompasses the user interface 8.2.2 Control Layer Control layer is the container for all the components used to access the domain layer or directly the resource layer when this is appropriate. 8.2.3 Resource Layer This layer contains the components needed to enable communication between the business tier and the enterprise information systems (Database, external services, ERP, etc…) 8.2.4 Domain layer The Domain layer contains all the components related to the business logic. It gathers all the subsystems that meet the needs of a particular business domain. It also contains the business object model. . Confidential SOTI, 2007 Page 15 of 16 SOTI-EDMS Software Architecture Document <document identifier> Version: 1.0 Date: 20/07/07 8.2.5 Common Elements Layer The layer contains the components re-used within several layers. 9. Size and Performance Volumes: Estimated Request: 10,000 – 50,000 a day. Registered Users is in the range of 8,000 - 10000 Registered Customers is about 50,000 Performance: 10. Time to respond to request : less that 10 seconds required Quality As far as the online catering application is concerned, the following quality goals have been identified: Scalability: Description : System’s reaction when user demands increase Solution : .NET application servers support several workload management techniques Reliability, Availability: Description : Transparent failover mechanism, mean-time-between-failure Solution : : .NET framework and SQL server database application server supports load balancing through clusters Portability: Description : Ability to be reused in another environment Solution : The system me be fully compatible with Linux and Unix Operating Systems Security: Confidential Description : Authentication and authorization mechanisms Solution : Windows Vista, SQL Server and .NET framework all provide native security mechanisms that will be adequate for this system. SOTI, 2007 Page 16 of 16