Design and Implementation of an E-learning Platform Using N-Tier Architecture

—Any educational institution aimed at developing towards e-learning and creating a more interactive environment and use in all fields of governmental institutions. The Ministry of Higher Education and Scientific Research (MOHESR) of Iraq and some of the countries in the Middle East suffer from weak use of information technology in general and weak use of e-learning in particular. Therefore, Iraqi MOHESR is in dire need of an electronic educational system that solves most of the problems experienced by most educational institutions. In this paper, we will develop a strategic plan to build an e-learning platform that provides an interactive environment between teachers and students in Iraqi universities and offers many advantages to overcome some problems in the use of traditional old education. This work is related to the use of multi-layered architecture to build the e-learning platform (Standard design of e-learning platform for Iraqi MOHESR). The advantage of these layers is that each layer is created in the Asp.Net program using N-Tier architecture that has functions that are independent of the rest of the layers which are(user interface(UI), business Access Layer(BAL),Data Access Layer(DAL), Database(DB)). A particular object will not affect the rest of the layers or the performance of these layers.


Introduction
The process can be considered as People-Process-Product continuum or P3 models shown in Figure 1. For example, people involved in the e-learning development process can be instructional designers, graphics designers, project managers, and quality assurance managers. The product can be a well-designed elearning module and the process can be any criterion process like ADDIE [1][2][3]  The P3 model is a holistic approach to course development and helps in not only creating very high-quality e-learning content but also in the submission and maintenance of the course. This work is an attempt to improve the entire educational platform development process in a modular approach. We have developed various stages of the entire e-learning development process with regard to the people responsible for providing various e-learning and mixed education products.
Since this paper pertains to improving and developing electronic educational platforms affiliated to the Iraqi MOHESR, we conducted a comprehensive study and put the most important points of the improvement and development process, so the educational platform provides the environment to exchange information more easily and quickly using presentations for beginners (trainees).
The Iraqi MOHESR is always working to stimulate the development and creation of e-learning platforms for integration and use in Iraqi education systems, And move away from using the traditional education system which is no longer more appropriate in view of the current unique status of society gradually, and it wastes time, criticism and humanitarian endeavours. Current curricula used by schools in the exceptional opposite direction of how to learn and communicate outside of the classroom [4][5][6].
In general, the e-learning development process can be divided into two major phases: a) Development b) Delivery and maintenance where the appropriate content is developed in the first stage and delivered using a suitable medium in the second stage. Development is an antecedent activity, whereas maintenance is an ongoing activity. A typical e-learning process has planning, design, development, evaluation, delivery and maintenance stages. The e-learning development process is iterative in nature. The number of individuals involved in various stages of an e-learning project may differ, based on the size and scope of the project [7][8][9][10].
In this paper we will explain the details of using the class to create the structure of the education system that will contribute to the process of improving and developing educational platforms for the Iraqi MOHESR, where the project will be divided into three or more projects, each project is separate from the other and then we combine these projects to form one project that will be suitable for use with the client's server, especially on the Internet. The features in this technology allow more people to work on the same project. It also raises the level of validating the applications and data that are passed to the database, while defining the different roles and responsibilities involved in the process of developing e-learning.

Methodology
There are distinctive terms used to characterize instructive educational computer applications, for example, e-learning Systems, Learning Management Systems (LMS), Course Management System (CMS) or even Virtual Learning Environment (VLE).In these frameworks, students can get to courses' substance in various configurations (content, picture, sound), and additionally connect with educators as well as colleagues by means of message sheets, meetings, conversations, videomeetings or different sorts of specialized devices, These stages give an arrangement of configurable highlights, keeping in mind the final goal is to permit the production of online courses, pages of subjects, work meetings and learning groups [11].
In this paper, we relied on ADDIE methodology in developing and improving elearning platforms, which includes the following basic stages (Analysis, Design, Development, Implementation, and Evaluation). Where the design and distribution of a questionnaire among the various Iraqi universities, including the Iraqi University, Baghdad University, and the University of Technology to investigate the direction of e-learning with the most prominent basic problems proposed that may face the implementation of e-learning projects, and what the main benefits that we can get for the higher education sector.
Through analysis, the developer builds a complete visualization of the "gaps" between the results or activities required for the audience's learning tools and their current capabilities. The design phase documents specific learning destinations, assessment tools, activities and content as shown in Figure 2. Real learning materials are completed in the development phase. By implementation, these materials are either submitted or posted to the student group, the validity of the preparatory material is then evaluated [12][13][14].

