Bài giảng Phát triển ứng dụng đa nền tảng - Chương 6: Đa nền tảng với Cloud Computing
lượt xem 8
download
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 6: Đa nền tảng với Cloud Computing. Chương này cung cấp cho học viên những nội dung về: mô tả sản phẩm; chiến lược quyết định; ước lượng chi phí và giới hạn; lợi nhuận;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Phát triển ứng dụng đa nền tảng - Chương 6: Đa nền tảng với Cloud Computing
- Đa nền tảng với Cloud Computing 1
- Tóm tắt Các ứng dụng muốn chinh phục hàng triệu người dùng thì chúng cần kết nối với Internet: liên lạc giữa các bạn bè (Facebook), liên lạc giữa ứng viên và công việc (LinkedIn, Outlook) liên lạc với người nổi tiếng (Twitter, Instagram) Để phục vụ số lượng lớn người dùng, đem lại nội dung phong phú, cập nhật thông tin liên tục => cloud computing Xây dựng backend cho ứng dụng cần được làm trước khi phác thảo giao diện cho ứng dụng. Case study: lựa chọn công nghệ backend để phát triển ứng dụng đa nền tảng Domus - kết nối mọi người trong gia đình Navez, Jérôme ; Pérignon, Xavier. Development of a cross-platform mobile application using cloud computing. Ecole polytechnique de Louvain, Université catholique de Louvain 2
- Thuật ngữ Thiết bị Điện thoại thông minh hoặc máy tính bảng Client Một ứng dụng chạy trên thiết bị User Người cài đặt ứng dụng trên thiết bị (Người dùng) Thành viên Một user đã đăng ký mình là thành viên của gia đình (user đã kích hoạt) FCM Firebase Cloud Messaging JWT JSON Web Token PaaS Platform as a Service 3
- Mục lục 1. Giới thiệu 2. Mô tả sản phẩm 3. Chiến lược quyết định 4. Ước lượng chi phí và giới hạn 5. Lợi nhuận 4
- 1. Giới thiệu 5
- 1. Giới thiệu Mục đích: giới thiệu quy trình chọn lựa các công nghệ cloud để xây dựng backend cho ứng dụng đa nền tảng Trình bày các bước để ước lượng chi phí và lợi nhuận khi áp dụng Cloud để phát triển ứng dụng Mục tiêu: - hiểu được và tuân thủ GDPR (General Data Protection Regulation) - nắm được các ưu nhược điểm của các công nghệ Cloud computing - Ước lượng được chi phí để vận hành hệ thống cloud 6
- 1. Giới thiệu Bối cảnh Các mạng xã hội phổ biến chỉ kết nối người dùng theo chiều ngang (cùng một số sở thích, cùng thuộc địa điểm rộng lớn cỡ lục địa) Case study: Xây dựng mạng xã hội kết nối theo chiều dọc (những thế hệ của một gia đình) => Domus - Một ứng dụng kết nối thành viên gia đình, cho phép: - Nhắn tin tán gẫu (chat) - Trao đổi danh sách mua/trả hàng - Quản lý việc chia sẻ thẻ ghi nợ giữa các thành viên 7
- 2. Mô tả sản phẩm 8
- 2. Mô tả sản phẩm 2.1 Kịch bản Một gia đình điển hình có 4 thành viên: Bob, Alice và hai con Carol và David 9
- 2. Mô tả sản phẩm 2.2. Use case Bảng sau liệt kê tất cả các use case đầy đủ của ứng dụng Domus: Use case Mô tả UC1.1. Register Người dùng đăng ký sử dụng với việc gửi thông tin: tên, email, password UC1.2 Login Người dùng xác nhận tài khoản qua email và sau đó có thể đăng nhập với email và mật khẩu UC1.3 Tự đăng Sau một lần đăng nhập đầu, lần sau có thể vào thẳng ứng dụng nhập mà không cần đăng nhập lại UC1.4. Đổi mật Có thể đổi mật khẩu theo ý người dùng khẩu 10
- 2. Mô tả sản phẩm 2.2. Use case Use case Mô tả UC2.1. Add Người dùng tạo ra một gia đình, trở thành thành viên gia đình, Family người tạo cũng là quản trị viên UC2.2 Invite Thành viên mời các người dùng khác qua email để tham gia vào gia đình của mình trên Domus UC2.3 Join a Người dùng chấp nhận thư mời tham gia gia đình family UC2.4. Invite by Có thể mời qua tài khoản Facebook Facebook UC2.5. Quit Rời bỏ khỏi gia đình để vào gia đình khác (một người dùng có thể là thành viên của nhiều gia đình) UC2.6 Assign Gán vai trò cho các thành viên (cha mẹ hoặc con cái hoặc ông bà) roles 11
- 2. Mô tả sản phẩm 2.2. Use case Các use case khác có thể xem ở phần phụ lục (Appendix) Use case Mô tả UC3.1. Send a Gửi tin nhắn giữa các thành viên gia đình message UC3.2 Send an Gửi ảnh giữa các thành viên trong gia đình image UC3.3 Save an Thành viên lưu ảnh vào thiết bị của mình image 12
- 2. Mô tả sản phẩm 2.3 Phân tích yêu cầu Dựa trên các use-cases trên, ta có thể thấy hệ thống (cả backend và ứng dụng) có các yêu cầu sau: 1. Quản lý chặt chẽ người dùng (UC1.x), các vai trò của người dùng không được chồng lấn nhau (UC2.3, UC2.6) 2. Lưu trữ dữ liệu có cấu trúc chặt chẽ và nhất quán vì đây là các thông tin rất hay được cập nhật bởi người dùng (tiền bạc, chi tiêu) 3. Cũng vì thông tin rất quan trọng nên cần bảo mật rất cao 4. Ứng dụng có khả năng trao đổi dữ liệu giữa các client khác nhau 5. Ứng dụng có khả năng hoạt động offline 6. Ứng dụng phải tuân thủ luật pháp sở tại và quốc tế (General Data Protection Regulation) 13
- 2. Mô tả sản phẩm 2.4 General Data Protection Regulation GDPR là Bộ luật bảo vệ dữ liệu chung (General Data Protection Regulation) được ban hành 2018 Có hiệu lực tại Liên minh châu Âu, UK, Chile, Japan, Brazil. Mỹ cũng có bộ luật tương tự 1. Quyền được thông báo. 2. Quyền được truy cập 3. Quyền được cải chính 4. Quyền được xóa bỏ 5. Quyền được giới hạn xử lý 6. Quyền được luân chuyển dữ liệu 7. Quyền được phản đối 8. Các quyền liên quan đến việc tự ra quyết định bao gồm lược tả14
- 3. Chiến lược quyết định 15
- 3. Chiến lược quyết định Các chiến lược cần được quyết định trước khi xây dựng Backend: 1. Lựa chọn Client-server hay Point to Point hay Monolith hoặc Microservices 2. Lựa chọn quy trình phát triển phần mềm nào 3. Lựa chọn RESTFUL API hay SOAP 4. Lựa chọn SQL hay NoSQL 5. Lựa chọn cơ chế phù hợp cho push 6. Lựa chọn cơ chế cho offline và back online 7. Lựa chọn cơ chế cho đồng bộ dữ liệu 8. Lựa chọn cơ chế bảo mật 9. Lựa chọn cơ chế bảo trì 16
- 3. Chiến lược quyết định 3.1 Network Architecture Có một số mô hình chính để quyết định kiến trúc cho backend: Client-Server, Point-2-Point, Microservice Client-Server, cụ thể là PaaS (Platform as Service) được chọn vì - Dễ dùng - Năng lực lưu trữ gần như vô hạn - Giảm chi phí thay vì đầu tư từ đầu - Nhanh chóng, khả chuyển, đảm bảo khả năng mở rộng Point to Point: mỗi thiết bị có quyền ngang hàng nhau. Nếu gia đình có số thành viên ít, đây vẫn có thể lựa chọn Nhưng nếu tất cả thiết bị đều hỏng hoặc gỡ cài đặt => toàn bộ dữ liệu sẽ mất hết. 17
- 3. Chiến lược quyết định Kiến trúc Microservice là mẫu thiết kế đang dần trở nên phổ biến trong những năm gần đây nhờ khả năng module hóa và khả năng mở rộng ● Các component có thể được phát triển, test, deploy và scale độc lập ● Một component có thể chọn stack công nghệ và ngôn ngữ lập trình của riêng nó. Nhược điểm: công nghệ phức tạp và khó để học hơn. ● Thời gian phát triển là lâu hơn các phương án khác ● Yêu cầu cơ sở hạ tầng phức tạp. Thông thường sẽ yêu cầu nhiều container (Docker) và nhiều máy ảo để chạy. 18
- 3. Chiến lược quyết định Kiến trúc một khối là mẫu thiết kế được dùng nhiều nhất trong giới lập trình web hiện nay bởi tính đơn giản của nó khi phát triển và khi deploy. ● Dễ phát triển vì các stack công nghệ thống nhất ở tất cả các layer. ● Dễ test do toàn bộ project được đóng gói trong một package nên dễ dàng chạy test integration và test end-to-end. ● Deploy đơn giản và nhanh chóng nếu chỉ có một package để bận tâm. Nhược điểm: Khó lòng bảo trì, thời gian khởi động lâu và tốn CPU hơn, các thành phần quan trọng không thể scale riêng 19
- 3. Chiến lược quyết định 3.1 Network Architecture Trong các mô hình Client-Server, chọn lựa PaaS - Tiết kiệm thời gian lập trình. - Tiết kiệm chi phí. - Dễ dàng xây dựng phần mềm, quản lý, phân tích dữ liệu cùng lúc. Nhược điểm: - Không có sự quản lý, kiểm soát chuyên sâu đối với dữ liệu. - Khó khăn khi thay đổi nhà cung cấp. - Đáp ứng với bản cập nhật của nhà cung cấp. 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Phát triển ứng dụng Web – Web Programming: Chương 0 - ThS. Lương Trần Hy Hiến
20 p | 242 | 19
-
Bài giảng Phát triển ứng dụng Web bằng PHP: Phần 2(1) - Dương Khai Phong
45 p | 132 | 17
-
Bài giảng Phát triển ứng dụng Web bằng PHP: Phần 3 - Dương Khai Phong
60 p | 119 | 15
-
Bài giảng Phát triển ứng dụng Web – Web Programming: Chương 5 - ThS. Lương Trần Hy Hiến
0 p | 108 | 15
-
Bài giảng Phát triển ứng dụng Web bằng PHP: Phần 2(2) - Dương Khai Phong
49 p | 131 | 14
-
Bài giảng Phát triển ứng dụng Web bằng PHP: Phần 4 - Dương Khai Phong
50 p | 101 | 12
-
Bài giảng Phát triển ứng dụng cho các thiết bị di động: Phần 2
76 p | 27 | 12
-
Bài giảng Phát triển ứng dụng cho các thiết bị di động: Phần 1
123 p | 48 | 11
-
Bài giảng Phát triển ứng dụng web: Bài 3 - Lê Đình Thanh
42 p | 122 | 11
-
Bài giảng Phát triển ứng dụng Web bằng PHP: Phần 1 - Dương Khai Phong
28 p | 135 | 10
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 7: Nguyên lý phát triển ứng dụng với Flutter
88 p | 23 | 8
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 8: Đánh giá hiệu năng ứng dụng đa nền tảng
66 p | 23 | 8
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 0: Giới thiệu về môn học
27 p | 31 | 7
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 2: Tổng quan về kiến trúc của di động
53 p | 19 | 7
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 3.2: Cross-Platform
17 p | 21 | 7
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 1: Tổng quan về phát triển ứng dụng di động
46 p | 29 | 6
-
Bài giảng Phát triển ứng dụng Web: Bài 6 - Nguyễn Hữu Thể
24 p | 42 | 4
-
Bài giảng Phát triển ứng dụng web: Chương 0 - Lê Đình Thanh
10 p | 14 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn