Final Report

landyaddaInternet και Εφαρμογές Web

10 Νοε 2013 (πριν από 3 χρόνια και 11 μήνες)

126 εμφανίσεις


1

1.1

Abstract


Our Interactive distance learning system collectively called “WebAthenae” is
essentially a generalized online classroom application, which can be customized through
database front
-
ends to suit the need of the user. This application, once l
icensed to a user
can be hosted on a WebAthenae
-
owned server or installed on a server platform of their
choice.

Two prototypes were built simultaneously in hopes to test cross
-
compatibility
among the video component of the two prototypes. One prototype
was built around a
readily available open source application called Snitz’s Forum 2000, which uses ASP
(Active Server Pages) technology. Cold Fusion Server was used to handle the video
subsystem. The database server used was also a readily available ope
n
-
source
application called, MySQL.

The other prototype was built exclusively using Cold Fusion Studio and its CFML
(Cold Fusion Hypertext Markup) language, with some in
-
line JavaScript. Both
prototypes have similar features to WebCT, but are uniquely dif
ferent because
WebAthenae has been developed to allow video and audio streaming. This addition will
make distance
-
learning classrooms a reality since our team has always felt that online
courses always lacks the necessary interaction that a typical classr
oom environment
provides. At the present time, only video streaming is possible due to software
limitations beyond our control. Within the next week, our team will be utilizing and
implementing software which enables live audio and video
-
streaming.

Our

main goal was to hide as much as the backend application from the end user
as possible in order to create an easy to implement and affordable online classroom
environment solution for a small to mid
-
size class.

Core features of the application include an
administration system, faculty/student
pages, online forums and the video/audio streaming page.






2

1.2

Acknowledgements


We, as a group, would like to extend our most sincere thanks to our advisor

Professor Hong Man and to the course coordinator Professo
r Fred Bruno for all of the

help and assistance they have provided to our efforts and during times of turmoil and
disarray.



























3

2.1

Introduction


2.1.1

Naming Conventions

Throughout this document, the web application designed will be

referred to as

WebAthenae
. Visitors to WebAthenae will be identified as

users
. The individual(s)
responsible for customizing and maintaining WebAthenae will be referred to as the

administrato
r
. The individual or institution wishing to establish an online

presence

through our software will be referred to as the

purchaser

of WebAthenae. The purchaser

will either employ the administrator or could hire us to act as the administrators.


2.1.2

WebAthenae Description



WebAthenae is a piece of software written
in ASP (Active Server Pages),
ColdFusion’s CFML (Cold Fusion Markup Language) and some JavaScript that provides
a web
-
based solution for small to medium size classes (up to 30 users). All of
WebAthenae’s features could also be used in a large classroom en
vironment with the
exception of the video subsystem.


When developing WebAthenae, our team knew that for WebAthenae to be a
powerful tool that promotes distance
-
learning, we needed to maintain a similar degree of
interactivity among users that a typical cl
assroom environment provides. In order to
maintain this interaction, WebAthenae incorporates a video/audio streaming page along
with online forums/bulletin boards. These two subsystems will be discussed in more
detail later.









4

Other features of WebA
thenae are defined below:





Administration Tools

o

Add/Edit/Delete Users

o

Add/Edit/Delete Courses from Web Server

o

Track Users




Faculty Pages

o

Post HW files/solutions, reference materials and notes

o

Posts Announcements that only appear during certain dates

o

Email

o

Apply for Course to Appear on WebAthenae

o

Access Calendar Day Planner

o

Run Quick Polls




Student Pages

o

View/Download HW files/solutions, reference materials and notes

o

View Announcements

o

Email

o

Private Message

o

Access Calendar Day Planner


WebAthenae has been d
esigned so that administrators lacking a technical
background would be able to set up and maintain it without difficulty.
WebAthenae’s
design is intuitive and allows for easy navigation between pages.









5

2.1.3

Key Advantages of WebAthenae


While simi
lar online classroom software packages have been developed,
WebAthenae has several major advantages over previous designs. These advantages
make WebAthenae the logical choice over competing software packages such as WebCT.


WebAthenae is designed with CFML

and ASP. This allows our software to run
without modification on any major platform including UNIX, Windows or even Solaris.
Using ASP and CFML makes WebAthenae compatible with all the major browsers such
as Netscape, Microsoft Internet Explorer and AOL
. The only requirement is that Java
script and cookies are enabled within the browser.


Another key advantage that WebAthenae has over its competitors is it allows
video/audio streaming using WebCam 6.0. This software is under $40.00 and has all the
feat
ures required for distance learning. Currently WebCampus at Stevens uses satellite
technology, which is expensive and not reliable. WebAthenae was designed to run on
any network medium whether Ethernet, Fiber
-
Optic, Cable, DSL and even ISDN; which
reduce
s costs and installation times.


Lastly, WebAthenae allows for remote administration using WinVNC and
Synchronization. Both of these features will be described in detail later in the report.


2.1.4

Deployment of WebAthenae


WebAthenae is designed so tha
t it can be hosted on WebAthenae owned servers,

providing the purchaser with server space, bandwidth, and support. This option is

designed for a small institution that doesn’t wish to purchase and maintain a server.

An annual fee will be charged for this s
ervice. For the larger institution, WebAthenae can
be licensed for use on the institution’s servers. This option allows the purchaser to host
WebAthenae using existing servers and bandwidth, which they may own. A one time
licensing fee will be charged for
this option.




6

2.2



Implemented Prototype


2.2.1

Overview of System Diagram


Figure A
-
1

shows the prototype design perceived from the local network point of
view, which assumes a number of possibilities for system setup and operation. High
speeds of internet

connections offered by ISPs allow for the variances in the system
setup. This fact gives rise to the idea of system users being located not only on the same
local network where WebAthenae’s services are setup and running, but also at any
location where th
ere exists a sufficient connection featuring high speed access to the
World Wide Web. Moreover, same is true for the location of the lecturer or instructor.
Even though the preferred location of the instructor is somewhere on the on the same
local network
where the prototype servers are set up, it is not limited to it because of the
readily available high speed internet access connection sufficient to meet the needs of the
task.


2.2.2

System Layout and Authentication Overview


Figure A
-
2
explains WebAthenae’s

system and authentication layout. In the
heart of our project prototype design we assume that a server performs all tasks essential
to the operation of the prototype. Besides obvious operations such as streaming video
content to its users, hosting inform
ation contained in the web pages and forum pages, the
server also identifies and authenticates users that are trying to access the services
provided by the server. Design of the prototype requires complete authentication of users
for each of the data trans
missions and acquisition forms that are inherent to the project
parts.

To completely understand the form of the design it should be noted once again
that there are three parts to the prototype design. The first part of the design is the
video/audio
-
stream
ing page, which is the heart of the prototype. Since the views of the
video streaming page for students and lecturer differ in functionality, the server should

7

have a means of differentiating the type of content it sends. Therefore authentication is
necess
ary to provide a means for the server to differentiate between the different types of
users accessing it.

The second part of the design is the forum whose content is hosted on the server.
Users are authenticated by the server. In order to become a user, th
ey first must complete
a simple registration process that grants them rights to read posted discussions, post new
topics for discussions and reply to the discussions. However, those users that have a
status of lecturers in the video streaming part of the p
roject receive rights of power users
within the forum. A power user on this system has some but not all of the rights that
administrators do. For example, a power user may have complete control only of his/her
private forum, but the administrators have co
ntrol over all forums.

The third part of the prototype which is the actually the second prototype
developed in CFML acts as the “Student Classroom/Information Center”. This prototype
also has its own forum built
-
in but only allows users to access forums sp
ecific to courses
they are enrolled in. No one controls access to these forums it is all determined by the
student’s course
-
enrollment information in the database. Users therefore have to be in
advance authenticated by the server to be able to log in to t
he system. In this case, the
expression “log in to the system” means that each individual student once authenticated
by the system to be a valid user of the system, has access only to the information hosted
and tied only to his/her particular user account.

At the same time lecturers have the same
set of rules, but with the exception that they have power
-
user control over the students in
their classes. This means that the portion of the student account information hosted on
the server, related to one partic
ular class could be fully administered by the lecturer of
that class.

These access schemes and permission practices necessitate the requirement of
three different user related information databases on the server.







8

2.2.3 Cold Fusion Application Process


Figure A
-
3
explains the Cold Fusion Application Process. This process is not
exclusive to just ColdFusion, it can also be extended to ASP. The process can be broken
down into 5 main steps.


Step 1
: The user clicks a ‘submit’ button on a form or hypert
ext link on a page,
which causes the user’s web browser to send a HTTP request to the web server
via the Internet or intranet.


Step 2:

The web server passes the page to the ColdFusion server through an API
(Application Programmers Interface).


Step 3:

C
oldFusion reads the data and processes the page’s CFML. Based on the
CFML, the server acts with the relevant database.


Step 4:

ColdFusion server dynamically generates an HTML web page for return
to the web server.



Step 5:


HTML page is returned to the

user’s browser such by the web server.



It should be noted that non
-
ColdFusion code is left intact. ColdFusion is therefore
compatible with any and all technologies including Java, Javascript, ActiveX, and
dHTML.


For exchanging data between servers and

between servers and browsers,
ColdFusion uses a technology called Web Distributed Data Exchange (WDDX).
Developed by Allaire, WDDX automatically translates data in and out of XML for easy
transference between systems.





9

2.2.4

The Art of Video Capturing


Video

capturing is done at both student side and instructor side.


Instructor side


A high
-
resolution camera is used to capture the live video of the professor’s
lecture. The instructor needs a sophisticated camera because his streaming video/audio is
on high
demand and needs to maintain the quality of video. The camera can be connected
to instructor’s pc using any reliable port of computer like USB port, COM port or he can
also use a video capture card, depending on his budget. The streaming video software is
available for download from many websites and can be easily downloaded. Once the
camera and software is installed, the software will detect the camera. The Instructor then
logs into WebAthenae with the instructor id given by administrator of website while
the
video software (camerades) is running in the background. Once instructor is logged in, he
or she can see his or her own live video on screen. This video feed goes to sever and from
the to the instructor stream of the student page. The instructor can al
so view the live
video of all students one at time. He selects the name of student he wishes and that
person’s video stream appears.



Student side


Students capture their live video using a camera with reasonable resolution like a
Logitech WebCam. They c
onnect their camera to a PC using a USB port. They can also
download streaming video/software software from the website once they register for the
course. Once the camera and software is installed, the student can check if his camera is
working correctly.
The students have to keep their streaming video software running in
the background. They log into WebAthenae and go to video conferencing page. At this
page they can see the live streaming video of instructor. The streaming videos of students
are fed into
server.





10

2.3

Major System Components & Their Functions

2.3.1

Video Sub
-
System


How the video pages works

On the navigational toolbar of WebAthenae, there are links for video
conferencing. This link takes the user to a login page where students and instructor

log in.
According to the user profile, it either goes to the instructor or student page. On the
instructor page, the instructor can upload any documents or files he wants the student to
have access to. At this page instructor can click on user to see his
or her video.

On the student page, the student can see the live streaming video of the instructor
only. They can also access the file or documents posted by the professor. Students can
neither upload nor change any files. In addition, they can’t see any ot
her students. If they
want to share any information with students then they can use the bulletin board.

Once the instructor or student logs out of these video pages, they can’t use the
back button on the browser to gain access. They have login again in or
der to gain access.


Importance of streaming video for net classroom


