Result No 20 - Architecture and Final Design v2

advertisement
Project Number: LLP-LdV-ToI-09-CY-167919
Task 2.1 and 3.1 – Architectural Synthesis and System Design v2
WP Number:
WP Lead:
Task Lead:
Task Title:
3
UCY
UCY
Task 3.1 – Architectural Synthesis and System Design v2
Partners Involved:
Author:
InTraCoM, UCY, WebRelations
Marios Tziakouris, Andreas Zagos, Polydwros Kyriakoullis
Status:
X
X
Start date of project:
Duration:
Preliminary result (for use within the WP)
Final (for use within the Project)
Public (Homepage or interested parties)
2009-10-01
24 months
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
Project Number: LLP-LdV-ToI-09-CY-167919
This project has been funded with support from the
European Commission. This report reflects the views only
of the author, and the Commission cannot be held responsible
for any use which may be made of the information
contained therein
Task 2.1and 3.1
Page 2 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
Table of Contents
1. Introduction ...................................................................................... 4
2. System Architecture ......................................................................... 7
2.1. General Architecture ................................................................................... 7
2.2. System Considerations ................................................................................ 9
2.3. Logical Architecture ................................................................................... 10
2.4. Presentation Layer ..................................................................................... 12
2.5. Application Layer ....................................................................................... 15
3. System Design ............................................................................... 18
3.1. Introduction ............................................................................................... 18
3.2. Application Layer Components Design ...................................................... 19
3.3. Data Layer Design ...................................................................................... 25
4. Implementation Plan ...................................................................... 29
4.1. Introduction ............................................................................................... 29
4.2. Implementation order ............................................................................... 29
5. Security Mechanisms ..................................................................... 31
5.1. Software system security........................................................................... 31
6. Conclusions ................................................................................... 34
Task 2.1and 3.1
Page 3 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
Attention: This document is the evolution of Task 2.1 - Architectural Synthesis and System
Design v1 (listed as Result No.5 in Interim Report) deliverable with additions regarding section
3 (System Design). The rest of the document contains only minor changes.
1. Introduction
The purpose of this section is to define the aims and objectives of the deliverable in a
clear and concise manner. Additionally in this section a brief analysis and description
of the outline of the document will be provided along with short explanations as to
the purpose of each section. The purpose and overview of the deliverable will be
included in this section along with the definitions, acronyms and abbreviations mentioned throughout the deliverable.
The scope of this document is to describe the Overall System Architecture and specify the architecture environment of the SEILING platform (available at
http://www.thejobgame.eu). This architecture provides the organisation structure of
the system in terms of its components and interactions with other systems as well as
the necessary user interfaces. Based on the analysis of the user requirements and the
content of the learning scenarios (WP1) the consortium will provide a detailed architecture of the system that will guarantee availability, responsiveness, expandability
and security. The design will also emphasize on the usability of the system having in
mind the education and skills of the platform’s potential users. System architecture
will include the logical views of the various components of the system such as database, middleware, interfaces with other systems and network connectivity.
The document describes the general architecture of the SEILING platform under a
layered approach that has been adopted by the project. It provides an overview of
the technologies that are utilized in SEILING architecture, in terms of methodologies,
development environments, technologies etc. It describes in detail the physical and
logical architecture of the SEILING platform and its components and distinguishes
between those that will be developed within the project framework and those that
will be integrated in order to complement the functionality envisioned for this platform. For each functional component of SEILING their role in the overall system architecture is presented along with a short description of the data handled.
This deliverable has been based on the results obtained in the user requirements
procedure of WP1 and more specifically on Task 1.2 deliverable (Technology Framework) and Task 1.3 deliverable (User Requirements). This deliverable along with Task
3.1 (Detailed Design and Implementation) will form the basis for the implementation
of the SEILING platform.
This document is organized as follows:

Section 1 contains the purpose of the document.
Task 2.1and 3.1
Page 4 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919



SEILING
Architectural Synthesis and System Design
Section 2 describes the Architecture of the SEILING platform. Specifically, it
describes:
o
The high-level architecture of the SEILING platform and the system
considerations for an on-line training system enriched with a “gaming” aspect.
o
The logical architecture environment. This section defines the system
infrastructure, the logical infrastructure and additional critical components for the successful implementation of the SEILING platform.
It explains how it is divided in the presentation, application and persistent storage tiers, provides an overview of the technologies that
are used to realize the described architecture and concludes describing how the architecture is formed when applying the necessary security mechanisms.
Section 3 describes the SEILING System final design. This section describes in
detail the following:
o
the specification and design of the main functional components operating in the SEILING Platform, as they have been identified in section 2 (Architectural Synthesis) based on the requirements captured
during work package WP1 of the project. The methodology that is
used consists of two phases: the analysis, part of which was covered
during WP1, which aims to investigate the problem and specify what
the platform should offer; and the design, which specifies how the
previously identified requirements would be achieved. Due to the iterative development methodology adopted by the project, the analysis and design will be refined and enlarged at the end of the implementation phase. These adaptations will be presented in revised version of this deliverable which will be made available prior to the
evaluation phase (WP4)
o
the analysis and design of SEILING database. This section intends to
provide as much detailed view of the SEILING system’s data model as
possible, e.g. the structures used to persist information and data
necessary for the successful operation of the system.
Section 4 describes the Implementation Plan for the SEILING implementation
phase. In detail it describes the order in which the various components will
be developed and how they will be integrated together to build the SEILING
platform.
Task 2.1and 3.1
Page 5 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919

SEILING
Architectural Synthesis and System Design
Finally, section 5 provides general information regarding the Security Infrastructure of the SEILING environment, focusing in software security, network
security as well as user security. The described security infrastructure should
be followed within the development process.
Task 2.1and 3.1
Page 6 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
2. System Architecture
The purpose of this section is to describe SEILING platform Architecture under a multi-tiered perspective. Initially, the General Architecture is described in detail along
with the overall approach we have followed to derive the architecture. Additionally
the overall High Level Architecture of the SEILING platform is presented in detail.
2.1. General Architecture
The following figure provides an overall description of the path followed during the
design of SEILING architecture.
Technology
Framework
(Task 1.2)
Scenarios
Definition
(Task 1.1, 2.2)
SEILING
architecture
Functional
Requirement s
(Task 1.3)
NonFunctional
Requirements
(Task 1.3)
Figure 1 – Path for deriving SEILING architecture
In deriving the architecture, input from all the previous tasks has been sought. Specifically the analysis of technologies that can be used in such a project has been thoroughly reviewed along with the recommended technologies for each specific requirement deriving from the project proposal.
Additionally, the initial scenarios definition was taken into consideration since the
scenarios (courses) represent the main component of the platform and thus the architecture needs to be capable of supporting them. Furthermore, the outcomes from
the analysis of the user requirements provided a significant input to the derivation of
the SEILING architecture.
Both functional and non-functional requirements of the users are considered. Some
of the non-functional requirements have been derived form the consortium experience in developing internet applications whereas almost all of the functional re-
Task 2.1and 3.1
Page 7 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
quirements were derived from the analysis of the questionnaires submitted by selected users.
The high-level architecture of the SEILING platform is illustrated in figure 2.
Figure 2 – High-Level Architecture
The high-level architecture is divided in two areas, the back-end and the front-end.
The back-end will host all major functionality and data whereas the front-end will
handle all user interactions.
More specifically, the back-end will include all the data necessary for the operation of
the system as well as the data access methods that will be used to store and retrieve
data from the database. Data such as registered users, registered trainers, courses,
forum information, and scenarios’ details will be hosted in the selected database
system. Additionally the courses development and hosting environment will be part
of the back-end along with all the logic functions that is included with every
course/game. The functionality of the System to allow other trainers to upload content in the form of courses/games will also be provided by the back-end systems.
Finally the back-end will also host all the necessary data and functionality for the
supporting tools such as forum, chat, Q&A as well as the reporting and grading functions (evaluation).
Task 2.1and 3.1
Page 8 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
The front-end is entitled with the task of accommodating all user interactions and in
general allows the users to utilize the functionality and data offered by the back-end.
It is very important, given the target group of our platform, to design and implement
a user-friendly and robust user interface in order to ensure that our System will make
ground among the community of our users. The primary function of the front-end is
to run the game-play, which in essence is the presentation to the user of the scenarios of the courses/games. The front-end is also responsible to handle all user interactions in going through the courses and collect/send all the relevant information to
the back-end for further processing. It will keep track of the progress of the user
within a course as well as provide to the user the necessary information to complete
the course and obtain the results. Other functions to be included in the front-end is
the presentation of the various tools such as chat, forum and the various management capabilities which will be available to the users as well as to the trainers.
2.2. System Considerations
The primary purpose of the SEILING platform is to provide eLearning training to a
specific group of users, enriched with a “gaming” flavour in order to entice these
people to use the platform and educate themselves.
For that reason one of the primary considerations of the SEILING platform is to utilize
a “gaming” engine that will allow the consortium to develop the scenarios designed
in WP1 and WP2 into targeted interactive courses/games. The “gaming” engine must
be capable of being integrated with the rest of the functions envisioned for the
SEILING platform as well as be capable of supporting basic programming logic and
relevant data access functions.
A second consideration is the user interface. Given the unwillingness of our target
group to use computers, the user interface must be such that will not panic the users
the first time they are going to use the system. The user interface needs to be attractive, simple and with a human touch rather than a strict desktop type interface with
textboxes and buttons. It shall give the impression that the user is about to a play a
game on a TV or a gaming console than a software program that asks the user to
accomplish some tasks. On top of that, the user interface needs to be aligned with
the relevant internet standards and if possible account for the various disabled accessibility requirements.
Another consideration is the flexibility/openness of the platform. It is envisioned that
the platform not only will support external trainers in uploading their courses/games
in the SEILING platform but also it will allow for the quick and streamlined integration
of collaboration and other tools in order to complement the services initially offered
by the SEILING platform. Example of such tools can be recruiting and job seeking
tools, advanced chat functions etc. The overall architecture, and process of delivering
it, will need to accommodate changes as new tools definitions are completed. The
architecture of the platform must follow an approach from the onset that does not
Task 2.1and 3.1
Page 9 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
rely on a ‘fixed’ set of functionalities provided by a certain technical solution/module,
which subsequently will require much effort and time to modify.
A last consideration of the System architecture is the localization. The SEILING platform is simultaneously targeting six different markets (Cyprus, Greece, Italy, Germany, Slovenia, Ireland) and therefore there is an inherent need to customize not only
the content and supporting tools of the eLearning platform but also the courses/games. The platform architecture must be such that support multilingual content
and further customization from the onset since it is envisioned that more EU markets
will join this effort.
2.3. Logical Architecture
The purpose of this section is to describe SEILING logical architecture under a multitiered perspective, present an overview of the used technologies and describe the
security schema that will applied in SEILING, as well as how this schema affects the
system’s architecture. The architecture of SEILING under the tiered perspective is
presented in the next figure and it is described below in more detail. SEILING platform is based on a traditional 3-tier architecture that includes a Presentation Layer,
an Application Layer and a Data Layer.
Task 2.1and 3.1
Page 10 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
Figure 3 – SEILING logical architecture
Before deriving the final architecture of the SEILING system, the technology partners
decided to investigate further the ability of our chosen LCMS system (MOODLE) to be
integrated with FLASH which is our chosen gaming engine. This is because there were
some concerns among the partners that although the specification of MOODLE mentions specifically that FLASH integration is inherently supported, in reality this is only
possible for simple animations and video playback.
For that reason all the technology partners were engaged into further research for
indications to reinforce the previous decision for using an LCMS system. The research has expanded into the building of prototype models integrating Moodle and
FLASH. Those models were further enriched to include the possibility of database
interaction from the integrated environment of FLASH and MOODLE.
The result was that the integration of FLASH with MOODLE is possible. However, the
complexities faced for building those models along with the absence of existing examples that make use of this possibility, forced the technology partners to make a
decision not to follow the integration path. Although the benefits of using an LCMS
are numerous (see deliverable for Technology Framework Definition), the risk of be-
Task 2.1and 3.1
Page 11 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
ing involved into difficult technical tasks (i.e. immature integration paths) was
deemed as very high and the consortium decided not to take it.
With that decision in place, the technology partners further investigated ways to
replace the functionality to be offered by the LCMS with other components. The decision was that the necessary functionalities for the SEILING system can be built using
our chosen programming platforms which is FLASH for gaming and PHP/MySQL for
the rest. The combination of both can effectively provide all the functionalities promised for the SEILING system. Definitely not to the extent of what an LCMS would do
but to the extent that the SEILING system is attractive, usable, open and above all
free from any unnecessary complexities. In any way, not all the functionalities of
LCMS systems are necessary for SEILING and even if the integration was to take
place, many of them would go unused.
The functionalities envisioned to be delivered by the LCMS system are now branded
as supported applications in the overall system architecture and it include the following:








User’s forum
User’s chat application
Evaluation component (grading, feedback)
Reporting
Courses depository
User Management
Administrator Management
Other tools
2.4. Presentation Layer
The presentation layer is of prime importance for the SEILING platform. Given the
peculiarities of our user group it is expected that their computer literacy and in general their relationship with the Internet and application will be at very low level.
Therefore, the consortiums will place significant efforts in selecting the technologies
to be used for the user interface and in general designing the presentation layer so
that it will reflect the special needs and requirements for our target user group.
Although there are various options for creating advanced user interfaces such as
Windows Forms, WPF (Windows Presentation Foundation), Java Swing in our case
and based on the Users requirement analysis the option is to go with a web-based
user interface. The reason for this is better explained in the User Requirements deliverable (WP1). Having this in mind there two options available: the HTML/CSS based
option and the FLASH based option.
Flash and HTML/CSS both have their place on the internet. One needs to understand
the strengths and weaknesses of each to choose which one is the right choice.
Task 2.1and 3.1
Page 12 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
FLASH is best suited for animated multimedia demonstrations.
 Advantages

o
Freedom of Design: Flash allows you to place media elements anywhere on the page without the restrictions of CSS positioning.
o
Greater Interactivity: Flash allows you to combine animations,
sounds, and video to create a rich, interactive experience for the user.
o
Better Media Integration and Display: Flash permits the integration
of all forms of media and ensures that it is displayed uniformly on all
compatible browsers. This includes uniform font handling, graphics
rendering, etc
Disadvantages
o
Limited Compatibility: Flash requires a Macromedia Flash plug-in.
This is available only on select browsers and operating systems, and
is not compatible with most mobile platforms including the iPhone.
Many institutions and companies do not allow the installation or use
of such plug-ins. Furthermore, it is not handicap accessible and cannot be modified to assist those with poor eyesight. All of these factors will reduce the number of users capable of viewing your site, potentially cutting out a valuable client base.
o
Search Engine Problems: Because flash is multimedia (not text) oriented, its content does not organically enter major search engine databases like Google and Yahoo. This means that our site will not be
fully indexed by search engines, significantly decreasing organic traffic and lowering if not eliminating your site from many keyword
searches.
o
Print Problems: For the same reason that flash sites cannot be indexed by search engines, they cannot be easily saved or printed. The
text content of a flash site cannot be separated from the site for use
by a viewer.
HTML/CSS are best suited for content based websites.
 Advantages
o
Task 2.1and 3.1
Universal Compatibility: HTML and CSS are the standard for all
browsers, operating systems, and hardware platforms. They will ap-
Page 13 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
pear largely the same on PCs, Macs and mobile devices alike. They
require no additional plu-gins, and demand extremely low system
requirements. This ensures that all users who visit your site will be
able to access your site’s content.

o
Greater Accessibility: A site created with HTML and CSS will be fully
accessible to the handicapped, hard of seeing, and non-english
speakers. The text based content allows for your site to be enlarge,
spoken aloud, and translated into other languages. It also allows your
content to be saved and printed by users.
o
Search Engine Optimized: A HTML/CSS website is ideal for search engine optimization. A fully text-based site allows for full indexing of all
content on your site so to connect your site to the most relevant
keywords and phrases.
o
Easily Updated and Upgraded: The simple structure of a HTML/CSS
website allows for it to be easily updated to meet ever changing web
standards. Even more importantly, the universal nature of these sites
allows for the seamless integration of APIs and third party frameworks such as open source blogs and behind the scenes web applications and CMS panels.
o
Flash Element Compatible: While a Flash oriented site cannot include
HTML and CSS inside of flash elements, HTML and CSS oriented sites
can include flash elements. If any pages on your site require the multimedia capabilities of Flash you can simply include the appropriate
flash element on that page.
Disadvantages
o
o
Limited Animations and Interactive Multimedia Effects: Although
HTML/CSS sites allow for the integration of many simple Javascript,
jQuery, and other DOM animations and effects, it cannot rival the
power of Flash animations. Flash simply has the ability to be more
flashy.
Limited Design Options: While HTML/CSS sites can create a rich variety of effects using Javascript, jQuery, AJAX, and others languages,
there are multimedia platforms that can match the design flexibility
of Flash.
o
Task 2.1and 3.1
Page 14 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
Given the above analysis and the requirements of the SEILING platform it appears
both technologies are suitable and especially in our case it seems that the one can
complement the other. As such, the SEILING user interface will be based on the following:
1. HTML/CCS will be used for the introductory parts of the platform as well as
for most of the supporting applications i.e. chat, forum, user management,
reporting etc
2. FLASH will be used in delivering all the training material (i.e. the games) to
the users. The superiority of FLASH in representing and delivering these
types of formats is un-parallel and it cannot be ignored. FLASH will allows us
in significantly leveraging the training scenarios into a well designed and
presented game, something that would be very difficult to achieve only with
HTML/CSS.
Therefore architecturally wise the user will first be confronted with HTML/CSS pages
that will cover all introductory parts of their training as well as several information
about the SEILING project in general. User management and most of the supporting
applications will also be delivered in HTML/CSS. Finally, the administration component, for both the users and administrators will also be built using HTML/CSS for the
user interface.
2.5. Application Layer
The Application Layer is the most important component of our platform. It includes
all the important structural elements of the platform as well as all the business logic
for both the training scenarios and the rest of the supporting applications.
The Application Layer will receive input from the Presentation Layer, process it accordingly and then return back to the user the relevant output. The components
envisioned for the Application Layer are categorized as follows:
1. Game-Play:
The game-play is actually the conversion of our training scenarios into games. It will
include all the images, animations, interactions necessary to transform our scenarios
into a well-developed, attractive game-play that will entice users of our target group
of using it to accomplish their tasks. The game-play will assume the highest portion of
our development efforts and thus it needs to be well planned and designed so that
any development inefficiencies are accounted for and development effort is optimized promoting at the same time flexibility and openness for the various evaluation
iterations that are necessary for perfecting the game-play and satisfying the our user
requirements.
The game-play will be developed entirely in FLASH. As already noted in the Presentation Layer section, FLASH is the ideal candidate in developing such applications since
Task 2.1and 3.1
Page 15 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
it highly supports animations and user interactivity. Any logic related with the gameplay will be developed using ActionScript which is a scripting language developed by
Adobe to complement FLASH and allow it to be expanded into the Rich Internet Applications arena.
2. PHP modules
PHP modules will handle the rest of the business logic of the SEILING platform such
as any logic related to the introductory parts of the platform as well as any logic related to the connection of the various game-plays between them. On top of that, PHP
modules will handle all data interactions with the data layer and thus will be responsible for accessing and populating the SEILING database.
PHP is a well-proven platform for developing web applications and is the preferred
choice for many applications especially in the e-Training sector. In addition, PHP
complements perfectly our database engine selection which is MySQL. PHP/MySQL is
a combination that will offer us development speed, stability and ability to integrate
various other components within our platform.
Finally, PHP/MySQL is a technology that is well-known to the technical partners of
this consortium. This will allow the consortium to move forward the development
quickly without having to spend time for staff training and/or outsourcing of these
tasks.
3. Supporting Applications
The Supporting applications are separate components that are needed to complement the rest of the functionalities offered by the system. It aims in promoting the
collaboration among our users as well as the collaboration between the users and
their trainers. Additionally, the supporting applications will handle all the evaluation
requirements (user grading, feedback) of the platform as well as the various reporting requirements that are necessary for these types of applications. Finally, the supporting applications will include the user management module that will handle all the
users and courses registrations for both the trainees and the trainers. Also the necessary functionality for the administrators of the platform will be developed within the
supporting applications.
In general it is envisioned that the supporting applications will offer the following
functionality:




User’s forum
User’s chat application
Evaluation component (grading, feedback)
Reporting
Task 2.1and 3.1
Page 16 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919




SEILING
Architectural Synthesis and System Design
Courses depository
User Management
Administrator Management
Other tools
The supporting applications will mainly be based on the PHP/MySQL development
platform. In any case, the PHP/MySQL paradigm allows integration with a range of
components and therefore if there is a need to integrate a component that is developed in another platform but based on web standards, we believe that PHP/MySQL
will be able to accommodate this need accordingly.
Task 2.1and 3.1
Page 17 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
3. System Design
3.1. Introduction
Following the definition of the overall architecture of the system, the next step is the
finalization of the System Design. The System Design refers to the detailed definition
of the various components of the system that have been identified during the architecture phase and the de-composition of these components into smaller modules.
Also the design includes the possible interactions between these modules as well as
their impact to the data layer. It goes without saying that the primary focus of the
design is on the application layer and the data layer. For the presentation layer the
design (decomposition into smaller components) is of lesser importance.
Figure 4 – SEILING functional components
Figure 4 illustrates the functional components of system and their decomposition to
smaller modules. The components have been grouped into three (3) major domains:
Task 2.1and 3.1
Page 18 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919



SEILING
Architectural Synthesis and System Design
Games Manager
Administration
Communication Manager
The illustration also shows the interaction between the major components as well as
the interactions between the 3-tier layers. These have been extensively discussed in
the Architecture part of this document. Following is a brief description of the design
scope and technologies involved of each module as well as the considerations for the
relevant database design.
3.2. Application Layer Components Design
Games Manager
Game manager is the most important and most complex component of the system. It
will be the placeholder for all the games included in the system and it will include not
only the functionality of the games (animations, images, fonts, audio) but also their
interaction with the other components of the system such as the evaluation, the
communication and of course the data access components for the storing of the data. Five games are envisioned for this project. A detailed description of the games can
be found in the Scenario definition v3 (Design and evaluation of learning scenarios). A
summary of the technical considerations for each game can be found in the following
sections.
Apart from the games, the Game Manager includes the Courses Manager, which will
be responsible for the uploading and management of new games, the Supplementary
Manager, which will be responsible for all the supplementary material of the games
such as tips, directions, illustrations and references. Additionally the Games Manager
will hosts the Evaluation Manager component which handles the evaluation part of
each game, if any. Evaluation can contain tests, quizzes or any ranking/grading algorithm provided by the trainer. It is envisioned that for this system most of the games
will include an evaluation component.
Career Choice Game
The Career Choice game will be the one with possibly the lowest technical considerations. There are no animations, thus the game is clear from FLASH and basically is
based on a PHP module that will handle the series of images to be displayed to the
Task 2.1and 3.1
Page 19 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
user, the ranking of the images and the grading/scoring system. The algorithm for the
scoring system is thoroughly described in the Scenarios deliverable and is calculated
according to the choices of the users. The game will be basically two separate games
(one for the interests and one for the skills) under the same philosophy.
There will also be a completion tracker which indicates to the user his progress towards completion of the game. All user selections will be stored in the database, thus
there will be continuous communication with the data layer. The scores of the user
will also be stored in the database and based on the score the relevant supplementary material will be displayed. Finally a validation component is envisioned where
the user will be alerted for any errors.
CV Builder
The CV Builder game is one where the full range of technologies planned for the implementation of the system will be used. It will consists of a series of highly interactive FLASH animations, AJAX for the validation part in order to avoid unnecessary
page refreshes, and a PHP module that handles the communication with the data
layer. The game is characterized with a lot of interactions with the database since
the user will be asked at all times to enter his/her own data. The data will be saved at
each user step in order to ensure that none of the data is lost.
As before a progress bar will show to the user the progress of the game. Upon game
completion the user will be presented with a number of options such as to preview
his CV, to download his in the Europass format, to get more tips for preparing a successful CV and finally instructions as to how to produce a Functional CV. The CV will
be outputted in MS Word Format so that the user will be able to edit his CV later. Of
course this entails retrieving all the user data from the database and adding the data
in a pre-specified Word template (Europass).
Job Search
The Job Search game will be heavily based on FLASH for its functionality. The game
will consists of a series of advertisements where the user will call up to review and
then the system will ask the user several questions about the advertisements. The
questions will be random and will be retrieved from a pool of pre-defined set of
questions. Upon selection of the user, the right answer will be displayed so that the
user knows what is right and what a wrong answer is. Contrary to the other games,
this game has no database interactions since there is no need to store the user responses for future references. The user will be able to run the game multiple times so
that the whole range of questions is asked. Upon game completion the user will be
greeted with a document with tips regarding Job Search and a summary of things to
notice for each separate advertisement.
Task 2.1and 3.1
Page 20 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
Interview
In terms of technologies involved the Interview game is the same as the CV Builder
game. It will include FLASH animations, AJAX for the validation and a PHP module
that handles the communication to the data layer. Again, data persistence is of paramount experience and all the steps of the user will be saved in the database. In that
way, the user can stop the game at any time and restart again at the same point
without any data loss. A progress bar will also be provided and upon completion of
the game, the user will be greeted with a MS Word document that will include all the
data he has entered for the interview as well as a document with additional tips of
how to successfully face an interview.
Time Management
The time management game is similar to the Career Choice game. It will not include
any FLASH animations, but it will include move and drag functionality for re-arranging
the various tasks and ranking them in the correct execution order. A PHP module at
the back end will evaluate instantly the ordering of the activities and a result will be
presented to user about reordering all of the activities. No database interactions are
envisioned since the number of activities will be random and the reordering will not
be always the same. The result will be calculated based on the algorithm described in
the respective section in the Scenarios Definition deliverable. Upon completion the
user will be allowed to view the correct ordering of activities as well as to download
some useful tips regarding time management.
Courses Manager
The Courses Manager component will be responsible for the uploading and management of new games. The System allows trainers and other interested parties to
publish and make available to the SEILING users their training modules (games). The
System will specify the technical requirements that the new training modules need to
follow and after the uploading of the games, the administrators will review and authorize if possible the publication of the games. All this are done electronically and
only thing that the prospective trainer/publisher has to do is to prepare the games
according to the technical guidelines listed on the System (Gamebox area).
Supplementary Manager
The Supplementary Manager module will simply allow for the management of supplementary materials for all the games. This will include only static material such as
Task 2.1and 3.1
Page 21 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
tips, instructions, sample etc. All other supplementary material, such as the Europass
CV in MS Word format are not handled by this module since these supplements require more complex handling than the static documents. Supplementary manager
can be seen as a very simple document management repository.
Evaluation Manager
We have already touched upon the Evaluation Manager during describing the various
games modules. The Evaluation manager is the module that will keep all the algorithms for the scoring of the games and will also allow for the storing of the scores to
the database where appropriate. Additionally, for the games that the supplementary
material depends of the scoring, the evaluation manager will inform the system
which are the correct supplementary materials to be displayed to the user.
Last but not least, the Evaluation Manager will also host any tests or quizzes which
are used for the evaluation of users. Two quizzes are planned, one for the interview
game and one for the CV game. Effort will be taken so that the module will be highly
modular so that it will allow for the automated generation of quizzes for any future
games that will be later on listed on the SEILING platform. This will be an added service for the trainers that will want to use our platform to upload their trainings based
on alternative content.
Additionally, the Evaluation Manager will also host the questionnaire for the overall
evaluation of the system. This will be a long questionnaire with numerous questions
about the usefulness of the SEILING platform and of course it will be present only
during the user’s evaluation of the System.
Administration
The administration component is also one of the core components of the system. It
primarily includes the user management module, which feeds with information all
the other components and modules of the system, as well as some other supportive
modules such as the News Management, the Articles Management, the Uploads
Manager and the Languages Manager.
The administration module is not for the users of the system, but primarily for the
administrators of the system. Certain modules of the component such as the registration of a user will also be exposed to the System users. Following is a brief description of the design principles and technologies involved for each module of the
Administration component.
Task 2.1and 3.1
Page 22 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
User Management
User Management is a core component of every application which is exposed to the
Internet. The same goes for the SEILING system. User Management will provide all
the necessary functionalities for the registration, maintenance and security of the
various users of the SEILING system. Users can be trainers or trainees. It will include
screens for user registration, login to the system, update of user information and will
handle the permissions of the users to the various modules of the system (i.e. a user
needs to login to play the games). User Management stores all the necessary user
information to the common MySQL database of the system.
Apart from the common user information (username, password, address etc), the
user management module will handle also the grading of each user (i.e. the collection of the grading for each game). For the time being the grading part of this module
will be simple enough to hold only the relevant grades for each game/course but in
the long run this part can be expanded and offer a grading system such as the ones
we have at the various universities or a custom grading as decided by the administrators of the System.
Finally this module we also cover the reporting needs of the system. This will include
reports with the grades and progress of each user as well as aggregate information
across users and courses/games. Initially a very basic reporting is envisioned that will
list the grades for each user for each course.
The module will be developed entirely using PHP.
News Management
The News Management module will deal with the publication of news to the main
page of the SEILING platform. Specifically, it is expected to be source of information
for the Learn More About section of the System’s frontpage.
Obviously the News Management will be only available to the administrators of the
System for which an interface will be provided for uploading news regarding issues
related to the SEILING concept. The interface, except from the usual news information will also support the uploading of images associated with the news.
All information will be stored to the database and therefore communication with the
data access component is needed.
The module will be developed entirely using PHP.
Task 2.1and 3.1
Page 23 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
Articles Management
Articles management goes along the same lines with News Management, but this is
for populating with articles the “Good Practices Corner” section of the System. Again
it is targeting only the administrators of the system and all the information will be
stored in the database and displayed accordingly. Functionality to handle displaying
will also be provided i.e. (ordering of articles)
Upload Manager
The Upload Manager module will be responsible for all the uploads related to the
system. It will provide the necessary classes for uploading documents, images, games
to the System in a user-friendly and secure way. The functionality provided by Upload Manager will be used by the Courses Manager, by the News Management and
by the Articles Management modules.
Languages Manager
Languages Manager module is another important module of the System. As has been
previously stated, the SEILING system will be offered in 5 languages. This module will
provide the necessary functionality for offering of the various languages of the System. Apart from the functionality, it will also host the various translation files with
the translated texts which form the basis for the multi-language nature of the site.
Effort will be undertaken, so that the introduction of a new language to the system is
as seamless as just adding a text file with all the necessary translations.
Communication Manager
The Communication Manager is primarily responsible for all the collaboration aspects
of the system. Collaboration is viewed as a very important aspect of the SEILING system since it will allow for the development of the SEILING community and it will allow greatly assist to the enticement of many users to the SEILING platform. Communication manager include the forum and chat modules as well as the contact module
which will allow for the communication of the user’s requests, queries to the administrators of the System.
Forum
The Forum module is the main collaboration tool of our platform. It is not a task of
this project to develop a forum application. Rather, the consortium aims to seek for a
ready-made application that will be integrated with the customized for the SEILING
platform. It is envisaged that both systems will share the same user management
Task 2.1and 3.1
Page 24 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
framework and the same database in order to minimize maintenance effort. The
ready-made system shall also offer a customizable appearance so that it can be
pleasantly co-exist with the rest of the SEILING presentation principles. Additionally
the ready-made system shall be capable of defining topics and sub-topics, must have
multi-language support and shall be secure enough to prevent spammers and hackers from disturbing the normal operation of the System.
A potential forum ready-made application for integrating with SEILING is phpBB, a
free flat-forum bulletin board software solution that can is very widely used and has
been so far integrated with various systems.
Chat
Chat is another module aimed for the communication/collaboration of the users.
Chat will allow for the real-time communication of the users whilst taking their training. The same way as with the forum module, a ready-made application will be
sought and be integrated with the SEILING platform. The requirements are the same
as with the forum, however in the chat case, effort will be made so that the chat
application does not consume a lot of CPU resources (since it is real-time) and also
that it includes security and recording features that it will allow real-time monitoring
of the users using the chat.
Contact
The contact module will be responsible for the communication of the users with the
System administrators. This will consists of a communication form with various fields
necessary to record the users’ requests or queries.
This module will require access to the database in order to store the communication
with the users. Functionality for the management of the requests shall also be provided within this module.
3.3. Data Layer Design
Although the SEILING system requires a database to provide the full range of its functionality, the design of its database is nowhere as complex as the development of the
“gaming” aspects of the system. The database follows a conventional design and
most tables and relationships are self-explained. Stored procedures will be used for
the execution of all queries in order to speed up processing but also for data input
validation and data access security.
Communication with the database is achieved through a data access component that
will handle all the interactions with the database. The data component will receive
the request from the modules requiring information from the database, will validate
the request, transform the input if necessary and send the query to the database
Task 2.1and 3.1
Page 25 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
engine for execution. The data component will also be responsible to receive the
results from the database and pass them to requested module for further processing
and displaying to the user. The usage of a data access component will allow for developing the application layer modules with a high level of abstraction, hiding all the
database complexities from the developer. The data access component will include
all the methods necessary for inserting, updating, deleting and retrieving data from
the database and as it is customary it will return a reference to objects complete with
its attributes instead of a row of fields from a database table.
Following is an illustration with the preliminary design of the SEILING database along
with a brief description of the scope of the major tables.
Figure 5 – Database design 1
Task 2.1and 3.1
Page 26 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
Figure 6 – Database design 2
All tables with the “game” prefix refer to the tables needed to store the data necessary for the operation of the games. The following is the matching between the
games and the tables:



Game0 table refers to the Career Choice game. It is split into Game0a and
Game0b tables one for each part of the game i.e. Game0a table is for the interests parts and Game0b is for the skills part.
Game1 table refers to the CV Builder game. It consists of a primary table
(Game1) and some secondary tables (game1_language, game1_education)
which are linked with a primary/foreign key relationship.
Game2 table refers to the Interview game and it is also consists of a primary
and secondary tables link with a primary/foreign key relationship
Task 2.1and 3.1
Page 27 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919


SEILING
Architectural Synthesis and System Design
Game 3 table refers to the Job Advertisement game.
Game 4 refers to the Time Management game.
Other important tables are the users table, which stores all the necessary data for
user management, the languages tables that store all the relevant information for
the multi-language support of the system (note that the translations will be kept in
separate text files and not in the database) and the score tables which essentially
relates to the users tables and keeps the grading of the users for each course they
take. Additionally another important table is the Results table which will store the
results from the evaluation questionnaire.
Task 2.1and 3.1
Page 28 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
4. Implementation Plan
4.1. Introduction
This section describes in detail all the aspects related to the implementation plan
which will be followed towards the development phase. More specifically, this section describes the order with which the various components of the SEILING system
will be developed, the philosophy behind it and more importantly the integration
plan with which all the components will be integrated into a holistic system.
The basic model that will be followed for the implementation plan is guided by the
incremental development process engineering methodology. This means that the
final system is not fully approached in the beginning of the project, but that the understanding of the necessities of the system will grow as components are built, tested and feedback is collected from the users of the system. Therefore, following the
mentioned approach, we will face in a first step the implementation of a limitedscope architectural prototype with the most major components to validate the architectural design and the initial design of its relevant components. Finally a new iteration of re-design and implementation activities will take place, taking into account
both the evaluation results of the initial prototype and the changing requirements of
the business environment, leading to the final implementation of the SEILING platform.
The implementation plan for each separate component has four main steps, which
are:




To define the organization of the code in terms of the implementation subsystems organized in layers
To implement classes and objects in terms of components
To test the developed components as units
To integrate into an executable system the results produced by individual
implementers or teams
4.2. Implementation order
The components that are foreseen to be developed for the SEILING platform are the
same as the ones detailed in the design section. The order with which the development team plans to implement them is such that it will allow for efficient work allocation as well as quick validation of the core components of the platform at the early
stages of development.
With that in mind, the first component to be build is the gaming engine that will provide the transformation of the scenarios into animations/games. The gaming engine
represents the more important part of the SEILING platform not only in terms of
functionality but also in terms of the effort required to be developed. The selection
Task 2.1and 3.1
Page 29 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
of FLASH as our gaming engine allows us to separately develop this component without many worries about the integration with the rest of the system. FLASH can be
very well integrated into web applications since all browsers inherently support
FLASH which actually can be embedded into a web application/page.
In addition to the animations the gaming engine needs to have access to the database through the data management layer. This is because at the time a user is “playing” the game, the system is asking him to provide information necessary for the
current/next step of the game. This information are recorded as well as evaluated in
order to the provide feedback to the user. As already mentioned this functionality
will be provided through the scripting engine of FLASH (ActionScript) as well as the
PHP modules that will handle all the data access to the database. The ActionScript
scripting parts that will pass/accept data to the PHP module will also be developed at
this stage. The development tool for FLASH allows for the separation of the animations design and scripting, thus it is envisioned that these two elements of the gaming engine will be developed mostly in parallel.
The next component to be developed is the PHP modules that will handle the data
management tasks. This is necessary in order to allow for a quick and initial evaluation of the core component of the platform which is the gaming. Of course, part of
this task is the setting up of the database with all the necessary tables for the games
to run. The database will be further enriched with the tables necessary for the rest of
the platform functionality such as the supporting applications.
Once the core components of the platform are built, the partners will be asked to
provide a first iteration of comments and suggestions in order to further enhance the
experience of the users. The aim of this first iteration is to validate the initial technological capability through trials performed by the users. This will validate that the
designed architecture along with the implemented SW & HW components can satisfy
the business model requirements.
While the users are evaluating the gaming aspect of the platform the development
team will start working on the other components of the system such as the supporting applications and the introductory parts of our web site. User management is
probably the most important component from the supporting applications and thus
emphasis will be placed so that it is completed right after the development of the
gaming engine. User management is tightly coupled not only with the gaming engine
but also with the rest of the platform. Thus, the integration of the user management
with the gaming engine will be evaluated and tested at the very early stages of the
system development.
In parallel with user management, the team will start preparing the web site that will
host the SEILING platform. This is expected to act as a “wrapper” to the rest of the
components and the development of it, is not expected to be of any difficulty since it
Task 2.1and 3.1
Page 30 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
is based on HTML/CSS technologies with which the technology partners of the consortium have a lot of expertise.
Following this, the development team will start implementing the rest of the supporting applications which are course management, grading (evaluation), and reporting. All these are going to be build using PHP and their aim is to provide support to
the rest of the platform.
Another task of the implementation plan is to integrate the collaboration tools such
as forum and chat. As already mentioned, It is not expected that the team will build
these supporting tools from scratch. Rather, the consortium will utilize ready-made
components that are available in the Internet and will attempt to customize and integrate those with the rest of the platform.
Finally the last task of the implementation plan is a thorough internal testing that will
be performed by the partners of the consortium. This will allow for the isolation and
the fixing of any problems regarding the functionality of the system as well as the
optimization and streamlining of the users experience.
5. Security Mechanisms
This section of the deliverable presents all security related aspects of the SEILING
platform and of the corresponding infrastructure. This section elaborates on the security mechanisms employed to ensure Data and Message Integrity, Authentication,
Non repudiation and Confidentiality. The security schema that will be applied in
SEILING, as well as how this schema affects the system’s architecture will be covered
as well in this section of the deliverable.
SEILING platform is not one of those systems that are considered as hard on security.
Although being a web-based system implies exposure to the general internet attacks,
the information handled by the system is not such that would attract any kind of
attacks. Nevertheless the necessary precautions for an application exposed to the
Internet need to be taken so that the platform is protected from un-authorized access and Denial of Service attacks.
As such the SEILING platform has its own security requirements which are categorized below:
 Software system security needs
 Network security
5.1. Software system security
The security of the software system revolves around four different axons:
Task 2.1and 3.1
Page 31 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919




SEILING
Architectural Synthesis and System Design
Identity/authenticity of the users: This is simply referred as AAA functions
(Authentication, Authorization, Accounting) in the security experts jargon
and it merely refers to who perform the action, does he/she has the proper
permissions to perform it and can we track who has perform a certain action.
Non Repudiation: This refers in having a mechanism which provides sufficient
proof that a user has actually performed a certain action without possibly
denying it.
Data Integrity: This refers to ensuring that the information exchanged between users, processes and devices are not altered en route and thus resulting in false information being exchanged.
Confidentiality: Ensuring that information is not disclosed to unauthorized
parties.
Most of the security needs of the SEILING platform will be implemented directly in
the software. For example the identity/authenticity of the system will be based on a
custom authentication system (forms-based) which constitutes in keeping users,
roles and permissions in the back-end database and utilize them upon need. In that
respect a user will supply his/her credentials and the system will check in the database whether this is a legitimate user and will report back to the system the privileges that this user has in the system. Additionally, as a second level of security for this
axon, the inherent back-end database (MySQL) security mechanisms can be utilized
to enforce the security rules described before. This constitutes in defining the level of
access that each user will have in the respective tables and views of the database. As
far as the 3rd part of the AAA function (accounting), this should be done manually by
the software developers. Each user action must be logged in a protected log file
along with a standardized description of the user action in order to facilitate search
and retrieval. Again, the database security schema can act as backup mechanism for
accounting, recording all actions that occur on the database level (tables and views).
Regarding non-repudiation, this will be covered from the accounting function of the
previous axon. Non-repudiation is better served by the use of digital signatures but
the security needs of the SEILING platform are not such that would justify the complexity of implementing digital signatures.
As far as data integrity, again this axon is better served by the use of digital signatures. Since this is not a viable option for the needs of the SEILING platform, the data
integrity will be covered at the network level of the application by providing mechanisms such as Secure Sockets Layers (SSL) which guarantee that the messages exchanged between users, processes and devices are not altered en route. Additionally
the data integrity will be guaranteed through the deployment of firewalls and other
security perimeter devices such as IPS, IDS that will protect the web server deployment zone as well as the database which is expected to be hosted into a higher security zone.
Task 2.1and 3.1
Page 32 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
Finally regarding the confidentiality axon, this will be handled by the custom authentication/authorization system to be built. System developers must ensure through
coding that no user will be able to view/edit/delete information which belong to
another user. Additionally the system must ensure that a third party will not be able
to access the system either with brute-force or dictionary-based password attacks by
implementing mechanisms such as minimum password length, frequent password
expirations, combinations of letters, digits and punctuation symbols etc.
Task 2.1and 3.1
Page 33 of 34
SEILING Consortium©
LLP-LdV-ToI-09-CY-167919
SEILING
Architectural Synthesis and System Design
6. Conclusions
This document describes the Overall System Architecture and specifies the architecture environment of the SEILING platform. IT describes the general architecture of
the SEILING platform under a layered approach that has been adopted by the project
and it provides an overview of the technologies that are utilized in SEILING architecture, in terms of methodologies, development environments, technologies etc.
In addition the document provides a detailed design of the SEILING platform and its
components as well as the implementation plan to be followed for the development
of the system. The consortium is adopting an iterative approach for the system development where the core components are built and tested first and then the rest of
the functionality (supporting applications) is integrated in subsequent stages.
Task 2.1and 3.1
Page 34 of 34
SEILING Consortium©
Download