E-Learning Platform Model
This model is relied on layered technology to create and set up an e-learning platforming-Tier architecture is an industry-standard engineering model, suitable for assisting client/server applications at the project level by solving problems such as scalability, security, adaptive fault tolerance, etc. [15,16].  Figure 3 shows the N-Tire layer structure.
The display layer/user interface is the one that interacts with the user, receives the requests and shows the results. It consists of web pages, HTML, Ajax, etc. After receiving the data and verifying it, the data passed to the next layer. Whereas Business Access Layer (BAL) or Business Logic Layer (BLL)is an intermediate layer between the first and third layers, whose task is to receive data from the display layer and verify that data. If the verification is true, it will pass it to the third layer,most of this layer is (a namespace), that is, it contains only the classes we call within the method of some of the third layer.
Data Access Layer(DAL)is the brain of the project, where it is directly linked to the database, through which the queries are sent to the database coming from the working layer, and receive the results from the database, then pass it to the display layer.The 3-Tier system basically works as illustrated in Figure 4.  [17,18]. It enables the teacher to make a course platform, where documents can be transferred in common formats such as JPEG, doc, ppt, pdf, and so on, without converting them to a web format, for instance, HTML."A Content Management System is a combination of techniques used to depict forms in a domain that requires a joint effort between various performers" [19,20].
The second type of contemporary e-learning stage has been used to design the elearning platform, which is Learning Management System (LMS), by utilizing LMS, an e-electronic course is conveyed through and happens inside an incorporated framework. Interestingly, engaging students with apparatuses that they can use for various purposes and independently supports self-administered and issue-based exercises.
Moreover, each student will have a similar lesson on the web. It means that the systems will always provide students with references within the educational platform as shown in Figure 5. This speaks to a variation option to discover resources by searching online or computerized libraries over the Internet. Everyone who uses a similar web index has similar login information to the materials [16].

E-Learning Platform Database Objects
Learning objects are basically content units that are communicated by individuals through an online platform. We assume that, with regard to such a stage, students are the "customers" who consume the material, and that the authors are the individuals who provide educational things, in relation to the content, preparation, and learning of the offerings must come in reusable packages that can be independently created from a transport medium Gradually obtained [21,22], as shown in Figure 6. As noted, this diagram is different from the previous scheme in Figure 2, in this diagram a middle layer has been added between the user interface layer and data access layer. Also, the user interface layer consists of two parts, the data pane, and the command pane. When data, commands or both are sent to the data access layer, the request is passed to the business logic layer. This layer has been used or created to be intermediate between the two layers as well as validation of the commands passed to the data access layer, Data that is sent to the data access layer does not pass through the business logic layer.
In addition, the data access layer consists of two levels (Low DAL, High DAL), Low DAL communicates directly with the database, while High DAL communicates with Low DAL And then into the database. The purpose of the partitioning or working layer is to access the data level in this scheme because we used the ADO.net technique in order to deal with the database. ADO.net needs a class and a function separated from the rest of the classes and functions of the data access layer. High DAL Consists of two blocks (Get/Set Data).Its function is to send and fetch data, Check Commands, and Specify Stored Procedure.
In order to build a database for the educational platform, the structure of this database must be well designed and contains many objects and need to make relationships between the tables and choosing the correct data type of the listed fields. Objects consist of two types of tables and stored procedures, each of these types will be used to build the database for the electronic learning platform. The educational platform is mainly focused on the courses. These courses contain videos and text files; therefore, we need to create a special table for text files and videos. This course may be presented on specific times or days, for example, every week or every month, hence, we need to design a special table for lectures and connect them with the course table using one to many relationships. As a security aspect of the educational platform, we organize users, so we need to create a table for the registrants to the platform, which is the user table. The users who register on the platform are classified into three categories (teachers, students, guests), and here we need to create a table of user permissions that will connect this table with the users' table using one to many relationships. Moreover, a table named (course join) has been created. In addition, a user profile is created by creating a table named (Profile) to identify each user in this platform.
As part of the utilization and organization of course registering process, and since this platform is affiliated to a university and this university contains multiple colleges ,a special table has been created for each college, also separate tables have been created for each department in each college. As this platform is educational, so there will be a lot of courses added to this platform. A special table has been created to search for a specific course in order to organize and arrange the educational platform. Also, secondary special-purpose tables have been created such as help tables, articles table, etc. The stored procedure is a function inside the SQL server. The advantages of using stored procedure are ease of maintenance, testing capability, and its speed are higher than normal command, and also provides high security to the database. The listing below specifics why stored procedures have obtained such a going strong following between application developers and even database administrators for that matter: Maintainability, Testing, isolation of business rules, speed/optimization, and Security [23,24]. As illustrated in Figure 7.

