Faculty of Engineering, Environment and Computing 6003CEM Web API Development

Purpose

This assessment is designed to demonstrate your knowledge and critical awareness of the various HTTP-based API technologies available for web application development. A scenario is provided through which you can explain your understanding using examples and evaluations of competing API technologies and architectures. You will demonstrate your understanding of the topic by exploring:

  • the benefits and risks of adopting API technologies for application development,
  • how the full-stack (API and client) ecosystem is developing at its cutting edge,
  • and emerging commercial best practices that API developers should be aware of.

Regarding code implementation, the 6003CEM module focuses on full-stack infrastructure using a RESTful API. However, more comprehensive research, understanding and evaluation of how this and other HTTP-based APIs (such as XML-RPC, JSON-RPC, SOAP, and others*) are used in commercial practice will gain you marks for this assignment.

For an explanation of how the marks are awarded, see the grading rubric at the end of this document.

* RPC = Remote Procedure Call, SOAP = Simple Object Access Protocol

Scenario

You work for a company specialising in providing full-stack web application solutions to business clients. A sizeable multi-national travel agent has approached you with outlet locations in many countries. The business is a "bricks and mortar" operation with a rudimentary web presence that lists its physical locations and offers downloadable PDF local tour plans for the customers.

The client has a centralised system for its stores and points of sale based on a Java desktop application and a PostgreSQL database that stores all tour information and local tour plan details. The IT department at the company currently develops and manages the software and the database in a small dedicated internal team.

The client wishes to build an e-commerce presence to shift up to 50% of its turnover to webbased bulk purchases within the next decade. They recognise that they must choose and implement a full-stack web application based around some form of HTTP-based API for this to happen. However, they have limited knowledge of the available API options, how they work, how they could integrate with their existing system, and how the company might benefit from each available choice moving forward.

Assessment Task

Your manager has tasked you with producing a software development feasibility study for the client, outlining the alternative HTTP-based API solutions available and recommending a solution for them, with a clear justification for the choice. Your manager has emphasised that you should make clear the costs/risks and the benefits of any software development recommendations you make in the report.

The submitted report should be 1000 words,

excluding

references/appendices/tables, and must be uploaded in PDF format. The report should contain:

  1. Brief introduction/abstract. (around 30 words) 
  2. A definition and comparison of several HTTP-based API full-stack web application software alternatives, with rated strengths and weaknesses for each suggested variation in the context of the client`s requirements. As well as RESTful APIs based on various programming languages,you may wish to consider XML-RPC, JSON-RPC, SOAP, and other HTTP-based APIs and their associated range of typical web clients, frameworks and libraries. 
  3. A solution recommendation for the client, with a clear justification and supported by diagrams.
  4. A suggested tech stack and architecture design for the selected solution to fit with both the client`s future needs as well as their current starting point. 
  5. A brief conclusion, including quantifying your confidence level in the proposed recommendation based on your analysis. (around 30 words) 6.
  6. References in correct APA format.

Guidance

Feasibility studies can be of many types, including technical, operational, economic, legal, or schedule/timeline. The report you write for this assessment task should be primarily a technical feasibility study: this takes account of current resources in terms of hardware and software and their maintenance, the technical skills of the existing team, and the technologies being evaluated for a proposed implementation.

Resources

You must conduct your independent research to write this report and base it on appropriately cited resources that you find online and through the library. A good starting point for the current state-of-the-art in the HTTP-based API development world is the following industry newsletter, which contains relevant curated links to technical articles and business analysis:

It is recommended that you subscribe to this newsletter and also look through its archive of previous issues to help you understand the types of API technologies and architectures being used and developed, and how these are being integrated into various products and businesses by development teams today.

Submission Process

Please save/print your final report as a PDF file and upload it to Moodle before the deadline above.

Notes:

  1. You are expected to use the Coventry University APA style for referencing.
  2. Please notify your registry course support team and module leader for disability support.
  3. Any student requiring an extension or deferral should follow the university process as outlined here. 
  4. The University cannot take responsibility for any coursework lost or corrupted on disks, laptops or personal computers. Students should, therefore, regularly back-up any work and are advised to save it on the University system. 
  5. Assignments that are more than 10% over the word limit will result in a deduction of 10% of themark i.e. a mark of 60% will lead to a reduction of 6% to 54%. The word limit includes quotations but excludes the bibliography, reference list and tables. 
  6. You are encouraged to check the originality of your work by using the draft Turnitin links on Moodle. 
  7. Collusion between students (where sections of your work are like those submitted byother students in this or previous module cohorts) is taken extremely seriously. It will be reported to the academic conduct panel. This applies to both coursework and exam answers. 
  8. A marked difference between your writing style, knowledge and skill level demonstrated in class discussion and test conditions and that demonstrated in a coursework assignment may result in you having to undertake a Viva Voce to prove the coursework assignment is entirely by yourself.
  9.  If you make use of the services of a proofreader in your work, you must keep your original version and make it available as a demonstration of your written efforts. Also, please read the university Proof Reading Policy. 
  10. You must not submit work for assessment that you have already submitted (partially or in whole),either for your current course or another university qualification, exceptresits, where for the coursework, you may be asked to rework and improve a previous attempt.This requirement will be detailed explicitly in your assignment brief or specific course or module information. Where earlier work by you is citable, i.e. it has already been published/submitted, you must reference it. Identical pieces of work submitted concurrently may also be considered to be self-plagiarism.

WhatsApp icon