INDICATIVE CONTENT
Re-usable class library
Designing re-usable class libraries
Building and distributing class libraries (e.g. Java packages, Java class libraries, C# class libraries, C# Nuget packages)
Testing re-usable class libraries (e.g. unit tests)
REST API
HTTP methods, headers and status codes
Producing and consuming JSON
REST architectural style
Designing REST APIs
Testing REST APIs (e.g. with Postman)
Token-based authentication
ADDITIONAL ASSESSMENT DETAILS
WRITTEN: Assignment 1: Create designs for both a re-usable class library, and REST API, including a test procedure - Learning Outcomes 1 and 2
PRESENTATION: Assignment 2: Take the created designs for Assignment 1 and implement these into two prototypes to present - Learning Outcomes 1 and 2
LEARNING STRATEGIES
65 hours of tutor-supported learning: lectures (to introduce key topics and concepts) and tutor-assisted practical sessions (to get hands-on practical experience of the principles taught in the lectures).
135 hours of independent learning: complete the practical work, explore the subject area, work on the assessments, and undertake formative, self-directed exercises.
LEARNING OUTCOMES
1. Design, implement and test an API in the form of a re-usable class library
Communication
Application
Reflection
2. Design, implement and test a REST API
Communication
Application
Reflection
RESOURCES
A suitable IDE (e.g. Visual Studio Professional; NetBeans)
A suitable web server (e.g. Apache, GlassFish, IIS)
A web browser
TEXTS
Amundsen, M. (2020) “Design and Build Great Web APIs: Robust, Reliable, and Resilient”. O'Reilly Media, Inc. ISBN: 978-1680506808
Biehl, M. (2015) “API Architecture: The Big Picture for Building APIs: Volume 2”. CreateSpace Independent Publishing Platform. ISBN: 978-1508676645.
Biehl, M. (2016) “RESTful API Design: 3”. CreateSpace Independent Publishing Platform. ISBN: 978-1514735169
Kocer, J. (2020) “ASP.NET Web API Core 5 - .NET 5.0: Develop Cloud Ready Web Applications by Example 2020”, Kindle edition. Amazon KDP.
Subramaniam, H. and Raj, P. (2019) “Hands-On RESTful API Design Patterns and Best Practices”. Packt Publishing.
Troelsen, A. and Japikse, P. (2017) “Pro C# 7”, 8th ed. Apress. ISBN: 978-1-4842-3017-6
An annually updated keylinks online resource bank will be made available
WEB DESCRIPTOR
In this module you will learn how to design, write and test two forms of Application Programming Interface: a re-usable class library and a RESTful Web service. The approaches and learning that you do will aid you by feeding into your other programming related modules.