REST API Design, Development & Management
What you'll learn
- Design and Develop RESTful API by applying the best practices & REST constraints
- Create practices for API security, versioning, lifecycle management, documentation and other important aspects
- Write specifications in Swagger2.0/OAI specifications in YAML format
- Create an API management strategy for your enterprise
- Leverage some of the common API management platforms for building API proxies (APIGEE, IBM API Connect, Mulesoft Anypoint)
- Any one modern programming language such as Java or Node JS or Go or PHP
- Familiarity with web application architecture
- Idea on XML or JSON formats
- Understanding of the concept of service
This COURSE does NOT focus on Coding of REST API - Focus is on Designing using proven patterns.
Please do NOT enroll if your objective/Goal is just to learn "Coding" part of the REST API.
How was this course created?
Author (Raj) has worked with many large organizations for building their Digital Strategy in which API was a central theme. Over the years author recognized certain patterns and practices that led to successful API initiatives. Intrigued by his findings author did thorough research of 100's other successful API providers (examples: Facebook, Expedia, Capital One ...) and that resulted in a collection of Best practices and Design patterns that are covered in this course.
This course covers all the important aspects related to design, development and management of API. The best practices, design patterns, challenges, suggestions & options discussed in this course are either:
Created by analyzing how the popular API providers such as Facebook, Twitter, Capital One etc are building and managing their API
Taken from personal experiences of the author
Course is divided into 6 Parts:
1. Setting the stage - Discusses a case study (ACME travels) used through the course + provides information on tools used
2. Evolution of REST API - Lectures in this section will cover the foundational concepts + Why REST/JSON has become a defacto standard
3. Designing the REST API (Covered in multiple sections)
This is where students will learn the:
To demonstrate the implementation aspects, a set of NodeJS based API is also implemented for a fictitious enterprise ACME Travels.
4. Securing the REST API
When an API is exposed by an enterprise to the public internet, it poses a risk to the enterprise as hackers may use the vulnerabilities in the API to launch attacks against the enterprise. There are multiple types of such Functional attacks that the API provider must consider. You will learn about the common attacks and the best practices for protecting the API.
5. Swagger 2.0 / Open API Initiative specifications
This section will begin with the description of Collaborative specifications development process & benefits of adopting contract first approach. At the end of this section student will be able to write Swagger/OAI specifications for their own API. As part of the lectures, a complete specification will be created for ACME Vacations.
6. API Management
API management is the process of publishing, documenting and overseeing application programming interfaces (APIs) in a secure, scalable environment. Lectures in this section cover the details of the following activities that an API provider carry out within the scope of API management.
APIgee, IBM API Connect & Mulesoft platforms will be used for demonstrating the various API management aspects discussed in the lectures. Students are encouraged to try out these platforms on their own to get a good feel of what API management platforms bring to table. The three platforms offer a free trial version that can be used for testing.
WHY REST API?
Today Enterprises are using REST APIs for not just building mobile applications but also for:
Creating new channels for partnership
Building new revenue streams & business models
Promoting their brands
Just creating the API does not guarantee that the enterprise will be able to achieve the desired goals from API perspective. Adoption of API by developers depend on multiple aspects such as its utility, ease of use, performance, scalability, security. The API provider must apply best practices throughout the life cycle of an API.
Who should take this course?
This course is suited for any technologist interested in learning REST API from end to end perspective not just from the coding perspective. Though this course uses NodeJS for demonstrating the design best practices, it does not require students to have any prior experience wth NodeJS.
To take this course the student is expected to know any one (or more) programming language; have understanding of web application architecture; to be familiar with the concept of services ; understands the data formats such as JSON or XML
Please note that this course will NOT teach how to code REST API in NodeJS.
Who this course is for:
- Technologists interested in learning where, when and how RESTful services should be used in application
- Developers of web, mobile, IoT applications looking to build RESTful services on the backend
- Solution architects interested in learning how they can leverage "API Management Platforms" such as Apigee/Mulesoft/IBM API Connect
- IT Leads aspiring to become architects
- This course will NOT teach the student how to code Node JS. Use of NodeJS is to demonstrate the implementation of concepts discussed in the lectures.
- This course is NOT for students looking to learn just the coding of REST API
I am a hands-on Information Technology consultant experienced in large scale applications development, infrastructure management & Strategy development in Fortune 500 companies. I have 20+ years of experience in IT industry; a passionate technologist who loves to learn and teach technologies.
In my current role (day to day job) I partner with large enterprises to adopt AWS Cloud, Microservices, Databases, API, AI, Machine Learning & Blockchain. I hold all 11 AWS certifications.
Since 2016, I have published 10 courses on Udemy and other learning portals. Thanks to over 100K students worldwide for their continuous support and encouragement.