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:
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
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.
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.
excluding
references/appendices/tables, and must be uploaded in PDF format. The report should contain:
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.
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.
Please save/print your final report as a PDF file and upload it to Moodle before the deadline above.