Assessment Plan
Individual Project Details
- Due: April 15th.
- Details:
- An essey of at least 500 words on a topic selected from the 'Essays Titles' file from Teams.
- A simple RESTful web service. A client and server that will implement the CRUD operations.
- Expected outcome:
- The source code should be hosted in the individual github classroom repository.
-
At least the following requirements should be met:
- The server should be able to receive HTTP requests from clients using the RESTful API.
- The server should be able to respond to these requests with the appropriate HTTP status codes (e.g. 200
OK, 404 Not Found, etc.) and a response body in JSON format.
- The server should have a database or other data storage mechanism to persist data sent by clients.
- The server should implement CRUD operations (Create, Read, Update, Delete) for the data stored in the
database.
- The server should handle concurrent requests from multiple clients.
- The server should validate incoming requests to ensure that they conform to the expected format and that
the data being sent is valid.
- The client should implement the full CRUD opearations.
- The client should be able to receive responses from the server in JSON format.
- The client should display the data received from the server in a user-friendly way.
Team Project Details - Team
- Due: May 15th.
- Details:
- A team of two students to tackle a bigger project.
- Expected outcome:
- The source code should be hosted in the team github classroom repository.
-
At least the following requirements should be met:
- The project should use web services technology (e.g. SOAP, REST) to allow clients to access the server's
functionality.
- The client should have a user-friendly interface that allows users to interact with the server's
functionality, and implement at least the CRUD operations.
- The MOM framework used should support load balancing to distribute incoming requests across multiple
servers (at least two nodes should be used) to ensure that no single server becomes overloaded.
- The MOM framework used should support failover to ensure that if one server fails, requests can be
automatically redirected to another available server to ensure continuous service.
- The MOM framework used should provide message persistence to ensure that messages are not lost in the
event of a server failure.
- The MOM framework used should provide reliable message delivery to ensure that messages are delivered to
their intended recipients, even in the event of a network failure or other disruption.
- The MOM framework used should support message queuing to enable asynchronous communication between
clients and servers.
- The MOM framework used should explicitly acknowledge the messages between the client and the message queue.
- The project should be designed to scale horizontally to handle increasing numbers of clients and data
volume.
- The MOM framework used should provide security features to ensure the confidentiality, integrity, and
availability of messages.
- The project should be designed to work with existing MOM frameworks, such as Apache ActiveMQ, IBM MQ, or
RabbitMQ.
Final grade
- You will receive a final grade only if you successfully submitted the details for both the
individual and the team project.
- Final Grade = IndividualGrade * 0.5 + TeamGrade * 0.5
- If the above deadlines are not met for one of the projects in order to receive a grade you will need to
attend the session exam. In this case the Final Grade = IndividualGrade * 0.4 + TeamGrade * 0.4 + Exam Grade * 0.2