The present technology of distance learning at many colleges is only chatting
based. This does not provide any guarantee that the student is attending an online class.
By having a system

with live streaming video/audio, it helps the instructor to keep
attendance records of each student. Also streaming video/audio brings life to online
class. Students and instructor can interact effectively.










11

2.3.2

Bulletin Board (Forums)



Often ref
erred to simply as a BBS, a computer bulletin board system is the
computerized equivalent to the bulletin boards commonly found in the workplace,
schools and the like. Instead of hanging on a wall covered with notes pinned up with
thumbtacks, computer bull
etin boards exist inside the memory of a computer system.
Rather than walking up to a bulletin board and reading notes other people have left or
sticking up notes of his or her own, the BBS user connects his or her personal computer
to the "host" computer,

usually via a telephone line. Once connected to the host
computer, a user can read the notes (also referred to as messages or posts) of other users
or type in his or her own messages to be read by other users. These Computer Bulletin
Boards are referred t
o as "systems" because they often provide additional services or
several separate "areas" for messages related to different topics.



Bulletin board systems can be classified in a number of ways. Some are
commercial BBSs run for profit, and some provi
de free access. One way to classify them
is by the number of users the BBS can support simultaneously. The majority of BBSs run
by hobbyists are single
-
user boards, which means one person can only use them at a time.
But some bulletin boards are able to su
pport many users at the same time, often hundreds
of users at once. Another way to differentiate between BBSs is by means of access: some
are available only by direct dial; other BBSs are available through a network.


There are a number of different thing
s bulletin board systems allow one to do. As
their name implies, their primary function is as a place to post messages and read
messages posted by others. However, like any communications forum, this can raise
some serious First Amendment concerns over so
me of the potential uses, such as
availability of pornographic material, defamation, etc.


Another use for bulletin board systems is the sending of electronic mail, or E
-
Mail, as it is commonly called. Electronic mail is a message that is sent from one
co
mputer user to another, occurring either between users on the same computer, or
between users on different computers connected together in a network. Electronic mail is

12

different from regular mail in three important ways. First, E
-
mail is provided by priva
te
parties and, thus, is not subject to government control under the postal laws. However, it
is under the control of the System Operator (often called the SYSOP) of the bulletin
board system. This gives rise to the second issue
-

