88736065 การพัฒนาเอพีไอส่วนหลังบ้านสำหรับโปรแกรมประยุกต์

หน่วยกิต 3(2-2-5)

Join classroom

คำอธิบายรายวิชา:

หลักการสำคัญของเว็บเซอร์วิสและเอพีไอ มาตรฐานสำหรับเว็บเซอร์วิส สถาปัตยกรรมไมโครเซอร์วิส การสร้างเซอร์วิส การทำงานร่วมกับฐานข้อมูล การทำแคชชิ่ง การออกแบบเอพีไอ เพื่อรองรับการใช้งานจากโปรแกรมประยุกต์รูปแบบต่าง ๆ การทดสอบเอพีไอ การสร้างเอกสารเอพีไอ การเรียกใช้งานเว็บเอพีไอจากผู้ให้บริการต่าง ๆ การพิสูจน์ตัวตน และการตรวจสอบสิทธิ์ การออกแบบส่วนหลังบ้านเพื่อรองรับระบบขนาดใหญ่ ประเด็นเกี่ยวกับความปลอดภัย

วัตถุประสงค์ของรายวิชา

  1. เข้าใจหลักการพื้นฐานของเว็บเซอร์วิสและเอพีไอ
  2. สามารถออกแบบและพัฒนาเอพีไอตามมาตรฐานที่เหมาะสม
  3. เข้าใจสถาปัตยกรรมไมโครเซอร์วิสและการประยุกต์ใช้งาน
  4. สามารถพัฒนาระบบที่ทำงานร่วมกับฐานข้อมูลและระบบแคชชิ่ง
  5. เข้าใจและประยุกต์ใช้การพิสูจน์ตัวตนและการตรวจสอบสิทธิ์
  6. สามารถจัดการด้านความปลอดภัยสำหรับเว็บเซอร์วิส

นโยบายการใช้ AI และเทคโนโลยีใหม่

การใช้ AI และเทคโนโลยีใหม่ในการวิเคราะห์และออกแบบระบบจะต้องเป็นไปตามนโยบายของมหาวิทยาลัยและกฎหมายที่เกี่ยวข้อง โดยผู้เรียนไม่ควรใช้ AI ในการทำงานที่ต้องการความคิดสร้างสรรค์หรือการวิเคราะห์เชิงลึก แต่สามารถใช้ AI เพื่อช่วยในการค้นคว้าและรวบรวมข้อมูลได้ อย่างไรก็ตาม ผู้เรียนต้องรับผิดชอบต่อความถูกต้องและความสมบูรณ์ของงานที่ส่ง และต้องอ้างอิงแหล่งที่มาของข้อมูลที่ได้จาก AI อย่างเหมาะสม

กำหนดการสอน

สัปดาห์ หัวข้อ/รายละเอียด slides/labs
1 พื้นฐาน (Learn The Basics)
  • What are APIs
  • URL, Query & Path Parameters
  • Content Negotiation
  • Understand TCP/IP
  • Basics of DNS
pdf
lab
2 HTTP
  • HTTP Versions
  • HTTP Methods
  • HTTP Status Code
  • HTTP Headers
  • Cookies
  • CORS
  • HTTP Caching
pdf
lab

เปรียบเทียบ HTTP เวอร์ชั่นต่าง ๆ
Chrome Storages Compare
CORS
Preflight Request
HTTP Caching
API Security Essentials

40 JavaScript สมัยใหม่
3 รูปแบบ API ต่างๆ (Different API Styles)
  • RESTful APIs
  • GraphQL APIs
  • API อื่นๆ Simple JSON APIs, SOAP, gRPC APIs
ตัวอย่างการเขียน API ด้วย Node.js, Express.js, MySQL
Todo API - array
Book API - MVC, array
Product API - MVC, MySQL
pdf
lab2.1-Restful API

Code Restful easy version.pdf
ความแตกต่างระหว่าง Easy version และ lab02.1-Restful API

lab2.1-GraphQL API

RESTful API
RESTful-6 Principles
คู่มือ GraphQL
Implement Food Delivery - backend
HW#1

โจทย์ TaskManagement.pdf
4 การสร้าง JSON/RESTful APIs
  • REST Principles
  • URI Design
  • Versioning Strategies
  • Handling CRUD Operations
  • Rate Limiting
  • Idempotency
  • Error Handling
pdf
Lab-Versioning
Lab-Rate Limiting
Lab-CRUD Idempotency
Lab-6 Principles
Task Management with DB
5 วิธีการยืนยันตัวตน (Authentication Methods)
  • Basic Auth
  • Session Based Auth
  • Token Based Auth
  • JWT
  • OAuth 2.0
JWT อย่างง่าย
HTML-Google-OAuth2.0
HTML-API-Google-OAuth2.0
pdf
Lab-Basic Authentication
Lab-Session Based Authentication
Lab-Token Based Authentication
Lab-JWT Authentication
Lab-OAuth 2.0 Authentication
6 วิธีการอนุญาต (Authorization Method)
  • Role Based Access Control (RBAC)
  • Attribute Based Access Control (ABAC)
pdf-RBAC-ABAC


lab-RBAC
Bug Tracking Specification
ดาวน์โหลด Bug Tracking System.7z

lab-ABAC
ดาวน์โหลด ABAC Hybrid.7z
คำอธิบาย lab RBAC, ABAC
7 API Documentation Tools
  • Swagger/Open API
  • Readme.com
  • Stoplight
  • Postman
pdf-API-Document and Tools, Tools
Express API with Swagger , demo-code(ทำตาม README ทั้ง 2 ไฟล์) , หรือ demo-code.zip

API Document - Good/Bad
ใช้งาน API Documentation อย่างไร
API Document Template
8 API Keys & Management
  • API Gateways (AWS API Gateway, Kong, Zuul)
  • Key Management Services
  • Authentication Platforms
  • Security Management Tools
pdf-API Keys and Management
lab-API Gateway with Kong
9 ความปลอดภัย API (API Security)
  • Common Vulnerabilities
  • API Security
pdf-API Security
10 ประสิทธิภาพ API (API Performance)
  • Performance Metrics
  • Caching Strategies
  • Load Balancing
  • Rate Limiting/Throttling
  • Profiling & Monitoring
  • Performance Testing
  • Error Handling/Retries
pdf-API Performance
11 รูปแบบการรวม API (API Integration Patterns)
  • Synchronous Vs Asynchronous APIs
  • Event Driven Architecture
  • API Gateway
  • Microservices Architecture
  • Webhooks Vs Polling
  • Batch Processing
  • Messaging Queues
  • RabbitMQ
  • Kafka
pdf-API Integration Patterns
12 การทดสอบ API (API Testing)
  • Mocking APIs
  • Contract Testing
pdf
13 Real-Time APIs
  • Web Sockets
  • Server Sent Events
pdf
14 API Lifecycle Management pdf
15 มาตรฐานและการปฏิบัติตาม (Standards and Compliance)
  • GDPR
  • CCPA
  • PCI DSS
  • HIPAA
  • PII
pdf

องค์ประกอบและสัดส่วนการวัดผล

การประเมินผล

ตำราและเอกสารหลัก

เอกสารแนะนำ

O]O 3160