This assignment is worth 80% of the total marks for this course.
This coursework must be completed individually.
Please read this entire specification very carefully so that you are fully aware of the
Imagine that each of the three London boroughs; Greenwich, Lewisham and Bromley, have
independently funded and implemented websites to advertise neighbourhood domestic service
providers (angels) for residents in their Borough. Service providers of various types
(babysitter, housesitter, plantsitter, catsitter, dogwalker, grannysitter, car washer, etc.) are able
to post details of services that they are able to provide and upload text and images to advertise
their services. Residents of the boroughs are able to browse and search for angels (service
providers) local to their home, possibly next door or in the same street.
In this coursework you are required to demonstrate heterogeneous web services by creating an
n-tier service-driven portal web site covering the three London boroughs of Greenwich,
Lewisham and Bromley. The portal will allow a single search to return results from multiple
boroughs (multiple, heterogeneous, distributed databases).
To begin with you are to create an XML language SML designed specifically to support
service providers. Your web services will then use your SML for communication.
Your first web services will be developed using the Microsoft SQL Server relational database
server provided by the centre, on which you are to implement a database populated with angel
Map showing the London boroughs of Greenwich
Lewisham and Bromley.
(service provider) data for the London Borough of Lewisham. Queries against this database
must be implemented as web methods (web services) using Microsoft .NET technology
programmed using C# and running from the Microsoft IIS web server provided by the centre.
Your next set of services will be developed using the MySQL relational database server
provided by the centre, on which you are to implement a database populated with angel data
for the Royal Borough of Greenwich. Queries against this database must be implemented
using PHP running from the Unix Apache web server provided by the centre.
You are then required to create a portal supporting searches for angels across both Greenwich
and Lewisham by consuming the web services you have created. This is to be implemented
using PHP running from the Nginx web server provided by the centre. This portal is to be
incrementally enhanced with a user interface using asynchronous partial page updates (AJAX)
and suitable for use on smartphones.
This practical work concludes with creating a third set of web services for angels in the
London Borough of Bromley using a technology of your choosing other than .NET, PHP, MS
SQL or MySQL. These services are used to extend your portal so that it returns results
merged from all 3 boroughs.
In completing this coursework it is recommended that you strictly adhere to the specification
and keep it simple.
Functionality to be achieved
This is expressed as a number of levels. The level of functionality implemented in your
application will determine the maximum possible mark that you can achieve. The actual mark
awarded depends on the quality of your work. Make sure that you fully understand the
grading and assessment criteria.
It is recommended that in designing your databases, XML, web services and web sites you
should allow for all of the features to be implemented. Starting with level 1 you should
incrementally enhance your work to include the next level. Make sure that you do not
overwrite a level when proceeding to the next level. Each level must be available for
Level 1 : XML : 8 marks
Design an XML language for angels, SML, that can be used to describe angels (name, id,
email, and so on) and their services (type, location, availability, description, charges, images
and so on). Create example XML documents with DTD and XSD schema files that validate
these documents. Your design should be able to support lists of many angels with few details
as well as providing complete details of a single angel. Consider carefully how you will
handle images in your design.
Note: Your XML schema should reflect a view of your databases rather than reproduce the
schema of your databases. Databases and XML files require rather different approaches to
data modelling and storage. How can you make effective use of XML attributes? Handling of
XML attributes in a database is not obvious, nor is handling relationships in XML. Do not
forget to include your DTD, XSD and example SML files in your final report.
""""More Info Attached within"""""