Q: What is the external data source and why do I have to use it?
A: The general notion of a
remote data source that we require you to use in your project is to
query two data sources of like data concurrently and on the fly, and
have the results merged and presented alongside each other. One of the
data sources will be your local database, which you have exclusive
access to, and the other will be some external data source. For now,
do not be concerned with how you will merge the data together; we will
learn this later in the course.
For simplicity, you can assume that the external data source is
read-only, and you can assume that it stores data that has the same
structure as your own database, although you do not have to.
The main requirement is that you will have queries that span both
databases, where you will need to merge data from the two
databases to obtain the result of a query.
An example would be a course registration system that allows you to
register for courses in two different universities. The external data
source would be the timetable of the other college (although you
handle the enrollment for both colleges.) In this case, if a
student would like to enroll in a freshman English class, a query
would go to both databases and then the merged results would be
presented to the user.
Another example would be a flight reservation system that allows you
to make reservations from another airline. In this case, you could
assume that the database structure of the other airline is identical
to your database. But note that in this case the external data source
is not read-only (the other airline actually has to keep track of
which flights have now reservations), but you will be able to reuse
most of the code that you wrote for your local database.
Q: What should the proposal
proposal contain?
A: You need to cover the following points:
Describe the application that you will build at a high level.
Describe its functionality so that a reader of the document will be able to completely understand what the application will be able to do.
Describe the data that is stored in the database. An informal description is good enough.
Describe how the functionality of the application is distributed over the three tiers of the three-tier architecture: What is done at the database server, what is done at the application server, and what is done at the client.
Describe your external database and how it is used.
Q: How will the project
proposal be graded?
A: The proposal will be graded based on whether you have covered the
points outlined in the previous paragraph.