privacy. Unlike the U.S.
mail,
electronic mail is almost always examinable by someone other than the sender and the
receiver. By necessity, the communications provider may not only have access to all mail
sent through the computer system, but may also have to keep copies (or "back
ups") in
case of system failure. Third, E
-
mail is interactive in nature and can involve almost
instantaneous communication, more like a telephone than regular mail, so much so that
regular users of E
-
mail often refer to the U.S. mail as "snail mail."


Ano
ther service many bulletin board systems make available is the uploading and
downloading of files. A BBS providing a section of files for its users to download can
distribute almost any type of computer file. This may consist of text, software, pictures,
o
r even sounds. Multiple user bulletin board systems are also frequently used for their
"chat" features, allowing a user to talk to other users who are on
-
line (connected to the
host computer) at the same time.

Bulletin Board Forum(s)


Bulletin Board is a
moderated discussion board. Its purpose is to provide an
electronic discussion forum that is accessible to anyone on the World Wide Web
(WWW). Users can initiate and contribute to conversations. Conversations are monitored
and organized by moderators. Bull
etin Board is ideal for extending classroom discussions
to the WWW, conducting electronic conferences, and hosting public discussions.


How is Bulletin Board organized?


Bulletin Board is organized into topics; each topic may have subtopics, and so on.
Th
e board administrator and the topic moderators set up the basic topic structure. Within
each subtopic are conversations about an aspect of the topic and/or additional subtopics.
Users can post messages to these conversations and/or create new conversations

within
the structure.


13

What can I do with a Bulletin Board?



Members can
read any message

in their permitted area(s) of the Bulletin Board.



Members can
add a message to an existing conversation
. If there is discussion
about a subject and you wish to contr
ibute, you can use the "Reply" button
at the
bottom of the conversation you are reading.

Your message will then be added to
the bottom of that conversation.



Members can
start a new conversation
. If a conversation has not been started
concerning a subject
that you desire to discuss, you can click on the "New Topic"
button at the bottom of any page that allows users to create new conversations.
The subject of your conversation (which you specify) will then be added to that
page. You also type in the first me
ssage that will appear in that conversation.

Who may access Bulletin Board?


Only registered members with access to the World Wide Web may access
Bulletin Board and read and reply to any of the posts they are permitted to access
“Forum(s)” on Bulletin Boa
rd. Users may post messages and create new subtopics (a user
account may be required to do this). Administrators create user accounts.















14

Features of Bulletin Board

1.

Privileges


there is

3 types of privileges on the board

a.

Administrator

i.

Can create
/delete/modify forums, topics, messages

ii.

Can close topic for future replies and editing

iii.

Has a power over database entry (retrieve/modify)

iv.

Can ban IP, delete users, change user profile

v.

Gives permition for particular users an access for private forum

vi.

Assign p
rivileges

vii.

System backup

b.

Moderator (instructor privileges)

i.

Can create/delete/modify topics and/or messages

ii.

Close topic for future replies and editing in assign to him/her
forum

iii.

Can see user’s profiles

c.

User (any registered person)

i.

Post/reply messages in perm
itted to him forums

ii.

Can see user’s profiles

2.

Private forum (password required to read/post/reply private discussions)

-

Gives an opportunity to create and participate in private discussions. Private
forum can be referring as web class. Only class members a
nd instructor of this
class can view, post, reply in this forum.

3.

Public forum (password required to post new topics and reply public
discussion)
-

Very good idea to make site more popular. If it’s going to be free
and interesting discussions, a lot of peo
ple will register for it.

4.

User self
-
registration (automatic, queued, or e
-
mail verified)
-

Helps to save
time for administrator for entering user info into database.

5.

Archiving (administrator only)
-

Backup of the board forums/discussions/posts
is very im
portant feature.


15

6.

IP options (IP banning, IP
-
based authentication)

-

Helps to prevent
unnecessary or unwonted users to login to the board. Also record and store in
database user’s IP address from current login.

7.

Message editing (users can edit only own mess
age, moderator can edit any
message in forum where he/she moderator, administrator can edit any
message)

-

Helps to change, add, or/and moderate posted message.

8.

Cookie
-
based login (optional; selectable by users)

-

Saves login information
into cookie. It
’s convenient for future login.

9.

Enhanced user profiles (picture, personal information)



Usually people
decide to use some nick names as login name, but user profile will help to identify
who is hiding under particular nick.

10.

Private messaging (PM)


Works
as an internal email. Only registered users can
use PM. It gives an opportunity to send a private message to any member of the
board.

11.

Doesn’t require high
-
speed connection



Users with any type of Internet
connection can login and use the board.

12.

Easy to

use










16

2.3.3 Information Center


The WebAthenae Information Center is broken down into three different
websites,
WebAthenae for Students
,
WebAthenae for Faculty

and
WebAthenae Admin
.
Each of the websites, provides the corresponding features and righ
ts for the given user.
A student account is only able to connect to WebAthenae for Students, the same can be
said for WebAthenae for Faculty and WebAthenae Admin.


Three different sites were made to keep the debugging process simple. Having
three smaller

websites is better than one really large one. The entire information center is
controlled by one Access database. The database schematic (See
Figure A
-
4
) shows the
various tables and the information they contain.


WebAthenae Admin

One of the features W
ebAthenae Admin allows is the ability of system
administrators to add new users of all access types (Student, Faculty, Admin). The
information required on this page is the person’s first and last name, their ID number,
email address, login name and passwo
rd. If any of the fields contain invalid data, the
WebAthenae system notifies the user what is missing or wrong and repopulates all
previous entered data in a new form. This process is repeated until all fields contain
correct information. It is then pas
sed to the action page until it is processed. When fully
processed, the user is given confirmation that the information has been successfully
entered into the system database. This information is entered into the corresponding user
tables: tblStuPerData,

tblProfPerData or tblAdminPerData.

The above mentioned form field validation routine is system
-
wide, therefore our
team will not mention it again. A second feature of the WebAthenae Admin is the ability
to add a new course to the system database.

The la
st function of the Administration page is the ability to track users logged
into the system. The screen will display the person’s ID Number followed by important
information such as how long the person has been logged on, last page visit, idle
-
time
and ho
w long until his session is terminated. WebAthenae allows for session termination
after a specified number of idle minutes.


17

WebAthenae for Faculty


Once logged in the faculty member is given a list of hyperlinks with the courses
he/she currently teaches
. Each hyperlink carries the variable strCourseRefNo, which is a
field in the table tblCourseInfo. This vsrisble is the primary field, which helps the
ColdFusion server to store information and search information in the database efficiently.
When the us
er logs in a cookie is also created storing his/her ID. These two pieces of
information is essential to WebAthenae, without these two variables passing from page to
page, the entire WebAthenae site would not work.


Once the user selects a class, WebAthena
e directs the user to the course page. On
the course page the user will find a navigational toolbar, which will take the user to
myCalendar, Course Content, Communication Tools, Evaluation Tools, Video and
Logout.


When the user selects the calendar link,

WebAthenae dynamically generates a
calendar for the current month. Above the calendar is link to the previous and next 6
months. This calendar acts as a personal day planner. When the user clicks on a date
within the calendar, it brings up a form asking

the user to select an icon as a reminder
(tack, plane etc), a description and time of the task. Once the user completes the form
and hits the ‘submit button’ the icon selected appears in the appropriate date. When the
user clicks on the icon, it display
s the information.


When the user selects the Course Content link, WebAthenae gives the user the
ability to access the course file manager, announcement manager and lastly the Course
-
Content viewer.


The course file manager is the information manager for t
he class. The faculty
member can upload reference material, homework or notes. One the user gives it a
description and selects the file to upload, its location in hyperlink form is available to
download from WebAthenae for Students course content viewer
page. This page is the
same for the student and faculty.


The announcement manager allows the user to post messages that are date
specific. The user can either select a date from the small calendars that appear next to the
form or manually type the date i
n MM/DD/YYYY format. Once the user selects the start

18

and end date, a description and hits ‘submit’, this announcement will appear on the
course content viewer page only between those two dates.


When the user selects the Communication Tools link, the user

is directed to the
communication page where he/she is given the option to enter the specific forum for this
class or to look at an email list. This list contains email addresses of all students, TAs
and Professors. This list is the same as the one found

in WebAthenae for Students.


The Evaluation Tools link will give access to a gradebook (under construction)
and a quick poll. The quick poll allows the user to post a question with various answers
and dynamically keep track of its results.


The Video and

logout link is self
-
explanatory and takes you to the video
-
sub
system and logs the user out of the system respectively. At this point the session
variables of CourseRefNo and ID are destroyed.


WebAthenae for Students

Once logged in, the student is given

a list of hyperlinks with the courses he/she is
enrolled. Once the user selects a course the user is directed to the course page, which
contains a navigational toolbar containing link to myCalendar, Course Content,
Communication Tools, Evaluation Tools,
Video and Logout.

The calendar link, video link and logout links serve the same function as the
faculty and will not be discussed again.

When the user clicks on the Course Content link, the page is displayed and lists
all announcements and all the files (H
W, Notes and Ref materials) that are available for
download.

The Communication Tools link offers access to the forum and the email list that is
also available to the faculty user. In addition, the user is given access to a private
messenger, which allows
the user to send a private message to another classmate. This
doesn’t use the SMTP protocol; therefore it is efficient and offers an alternative to email.

The Evaluation Tools link will offer access to your course grades and grade stats.
This page is cur
rently under construction.




19

2.3.4 Remote Administration & Synchronization

At some point of the design process our team was faced with an issue that seemed
to be an apparent drawback related to the reliability of the design. Since one of the main
ideas of

our project was to make our design accessible to the audience located outside of
the local network, which servers used in our project reside, it seemed important to ensure
that such accessibility exists at all times. If necessary precautions were not take
n, then, as
it had happened in our case, interruptions in the Internet connection will occur rendering
normal operation impossible in relation to the users accessing it from the World Wide
Web. Moreover, problems related to the normal functioning of the p
rototype servers’
hardware and software environment might have exactly same effect as the absence of the
Internet connection to the prototype. In order to deal with the issues that may arise as
described above our team decided to implement two additional
modules to the prototype
design: remote administration and abilities for critical and non critical components data,
logs, and files to be synchronized. These two precautions when implemented into the
design of the prototype ensure improved reliability of t
he design.


Remote Administration

Since the original idea of the design was to have it set up as a service on the
customer’s network we felt that the implementation of remote, “round the clock”
administration had to be prioritized and tied into the design

as a practical convenience.
After some research our group found a product that was capable of delivering the exact
functionality, that was necessary to accomplish this task. The product we selected is
WinVNC. It is a Remote Administration Software Package

that runs as a server agent in
the background of the operating system. It is set to operate independent of other services
running within operating system. However, WinVNC service is dependant on the basic
essential network and Internet services running by

the operating system. One of the great
features that this agent has is that it does not consume a lot of system resources for its
operation as the basic background mode of operation
-

listening for incoming connection
on port 5800.

Security features of
this software package, once setup and operational, require the
knowledge of the exact port number of the listening port on the server and a password

20

that is a “built in” feature of the agent. Moreover there is no default or predefined
password set that com
es with the package, rather it is one of the requirements to be set for
successful installation of the agent.

At this point it should also be noted that this service is also very simple to use. It
operates in “Desktop” view and functionality” of the oper
ating system, e.g. once logged
in, the user sees the desktop view of the remote computer as if the monitor of the remote
computer is right in front of the user.

As it was noted already previously in the preceding discussion this feature allows
some advanta
ges. One of the main advantages is 24x7 accessibility of the system from
virtually any Internet connected PC. This package could also be used as a monitoring tool
and the best part about it that it could be used on multiple servers and/or PC’s within the
n
etwork.

Since the setup of this software is very simple, and is available to run on any PC,
users that has sufficient permissions to install software within the environment of the
operating system is capable of installing this software package on the PC i
n question.
Such permissions may be given to a user by the domain or local administrator or
specified in an operating system’s security. Since this is the case in most instances, we
felt that this software package could be offered to the lecturers feeling
uncomfortable
with conducting classes in high tech environment as a part of the service.


2.3.5 Synchronization & Backup Functions

Synchronization of the critical and non
-
critical component data logs and files was
another imminent task that was implemente
d to ensure the reliability of the service. For
these purposes it was agreed to set up a second server that featured an Internet connection
that was independent of the Internet connection present at the main server. At the same
time to ensure cross compati
bility in services that may need to be provided by the backup
server in the case of downtime that may occur with the original primary server, research
was conducted to reference the ways in which synchronization of vital data logs and
services may be perfo
rmed to have identical copies of the latest data on both severs.
Unfortunately, we were faced with reality of having to pay for software packages that
claimed to perform the desired task over the standard HTTP protocol and were

21

commercially available at th
e time of research, but almost at the price of the whole
prototype cost. Our team looked into some decent
-
priced software that featured many
useful and practical features but lacked means and features of standard HTTP or TCP
\
IP
synchronization. However, at

some point we stumbled onto a software package that was
capable of synchronizing data over FTP protocols but required special setups on the
server to accommodate this feature. Luckily for us, we were already using FTP form of
file transfer for purposes re
lated to actual creation and
building of the project prototype,
therefore, there wasn’t much of debate over using this software package in our design since all of
the
required setups were already present.

Ability to Synchronize and Back up Important Infor
mation appears to be an
important task in the industry, since this seems to be one of the main concerns facing
companies today. Moreover, in the case of our prototype it appears that synchronization
of data between two servers provides means for expansion
of the broadcasting and/or
hosting capabilities of the prototype.


According to the current design of the system, by setting up an additional server it
is possible to have the backup server perform as a primary server for particular parts of
the project.
Namely, since the project prototype has three parts it is desired to dedicate as
much system and network resources to the server providing services for the main part of
the design e.g. acquiring and re
-
streaming video streams. At the same time since two
ot
her parts of the project do not require as much system and network resources, it may be
placed to run off the secondary or backup server, therefore making it the primary server
for these parts of the prototype design. However it should be noted here that e
ach of the
two servers set up for the project prototype should have the ability to support all of the
prototype services provided by the other server along with the services it already had
been providing at the moment. Such functionality was needed if wer
e to be the worst
case occurrence of unexpected service, hardware, and/or software problems occurring on
either server. Therefore, we implemented such functionality into the prototype design. As
it stands at this point it is just a matter of redirecting In
ternet traffic to the other
functional server if one of the servers start experiencing downtime for whatever reasons.




22

2.3.6

Security Considerations


To make WebAthenae more secure our team incorporated security measures that
sites such as Hotmail.com, D
ell.com, or Aol.com currently lack. One of these features
answers the question: “Have you ever wished to know who’s logged in on your site at a
specific time?” The other feature addresses the possibility of having a situation where
different users were l
ogged in at the same time with the same login.


Background Information




When a user requests a web page, the transaction between its browser and the
server takes only a few milliseconds. If we start a stopwatch when a user requests page A
(R1), and stop

it when user reaches page B (R2), its logical to say that the user stayed on
page A for the amount of time displayed on the stopwatch.

But what if the user closed the window, or shut down the machine, or crashed
without requesting another page or logging
out. R2 will never happen and our stopwatch
is still running even if the user is gone a long time.

This is why the Web is called a ‘stateless environment’, and the reason behind the
common belief that it is impossible to prevent two different users from l
ogging in at the
same time with the same username and password. But, our team has found a work
around.


How it works?


By using session variables, which are specific to a user and placing them within
the application.cfm structure that ColdFusion provides,

it is rather simple to query all of
the key fields of the application structure and output a listing of who’s logged in. From
there we check if the Session.UserID of the current user currently trying to log in is
already in use or not.


The method our te
am chose to handle the situation involving a user who leaves
the application framework without logging out involves keeping track of his session
timeout status.




23

Keeping Track of his session timeout status

The application variable containing the global va
riable containing the user’s
UserID is updated each time a page is requested. This allows us to keep track of the last
http request of anyone on the system. If someone tries to login with credentials already
in use, the time is compared to the last recor
ded http request made by this user. If the
time elapsed is greater than timeout variable defined in the application framework, we let
the user in. If not, the user has to wait until the WebAthenae security framework
timeouts the current user.

To handle t
he situation of a user not logging out properly (not using the logout
feature), we are going to monitor the user moves. Using JavaScript, when the user leaves
the site or closes his window without logging out, it will log him out automatically.

That leave
s us with the possibility of a machine crash or power failure, which
unfortunately we can’t do anything about. However, the odds of this happening is quite
small and the session timeout variable can be set for a short amount of time, allowing the
user to
log in sooner.
















24

2.4

Prototype Evaluation

2.4.1

Bandwidth Consumption

Our team had a server connected to a DSL line with an idle connection, which resulted in
a
476.60 download stream and 89.70 upload stream.


Our team then conducted some basic tests o
n bandwidth usage. Our team managed to
connect 3 users from different locations and IP’s. Bandwidth was measured by a
“bandwidth meter” located at
http://www.dslreports.com

.


As you can see from the results
below, we conclude that each user requires 90


100
KB/s download stream and 20


25 KB/s upload stream. This corresponds to a minimum
of IDSN
-
128 line. For better performance, user has to use a high
-
speed connection such
as DSL, Cable, T1, etc. Our re
sults can be not precisely correct due to limitations in a
residential DSL line. Residential DSL lines often use a lot of data to upload therefore
download rate is negatively affected. For better test results, our team could have tested
on a T1 line.




I
dle

1 User

2 Users

3 Users


Download

Upload

Download

Upload

Download

Upload

Download

Upload

Try 1

468.40

91.10

390.70

58.70

305.60

30.40

200.80

8.00

Try 2

480.10

88.00

381.00

59.00

301.00

27.90

210.30

5.00

Try 3

481.30

90.0

379.00

62.90

295.30

27.10

20
1.00

5.20

Average

476.60

89.70

383.57

59.87

300.63

28.47

204.03

6.07


Bandwidth Consumption
0.00
100.00
200.00
300.00
400.00
500.00
600.00
Idle
1 User
2 Users
3 Users
Rate (KB/sec)
Download
Upload

25

2.4.2

Basic PC Requirements

Our goal was to determine what should we specify as the minimum PC requirements to
run our software properly.


By running the same software package on two differ
ent machines we tested CPU
performance:


Machine 1:

Pentium II 366MHz processor



64MB RAM



CPU


Pentium II 366MGz, MEM


64MB


Results
: Running minimum required software packages; we came up with unsatisfactory
results. CPU resources were always over
loaded and memory usage was always between
85
-
90%. We reject this configuration as minimum.



26

Machine 2:

Pentium II 450MHz processor

64MB of RAM




CPU
-

Pentium II 450MGz, MEM
-

64 MB (Top)

CPU


Pentium II 366MGz, MEM


64MB (Bottom)

Results:
Running m
inimum required software packages; we came up with satisfactory
results. CPU resources were an average 50 % and memory usage was an average 70%.
This configuration meets our software needs.



Minimum Requirements should be:

CPU



Pentium II 450MGz

Memory


128 MB

Video Adapter

16 MB

NIC



10/100

Video resolution

1024x768

Monitor


17” (for better screen view)



27



2.5

Financial Budget



Our team was quite surprised to discover that we were very accurate when
determining the cost of this project. Our total cost was $1,010 less than originally
projected, even though we spent 100 more hours working on t
his project than originally
reported. The biggest discrepancy came from the cost in Cold Fusion Server. In Jan
2002, Allaire reduced the cost of Cold Fusion Server, in preparation for a new Enterprise
Edition.






Software:

Product ID


Total Cost

Projected Cost

(Jan 2002)



Cold Fusion Server 5.0 Pro

$1,110.00

$5,000.00



MySQ
L Server

$0.00




Snitz Forum 2000

$0.00




Macromedia Dreamweaver Ultra Dev 4.0

$149.00

$149.00



Adobe Photoshop 6.0 Upgrade

$149.00

$449.00



Comarades WebCam Software

$0.00

$0.00






Hardware
:

2 Cameras ($75 each)

$150.00

$200.00



10/100 Fast
Ethernet Hub
-

8 port

$80.00

$100.00



Web Server

$1,750.00

$3,500.00



2 PCs (Custom Built) with 2 NICs

$1,540.00

$1,540.00



2 7' Network Cables

$20.00

$20.00





















Labor Costs:

600 hours at $50.00 per hour

$30,000.00

$25,000.00







Totals:


$34,948.00

$35,958.00


28

2.5.1

Other Financial Information


Business M
odel

In order to better understand our business initiative we decided to a draw a simple
business model
(See Figure 1 in Appendix B)
to demonstrate the steps involved in fully
marketing our product. As with any product, the first step is the research of
the science
involved and the development of a design. After a design is chosen, our focus is on
marketing the product. Marketing the product involves two steps, marketing analysis and
cost estimation. In marketing analysis, we had to ask ourselves a few

questions, whose
answers would either justify or reject the necessity and profitability of this project. Cost
estimation deals with estimating the cost for our service along with analyzing any
possible sources, which would make this service cheaper or mo
re attractive to our target
market. If both the marketing analysis and the cost estimation revealed positive results,
our focus would shift to system development. If the results were negative then, our focus
would go back to research and development and th
e process repeated until positive
results occur or the project is terminated.

Once a system prototype is developed, we gather customers through advertising
and onsite demonstrations and sell them our service. We could also have a distribution
company di
stribute licenses to our customers, but would result in reduction of profits.
This reduction of profits helped us decide not to use distribution or licensing in our
business plan.

Once our prototype has been developed, it would be in turn marketed as a

service
and we follow the service
-
based business model (
See Figure #2 in Appendix B
). Our
business will utilize computer manufacturers and network component manufacturers,
which provide us with the technology to run our web servers. These web servers wi
ll
contain the distant learning software and allow our customers to access this software
through our high
-
speed lines and servers. Our software was developed using software
readily available by many different software vendors such as Microsoft and Cold Fu
sion.

29

Consultants would be hired by our company to test the web servers for network lapses
and efficiency.


Our service would be attractive to many different potential customers in
research/educational institutions, the scientific community and financial
institutions. We
decided to focus on the research and educational institutions at first since they are the
most interested group in our product. Though, it is relatively simple to make this product

available to the scientific community and financial inst
itutions additional advertising and
time would be required.

Marketing

The project can be defined in two cases. The conservative case will stay focus on
one target market (universities/colleges in the North only), and we use this value
throughout 10 year
s. The conservative case leaves no room for growth. The rapid
growth case will initially focus on schools/universities in the North, but every two years
we expand our growth to new geographical areas. Once the economics are explored and
the numbers are
revealed, it will be obvious how such a service could bring in millions of
revenue in a relatively short amount of time.

We are trying to determine the total market for our product. Our
initial focus
is
on universities and colleges in the North of the US
A. 75% of universities/colleges in the
North purchased an unrelated product of similar technology focus and relative cost. It is
assumed for the target market that a comparable number of schools will have a interest in
a product like ours, since our prod
uct offers even more features at a competitive price.
The colleges/universities that express interest in our product generally show a positive
attitude towards new technology with previous expenditures in new technology. The
values represented here are co
nservative since many colleges/universities are more able
to afford the newest and best technology through the many grants they receive from
companies. The trend today for many universities is to increase budgets and get their
students and their faculty w
orking with the latest and greatest technology.


30

Our main competitor is a web
-
server based company called WebCT. Even
though, WebCT has been in the market for a few years and many universities are using
their service, our service offers features not possib
le with WebCT and for less than what
WebCT is charging (on a per person basis). Our service will provide the professor all the
features of WebCT with added features such as video, audio and dynamic updates of the
virtual classroom. Thus, since we are new

to the industry and some universities have
signed long
-
term contracts with WebCT, we estimate that our market share will be 40
percent of the total market or 187 systems (Conservative case).

Our goal is to gradually expand geographically to other regions
in the US (Rapid
growth case), while establishing a strong name brand in the North. After that is
accomplished, hopefully we can expand to financial institutions in the US and abroad.
The possibilities are endless, which makes this project too good to pa
ss up.

Our service will introduce three product lines, which should allow a person of any
computer skill level to learn our software. Our first product is the service, which we
called earlier, “Interact”. Interact will include 20 hours of technical su
pport, a technical
manual which contains detailed instructions to do some of the simplest tasks to the more
complex ones. The cost of the system is $25,000 per year per subscription, which will
allow one classroom of up to 30 students and one professor to
conduct their virtual
classroom in real
-
time. If a college or university wishes to run more than one class
simultaneously, they will have to purchase another subscription. The college/university
can conduct as many virtual classrooms with the subscriptio
n, as long as they are
conducted one at a time. As stated earlier, we project that we will sell 186 units per year
in the conservative case. In the rapid growth case, we project that we will add an
additional 186 units to our total every two years with a

cap at 796 units.

The second product offered is a training session, which should help those
professors who wish to use our software, but doesn’t have the basic computer know
-
how
to follow the technical instruction manual. The cost of the 8 hour training
session is
$1,000. In the 8
-
hour training session, he/she will learn the basics and also the complex
features of the service through hands
-
on use of service. The session could be conducted

31

on
-
site or through the use of our service. We predict that we w
ill get 4 people interested
in the training for every unit sold or 744 in the conservative case. In the rapid growth
case, we plan on adding 744 units every two years with a cap at 3184.

The final product we offer is additional technical support. Our ser
vice includes
20 hours or 30 days of technical support, which ever comes first. After that, if a customer
wants more technical support they will have to pay for it. For $5,000 per year per
subscription, you will get unlimited tech support from our friend
ly staff. We will provide
a (800) number to save the customer money on long
-
distance charges. We will provide a
quick resolution to the problem at hand usually within a half
-
hour. We project that 75%
of the universities that subscribe to our main servic
e will also sign up for the additional
tech
-
support, which yields 140 units in our conservative case. In our rapid growth case,
we project to add 140 units every two years with a cap at 597 units.

As you can see from the results below and (
See Figures #3,

4 in Appendix B
), it is rather
easy to see the economic potential if this prototype’s design lead to a marketable service.

The following table outlines the results:

Criteria

Conservative Case

Rapid Growth Case

IRR

60.63%

84.20%

Cumulative NPV

(Net Present Value)

$6,939,645

$22,356,291

Break
-
Even Sales
Volume Total

4,784 units

9,696 units

Break
-
Even Sales
Volume Product X

835 units

1,684 units

Break
-
Even Sales
Volume Product Y

3,324 units

6,700 units

Break
-
Even Sales
Volume Product Z

625 un
its

1,312 units

Break
-
Even Sales
Level

$27,335,044

$55,360,893






32

2.6

Project Schedule


Figures 5 in Appendix B

shows the work breakdown for developing the Bulletin
Board and Video sub
-
systems. It is labeled as Prototype I.



Figure 6 in Appendix B

shows t
he work breakdown for developing the
WebAthenae Student Information Center.



All members worked all sub
-
systems on at any given time; therefore only general
GANTT charts were created.



2.7

Recommendations for Future Development Possibilities



Online Grading S
ystem



Grade Statistics



Online Testing System



Quick Polling System



Real Time Chat System



HW Submittal System



Database Tools



Add Deleting/Editing Functionality to Some Records



SMTP Email Capability



Journal Capability/Retrieval System



Enable Data Drill
-
Down o
f Course Information



Incorporate Web for Students Features



Student Tracking Features






33

3.1

Conclusion

The final design and implementation of WebAthenae has resulted in a product
that allows virtually any small to medium size class to be conducted over the ne
t. The
main benefits are that the purchaser does not have to have a great deal of knowledge

about web technologies and avoids the costs incurred from hiring expensive consultants.

Following the design procedures described in this paper, a user friendly and

affordable

application has been created. The use of ASP, ColdFusion and JavaScript allows

WebAthenae to run on any available platform. This software does not demand a

particular operating system or architecture as many of the existing applications today d
o.

Also by using industry proven software products, WebAthenae runs on a stable and
reliable platform.


Use of the video
-
subsystem will finally make distance learning possible and
reliable; keeping professor/student interaction intact. With additional feat
ures and
improvements such as the ones mentioned in the report, WebAthenae will provide an
excellent tool to conduct classes online and even the more traditional classes.


















34

4.1

References

The following web references were used for the making

of this design report:




ftp://ftp.funet.fi/pub/doc/rfc/



http://ds.internic.net/rfc/rfc1866.txt



“Hypertext Transfer Protocol
--

HTTP/1.1” The World Wid
e Web Consortium;
http://www.w3.org/Protocols/rfc2068/rfc2068



"CGI Specification", (NCSA),
http://hoohoo.ncsa.uiuc.edu/cgi/



RFC 1341 “Multipurpos
e Internet Mail Extension (MIME)”

ftp://ftp.funet.fi/pub/doc/rfc/rfc1341.txt



“What is cookies and how to work with them,
http://w
ww.citforum.ru/internet/html/cookie.shtml



“Basis of compounded databases

http://www.citforum.ru/database/osbd/contents.shtml



“Using HTML 4, XML, and
Java
1.2” Eric Ladd and Jim O’Donnel
, et al.

MacMillan Publishing Company; ISBN: 078971759X



http://www.amazon.com/exec/obidos/ASIN/078971759X/interverse/002
-
7429144
-
9404002



Apache HTTP Server Pr
oject, Server Documentation;
http://www.apache.org/httpd.html



Linux operating system;
http://www.linux.org/



PHP Hypertext Preprocessor;
http://www.php.net/



MySQL Documentation;
http://www.mysql.net/doc.html



“CGI/Perl: Creation of programs for the web”,
К
.
П
e
т
ch
етт
,
М
.
Ра
y
т



“System programming in C++ for UNIX ”Terence Ch
а
n



http://node.on.ca/



http://www.westga.edu/~distance/jmain11.html



http://html.about.com/c/
ht/00/07/How_Stream_Media_Web0964145544.htm



http://www.cfhub.com



Developing Cold Fusion Applications e
-
book, 2001


35

5.1

Appendices

APPENDICIES


APPENDIX A

FIGURE #1:

OVERVIEW OF SYSTEM D
IAGRAM






A
-
1

FIGURE #2:

SYSTEM L
AYOUT AND AUTHENTICA
TION OVERVIEW




A
-
2

FIGURE #3:

COLD FUSION APPLICATION PROCESS





A
-
3

FIGURE #4:

DATABASE SCHEMATIC







A
-
4


APPENDIX B

FIGURE #1:

GENERAL BUSINESS MODEL






B
-
1

FIGURE #2:

SERVICE BASED BUSINESS MODEL






B
-
1

FIGURE #3:

BREA
K
-
EVEN ANALYSIS (CONSERVATIVE CASE)




B
-
2

FIGURE #4:

BREAK
-
EVEN ANALYSIS (RAPID GROWTH CASE)




B
-
2

FIGURE #5:

PROJECT SCHEDULE: PROTOTYPE I






B
-
3

FIGURE #6:

PROJECT SCHEDULE: PROTOTYPE II





B
-
4




















36













APPENDIX A

FIGURE #1:

OVERVIEW OF SYSTEM D
IAGRAM






A
-
1

FIGURE #2:

SYSTEM LAYOUT AND AU
THENTICATION OVERVIE
W




A
-
2

FIGURE #3:

COLD FUSION APPLICATION PROCESS





A
-
3

FIGURE #4:

DATABASE SCHEMATIC







A
-
4














37













APPENDIX B

FIGURE #1:

GENERAL BUSINESS MOD
EL






B
-
1

FIGURE #2:

SERVICE BASED BUSINESS MODEL






B
-
1

FIGURE #3:

BREAK
-
EVEN ANALYSIS (CONSERVATIVE CASE)




B
-
2

FIGURE #4:

BREAK
-
EVEN ANALYSIS (RAPID GROWTH CASE)




B
-
2

FIGURE #5:

PROJECT SCHEDULE: PROTOTYPE I






B
-
3

FIGURE #6:

PROJECT SCHED
ULE: PROTOTYPE II





B
-
4