Course Handout
Course Handout
Course Handout
Course Description
Course Objectives
CO1 Introducing the modern application landscape ranging from web, mobile apps to cloud
native, Serverless apps
CO2 Developing understanding about the typical structure, design and implementation
considerations of an end-to-end application
CO3 Exploring the frameworks, tools choices available for various types of cross platform
applications such as native, hybrid , web and multiplatform apps
CO5 Identifying the need, architectural styles, design considerations and management
essentials for the Application Programming interfaces (APIs)
Text Book(s)
T1 Designing Web APIs – Building APIs that developers love, Jin, Sahni, Shevat ,
O’REILY
T2 Continuous API Management – Making the right decisions in evolving landscape,
Page | 1
Medjaoui, Wilde, Mitra, Amundsen, O’REILY
Learning Outcomes:
Students will :
LO2 Appreciate the necessity and usage of modern edge cloud based application platforms
required for microservices and Serverless apps
LO3 Obtain hands-on experience in multiplatform application design and development using
the cutting edge framework involving user interface, interaction with server side etc.
LO4 Recognize the role, usage of APIs in applications and experience the design and
development of APIs using the commonly used ecosystem tools
LO5 Realize the need for API management, challenges involved therein and considerations for
the same
Glossary of Terms
Contact Hour CH Contact Hour (CH) stands for a hour long live session with
students conducted either in a physical classroom or enabled
through technology. In this model of instruction, instructor led
sessions will be for 32 CH.
Page | 2
Recorded RL RL stands for Recorded Lecture or Recorded Lesson. It is
Lecture presented to the student through an online portal. A given RL
unfolds as a sequences of video segments interleaved with
exercises.
Modular Structure
Module Summary
No. Content of the Module
M1 Modern Application Landscape
• Web apps
• Mobile applications
• Cross Platform applications
• Cloud native applications
• Serverless Apps
• API Products
M2 App Structure
• Typical structure of end-to-end application
o Frontend and Backend components, Databases
o Interaction between the components
• Modern Architectural Styles
o Modern app requirements
o Architectural styles overview
M3 Modern App Architectures
• Microservices
o Motivation, Architecture, Constraints
o Migrating legacy applications
• Cloud Native Architecture [Optional]#
o Distributed Systems and Fallacies, 12 factor app
o Cloud based architecture
o Motivation, Principles, Architecture, Components, Constraints
• Serverless Architecture
o Deployment approaches
o Cloud services for development, testing and deployments of applications
(P/B/FaSS)
• Low Code Architecture [Optional] #
o Motivation, use cases, choices
M4 Serverless Apps
• BaaS/mBaaS
o Motivation, Choices (Firebase / Parse / Back4App )
• FaaS [Optional] #
o Motivation, Options (AWS Lambda / Google Cloud Functions / Azure Functions
)
Page | 3
M5 Cross Platform Mobile Applications Development
• Native Applications
o Platforms – Android, iOS etc.
o Framework choices, benefits, limitations
• Cross Platform – Native Applications
o Motivation, working
o Framework Choices (ReactNative, Xamarin, Flutter etc.)
• Cross Platform - Web Apps
o Purpose, working
o Framework Choices (Ionic, Cordova/PhoneGap, Capacitor)
M6 API Design
• Application Programming Interfaces
o Motivations, requirements, constraints
o API Paradigms
o API Platform Architecture
• API Design Practices [Optional] #
o Design of API
o Best practices
o Developer resources
• API Specification / Description
o Usage
o Languages
M7 API Management
• API as a Product
o Challenge of API Management
o API as a Product lifecycle
o Continuous API improvement
• API Landscape
o API teams
o API Management at scale
o Managing API lifecycle in an Evolving Landscape
Type Description/Plan/Reference
RL_1.1.* • Web apps
RL_1.2.* • Mobile applications
Page | 4
CS 1.1 • Single Page Aplications, MVC • Classroom
• Mobile Apps - Landscape discussion
• Cross Platform Apps - Comparison with
Native Apps
CS 1.2 • Cross Platform Apps - Selection of app type • Classroom
• Cloud native Landscape discussion
• Serverless Computing
• API Products
SS 1.1 • Identify the factors that needs to be taken into consideration while
developing mobile apps
• Note down the common APIs those are used in applications that we
daily use
• Explore more on the
Microservices
Serverless applications types
Types of APIs
LE 1 • Typical Web Application development with • [Optional]
nodejs
Type Description/Plan/Reference
RL_2.1.* • Frontend components
RL_2.2.* • Backend components
RL_2.3.* • Databases [Optional]
Page | 5
M3: Modern App Architectures
Type Description/Plan/Reference
3.1 Modern App Architectures - I
RL_3.1.* • Microservices Architecture
RL_3.2.* • Cloud Native Architecture [Optional]
Page | 6
M4: Serverless Apps
Type Description/Plan/Reference
RL_4.1.* • Backend as a Service (BaaS)
RL_4.2.* • Function as a Service (FaaS) [Optional]
Type Description/Plan/Reference
5.1 Native Applications
RL_5.1.* • Mobile Apps Development
RL_5.2.* • Native Applications
Page | 7
RL_5.3.* • Cross Platform-Native Apps
Type Description/Plan/Reference
RL_6.1.* • API
RL_6.2.* • API Paradigm
Page | 8
o API Paradigms
Type Description/Plan/Reference
RL_7.1.* • API Product management
RL_7.2.* • API Change Management
Contact Session 11
Page | 9
Session Type Description/Plan Reference
11 CS • Review / Buffer
Page | 10
Evaluation Scheme:
Notes:
Syllabus for Mid-Semester Test (Open Book): Topics in M1 to M4 (contact sessions 1 to 5)
Syllabus for Comprehensive Exam (Open Book): All topics
Page | 11