Implementation E-learning Platform
To build an e-learning platform, we used a multi-layer architecture and built a planner and developed it to create a more flexible, user-friendly interactive platform. The basic function of using multiple N-Tier architectures is to design three projects in one integrated project. These three projects are isolated from each other. It is possible to use any programing language. These projects are (Presentation Layer, Business Logic Layer, Data Access Layer).
In the Presentation Layer or User Interface layer, the design of pages such as (ASP.net, java scripts, CSS, etc.) has been done. In Business Logic Layer we created the class library (DLL), so it is possible to create a web service inside this layer.
In Data Access Layer(DAL)we also created the class library (DLL).It is implemented as a separate class library project, where all the basic data source code is located, such as creating a database connection and issuing database commands such as (SELECT-INSERT-UPDATE-DELETE). Figure 8 shows the mechanism of adding courses to the educational platform by clicking on the new course option and then showing a new window which consists of (select field) through which we choose the name of the field, while (course start) specifies the starting date of the course, (course finish) specifies the course ending date. The next field is (course title) through which we can type the course title and a brief introduction to the course in the (about course) typing box. After completion, we click on the new course command. After adding a new course, check the enrolments the course and show the courses by going to (your course) tab. This page shows all the courses provided by the teacher.

Results and Discussions
The results of the e-learning platform assessment questionnaire Informatics Institute for Postgraduate Studies (IIPS)and the Iraqi Commission for Computer and Informatics ICCI platform, has been implemented by teachers and students. The form of the e-learning platform assessment questionnaire IIPS and ICCI platform has been written as shown in Figure 10. The total number of teachers is 13 among Ph.D. and M.Sc. holders in various specializations, and the total number of students is 10 also in various specializations, as shown in Figure 11.  As noted, the average of responses was as follows: 1. The program is easy to use in general. 2. Includes the accuracy of the contents and free from linguistic and grammatical errors. 3. Easy to upload and download materials through the platform.
For the statistical chart of the teachers, the answers were as follows: 4. This platform is free of grammatical and linguistic errors. 5. It provides an interactive environment between the trainer and the trainee. 6. It provides different levels of education. 7. Easy to upload and download materials without any help. 8. Ease to navigate through the pages.
For materials submitted through a specific time by allocating a period of time to start and end this course.as shown in Figure12.

Conclusion
This paper presents a comprehensive review of e-learning and the development of the electronic learning platform system using the three-layer architecture, the presentation layer, the business logic layer, and the data access layer. The theoretical parts of the courses are provided by a standard LMS, enabling: 1. Account management 2. Security protection  Detailed approaches to this architecture are discussed and analyzed in detail. A more interactive and user-friendly learning platform has been developed to promote education and encourage its use in all educational institutions.