Download 1. High level Architecture

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Concurrency control wikipedia , lookup

Microsoft Access wikipedia , lookup

Functional Database Model wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Database wikipedia , lookup

Team Foundation Server wikipedia , lookup

Relational model wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Database model wikipedia , lookup

Clusterpoint wikipedia , lookup

Transcript
High Level Architecture
RIT Online Learning Peer Evaluation
Version 1.2
Prepared by:
Team Green Apple
11 May 2006
1
Revision History
Name
Date
Reason For Changes
Version
Amber Bahl
Amber Bahl
Amber Bahl
01/17/05
02/05/06
02/08/06
Initial Creation
Updated Datamodel
Updated Datamodel, Added Package Diagram
and High-level System Diagram
1.0
1.1
1.2
2
1. High level Architecture
Note: This document is out of date, and has been superceded by
the Architectural Overview document in the Final Deliverable
directory. In any cases where these two documents contradict,
the Architectural Overview should be considered authoritative.
See also the updated Database Sechema diagram for an updated
data model reference.
1.1. Conceptual Architecture
The following diagram illustrates the high-level conceptual architecture of the Peer
Evaluation System, separated into four layers as broken down below:
1.
2.
3.
4.
Web Clients (Web-Browser)
Web Server (IIS) (Presentation layer)
Application Server (Business Login & ADO.NET)
Database Server (MS-SQL)
The presentation layer of the application (IIS and Web Forms) is responsible for getting
user input, at which point the user request is transferred to the Application layer. The
application layer is responsible for implementing the business logic and accessing the
data stored in the database through ADO.NET.
The individual client makes a request of the web server (IIS), at which point the web
server forwards the request to the application layer. The application layer then
authenticates the client by matching its credentials with the database (MS-SQL). Once
the authentication process is complete, the client is provided access to the application
layer through their web browser. For performance and security reasons, data stored to the
database is accessed through stored procedures for the majority of requests.
3
Client #1
(IE, Firefox)
Web Server
(IIS 5.1)
Client #2
(IE, Firefox)
&
Presentation Layer
ASP.NET Web Forms
etc.
Application
Layer
(Business Logic)
.NET classes
ADO.NET
MS SQL
(Relational
DB)
&
ADO.NET
(For database
connectivity)
Client #3
(IE, Firefox)
Figure 1 – Conceptual Architecture
4
1.2
Data Model
Template
PK
id
questions
PK
id
FK1,FK2
question_text
answer_type
order
parent_id
name
owner_id
shared
Response
PK,FK1
PK
StudentID
id
Evaluation
PK
id
start_date
end_date
group_type
Group
PK
id
FK1
GroupName
evaluation_id
Student
HasStudents
PK,FK1
PK,FK2
GroupID
StudentID
PK
ToStudentID
FromStudentID
QuestionID
Answer
GroupID
Comment
id
LastName
FirstName
dce_id
Figure 2 - Database ER Diagram
5
1.3
System Design
1.3.1 High Level System Design
Distributed Client
Distributed Client
Distributed Client
RIT Online Learning Server
MyCourses
RIT Online Learning
RIT Online Servers
RIT Online Learning Server
Peer Evaluation System
MS-SQL
Server
RIT Online Servers
Figure 3 - System Diagram
6
1.3.2 Package Diagram
View
aspx Pages
Evaluation Reporting
MyCourses
Business Login
Web Services Consumer
User Authentication
Entity Helpers
Data Objects
Data Access Layer
MS-SQL Server
Figure 4 - Package Diagram
7
1.3.3 System Diagram
myCourses
myCourses
Widgets
Peer Evaluation System
UI
ASP.NET
WebForms etc.
RSS Feeds
LDAP Authentication
Authentication
Application Layer
(Business Logic)
.NET classes (Adapters)
&
ADO.NET
(For database connectivity)
ADO.NET
MS-SQL
Figure 5 – System Diagram
8
1.4
Key Design Issues and Decisions
1.4.1 Net Framework with C#, ASP.NET, IIS
MyCourses is implemented using .NET technologies therefore in order to make our
application a part of MyCourses it would be easiest to implement the Peer Evaluation
System.NET. Moreover, .NET provides a more simplistic and flexible programming
model as suppose to J2EE.
1.4.2 Data Adapters within C# .NET Framework
Through the utilization of data adapters built in to the .NET Framework for C#, the team
was able to create a standard adapter off of which database access and manipulation is
based. Through extending the core adapter, much of the tedious underlying code
associated with integrating SQL queries to C# development is performed once, and there
is no need to revisit these areas as more complicated queries are structured. In addition to
simplifying SQL access, these adapters enhance maintainability aspects as the source
code need not know explicit detail of the underlying DBMS. If the database were to be
ported to another DBMS, only the adapters would need rework, whereas the C# source
code would remain unmolested.
9