Women in Technology

Hear us Roar



Article:
  The PHP Scalability Myth
Subject:   Scalability in the possible real world
Date:   2003-10-17 21:18:53
From:   anonymous2
Here's a web application for you.


The government of country A is cash strapped and needs a learning content management system and testing system for it's public schools, military, hospitals and universities. The government wants to allow all citizens to be able to check out learning materials (SCO's=shareable content objects) that can have test/progress results stored in a database that gov. ministers can see the "progress" of learning in the kingdom. New knowledge material can be updated dynamically across several sites. As soon as something new is viable enough for creating a class or learning session over the web, a learning object is created.


Several institutions must have a local server available for their use since the internet is not so reliable in country A. The system must have some safegaurds against cheating and fraud.


What is the best way to store a student's progress in the system across courses, years, sites and institutions?


Country A has several college students who can program but cannot afford expensive programmers, or Microsoft products, and cannot spend money buying solutions. Country A's people want the pride of having their own learning system that is standards complaint with various international learning standards and groups (RDF,AICC/SCORM/ADL). Moreover, they want their school's curricula and libraries accessible over the web by handicapped persons (section 508).


They want an opensource solution. Maybe a database such as Firebird, post-gre, mysql or even Oracle/MS Sql since each institution has their own database system. They want the datatypes to be stable across the application. They want an installer package that can set up a webserver/database server that can then download current courses/records to a central distributed repository on demand (DB to DB transfers, XML transfers, etc.)


What would you go with?


Would you use Java, Jython, PHP, Python, Perl, Pike or a more developed Content system like Plone/Zope that may require programming for the AICC/SCORM code base, etc.


I think with LAMP. PHP might win.


Tom Ellis

Full Threads Newest First

Showing messages 1 through 2 of 2.

  • Scalability in the possible real world
    2003-10-21 12:13:18  anonymous2 [View]

    this sounds a lot like the PFP LMS, a project I am curretnly working on. For me the choice is different in this situation. I think that there are plenty of open source solutions (PLONE, and in PHP XOOP or PHP Nuke) that can lift the abstaction and elminate reinventing a lot of features. They are extensible and could provide a good starting point for a project of the type you have described.

    Ivan Labra
  • Scalability in the possible real world
    2003-11-09 16:25:12  anonymous2 [View]

    I think FRAP as in FreeBSD, Ruby, Apache,PostgreSQL.
    Ruby has binding with pg and even a plruby module. XML (and xml-rpc and SOAP) are available with the basic distro. Apache+eruby+mod_ruby or FastCGI give you scalability and ease of development. And Being Full OO helps a lot.

    BTW this looks somewy similar to what Dave Thomas did:
    http://www.zenspider.com/dl/rubyconf2002/SummerVacation.tgz
    In these slide he explains how he wrote a first class app in ruby and why he did not choose java. And for sure he's not a java hater :)