Software Architecture Document SCSB

Software Architecture Document

ReCAP Shared Collection Service Bus

Notice of Proprietary Information

All information contained in or disclosed by this document is confidential and proprietary to ReCAP.

Distribution: Restricted

Disposal: Shred

File Name: ReCAP-SCSB Software Architecture Document

Copyright 2016 ReCAP

Revision History

Version Date Author Description Status
1.0 04/28/2016 Balaji Nallamothula Initial Version – Draft Draft

Table of Contents

1.Introduction 6

1.1 Purpose 6

1.2 Document Overview 6

1.3 Audience 6

1.4 Definition for Architecture 7

1.5 Scope 7

2.Project Goals 8

2.1 Project scope and objectives 8

2.2 Architectural Challenges with current system 8

2.3 How the new Architecture addresses the challenges 8

3.Architectural Overview 10

3.1 Candidate Architecture 10

3.1.1Layers 10

3.1.1.1 Presentation Layer 11

3.1.1.2 Enterprise Services Layer 11

3.1.1.3 Data Services Layer 11

3.1.1.4 Data Layer 12

3.2 Rationale 12

3.2.1Rationale for using ReCAP Middleware database vs. ILS Transfer 12

3.2.2Rationale for using Kuali RICE vs. other commercial/open source frameworks 13

4.Architectural Views 14

4.1 Business Process Overview 14

4.2 Use-Case View 14

4.2.1Search Shared Collection Items 17

4.2.1.1 Architectural Significance 17

4.2.2Request Item 17

4.2.2.1 Architectural Significance 17

4.2.3Validate Request 17

4.2.3.1 Architectural Significance 18

4.2.4Place Hold on Item 18

4.2.4.1 Architectural Significance 18

4.2.5Recall Item 18

4.2.5.1 Architectural Significance 18

4.2.6Accession Item 18

4.2.6.1 Architectural Significance 19

4.2.7DeAccession Item 19

4.2.7.1 Architectural Significance 19

4.2.8Process Borrow Direct Request 19

4.2.8.1 Architectural Significance 19

4.2.9Re-file Item 19

4.2.9.1 Architectural Significance 19

4.2.10Check Item Availability 20

4.2.10.1 Architectural Significance 20

4.2.11Get Shared Collection Records 20

4.2.11.1 Architectural Significance 20

4.2.12Submit Collection Information 20

4.2.12.1 Architectural Significance 20

4.2.13Receive Collection Updates 20

4.2.13.1 Architectural Significance 21

4.3 Logical View 21

4.3.1Analysis Model 21

4.3.1.1 Overview 21

4.3.1.2 Analysis Packages 21

4.3.1.3 Key Analysis Classes 23

4.3.1.4 Boundary Classes 23

4.3.1.5 Control Classes 23

4.3.1.6 Entity Classes 24

4.3.2Design Model 25

4.3.2.1 Architecturally Significant Design Packages 25

4.3.3Frameworks, Patterns and Guidelines 27

4.3.3.1 Common Patterns 28

4.3.3.2 Model-View-Controller (MVC) Pattern 28

4.3.3.3 Façade Pattern 29

4.3.3.4 Business Delegate Pattern 29

4.3.3.5 Factory Pattern 30

4.3.3.6 Singleton Pattern 30

4.3.3.7 Chain of Responsibility Pattern 31

4.3.3.8 Value Object or Transfer Object Pattern 31

4.3.3.9 Service Locator 32

4.3.3.10 Data Access Object 33

4.3.3.11 Inversion of Control (Spring Framework) 34

4.4 Process View 35

4.5 Deployment View 37

4.5.1 Amazon Cloud Configuration (Production Instance) 38

4.5.2 Amazon Cloud Configuration (QA & Development Instance) 38

4.6 Implementation View 39

4.6.1Layers 39

4.6.2Error handling 41

4.7 Data View 45

5.Size and Performance 47

5.1 Scalability 47

5.2 Performance 48

6.Proposed Development Environment 49

6.1 Hardware 49

6.2 Software 49

7.Prototype/Proof-of-Concepts 51

8.Quality 51