eFront Architecture

Embed Size (px)

Citation preview

  • 8/13/2019 eFront Architecture

    1/5

    eFront is build using an Object-Oriented approach (introduced on PHP 5+) and an architecture based on a

    3-tier design:

    At the top, there is the presentation layer, comprised of HTML and Javascript code. This code is delivered

    on the users web browser, on the client side. The presentation layer is built server-side, using Smarty

    templates. In the middle there is the logic tier, which is written in PHP 5 and is responsible for the

    server-side functionality. It communicates with the presentation layer via HTML forms and Javascript AJAX

    queries. At the bottom, there is the data tier. All data coming from the logic tier is stored inside a MySQLdatabase, using the AdoDB libraries as an intermediate interface. Optionally, only for user-specific queries,

    an LDAP data source may be provided. The following diagram depicts the architecture described above:

    The presentation layer is based upon HTML and javascript. For Javascript and AJAX, the PrototypeJS library

    and its equivalent GUI libraries, Scriptaculous, are used extensively throughout the software. In addition

    eFront makes use of the tinyMCE editor for creating user-defined content. Finally, as stated above, the

    HTML code is generated using the Smarty template engine.

    eFront Architecture

    1

  • 8/13/2019 eFront Architecture

    2/5

    The logic tier is made of several different, interoperating components. The program core lies within the

    system classes, each representing a specific entity, such as a User, a Lesson, a File, etc. The forum and chat

    functionalities are separated from the core logic, but tightly bonded with it. eFront also makes use of several

    PEAR libraries, which are bundled along with the software, as well as tcpdf for generating on-the-fly PDF

    documents and php-ofc library for dynamically creating flash charts. The program logic may be extended

    with custom modules that are imported to the system.

    eFront Architecture

    2

  • 8/13/2019 eFront Architecture

    3/5

    The data tier uses AdoDB libraries for communicating with the database, making it possible to easily extend

    interaction with databases other than MySQL. For LDAP interconnection, all major LDAP directories are

    supported, including Active Directory, for read-only access. Finally, user generated content may be stored

    in physical files on the file system.

    Service Topology

    The following indicative service topology describes how an eFront service can horizontally expand to

    support more users and content. This topology is based on the assumption that all users are supported from

    a centralized infrastructure.

    eFront Architecture

    Service Topology 3

  • 8/13/2019 eFront Architecture

    4/5

    The network elements are as follows:

    Trainees access the service through the internet and via an internet browser (IE 6 and above orMozilla Firefox 3 and above).

    Tutors access the service through the internet and via an internet browser (IE 6 and above orMozilla Firefox 3 and above).

    Internet cloud is the internet network accessed via any internet service provider. Router through which all internet traffic is passed through the local area network. Typically this is

    provided by the internet service provider along-with internet connection. External firewall is a system that secures a network, shielding it from access by unauthorized

    users. Firewalls can be implemented in software, hardware or a combination of both. In addition topreventing unrestricted access into a network, a firewall can also restrict data from flowing out of anetwork through various configurations.

    Demilitarized zone (DMZ) is a configuration, where most computers on the LAN run behind afirewall connected to a public network like the Internet. One or more computers also run outsidethe firewall, in the DMZ. These computers on the outside intercept traffic and broker requests forthe rest of the LAN, adding an extra layer of protection for computers behind the firewall.

    E-Mail server with SMTP (Simple Mail Transfer Protocol) gateway for sending emails.

    eFront Architecture

    Service Topology 4

  • 8/13/2019 eFront Architecture

    5/5

    E-Learning web-server with e-learning software installed on it. The proposed architecture will havefarm of web-servers with network load balancer.

    E-Learning QC web-server will be used for quality checking before we put system into production. Internal firewall same as above but this gives an extra layer of protection to internal network

    thereby securing the sensitive data from outside intruders. File server for e-learning is a dedicated network computer that stores data files so that other

    computers can share access to them. Database server for e-learning with databases needed by e-learning, digital library and web-

    conferencing system. The database server will use db clustering for 100% redundancy andreplication.

    Disk Array High performance disk arrays will be used for storing the DB data files and replication offiles from file server.

    eFront Architecture

    Service Topology 5