Design - continued ......
PHP
PHP is the most popular server side scripting language because
it is easy to develop applications through its large range
of libraries and as a result quick to learn. PHP usage has
exploded as an enterprise application development solution-it's
not just for home pages and small projects any more. As well
as being freeware and platform independent, PHP allows fast
integration with MySQL and Apache HTTP Server. PHP creates
HTML from the script allowing dynamically created web pages.
Unfortunately, while the language’s feature set is
very large, “No built-in PHP functions can post a message
to a news group.” Essentially this would mean re-invention
of the wheel, a set of functions would need to be written
to perform this task, which would prolong development and,
more than likely, at least cancel out any advantage a simpler
language may introduce.
|
Advantages |
Disadvantages |
Rapid development language. |
Inherently insecure language |
‘Out of the box’ support for CGI |
Lacking functionality to communicate with the NNTP protocol |
‘Out of the box’ support for database server
access (both MySQL and PostgreSQL) |
|
Java
The Java technology is an object-oriented, platform-independent,
multi-threaded, programming environment. Programs written
in Java are compiled to a ‘portable intermediate’
form known as byte codes, which are then interpreted by a
Java Virtual Machine when the program is executed. This architecture
means that typically Java programs are slower than purely
compiled languages, such as C or C++, but faster than interpreted
languages, such as Perl or PHP. Furthermore, when running
Java programs there is also a small startup cost meaning that
other interpreted languages may start faster even though they
may ultimately process slower.
Another drawback of using Java for this project is that Java
does not have a built in API for communication with NNTP servers,
although thankfully there is a 3rd party component available
for doing this - The [JSCAPE] NNTP component provides an easy
to use API for communicating with an NNTP server.
To overcome the problem of startup times when using Java
in a CGI environment, “The Apache Jakarta Project”
was founded in order to create and maintain a “commercial-quality,
open-source, server-side solutions for the Java Platform”.
In other words, a persistent Java based web server application
which would allow Java Servlets and JavaServer Pages to function
as if running as straight forward CGI applications.
Advantages |
Disadvantages |
Cross platform |
Requires 3rd party software for use with both CGI and
the NNTP protocol |
|
Applets require specific browser plugins to be used |
|
Long development time |
|
I have less experience using Java when compared to alternatives. |
|