Assessment Plan
Individual Project Details
Due: April 17th
- Details
- An assay of at least 200 words on a topic selected from the EssayTopics file (one from Team).
- A simple RESTful web service, A client and a core 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 client 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 operations.
- 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 - Town
Due: May 19th
- 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 are 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 be fully administered by the messages sent 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, RabbitMQ, or KafkaMQ.
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.4 + TeamGrade * 0.6
- 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