Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Concurrency control wikipedia , lookup
Microsoft Access wikipedia , lookup
Functional Database Model wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Team Foundation Server wikipedia , lookup
Relational model wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
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