Webber: A Website Construction Application
Informal Specifications
Requirements Definition
This program will provide an environment for the creation and display of text files containing
Hyper-Text Mark-up Language (HTML). It will allow HTML files to be retrieved, displayed and
updated without the need for an external editor or browser application. It will be able to
retrieve files from a local file-system or across the Internet from remote systems. It will
allow multiple files to be opened simultaneously for both viewing and editing, to aid in the
construction of a multi-page website. The browser part of the application will support a
subset of the standard HTML specification and the editor will be customized to the task of
editing HTML text.
Design and Implementation
The Java Development Kit
Since this is an internet application, the implementation should be as portable and
platform-independent as possible, to allow easy conversion for use on the different hardware
platforms that are connected to the network. It has therefore been implemented in Java, using
version 1.1 of the Sun Java Development Kit, as this platform was designed with the Internet
in mind. The Java Development Kit (JDK) includes many features which assist in the construction
of a GUI-based internet application like a web-browser.
Uniform Resource Locators
One particularly useful innovation contained within the JDK is the URL class, which
encapsulates a Uniform Resource Locator (URL) specification. Given a URL specification,
such as:
http://www2.unl.ac.uk/~efm001/
the URL object allows you to retrieve the contents of the specified (or implied) file with a
single method invocation without having to worry about the actual mechanics of the connection
to the remote host, which involves dealing with ports and sockets and other such nastiness.
The process of opening a remote file with a URL object is thus very similar to opening a local
file, which greatly simplifies the implementation of an important aspect of this project; the
retrieval of HTML files across the Internet.
HTML Display Component
The Abstract Windows Toolkit, which makes up a large part of the JDK, provides the windowing
environment and a basic set of GUI components, such as labels, buttons and text-input areas.
It does not currently provide any very specialized components, such as a built-in
browser-component or even a component that simply displays HTML output. One of the tasks of
this project will therefore be to implement a GUI component which processes a file of HTML
text and displays the HTML output. The component is required to implement a subset of the
standard HTML specification and should allow easy extension to include more of it. The
object-oriented nature of the Java language will make this easier, since it encourages the
design of re-usable and replaceable objects.
HTML Editor Component
The JDK does provide a GUI component called TextArea which allows the input of multi-line text.
This component could be used to implement a very simple text-editor which would make the
implementation of the HTML editor part of this project into a trivial task. Unfortunately,
the internal operation of the TextArea component is kept strictly private, which means it
cannot be specialized to do things like highlight HTML tags within the text. For this project
it will therefore be necessary to implement a customized HTML text-editor component from
scratch.
Go To: IM250: Industrial Project