where the highest-scoring candidates apply and get
admitted to a large number of schools, but still de-
fer the decision as to which of them they finally want
to go to. Such candidates ’block’ places that could
have been taken by the medium-scoring applicants,
who, in turn, ’block’ places for the candidates with
the lowest marks. When a highest-scoring candidate
makes the final decision and thus frees the ’blocked’
places, the rest of the candidates may want to change
their previous decisions and move to more prestigious
schools. In practice, because of the ’blocking prob-
lem’, the ’manual’ admission would every year boil
down to a series of cascading decision changes and
endless updating of admission lists, which was both
time-consuming and stressful.
The main objective of Nabor was therefore to pro-
vide high enough a level of co-ordination between all
high schools in the city as to reduce the time and effort
involved in the admission process. The key idea was
to gather all necessary data (e.g. candidates’ marks,
admission limits set by schools) in a central database
and design an algorithm that would generate admis-
sion lists for all schools in Poznan in one step. This,
however, was to be achieved at the cost of unification
and minor modifications to the admission procedures.
3 SYSTEM DESIGN AND
ARCHITECTURE
3.1 Requirements
Being largely influenced by legal regulations, the de-
sign and architecture of Nabor had to meet a number
of requirements. Below we summarise the most im-
portant of them:
• High security standards. A great majority of data
processed by Nabor (e.g. candidate’s marks) was
of a confidential character and had to be carefully
protected from unauthorised access and modifica-
tion. Also, the system had to be designed in such a
way as to minimise the possibility of manipulating
the admission results and to enable tracing possible
manipulation attempts.
• Fault-tolerance. The high school admission proce-
dures divide the whole process into several phases
and impose strict deadlines on each of them. For
example, one of the final phases is entering the can-
didates’ marks to the system, which must be com-
pleted by all schools within a time span of two or
three days. Therefore, our software had to be able
to operate even in case of a temporary failure of the
central database or the network infrastructure.
• Correctness of results. The future of thousands of
Poznan’s pupils depended on the admission results
generated by Nabor. For this reason, every effort
had to be made to ensure that the results were 100%
correct.
• Varied user group. An important characteristic of
Nabor was also the fact that it required active in-
volvement of all parties of the admission process.
High school candidates used the system to find out
about the offered schools, fill in and print out the
application form. School administration used Na-
bor to enter the candidates’ data and download the
admission lists once the admission had been closed.
Finally, for the local education authorities the sys-
tem provided a range of analytical reports, which
aided global planning.
3.2 Design decisions
Deciding on the architecture of Nabor required an-
swering a number of fundamental design questions,
such as whether to create a rich- or web-client appli-
cation or whether to adopt the on-line or the off-line
processing model. Below we evaluate the trade-offs
resulting from the three design questions we found
most important.
3.2.1 Rich client vs. web client
In the rich client application model (also referred
to as thick or fat client model) the major part of
data processing is performed by software deployed
on the client’s workstation. The software is usually
a standalone GUI (Graphical User Interface) appli-
cation, which contacts the central server only when
retrieving or updating business data. Below we sum-
marise the advantages and disadvantages of the rich
client model in the context of Nabor.
Rich client advantages
• Responsiveness and usability. Compared to web
applications, GUIs offer much shorter response
time and are easier to usability-tune (keyboard
shortcuts and navigation, accessibility options,
etc.). These are very important factors for sys-
tems which like Nabor involve entering massive
amounts of data over a short period of time.
• Familiarity. If the GUI application is consistent
with the host Operating System’s look and feel, it
can be a great learnability advantage. With a varied
end users group, good learnability of the software
may shorten the training period.
• Data caching. A standalone client can more eas-
ily cache data that a web application would have
to repeatedly fetch from the server. An example
of such data, a so called system dictionary, can be
ICEIS 2005 - SOFTWARE AGENTS AND INTERNET COMPUTING
146