Design of E-Learning System Using Service Oriented Architecture (SOA)
Design of E-Learning System Using Service Oriented Architecture (SOA)
BONAFIDE CERTIFICATE
SIGNATURE
Prof. Subhashis Majumder
SIGNATURE
Prof. Purnendu Das
PROJECT GUIDE
Kolkata
Kolkata
SIGNATURE
EXAMINER
ACKNOWLEDGEMENT
We would take this opportunity to thank Prof. B.B.Paira, Director of Heritage
Institute of Technology for allowing us to form a group of three people and for
providing us with all the necessary facilities to make our project work and of
worth.
We will be thankful to Prof. Purnendu Das, our project mentor for constantly
supporting and guiding us for giving us invaluable insights. His guidance and
his words of encouragement motivated us to achieve our goal and impetus to
excel.
We thank Prof. Subhashis Majumder,Head of the Department of Computer
Science & Engineering and our teachers, faculty members and laboratory
assistants at the Heritage Institute of Technology for paying a pivotal and
decisive role during the development of the project. Last but not the least we
thank all friends for their cooperation and encouragement that they have
bestowed on us.
(SHREYA SEN)
(SHUBHADEEP PAL)
(DIPTARKA CHAKRABORTY)
ABSTRACT
Our e-Learning system is implemented using SOA uses services--- login service,
question service, scrap service, upload service, remove service, exam service,
course manage service, exam question service. The system provides
administrative services, faculty services & student services. The system
provides numerous numbers of features for students as well as for the faculty.
Along with scrap sending feature, the system also provides Chat feature for
communication between students & faculty.
1|P ag e
Contents
topic
number
page
Introduction
System Requirements
About SOA
12
13
15
System Implementation
19
23
Screen Shots
30
43
Bibliography
46
2|P ag e
INTRODUCTION
3|P ag e
SYSTEM REQUIREMENTS
SPECIFICATIONS
Windows/Linux
GlassFish-3.0.1
PROJECT CATEGORY
The category of this project is WEB APPLICATION
4|P ag e
ABOUT SOA
Service-oriented architecture (SOA) is a set of
design principles used during the phases of system
development & integration in computing. A
system based on SOA will package functionality as
a suite of interoperable services that can be used
within multiple, separate systems from several
business domains.
It provides a way for consumer of services, such as
web based application, to be aware of several SOA
based services. For example, separate disparate
departments within an organization may develop
& deploy SOA services in different implementation
languages; XML being used as interfacing services
(though this may not be required).
Service-orientation requires loose coupling of
services with the operating system, and other
technologies that underlie the applications.
SOA separates functions into distinct units or services, which developers make
accessible over a network in order to allow users to combine and reuse them
in the production of applications. These services and their corresponding
consumers communicate with each other by passing data in a well-defined,
shared format, or by coordinating an activity between two or more services.
One can consider SOA a continuum, as opposed to distributed
computing or modular programming.
5|P ag e
SOA
OVERVIEW
6|P ag e
SOA depends on data and services that are described by metadata that should
meet the following two criteria:
The metadata should come in a form that software systems can use to
configure dynamically by discovery and incorporation of defined
services, and also to maintain coherence and integrity. For example,
metadata could be used by other applications, like a catalogue, to
perform auto discovery of services without modifying the functional
contract of a service.
SOA services feature loose coupling, in contrast to the functions that a linker
binds together to form an executable, to a dynamically linked library or to an
assembly. SOA services also run in "safe" wrappers (such as Java or .NET) and
in other programming languages that manage memory allocation and
reclamation, allow ad hoc and late binding, and provide some degree of
indeterminate data typing.
8|P ag e
9|P ag e
WEB SERVICES
APPROACH
Service consumer
The service consumer or web service client locates entries in the
broker registry using various find operations and then binds to the
service provider in order to invoke one of its web services.
Whichever service the service-consumers need, they have to take
it into the brokers, then bind it with respective service and then
use it. They can access multiple services if the service provides
multiple services.
11 | P a g e
DEFINITION OF THE
SYSTEM
The E-Learning system which we have built acts as an interactive media
between the teachers and the students. The system acts as a forum where
transfer of knowledge takes place. The E-Learning system provides the
following features:
Any user can create their own profile by registering & thereby logging
into the system.
A user can upload their profile picture; change/update various features
associated with their profile.
Various courses are provided in the system.
Any course being provided can be activated, deactivated or deleted from
the E-Learning system.
Any file of any of the specified courses/subjects can be uploaded or
downloaded in the system.
Students can post their queries. Teachers could thereby answer their
questions and post them into the portal.
The system provides online-exam features. The exam is multiple choice
questions type, each question associated with 4 options.
Online exam is associated with evaluation procedure.
A user can also view the entire set of questions available for a particular
subject.
Scrap writing facility. Each user is provided with a scrapbook; one can
write scrap to another user.
Online CHAT option is also present. Here student can interact with other
student or teachers (whoever is online) and vice versa.
Student can make many friends in the system, by sending friend
requests & thereby accepting or rejecting them.
System is associated with a feedback facility.
There is also a searching facility present.
12 | P a g e
13 | P a g e
TEACHER:
They can create and update their own profile.
Teacher can post exam questions.
Teacher posts the solution to the questions/queries provide by the
student.
Teacher can upload files that may required by the students.
Teacher can also delete files created by his own if he feels those are
not appropriate.
Teacher can use the chat service to communicate with the students
or/and the other teachers.
14 | P a g e
Question service
The service provides two operations namely submitQuestion and
answerQuestion. submitQuestion allows the student to post their
queries about any subject or course which is provided by our E-Learning
system. Each question post is associated with the date of questioning
and the name of the student raising the question. Similarly, the second
operation answerQuestion allows any teacher or any other student
logged into the system to answer the question. Each question can be
given numerous answers. Answers are also associated with the date of
the answering and the user who gave it.
This is the main service provided by our E-Learning system. The system
provides various courses of different subjects (e.g. Introduction to
computing).The courses are managed, manipulated according to the
operations provided by this system. There are three operations namely
courseAdd , courseActivation and courseDelete. courseAdd allows
addition of any subject along with its details into the course table of the
database. Any student can opt for only those courses which are present
in our system. courseActivation feature can be decided according to the
datatype active. Only those courses whose active value is set are
16 | P a g e
The system believes in the mutual interaction among the students and the
faculty members for knowledge transfer. Thus, the system provides the
facility to make new friends in the site by sending friend requests, accepting
or rejecting them, sending scraps to the friends in your account, by
uploading or downloading files in the system etc. The following three
services provide these features (socializing features):-
Scrap service
This service provides the feature of sending scraps. The operation called
postScrap. Each scarp is associated with the name of the sender, name
of the receiver and the date of post of the scrap. This is similar to the
concept of scrapbook provided by many of the todays social networking
sites.
Upload service
Each of the user can upload various recourses into the site. They can
upload various files of the courses specifies from their computer; so that
the other users can respectively download them in their own computer.
17 | P a g e
This forms the backbone of the E-Learning system (the administrator has
the authority to disable the file access if he feels like).As already
mentioned ach of the user has a profile and so he/she can upload any
profile picture of his choice.
Remove service
This service is exactly opposite to the service provided by the upload
service. The files or the photo uploaded by the user can be removed. The
webmethods created for this service are remove File and removeImage.
Photo can be removed by resetting the datatype pfield of the photo
table present in the database. For the file removal, entire file is deleted
from the upload table.
This is the online exam service, where each paper is associated with 20
multiple choice questions (MCQs).Timer is associated with each paper. The
answers can be manually submitted or it implicitly gets submitted once the
timer is over. The evaluation of the answers provided by the student is done
and thereby an analysis is provided by which the student can judge his/her
performance. The analysis contains the list of total number of attempted
questions, number of questions answered correctly, number of questions
answered incorrectly, total marks obtained. The two operations for this service
are provideExamQuestions and evaluator. The first webmethod provides
the set of questions. The latter webmethod returns the number of questions
correctly answered by the students.
Thus the above mentioned services are used to implement our E-Learning
system. The WebPages are designed in JSP.
18 | P a g e
SYSTEM
IMPLEMENTATION
Data type
varchar(20)
varchar(20)
varchar(20)
integer
integer
bit
Allowed null
Keys
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Primary Key
Allowed null
Not Null
Not Null
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Keys
Primary Key
Data type
varchar(20)
char(50)
longvarchar
longvarchar
longvarchar
longvarchar
longvarchar
longvarchar
longvarchar
Data type
varchar(20)
char(50)
longvarchar
longvarchar
longvarchar
longvarchar
longvarchar
longvarchar
longvarchar
Allowed null
Not Null
Not Null
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Keys
Primary Key
Data type
varchar(20)
varchar(20)
integer
Allowed null
Not Null
Not Null
Not Null
Keys
Allowed null
Not Null
Not Null
Not Null
Not Null
Keys
Data type
varchar(20)
varchar(20)
longvarchar
date
Data type
integer
longvarchar
varchar(20)
date
Allowed null
Not Null
Not Null
Not Null
Not Null
Keys
Primary Key
Allowed null
Not Null
Not Null
Not Null
Not Null
Keys
20 | P a g e
Data type
integer
longvarchar
varchar(20)
date
Data type
integer
longvarchar
varchar(20)
Allowed null
Not Null
Not Null
Not Null
Keys
Primary Key
Data type
varchar(20)
bit
Allowed null
Not Null
Not Null
keys
Primary Key
Data type
char
longvarchar
Allowed null
Not Null
Not Null
Not Null
Keys
Allowed null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Keys
Primary
21 | P a g e
Data type
integer
varchar(20)
integer
integer
integer
integer
varchar(20)
char
Integer
Data type
integer
longvarchar
Integer
Allowed null
Not Null
Not Null
Not Null
Keys
Primary
Allowed null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Keys
Primary
Allowed null
Not Null
Not Null
Not Null
Keys
Data type
varchar(20)
char
float
integer
integer
date
22 | P a g e
Data type
Varchar(20)
longvarchar
date
Manage user
Manage course
Student
Add friend
Send scrap
Give exam
User
Submit questions
File download
Teacher
File upload
Provide answers
Manage resources
Remove file
Search user
Provide question set
23 | P a g e
Administrator
E-Learning System
User
Authentication
New User
Registration
Administrator
Login
View user
profiles
Add new
Users
Update
Profile
24 | P a g e
Teacher Login
Manage
users
Manage
resources
View &
Post scraps
Manage
Courses
Send Friend
Request
Post
questions
Update
profile
Submit
answers
Student Login
Answer
queries
Give exam
Upload,
Download
files
Provide
question
Set
View
question set
Download
files
dfd
Administrator
level - 0
REQUEST
RESPONSE
RESPONSE
E-Learning
System
REQUEST
RESPONSE
Teacher
REQUEST
25 | P a g e
Student
DFD LEVEL -1
SIGN-UP
DATA FOR
PROFILE
REQUEST TO
STORE
LOGIN
USERNAME &
PASSWORD
REQUEST
QUERY DATA
HOME PAGE
26 | P a g e
RESPONSE
THE RESULT
ADMINISTRATOR
username
Profile page
Subject name
filename
View user
profile
Manage
course
Request
for user
data
User data
Update
request
Manage
uploaded file
Request for
upload/remove
File location
filename
Datastore
Accept user
request
Update
request
Manage user
Add User
Download file
file
Update
request
27 | P a g e
Request for
location
username
Teacher
Filename
username
Request for
user data
Profile page
View user
profile
Request for
upload &
remove
Request for
file location
File download
file
File location
User data
Request to
store
Datastore
Request for
update
Request to
store
Data to
change
Answer
question
Update user
profile
answer
28 | P a g e
filename
File
manipulation
Provide
questions list
Question Set
(MCQ)
Student
filename
username
Profile page
Scrap & to
whom
file
Scrap
Post
View user
profile
Download
file
Request for
user data
Request to
store
Request for
file location
filelocation
Request for
question set
User data
Data to
change
Update user
profile
Request to
store
submit /post
question
question
answer
29 | P a g e
question set
Exam requ
Datastore
Request for
update
View
question
set
Update
request
Answer
question
Exam
questions
Give
exam
Manage
friend
Friend request
Screenshots
Home Page
30 | P a g e
Sign Up Page
Student Sign Up
31 | P a g e
Student Sign Up
32 | P a g e
33 | P a g e
Manage Course by
Administrator
34 | P a g e
Manage Resources by
Administrator
35 | P a g e
36 | P a g e
Student Profile
37 | P a g e
Answer Queries
38 | P a g e
Online Examination
39 | P a g e
View Marks
40 | P a g e
Teacher Profile
41 | P a g e
42 | P a g e
While designing this project, all the required services are created and
then implemented in the main E-Learning project. But in reality, while a
project is designed using SOA then all the required services are provided
by service providers and the company designing the project uses those
services according to some kind of deals with those service providers.
There is no service directory which contains all available services, in this
project and it is assumed that all the available services are known in
advance.
Service securities are not implemented and thats why anybody can use
all services, which is not the case in real SOA implementation.
43 | P a g e
A dealing technique (online payment etc.) i.e., how a company can deal
with the service providers can be designed and then the designed
services can be used by service providers.
Different security measures can be implemented to secure use of
services.
By accessing many more services provided by different service providers,
this E-Learning project can be enriched by adding more features.
44 | P a g e
Conclusion
Implementing the services for the building of the system provides a cleaner
approach. Each service is associated with one or more functions and the
WebPages utilizes these function. The services allows the most important
aspect of coding i.e. Reuse.
For a developing country like India, this online learning process is a new aspect.
India is now progressing towards E-Governance and education is one of those
important fields that will come under E-Governance. Proper steps like this
ensure a brighter future.
45 | P a g e
Bibliography
46 | P a g e