Google là một trong những nhà cung cấp dịch vụ điện toán đám mây ĐTĐM hiện nay với nền tàng App Engine cho phép người dùng xây dựng và triển khai ứng dụng web Java hay Python trên cơ sở
Trang 1CAO VĂN THU
ỨNG DỤNG CÔNG NGHỆ GOOGLE APP ENGINE XÂY DỤNG HỆ THÓNG ĐĂNG KÝ KHÁM VÀ TRA cứ u KÉT QUẢ TẠI BỆNH VIỆN CHÂM cửu TRUNG ƯƠNG
Thư viện Trường Đại học Mở Hà Nội
Mã số: 8480201
LUẬN VĂN THẠC sĩ KỸ THUẬT
HÀ NỘI 2023
Trang 2MỤC LỤC i
DANH MỤC HÌNH ẢNH iv
DANH MỤC BẢNG BIẾU vi
DANH MỤC TỪ VIẾT TẲT vii
MỞ ĐÀU 1
1 Lý do thực hiện 1
2 Tổng quan vấn đề nghiên cứu 2
3 Mục tiêu nghiên cứu 2
4 Đối tượng và phạm vi nghiên cứu 2
5 Phương pháp nghiên cứu 3
6 Cẩu trúc cùa luận văn 3
CHƯƠNG 1: DỊCH vụ ĐIỆN TOÁN ĐÁM MÂY 4
1.1 Điện toán đám mây 4
ỉ 1.1 Khái niệm 4
1.1.2 Đặc diem của điện toán đám mây 7 5
1.1.3 Kìếiỉ Ị»W.! ỊỊ9C.M.Ỡ Hà Nội 6
1.1.4 Dịch vụ điện toán đám mây 7
1.1.5 Mô hình triển khai điện toán đám mây 9
1.1.6 ưu, nhược điêm của điện toán đám mây 10
1.2 Một số dịch vụ điện toán đám mây 11
1.2.1 Google Cloud Platform 11
1.2.2 Microsoft Azure 12
1.2.3 Amazone Web Services 13
1.3 Google App Engine 14
1.3.1 Môi trường thực thì 14
1.3.2 Máy chú file tĩnh 15
1.3.3 Kho dữ liệu 16
1.3.4 Dịch vụ 19
1.3.5 Tài khoán Google 20
1.3.6 Queues và Cron Jobs 20
1.3.7 Công cụ phát triển 21
Trang 3CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ĐĂNG KÝ VÀ
KHÁM BỆNH 24
2.1 Hoạt động đăng ký và khám bệnh tại Bệnh viện Châm cứu Trung ương.24 2.1 ỉ Giới thiệu 24
2.1.2 Cơ cấu tổ chức và chức năng từng bộ phận 24
2.1.3 Hoạt động đăng ký khám và khám bệnh 25
2.2 Phân tích yêu cầu hệ thống đăng ký và khám bệnh 28
2.2.1 Xác định yêu cầu 28
2.2.2 Đánh giá và nam bat thông tin 28
2.2.3 Xác định các tác nhân cùa hệ thống 29
2.2.4 Chinh sách và an toàn hệ thong 30
2.2.5 Phương pháp phân tích và thiêt kế 31
2.3 Phân tích yêu cầu của hệ thong 32
2.3.1 Biếu đồ ca sử dụng 32
2.3.2 Đặc tả ca sử dụng 35
2.3.3 Biêu đô hoạt động 40
2.4 Thiết kế hệ thống 41
2.4.1 Biểu .viện T.mờng.Đại hợc MỞ.Hà.Nộ.i 41
2.4.2 Đặc tá dữ liệu 48
2.4.3 Biếu đồ tuần tự 49
2.4.4 Thiết kế kiểm soát dữ liệu 52
2.5 Kiến trúc hệ thống 53
2.6 Kết chương 55
CHƯƠNG 3: XÂY DỤNG ƯNG DỤNG TRÊN GAE 56
3.1 Xây đựng và triển khai ứng dụng trên GAE 56
3.1.1 Account GAE 56
3.1.2 NodeJS 59
3.1.3 Database 61
3.2 Giao diện và chức năng của hệ thống 66
3.2.1 Giao diện 66
3.2.2 Chức năng 68
3.3 Đánh giá 69
3.3.1 Thiết kế 69
Trang 43.3.3 Bào mật và an toàn thông tin 73
3.4 Kết chương 74
KÉT LUẬN 75
1 Ý nghĩa khoa học và thực tiễn 75
2 Hướng phát triến của đề tài 75
TÀI LIỆU THAM KHẢO 76
Thư viện Trường Đại học Mở Hà Nội
Trang 5DANH MỤC HÌNH ẢNH
Hình 1.1: Kiến trúc điện toán đám mây 6
Hình 1.2: Các mô hình dịch vụ điện toán đám mây 8
Hình 2.1: Sơ đồ tổ chức 24
Hình 2.2: Vai trò của biểu đồ ca sử dụng 32
Hình 2.3: Sơ đồ ca sử dụng theo nhóm 34
Hình 2.4: Biểu đồ hoạt động đăng ký và khám bệnh 41
Hình 2.5: Quan hệ Tài khoản - Đơn vị 42
Hình 2.6: Quan hệ Bệnh nhân - Phiếu khám 43
Hình 2.7: Quan hệ Bệnh nhân - Đăng ký khám 43
Hình 2.8: Quan hệ Tư vấn - Phiếu khám 44
Hình 2.9: Quan hệ Bác sỹ - Phiếu khám 44
Hình 2.10: Quan hệ Bác sỹ - Kết quả Khám 45
Hình 2.11: Quan hệ Bệnh nhân - Ket quà khám 45
Hình 2.12: Quan hệ kế thừa Tài khoản - Bác sỹ và Tư vấn 46
Hình 2.13: Biểu đồ lớp 47
Hình 2.14: BiểuĩbtìiẩỔWÌ)ĩ^-!rtìiặ|ể Đ.ạ.Ị b.Ọ.Q M.Ợ.H.ậ ỊS.QẮ 50
Hình 2.15: Biếu đồ tuần tự đăng ký khám 50
Hình 2.16: Biểu đồ tuần tự Tư vấn 51
Hình 2.17: Biểu đồ tuần tự khám bệnh 51
Hình 2.18: Biểu đồ tuần tự Xem kết quà 52
Hình 2.19: Kiến trúc nền tảng của hệ thống 54
Hình 3.1: Minh họa khởi tạo GAE 57
Hình 3.2: GUI phát hành ứng dụng 58
Hình 3.3: Sự tương tác dữ liệu giữa máy chủ gắn thẻ và máy chủ xem trước 59
Hình 3.4: Cơ chế hoạt động của NodeJS 60
Hình 3.5: Minh họa ứng dụng web đơn giàn 61
Hình 3.6: Cơ chế hoạt động của MySQL 62
Hình 3.7: Khởi tạo cơ sở dữ liệu trên Google Cloud 63
Hình 3.8: Thiết lập bảo mật cơ sở dữ liệu trên đám mây 63
Hình 3.9: Thiết lập sao lưu tự động cơ sở dữ liệu 64
Hình 3.10: Kết nối bảo mật SSL từ máy trạm tới đám mây 65
Hình 3.11: Thao tác truy vấn từ máy trạm tới đám mây 65
Trang 6Hình 3.13: Giao diện chính 66
Hình 3.14: Đăng nhập 67
Hình 3.15: Thêm người dùng 67
Hình 3.16: Đăng ký khám 68
Hình 3.17: Người đăng ký xem và sừa thông tin 68
Hình 3.18: Thống kê khám 68
Hình 3.19: Tư vấn viên chi định khám 69
Hình 3.20: Bác sĩ đăng kêt quả khám 69
Hình 3.21: Mô hình khi triển khai ứng dụng trên GAE 70
Hình 3.22: Bộ nhớ cache cho nodejs 70
Hình 3.23: Làm việc trực tiếp bằng CLI bảo mật 74
Thư viện Trường Đại học Mở Hà Nội
Trang 7DANH MỤC BẢNG BIẾU
Bảng 2.1: Mô tã tóm tắt các đối tượng liên quan 30
Bàng 2.2: Gom nhóm ca sử dụng 33
Bảng 2.3: Đặc tã Use Case Đăng nhập 35
Bảng 2.4: Đặc tà Use Case Thêm người dùng 35
Bàng 2.5: Đặc tả Use Case Cập nhật người dùng 35
Bàng 2.6: Đặc tà Use Case Đăng xuất 36
Bàng 2.7: Đặc tã Use Case Xem thông tin Bác sỹ 36
Bàng 2.8: Đặc tă Use Case Xem thông tin Tư vấn 36
Bảng 2.9: Đặc tã Use Case Đăng ký khám 37
Bảng 2.10: Đặc tả Use Case Hiệu chỉnh đăng ký khám 37
Bảng 2.11: Đặc tả Use Case Xem thông tin đăng ký 37
Bảng 2.12: Đặc tả Use Case Tư vấn khám 38
Bảng 2.13: Đặc tả Use Case In phiếu khám 38
Bảng 2.14: Đặc tả Use Case Xem danh sách khám 38
Báng 2.15: Đặc WW-Hà"NỘÌ 39
Bảng 2.16: Đặc tả Use Case Xem kết quả khám 39
Bảng 2.17: Đặc tả Use Case Thống kê đăng ký khám 39
Bảng 2.18: Đặc tả Use Case Thống kê đã khám theo Khoa 40
Bảng 2.19: Đặc tả Use Case Thống kê đã khám 40
Bảng 2.20: Đơn vị - DEPARTMENT 48
Báng 2.21: Tài khoản - ACCOUNT 48
Bàng 2.22: Tư vấn - CONSULTANT 48
Băng 2.23: Bác sỹ - DOCTOR 48
Bàng 2.24: Bệnh nhân - PATIENT 48
Bảng 2.25: Danh sách khám - LISTMEDICAL 48
Bàng 2.26: Danh sách đăng ký - LISTREGIST 49
Bảng 2.27: Danh sách đã khám - LISTMEDFIN 49
Bàng 2.28: Phiếu khám - PAPERMED 49
Bàng 2.29: Kết quà khám - RESULTMED 49
Bảng 2.30: Quyền hạn về cơ sở dừ liệu 52
Bảng 2.31: Quyền hạn chức năng 53
Trang 8DANH MỤC TỪ VIÉT TẢT
Từ viết
AWS Amazon Web Services Dịch vụ Web cùa AmazonAPI Application Programming Interface Giao diện lập trình ứng dụngBFD Business Function Diagram Sơ đồ phân rã chức năngCGI Common Gateway Interface Chuẩn giao tiếp cồng chungCLI Console Line Interface Giao diện dòng lệnh
DFD Data Flow Diagram Sơ đồ luồng dữ liệu
GCP Google Cloud Platform Nền táng đám mây cúa GoogleGAE Google App Engine Nền táng phát triền ứng dụngGUI Graphical User Interface Giao diện đồ họa người dùngISP Internet Service Provider Nhà cung cấp dịch vụ InternetIDE Integrated Development Environment Môi trường phát triến tích hợplaaS Infrastructure as a Service Dịch vụ cơ sờ hạ tang
JVM Java Virtual Machine Máy ão Java
HTTP The Hypertext Transfer Protocol Giao thức truyền tài siêu văn bánMOOC Massive Open Online Courses Khóa học trực tuyến đại chúng mởNPM Node Package Manager Quàn lý thư viện của Nodc.JSPaaS Platformas a s^i^iếè I Dịch vụ nền tảng
SaaS Software as a Service Dịch vụ phẩn mềm
SDK Software Development Kit Công cụ phát triển ứng dụngĐTĐM Cloud Computing Điện toán đám mây
UML Unified Modeling Language Ngôn ngữ mô hình hóa thống nhấtURL Uniform Resource Locator Định vị tài nguyên thống nhấtXML extensible Markup Language Ngôn ngữ đánh dấu mờ rộngVPN Virtual Private Network Mạng riêng áo
Trang 9ỉ Lý do thực hiện
Cùng với sự phát triển mạnh mẽ của Internet, các công nghệ ứng dụng trên nền tảng Internet ngày càng phát triền Công nghệ mồi ngày lại ghi nhận những bước tiến bộ vượt bậc, với đà đi lên đó làm cho cấu hình phần cứng của các thiết bị công nghệ không ngừng được cải thiện và nâng cao Neu cho rang trước đây phần
đa người dùng sứ dụng máy tính đề bàn (desktop) thi ngày nay được thay the bằng các thiết bị tin học công nghệ cao, gọn nhẹ như Laptop, Smartphone, Điều này
mở ra một chân trời mới cho nghiên cứu phát triển ứng dụng dựa trên nền tàng mới
Đế có thề quàn lý được nguồn dữ liệu trên Internet, ban đau các doanh nghiệp phải đầu tư, tính toán rất nhiều loại chi phí như chi phí cho phần cứng, phần mềm, mạng, chi phí cho quản trị viên, chi phí bảo tri, sừa chữa, Ngoài ra họ còn phái tính toán khá năng mờ rộng, nâng cấp thiết bị; phải kiềm soát việc bào mật dữ liệu cũng như tính sằn sàng cao của dữ liệu
Đe giãi quyết vấn đề trên thì chúng ta thấy được rang nếu có một nơi tin cậy giúp các doanh nghiệp quàn lý tốt nguồn dữ liệu đó, các doanh nghiệp sẽ không còn
quan tâm đen cơ sở hạ tâng, công nghệ mà chỉ tập trung chính vào công việc kinh doanh của họ thì sẽ mang lại cho họ hiệu quà và lợi nhuận ngày càng cao hơn Khái niệm “điện toán đám mây” đã ra đời trong hoàn cành đó và đang dần trở nên quen thuộc đối với các doanh nghiệp
Google là một trong những nhà cung cấp dịch vụ điện toán đám mây (ĐTĐM) hiện nay với nền tàng App Engine cho phép người dùng xây dựng và triển khai ứng dụng web Java hay Python trên cơ sở hạ tầng của mình Cung cấp cho người dùng một dịch vụ đám mây miễn phí như App Engine đế người dùng có thề trải nghiệm các tiện ích từ điện toán đám mây cũng như có thời gian nhiều hơn đe tim hiểu về những rủi ro về tính an toàn dữ liệu, để từ đó họ có thể mạnh dạng hơn để sử dụng các dịch vụ của điện toán đám mây
Nhận thấy tính thiết thực cùa van đề này và được sự gợi ý của giáng viên hướng dần, em đã chọn đề tài “ứng dụng công nghệ Google App Engine xây dựng
hệ thống Đãng ký khám bệnh và Tra cứu kết quả khám bệnh tại Bệnh viện châm cứu Trung ương” Đe tài xây dựng trên nền tàng ĐTĐM nhàm tiết kiệm chi phí và
có thể triển khai một cách dễ dàng nhất cho cơ quan
Trang 102 Tổng quan vấn đề nghiên cứu
Có một thực tế rằng mặc dù điện toán đám mây hiện đang được ứng dụng rộng rãi ở nhiều nước phát triền trên thế giới bởi lợi ích đáng kề mà nó đem lại, nhưng ớ Việt Nam các doanh nghiệp vẫn chưa thực sự mặn mà với công nghệ này Tuy nhiên, theo các chuyên gia nhận định, đây chính là giải pháp tối ưu để các doanh nghiệp nước ta giảm thiểu chi phí cũng như tăng hiệu suất làm việc ở mức tối đa
về thực trạng ứng dụng điện toán đám mây ở một số doanh nghiệp Việt Nam,
có thế rút ra kết luận như sau: hiện nay đã có một một số ISP hoặc doanh nghiệp lớn tại Việt Nam đưa điện toán đám mây vào ứng dụng và hiệu suất kinh doanh được cải thiện đáng kề
3 Mục tiêu nghiên cứu
Tìm hiểu về công nghệ điện toán đám mây nói chung và của Google nói riêng, Google App Engine (GAE) hồ trợ các công nghệ web thông dụng, phố biến nhất, thân thiện, gan gũi với người sử dụng [10]
Xây dựng trang thông tin điện tử đăng ký khám bệnh và tra cứu kết quả khám bệnh của bệnh nhân tại Bệnh viện ChârpjìýỊUỊynmgựfơpe^xớj^tra|ig thông tin đáp ứng nhu can thiết cho Bênh nhân đến khám và chừa bệnh tại Bệnh viện châm cứu Trung ương và giúp cho bệnh nhân không phải xếp hàng chờ đợi để đăng ký khám cũng như chờ đợi nhận kết quả
Luận văn sẽ tiến hành đánh giá chi phí qua các giai đoạn xây dựng hệ thống, vận hành hệ thống, bào trì và phát triển hệ thong giữa việc xây dựng ứng dụng tim kiếm việc làm dựa trên mô hình Cloud Computing (ở đây là Google App Engine) và
mô hình Client-Server truyền thống
Rút ra kết luận về những ưu, nhược điềm, thuận lợi và khó khăn khi triển khai xây dựng một ứng dụng sử dụng mô hình Cloud Computing so với mô hình Client- Server truyền thống tại Việt Nam Tìr đó giúp cho các tố chức doanh nghiệp, cá nhân có nhu cầu sử dụng Cloud Computing có cái nhìn khái quát hơn, lựa chọn đúng đắn hơn đế phát triến ứng dụng cho đơn vị cùa minh
4 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của đề tài là quy trinh đăng ký khám, khám bệnh và trả
về kết quả cùa bệnh và nền táng phát triển ứng dụng dựa trên công nghệ điện toán
Trang 11Phạm vi nghiên cứu của đề tài là nền tàng phát triền dựa trên công nghệ diện toán đám mây do Google phát triền và quy trinh đăng ký khám và khám bệnh tại Viện Châm cứu Trung ương.
5 Phương pháp nghiên cứu
Phương pháp nghiên cứu lý thuyết: tìm hiếu về công nghệ điện toán đám mây GAE nhất là cách lưu trữ trên GAE Sử dụng ngôn ngữ NodeJS và MySQL được Google hồ trợ đế xây dựng ứng dụng trên GAE Ngoài ra, nghiên cứu quy trinh phân tíc, thiết kế phần mồm trên các nền táng ứng dụng điện toán đám mây.Phương pháp thực nghiệm: sau khi tỉm hiểu lý thuyết, phân tích ưu nhược điếm của nen táng đám mây so với mô hình Client-Server Sử dụng các nghiệp vụ hiện đang thực hiện để xây dựng và đánh giá hiệu năng của ứng dụng quàn lý đăng
ký và khám bệnh tại Viện Châm cứu Trung ương
6 Cấu trúc của luận văn
Ngoài phần mờ đầu và kết luận, luận văn được kết cấu thành 3 chương như sau:
Chương 1: Trình bày những khái niệm, đặc điếm cũa điện toán đám mây, kiến trúc và dịch vụ của điện toán đám mây Phân tích ưu, nhược điếm của các mô hình triên khai của điện toán đám mây
Chương 2: Phân tích và thiết kế hệ thống nêu các hoạt động đăng ký và khám bệnh tại Bệnh viện châm cứu Trung ương
Chương 3: Xây dựng ứng dụng trên GAE, tập trung xây dựng và triển khai ứng dụng trên GAE, giới thiệu một số màn hình giao diện và chức năng của hệ thống đãng ký và khám bệnh tại Bệnh viện châm cứu Trung ương
Trang 12CHƯƠNG 1: DỊCH vụ ĐIỆN TOÁN ĐÁM MÂY
1.1.1 Khái niệm
Công nghệ thông tin (CNTT) là một lình vực năng động, nó thay đối nhanh chóng và theo quan điểm của các tố chức và doanh nghiệp, quàn lý công nghệ thông tin là một nhiệm vụ rất phức tạp Các tồ chức, doanh nghiệp phải quản lý cả phần mềm và phần cứng đề hồ trợ hoạt động cùa minh Có rất nhiều thay đối nhanh chóng trong công nghệ phần cứng và phần mềm, và việc giữ cho cơ sớ hạ tang được cập nhật công nghệ mới nhất đúng thời hạn là một mục tiêu khó đạt được trong hầu hết các trường hợp Nhiều tố chức, doanh nghiệp có cơ sở hạ tầng CNTT quy mô lớn, vừa tốn kém vừa khó bào tri
Mở rộng hoặc thay đổi cơ sở hạ tầng CNTT cần rất nhiều thời gian so với các nguồn lực khác như bán hàng, tiếp thị, hồ trợ, V V Trong khoảng thập kỷ gần đây,CNTT đã trờ thành điểm chính của độ trễ khi tổ chức, doanh nghiệp cần thay đổi để phát triển theo sự xu hướng Với sự biến động của nen kinh tế, cơ sở hạ tàng CNTT cũng bị ảnh hưởng Đôi khi cần nhiều nguồn lực hơn, đòi hói đầu tư nhiều hơn và
T 12 Irnu VJQJI T1 ựơng^ặĩnọcỊ vỊỚ Xia ĩyợi ,
cũng can thời gian đê có được các nguôn lực này, trong khi các trương hợp khác, nguồn lực được coi là dư thừa, bị loại bó trong hầu hết các trường hợp, cũng gây ra tổn thất về tài chính
Sự ra đời song song của điện toán lưới và phân tán đã dẫn đến sự xuất hiện cùa một mô hình điện toán mới được gọi là điện toán đám mây Điện toán đám mây tập trung vào việc chia sẻ tài nguyên máy tính qua một mạng có thể mở rộng [9] Trong điện toán đám mây, một số lượng lớn tài nguyên máy tính (trung tám dữ liệu) được triển khai đe cung cấp sức mạnh CPU, dung lượng lưu trữ gần như không giới hạn, mục đích của hệ thống như vậy là cung cấp điện toán cho người dùng dưới dạng hàng hóa, tương tự như lưới điện Người dùng, tố chức có thể sử dụng các dịch vụ điện toán đám mây theo nhu cầu cùa họ và chi trà tiền cho những gỉ họ đã
sử dụng Các tố chức CNTT có thế thuê ngoài toàn bộ cơ sở hạ tầng CNTT cùa họ cho các nhà cung cấp dịch vụ đám mây đe thoát khỏi việc bão trì hệ thống cúa họ Điều này cũng giúp cắt giảm chi phí bảo trì trong khi các nhà cung cấp dịch vụ đám mây thực hiện bảo trì, nâng cấp và tính khá dụng cùa dịch vụ [9] [12] [13]
Trang 13Sự xuất hiện của điện toán đám mây đã khiến các nhà phát triển doanh nghiệp
di chuyến các ứng dụng và dữ liệu của họ sang các nền táng đám mây, nhằm giám chi phí, bào trì dễ dàng hơn các tài nguyên phần mềm và phần cứng, tính sẵn sàng cùa dịch vụ cao, V V Amazon là công ty đầu tiên sử dụng đúng cách đặc điềm của điện toán đám mây và đế cung cấp tài nguyên vật lý cùa chúng dưới dạng tài nguyên áo cho khách hàng [12], Giờ đây, các nền tảng đám mây khác nhau như Google App Engine, Windows Azure và Salesforce.com, V V đã có sẵn trên thị trường, cung cấp các dịch vụ đám mây, được các tổ chức, doanh nghiệp sứ dụng để phát triền và di chuyến ứng dụng và dữ liệu của họ, đồng thời hường lợi từ điện toán đám mây [4]
ỉ 1.2 Đặc điếm cứa điện toán đám mây
Dưới đây là một số đặc điếm quan trọng cúa điện toán đám mây [5]:
- Tự phục vụ theo yêu cầu: Người dùng có thể nhận được các dịch vụ của điện toán đám mây bất cứ khi nào họ cần
- Tống hợp tài nguyên: Một số tài nguyên được tổng hợp đồng thời và cung cấp động cho người dùng , , -, , A
Thư Viện Trường Đại học Mở Hà Nội
- Độ co giãn nhanh chóng: Các dịch vụ có khả năng mờ rộng được cung câp bởi sự co giãn nhanh chóng Nếu người dùng cần thêm dung lượng trên đám mây, họ có thể lấy quyền này
- Truy cập mạng rộng: Người dùng có thề truy cập tất cả các dịch vụ có sẵn trên đám mây bằng cách làm theo một số phương pháp
- Dịch vụ đo lường: Việc sứ dụng tài nguyên chắc chắn được giám sát và kiếm soát Vì vậy, dịch vụ minh bạch được cung cấp cho khách hàng và nhà cung cấp
- Thanh toán khi sứ dụng: Người dùng không cần phăi trà thêm phí cho dịch
vụ mà họ đã lấy từ nhà cung cấp Chi cần trả tiền cho dịch vụ đã thực hiện Thay vì trả thêm tiền, nhà cung cấp cung cấp một số không gian bồ sung luôn miễn phí
- Bảo tri dễ dàng: Việc bào trì các máy chủ rất dề dàng và thời gian chết là không thế bỏ qua
Trang 14- Hệ thống tự động: Nhu cầu của người dùng có thể được đo lường tự động
Vì kịch bán tồng thế của dịch vụ được giám sát, nên có thế báo cáo cho người dùng về tồng số lần sử dụng dịch vụ cùa họ
Báo mật: Đây là một vấn đề rất quan trọng của điện toán đám mây Nếu bất kỳ máy chủ nào thậm chí bị hỏng, dữ liệu sẽ không bị mất vì nó sẽ chụp nhanh dữ liệu được lưu trữ Các thiết bị lưu trữ được sử dụng đế lưu trữ dữ liệu mà người khác không thổ sử dụng hoặc gian lận
Độc lập về thiết bị và vị trí: Điện toán đám mây cho phép người dùng truy cập
hệ thống từ bất kỳ vị trí nào bàng bất kỳ loại thiết bị nào qua internet bang bất kỳ trinh duyệt nào
Khi lưu trữ dữ liệu trên đám mây, tất cá các loại tố chức đang sử dụng hệ thống họ có thể truy cập vào hệ thống của minh bất cứ khi nào họ muốn, về cơ bán, kiến trúc điện toán đám mây được phân loại thành hai phần Một là Front End
(giao diện người dùng) và một là Back End (giao diện quàn trị). Cá hai giao diện đều được kết nối qua Internet [5] ,
Th ự viện Trường Đại học M ờ Hà Nội
Client Infrastructure Front End
internet
Đế cung cấp tính bào mật của thông tin, giao diện quăn trị chịu trách nhiệm Các nhà cung cấp dịch vụ sừ dụng Back End Tất cà các nguồn lực can thiết đế cung cấp dịch vụ đều quản lý tại đây, bao gồm cơ chế bào mật, khối lượng lớn lưu trữ dữ liệu, máy chủ, máy ảo, cơ chế kiểm soát lưu lượng, mô hình triển khai, V V
Trang 15Mặt khác, người dùng sử dụng giao diện người dùng, cần có các giao diện và ứng dụng phía máy khách đế có quyền truy cập qua điện toán đám mây ở giao diện người dùng Nó bao gồm máy tính bảng, máy chủ web và thiết bị di động.
Vi đám mây chứa nhiều loại dừ liệu khác nhau của nhiều người dùng khác nhau nên hệ thống truy cập cho đám mây khác với hệ thống lưu trữ thông thường Nhiều hệ thống truy cập được thực hiện bởi các nhà cung cấp tối đa
Hình 1.1 mô tả cấu trúc và một số phần tứ của kiến trúc điện toán đám mây:
- Cơ sở hạ tầng khách hàng: Được coi là giao diện người dùng Đe tương tác với đám mây, giao diện người dùng đồ họa được cung cấp bởi cơ sờ hạ tầng máy khách
- Internet: là một phương tiện mà cả hai đầu có thế giao tiếp với nhau
- ứng dụng: có thể là bất kỳ phàn mềm hoặc nền táng nào mà người dùng muốn có quyền truy cập
- Dịch vụ: cung cấp ba loại dịch vụ như SaaS, PaaS và laaS
- Runtime Cloud: môi trường thực thi được cung cấp bới đám mây cho các ' 7 'Tnti r viện TrưỏnơĐậi nọc Mơ Ha 1N01
máy áo
- Lưu trữ: một trong những yếu tố quan trọng nhất của kiến trúc điện toán đám mây Đố lưu trữ và quản lý dữ liệu, nó cung cấp một lượng lớn dung lượng lưu trữ trên đám mây
- Cơ sở hạ tầng: cung cấp các dịch vụ ở cấp độ ứng dụng, cấp độ máy chủ
và cấp độ mạng, bao gồm phần cứng cùng như phần mềm
- Quản lý: được sử dụng đề quản lý tất cả các yếu tố của giao diện quản trị như ứng dụng, dịch vụ, đám mây thời gian chạy, lưu trữ, cơ sờ hạ tầng, các vấn đề bảo mật và tạo thành sự phối họp giữa chúng
- Bào mật: thực hiện một hệ thống bảo mật ở phía sau
Điện toán đám mây cung cấp ba mô hình dịch vụ khác nhau, mỗi mô hình đáp ứng một tập hợp các yêu cầu kinh doanh duy nhất Ba mô hỉnh này được gọi là: dịch vụ Phần mềm (SaaS); Dịch vụ nền tảng (PaaS) và dịch vụ Cơ sờ hạ tầng (laaS)
Trang 16Hình 1.2: Các mô hình dịch vụ điện toán đám mây
1.1.4.1 SaaS
SaaS cung cấp các ứng dụng được truy cập qua web và không được quàn lý bởi tổ chức hay cá nhân người dùng, mà bởi nhà cung cấp phần mềm Điều này giúp tổ chức, cá nhân không phải chịu áp lực liên tục của việc bão trì phan mềm, quàn lý cơ sớ hạ tang, bào mật mạng, tính khả dụng cùa dữ liệu và tất cả các vấn đề hoạt động khác liên quan đến việc duy trì và chạy các ứng dụng Thanh toán SaaS thường dựa trên các yếu tố như sổ lượng người dùng, thời giah sử dụng, lượng dữ liệu được lưu trữ và số lượng giao dịch được xứ lý Đày là mô hình dịch vụ chiếm thị phần lớn nhất trong lình vực điện toán đám mây; Theo Gartner, doanh thu cùa
nó sẽ đạt 117 tỷ đô la vào năm 2021 [7], Các ứng dụng hiện tại cho SaaS bao gồm các giái pháp Field Service, giái pháp giám sát hệ thống, bộ lập lịch, V V
1.1.4.2 PaaS
PaaS nam giữa laaS và SaaS, cung cấp quyền truy cập vào môi trường dựa trên đám mây, ở đó người dùng có thề xây dựng và cung cấp các ứng dụng mà không cần cài đặt và làm việc với IDE (Môi trường phát triển tích hợp), thường rất
đắt tiền Ngoài ra, người dùng thường có thề tùy chỉnh các tính năng họ muốn Theo Gartner, PaaS có thị phần nhở nhất trong ba mô hình dịch vụ, với doanh thu dự kiến
là 27 tỷ USD vào năm 2021 [7], Trên thị trường ngày nay, các nhà cung cấp PaaS cung cấp các ứng dụng như Microsoft Azure (cũng là laaS), Google App Engine và Apache Stratos
Trang 171.1.4.3 IaaS
laaS cung cấp một cách thức tiêu chuấn hóa để đạt được các khà năng tính toán theo yêu cầu và qua web Các tài nguyên đó bao gồm cơ sờ lưu trữ, mạng, sức mạnh xử lý và máy chù riêng áo Các khoãn phí này được tính theo mô hình “pay as you go” trong đó người được lập hóa đơn theo các yểu tố như dung lượng bộ nhớ sử dụng hoặc lượng điện năng xử lý tiêu thụ trong một khoảng thời gian nhất định Trong mô hình dịch vụ này, người dùng không cần quàn lý cơ sớ hạ tang mà tùy thuộc vào nhà cung cấp đe đảm báo số hrợng tài nguyên và tính khá dụng theo hợp đồng Theo Gartner, mô hình dịch vụ này được dự báo sẽ tăng trường 35,9% trong năm 2018 [7], Các dịch vụ laaS được cung cấp ngày nay, bao gồm Google Cloud Platform và Amazon EC2
1.1.5 Mô hình triển khai diện toán dám mây
Mô hình triển khai điện toán đám mây được phân loại thành bốn các cách tiếp cận: 1) Public Cloud, 2) Private Cloud, 3) Hybrid và 4) Community Cloud Dưới đây là mô tả sơ lược về các mô hình triển khai đám mây [5],
1.1.5 ỉ Public Cloud
Thưviện Trường Đại học Mợ Hà Nội
Mô hình đám mây công cộng giúp người dùng có thê dễ dàng truy cập vào các
hệ thống và dịch vụ Bên thứ ba với tư cách là nhà cung cấp dịch vụ đám mây được coi là chủ sở hữu và chịu trách nhiệm về tất cả các tài nguyên vật lý Mô hình này
có nhiều lợi ích như tính linh hoạt, khả năng mở rộng cao và độc lập về vị trí, V V
Mô hình này không tốt nhất cho doanh nghiệp có quy mô lớn hơn Thay vào
đó, mô hình này thích hợp cho các doanh nghiệp vừa và nhò Vì tất cà người dùng đều có quyền truy cập vào tất cả các tài nguyên ở chế độ công khai, nó cung cấp ít bảo mật hơn so với các mô hình đám mây khác
1.1.5.2 Private Cloud
Mô hình đám mây riêng được triến khai trong một tố chức cụ thế Vì chì những người dùng được úy quyền mới có thể truy cập vào hệ thống cùa tô chức, nên mô hình đám mây này cung cấp tính báo mật cao hơn so với các mô hỉnh đám mây khác Mô hình này phù hợp với các tố chức nơi vấn đề an ninh được coi là vấn
đề cần quan tâm đặc biệt Bên thứ ba hoặc chính tổ chức có thể chịu trách nhiệm quăn lý nó
Trang 18Tiết kiệm chi phí, bào mật và quyền riêng tư cao, kiếm soát nhiều hơn và độ tin cậy là những ưu điếm chính cùa mô hình đám mây riêng, vấn đề chính cùa mô hình đám mây này là gặp một số khó khăn cho việc triến khai nó trên diện rộng.
Ị 1.5.3 Hybrid Cloud
Mô hình đám mây lai là cơ sở hạ tầng bao gồm các liên kết giữa đám mây công cộng và đám mây riêng Nó cung cấp phạm vi của nhiều mô hình triền khai cùng một lúc Mặc dù các phần riêng tư và công khai của đám mây lai được gắn với nhau, nhưng chùng vẫn là những thực thổ duy nhất
Các nhóm ứng dụng và vận hành chịu trách nhiệm về tất că các khó khăn của hai cơ sở hạ tầng khác nhau Tính linh hoạt, khă năng mở rộng bảo mật, hiệu quà chi phí là những lợi ích cùa đám mây lai
1.1.5.4 Community Cloud
Mô hình đám mây cộng đồng được ít tố chức chia sẻ và hỗ trợ một cộng đồng
cụ thể đã chia sẻ mối quan tâm của họ Có thế quản lý hệ thống trong nội bộ tổ chức hoặc bên thứ ba Nó bào mật hơn đám mây công cộng và ít bảo mật hơn so với đám mây riêng Th ư vịệ n Trường Đại học Mở Hà Nội
ỉ 1.6 ưu, nhược điếm của điện toán đám mây
1.1.6.1 ưu diêm
Người dùng không cần cài đặt phan mồm để truy cập ứng dụng đám mây Tất
cả các phần mềm được quản lý và cung cấp từ tồ chức hoặc bên thứ ba Chi phí thấp hơn là một trong những lợi ích quan trọng cùa điện toán đám mây Nó cung cấp dịch vụ cho các công ty với mức giá rê nhất có thế
Người dùng có thể lấy dữ liệu từ cơ sở dữ liệu khác nếu một cơ sở dữ liệu bị hỏng và việc truy cập cơ sở dừ liệu này có thế từ bất kỳ nơi nào Nó cung cấp dịch
vụ tự phục vụ theo yêu cầu, khả năng cân bang tải làm cho các die nó đáng tin cậy hơn Người dùng không cần phải có ý tưởng về hoạt động bên trong cùa hệ thống, chi tận hưởng các dịch vụ đám mây
1.1.6.2 Nhược diêm
Phụ thuộc vào mạng Internet: điện toán đám mây sử dụng Internet làm cầu nối giữa nhà cung cấp với người dùng, giữa các người dùng với nhau Khi gặp trục trặc,
Trang 19vấn đề bào mật và quyền riêng tư: Neu như trước đây các toàn bộ các thông tin được lưu giữ trong các ồ cứng thi người dùng có thế chú động bão vệ Còn đối với điện toán đám mây, các dữ liệu được đưa lên không gian của nhà cung cấp Điều này vẫn tiềm an nguy cơ bị đánh cắp thông tin nếu như hệ thong bào mật của nhà cung cấp dịch vụ kém.
1.2 Một số dịch vụ điện toán đám mây
Có một số nhà cung cấp dịch vụ điện toán đám mây hiện nay Có the kể tên một số công ty hàng đầu [6] [8]: i) Amazon Web Services - 2006; ii) Microsoft Azure - 2010; iii) Google Cloud Platform - 2008; iv) Alibaba Cloud - 2009; v) Oracle Cloud - 2012; vi) IBM Cloud - 2011
Tuy nhiên, hiện nay có 3 nhà cung cấp dịch được sữ dụng nhiều và thông dụng nhất hiện nay đó là: AWS, Microsoft Azure và Google Cloud Platform Dưới đây là một số mô tả ngắn gọn về 3 nhà cung cấp dịch vụ này
1.2.1 Google Cloud Platform
Nen tàng đám mây của Google là một tập hợp các dịch vụ đám mây hoạt động trên cùng một cư sở hạ tầng mà Googlẹ sử dụng nội bộ cho các sán phẩm của người dùng cuối, chẳng hạn như YouTube, Google Maps và Google Search Một trong những dịch vụ được cung cấp bởi Google là Google App Engine hay còn được gọi
là GAE hoặc App Engine Đây là nền tàng điện toán đám mây do Google quán lý để phát triển và lưu trữ các ứng dụng wcb, tháng 4-2008 dưới dạng dịch vụ đám mây App Engine cho phép tạo các ứng dụng web có thể mở rộng bằng bất kỳ ngôn ngừ lập trình nào trên cơ sờ hạ tầng cùa Google Với GAE, các ứng dụng có thể được tạo, duy tri và cập nhật một cách dề dàng Các ứng dụng có thể được chia sè với tất
cả mọi người hoặc chúng có quyền truy cập hạn chế đối với các cá nhân của tố chức, doanh nghiệp
Google App Engine cung cấp hai loại môi trường; môi trường linh hoạt và tiêu chuấn Môi trường linh hoạt tự động mở rộng quy mô ứng dụng tăng và giảm, trong khi môi trường tiêu chuẩn sừ dụng các cá thế vùng chứa được định cấu hỉnh trước [3] Với môi trường tiêu chuẩn, dịch vụ GAE cho phép tạo tài khoản miễn phí với một số giới hạn sữ dụng Dịch vụ GAE cung cấp một tùy chọn khác, đó là "dùng thử miễn phí" Bản dùng thừ miền phí này mang đến cho người dùng cơ hội nhận tài nguyên miễn phí đế sử dụng Google Cloud Platform (GCP) trong một khoảng
Trang 20thời gian cụ thế và trong một số tiền thuê bao cụ thể Thời gian dùng thử miễn phí kết thúc khi người dùng chi tiêu hết tín dụng hoặc vào cuối khoảng thời gian được chi định Sau đó, người dùng phải nâng cấp lên tài khoăn trả phí đế tiếp tục sử dụng Google Cloud Platform GAE là một PaaS hiệu suất cao với nhiều tùy chọn lưu trừ, bao gom Cloud SQL, Blobstore và Datastore Ngoài ra, công cụ cũng cung cấp quyền truy cập vào API tìm kiếm [3] [6],
Điểm mạnh: Bản thân cái tên đà nói lên nhiều điều cho Google Cloud Platform GCP được thiết kế cho các doanh nghiệp Không chi chuyên về các dịch
vụ tính toán cao như BigData, Analytics và Machine Learning, nó còn cung cấp khá năng cân bang tái và quy mô đáng ke Google biết cách gia tăng hoạt động của các trung tâm dữ liệu và thời gian phàn hồi Các doanh nghiệp cạnh tranh với gã khống
lồ thương mại điện tử Amazon có xu hướng thích Google hơn vì nó tập trung vào nguồn mờ hơn và Dev-Ops Một thực tế thú vị can lưu ý ở đây là tiêu chuấn
kubernetes mà AWS và Azure sử dụng được phát triển bời Google
Điếm yếu: Google tham gia thị trường khá muộn khi AWS và Azure đã thống trị So với AWS và Azure, nó không cung cấp nhiều dịch vụ và cũng không có nhiều trung tâm dữ liệu như các đối thù cạnh tranh Thường được các doanh nghiệp chọn làm nhà cung cấp thứ cấp hơn là nhà cung cấp chiến lược
Vì Microsoft Azure được xây dựng dựa trên máy chù Windows, nên dề dàng
di chuyến các máy ảo trên đám mây công cộng do có nhiều phần mềm và ứng dụng tương tự giữa các trung tâm dữ liệu cục bộ và Microsoft Azure Tạo ánh xạ ố đĩa tùy chinh cũng là một nhiệm vụ dễ dàng bàng cách sử dụng đĩa cứng ão Nó hồ trợ một số lượng lớn hệ điều hành bao gồm Ubuntu, máy chủ Windows, Centos, CoreOS và nhiều hệ điều hành khác Với mục đích mở rộng quy mô, Microsoft có trang quy mô trong giao diện Azure được xử lý theo cách thủ công hoặc tự động Azure có thể có các mạng áo trong đó và nó cùng có thể được kết nối với mạng công ty bang VPN Các yêu cầu lưu trữ có thế được xừ lý theo nhiều tiêu chuẩn Có thề sứ dụng nhiều đĩa trên mỗi máy ào {tối đa 32 TB cho mỗi máy áoỴ Microsoft
cũng cung cấp hồ trợ theo khu vực và có 17 khu vực khác nhau cho Azure tại nhiều địa điếm khác nhau như úc, Châu Á, Châu Âu và Hoa Kỳ [6]
Điếm mạnh: Microsoft không phải là người chơi sớm trong lĩnh vực điện toán
Trang 21chơi thống trị Bằng cách định vị lại phần mềm tại chỗ đã là một tiêu chuấn trong ngành như Windows Server, Office, SQL Server, Sharepoint, Dynamics Active Directory, NET, V.V., nó đà tự tạo cho minh một bước khời đầu lớn Việc tích hợp Azure với các công cụ tiêu chuẩn công nghiệp cúa Microsoft cũng có nghĩa là người dùng doanh nghiệp đã chọn Azure một cách tự nhiên làm nền tảng lựa chọn của họ
để giữ mọi thứ quen thuộc và nằm trong một hệ sinh thái Giám giá và ưu đãi đặc biệt cho người dùng doanh nghiệp hiện tại cùng thu hút nhiều khách hàng
Diem yếu: Mặc dù Azure là một nền táng sẵn sàng cho doanh nghiệp, Gartner Client đã báo cáo rằng dịch vụ của họ khiến doanh nghiệp ít sẵn sàng hơn so với mong đợi của họ Các van đề về hồ trợ kỳ thuật, tài liệu không phù hợp, đào tạo và phạm vi rộng cùa hệ sinh thái vẫn còn cơ hội đế cài thiện nhiều hơn nữa [6] [8]
“Amazon Elastic Compute Cloud” còn được gọi là Amazon EC2 cung cap khà năng tính toán có the mở rộng trong “Amazon Web Services (AWS)” Nó cung cấp các tài nguyên và dịch vụ điện toán “khi cần và khi được yêu cầu” cũng như tròn đám mây, với chi phí “trả khi thay đối” Cho phép người dùng quán lý và xứ lý các biến động với nhu cầu lớn hoặc mức tâng đột biến về mức độ phổ biến, do đó không cần phải dự báo lưu lượng truy cập Một số cách sử dụng AWS phổ biến như sau: (i) Lưu trữ dữ liệu công cộng hoặc riêng tư; (ii) Cung cap host cho web tĩnh hoặc động; (iii) Hỗ trợ học viên các chương trinh đào tạo trực tuyến như MOOCs; (iv)
Xứ lý dữ liệu kinh doanh và khoa học; (v) Dỗ dàng xứ lý tải cao diem
Điếm mạnh: AWS đã dẫn đầu về laaS đám mây dựa trên thị phần trong thập
kỷ qua Do đó, chiếm lĩnh thị trường là thế mạnh lớn nhất của nó Lý do cho sự phố biến rộng rãi này là do phạm vi hoạt động rộng lớn của nó Với danh mục dịch vụ sằn có phong phú, hoàn thiện và mạng lưới trung tâm dữ liệu toàn diện khống lồ trên toàn the giới, nó đã trở thành địa chi yêu thích cùa người dùng doanh nghiệp do khả năng quản lý một so lượng lớn người dùng và tài nguyên
Điểm yếu: Điếm yếu lớn nhất cùa Amazon là cấu trúc của nó không chi khó hiểu mà còn khó quàn lý khi xử lý khối lượng lớn dừ liệu Ngoài ra, số lượng dịch
vụ có sẵn có thế khiến một số khách hàng nghi ngờ về nó
Trang 221.3 Google App Engine
Từ quan điểm của ứng dụng, môi trường thực thi bắt đầu tồn tại khi trình xử lý yêu cầu bắt đầu và biến mất khi nó kết thúc App Engine cung cấp ít nhất hai phương pháp đế lưu trữ dữ liệu tồn tại giữa các yêu cầu, nhưng các cơ chế này tồn tại bên ngoài môi trường thực thi Bang cách không giữ lại trạng thái trong môi trường thực thi giữa các yêu cầu - hoặc ít nhất, không mong đợi trạng thái đó sẽ được giữ lại giữa các yêu cầu - App Engine có thế phân phối lưu lượng truy cập giữa nhiều máy chù mà nó cần đề cung cấp cho mọi yêu cầu trong cùng một phương thức xử lý, bat kế là bao nhiêu lưu lượng đang xứ lý cùng một lúc [11 ].ửng dụng App Engine phán hồi các yêu cầu web Yêu cầu web không thể truy cập vào máy chù mà nó đang chạy theo nghĩa truyền thống Một ứng dụng có thế đọc các tệp cùa chính nó từ hệ thống, nhưng nó không thế ghi vào tệp và không thể đọc các tệp thuộc về các ứng dụng khác Một ứng dụng có thể thấy các biến môi trường do App Engine thiết lập, nhưng các thao tác đối với các biến này không nhất thiết tồn tại giữa các yêu cầu Một ứng dụng không thồ truy cập các cơ sở mạng của phần cứng máy chủ, mặc dù nó có thế thực hiện các hoạt động bàng các dịch vụ.Google App Engine cung cấp hai môi trường thực thi có thế có cho các ứng dụng: môi trường Java và môi trường Python Môi trường chọn phụ thuộc vào ngôn ngừ và công nghệ liên quan muốn sử dụng đề phát triền ứng dụng, (i) Môi trường Java chạy các ứng dụng được xây dựng cho máy áo Java 6 (JVM) Một ứng dụng có thế được phát triến bang ngôn ngữ lập trình Java hoặc hầu hết các ngôn ngữ khác được biên dịch sang hoặc chạy trong JVM, chắng hạn như PHP (sử dụng Quercus), Ruby (sử dụng JRuby), JavaScript (sử dụng trình thông dịch Rhino}, Scala, và Groovy, ứng dụng truy cập vào môi trường và các dịch vụ bang cách sử dụng các giao diện dựa trên các tiêu chuẩn cúa wcb, bao gồm các servlet Java và Java Persistence API (JPA) Bat kỳ công nghệ Java nào hoạt động trong phạm vi sandbox đều có thể chạy trên App Engine, phù hợp với nhiều nền tảng và thư viện hiện có Đáng chú ý, App Engine hỗ trợ đầy đù bộ công cụ wcb của Google (GWT), một nền tàng phong phú cho các ứng dụng web cho phép viết tất cá mã cùa ứng dụng — bao gồm cà giao diện người dùng — bàng ngôn ngữ Java và ứng dụng đồ họa phong phú hoạt động với tất cả các trinh duyệt web mà không cần plug-in; (ii)
Trang 232.5, sử dụng phiên bàn tùy chinh cùa CPython, trình thông dịch Python chính thức App Engine gọi một ứng dụng Python bang CGI, một tiêu chuẩn giao diện ứng dụng được hồ trợ rộng rãi Một ứng dụng có thể sử dụng hầu hết thư viện tiêu chuẩn
và tuyệt vời của Python, cũng như các API và thư viện đề truy cập các dịch vụ và
dữ liệu mô hình hóa Nhiều nền tảng ứng dụng web Python nguồn mở hoạt động với App Engine, chắng hạn như Django, web2py và Pylons, và App Engine thậm chí còn bao gồm một nền tàng đon giàn của riêng nó
Môi trường Java và Python sứ dụng cùng một mô hình máy chủ ứng dụng: một yêu cầu được chuyến đến máy chủ ứng dụng, ứng dụng được khởi động trên máy chủ ứng dụng (nếu cần) và được gọi đế xử lý yêu cầu tạo phân hồi và phản hồi được trá về khách hàng Mỗi môi trường chạy trinh thông dịch cùa nó (JVM hoặc trinh thông dịch Python) với các hạn chế sandbox, chẳng hạn như bất kỳ nỗ lực nào
để sử dụng một tính năng của ngôn ngừ hoặc thư viện yêu cầu quyền truy cập bên ngoài sandbox đều không thành công với một ngoại lệ [11 ]
Có thể định cấu hình một số khía cạnh về cách tệp tĩnh được phân phát, bao gồm URL cho tệp tĩnh, loại nội dung và hướng dẫn cho trinh duyệt đề giữ băn sao của tệp trong bộ nhớ cache trong một khoảng thời gian nhất định đế giàm lưu lượng truy cập và tăng tốc độ hiến thị trang [11],
Trang 241.3.3 Kho dữ liệu
Cho đến nay, loại hệ thống lưu trữ dữ liệu phố biến nhất cho các ứng dụng web trong thập ký qua là cơ sở dữ liệu quan hệ, với các bảng hàng và cột được sắp xếp hiệu quả và ngắn gọn không gian, cùng với các chi mục và sức mạnh tính toán thô đế thực hiện các truy van, đặc biệt là "nối" các truy vấn có thể coi nhiều bàn ghi liên quan như một đơn vị có thể truy vấn Các loại hệ thong lưu trữ dữ liệu khác bao gồm cơ sở dừ liệu phân cấp (hệ thong tệp, cơ sở dữ liệu XML) và cơ sở dìr liệu đối
tượng Mồi loại cơ sỡ dữ liệu đều có ưu và nhược điếm và loại nào phù hợp nhất cho một ứng dụng phụ thuộc vào bản chất của dữ liệu của ứng dụng và cách nó được truy cập Hệ thống cơ sở dừ liệu của Google App Engine gần giống nhất với
cơ sờ dữ liệu đối tượng Nó không phái là cơ sở dữ liệu quan hệ kết họp truy vấn và các ứng dụng web được hồ trợ bởi cơ sở dữ liệu quan hệ, điều này có thề sẽ yêu cầu thay đối cách nghĩ về dừ liệu ứng dụng Giống như với môi trường thực thi, thiết kế của kho dữ liệu App Engine là một sự trừu tượng cho phép App Engine xử lý các chi tiết cứa việc phân phối và mở rộng ứng dụng [11]
1.3.3.1 Thực thê và thuộc tinh
ứng dụng App Engine lưu trữ dừ liệu dưới dạng một hoặc nhiều thực thể trong kho dữ liệu Một thực thể có một hoặc nhiều thuộc tính, mồi thuộc tính có tên
và giá trị thuộc một trong một số kiều giá trị nguyên thủy Mồi thực thề thuộc một loại được đặt tên, phân loại thực thể cho mục đích cúa các truy vấn Thoạt nhìn, điều này có vẽ tương tự như một cơ sờ dữ liệu quan hệ: các thực the cùa một loại giống như các hàng trong bàng và các thuộc tính giống như các cột Tuy nhiên, có hai điếm khác biệt chính giữa các thực thể và các hàng Đầu tiên, một thực thế cùa một loại nhất định không bắt buộc phải có các thuộc tính giống như các thực thế khác cùng loại Thứ hai, một thực thế có thế có một thuộc tính cùng tên với một thực thể khác, nhung với một loại giá trị khác Một sự khác biệt khác giữa một thực thế và một hàng trong báng là một thực thể có thế có nhiều giá trị cho một thuộc tính Tính năng này hơi kỳ quặc, nhưng có thề khá hữu ích khi đã hiếu
Mọi thực thế kho dừ liệu đều có một khóa duy nhất được cung cấp bởi ứng dụng hoặc được tạo bời App Engine Không giống như cơ sở dữ liệu quan hệ, khóa không phải là “trường” hoặc thuộc tính, mà là một khía cạnh độc lập của thực thế
Có thế tìm nạp một thực thể nhanh chóng nếu biết khóa cùa nó và có thể thực hiện
Trang 25thực thế đã được tạo App Engine sử dụng loại và khóa của thực thế đế giúp xác định nơi thực thế được lưu trữ trong một tập hợp lớn các máy chù - mặc dù cả khóa
và loại đều không đàm báo rằng cá hai được lưu trừ trên cùng một máy chủ
J.3.3.2 Truy vấn và chi mục
Một truy vấn kho dữ liệu trà về không hoặc nhiều thực the cùa một loại duy nhất Nó cũng có thế chi trả về các khóa của các thực thế sẽ được trà về cho một truy vấn Truy vấn có thế lọc dựa trên các điều kiện mà giá trị thuộc tính của thực thế phải đáp ứng và có thế trả về các thực thế được sáp xếp theo giá trị thuộc tính Một truy vấn cũng có thể lọc và sắp xếp bằng cách sử dụng các khóa [ 11 ]
Trong cơ sở dữ liệu quan hệ điển hình, các truy vấn được lập kế hoạch và thực thi trong thời gian thực dựa trên các bàng dữ liệu, được lưu trữ như chúng được thiết kế bới nhà phát triền Nhà phát triển cũng có thế yêu cầu cơ sở dữ liệu tạo và duy trì các chi mục trên các cột nhất định đế tăng tốc các truy vấn nhất định.App Engine thực hiện một điều gì đó khác biệt đáng kể Với App Engine, mọi truy vấn đều có một chi mục tương ứng được duy trì bởi kho dữ liệu Khi ứng dụng thực hiện một truy vấn, kho dữ liệu sẽ tim chì mục cho truy vấn đó, quét xuống hàng đầu tiên phù hợp vời truy vắri, sau đótríầ^ề thircthc cho thoi hàng liên tiếp trong chi mục cho đến hàng đầu tiên không khớp với truy vấn
Tất nhiên, điều này đòi hởi App Engine phải biết trước những truy vấn mà ứng dụng sẽ thực hiện Nó không cần biết trước giá trị của các bộ lọc, nhưng nó can biết loại thực thế đề truy van, các thuộc tính đang được lọc hoặc sắp xếp, toán tử cùa bộ lọc và thứ tự của các loại
App Engine cung cấp một tập hợp các chi mục cho các truy vấn đơn giản theo mặc định, dựa trên các thuộc tính tồn tại trên các thực thế cùa một loại Đối với các truy vấn phức tạp hơn, một ứng dụng phải bao gồm các đặc tả chi mục trong cấu hỉnh cùa nó App Engine SDK giúp tạo tệp cấu hình này bằng cách xem truy vấn nào được thực hiện khi kiếm tra ứng dụng của minh bang máy chú web phát triền được cung cấp trên máy tính Khi tài lên ứng dụng, kho dữ liệu biết tạo chi mục cho mọi truy vấn mà ứng dụng thực hiện trong quá trình thử nghiệm, cũng có thế chỉnh sữa cấu hình chi mục theo cách thủ công
Khi ứng dụng tạo các thực thể mới và cập nhật các thực thể hiện có, kho dữ
Trang 26(mỗi truy vấn là một lần quét báng đơn giãn) với chi phí cập nhật thực thế (có thể nhiều bàng có the cần cập nhật cho một thay đồi duy nhất) Trên thực tế, hiệu suất của truy vấn được hỗ trợ bàng chì mục không bị ảnh hưởng bởi số lượng thực thể trong kho dừ liệu, chi là kích thước của tập kết quà.
J.3.3.3 Giao dịch
Khi một ứng dụng có nhiều máy khách cố gắng đọc hoặc ghi cùng một dừ liệu đồng thời, dữ liệu bát buộc phải ở trạng thái nhất quán Một người dùng sẽ không bao giờ thay dữ liệu được viết một nửa hoặc dữ liệu không có ý nghĩa vì hành động cùa người dùng khác chưa hoàn thành
Khi một ứng dụng cập nhật các thuộc tính cùa một thực thế, App Engine đàm bão rang mọi cập nhật đối với thực thề đều thành công cùng một lúc hoặc toàn bộ cập nhật không thành công và thực thể vẫn như cũ trước khi bắt đầu cập nhật Những người dùng khác không thấy bất kỳ ảnh hưởng nào của thay đồi cho đến khi thay đôi thành công
Nói cách khác, cập nhật của một thực the duy nhất xáy ra trong một giao dịch Mỗi giao dịch là nguyên từ: giao dịch thành công hoàn toàn hoặc thất bại hoàn toàn,
và không thể kếtThẳy líỔỊểtìiả
Một ứng dụng có thể đọc hoặc cập nhật nhiều thực thể trong một giao dịch, nhưng nó phải thông báo cho App Engine biết những thực thề nào sẽ được cập nhật cùng nhau khi nó tạo các thực thế ứng dụng thực hiện điều này bang cách tạo các thực thể trong các nhóm thực thể App Engine sử dụng các nhóm thực thể để kiểm soát cách các thực thế được phân phối trên các máy chủ, do đó, nó có thế đảm bảo giao dịch trên một nhóm thành công hoặc thất bại hoàn toàn Theo thuật ngữ cơ sờ
dữ liệu, kho dữ liệu cùa App Engine hồ trợ các giao dịch cục bộ
Khi một ứng dụng gọi API kho dữ liệu để cập nhật một thực thề, quyền kiếm soát sẽ không quay trở lại ứng dụng cho đến khi giao dịch thành công hay thất bại
và cuộc gọi trà về với kiến thức thành công hay that bại Đối với các bản cập nhật, điều này có nghĩa là ứng dụng đợi tất cà các thực thể và chi mục được cập nhật trước khi thực hiện bất kỳ điều gì khác
Với các chì mục và khá năng kiểm soát đồng thời lạc quan, kho dữ liệu của App Engine được thiết kế cho các ứng dụng cần đọc dữ liệu nhanh chóng, đảm bào
Trang 27dùng và kích thước cùa dữ liệu Mặc dù các mục tiêu này hơi khác so với các mục tiêu cùa cơ sở dữ liệu quan hệ, nhưng đặc biệt phù hợp với các ứng dụng web.
1.3.4 Dịch vụ
Mối quan hệ của kho dừ liệu với môi trường thời gian chạy là mối quan hệ của một dịch vụ: ứng dụng sử dụng một API đế truy cập vào một hệ thống riêng biệt quàn lý tất cả các nhu cầu mở rộng của riêng nó với môi trường thời gian chạy Google App Engine bao gồm một số dịch vụ tự mở rộng khác hữu ích cho các ứng dụng web
Dịch vụ bộ nhớ đệm (hoặc bộ nhớ đệm) là một dịch vụ lưu trữ khóa-giá trị ngắn hạn Ưu điếm chính của nó so với kho dữ liệu là tốc độ nhanh, nhanh hơn nhiều so với kho dữ liệu đê lưu trữ và truy xuất đơn giàn Bộ nhớ đệm lưu trữ các giá trị trong bộ nhớ thay vi trên đĩa đê truy cập nhanh hơn Nó được phân phối giống như kho dữ liệu, vì vậy mọi yêu cầu đều thay cùng một bộ khóa và giá trị Tuy nhiên, nó không liên tục như kho dữ liệu: nếu máy chủ gặp sự cố, chang hạn như khi mất điện, bộ nhớ sẽ bị xóa Nó cũng có cảm giác hạn chế hơn về tính nguyên tư và tính giao dịch so với kho dữ liệu Như tên của nó, dịch vụ bộ nhớ đệm được sử dụng tốt nhất làm bộ nhớ đệm cho các kết quả cùa các truy vấn hoặc tính toán được thực hiện thường xuyên, ứng dụng kiềm tra giá trị được lưu trong bộ nhớ cache và nếu giá trị không có ờ đó, ứng dụng sẽ thực hiện truy vấn hoặc tính toán và lưu trữ giá trị trong bộ nhớ cache để sừ dụng trong tương lai
Các ứng dụng App Engine có thế truy cập các tài nguyên web khác bang dịch
vụ tìm nạp URL Dịch vụ thực hiện các yêu cầu HTTP đến các máy chủ khác trên Internet, chắng hạn như đế truy xuất các trang hoặc tương tác với các dịch vụ web
Vì các máy chú từ xa có thể phản hồi chậm, nên API tìm nạp URL hỗ trợ tim nạp URL trong nền trong khi trình xử lý yêu cầu thực hiện những việc khác, nhưng trong mọi trường hợp, quá trình tìm nạp phãi bắt đầu và kết thúc trong vòng đời cùa trinh xử lý yêu cầu ủng dụng cũng có thế đặt thời hạn, sau đó cuộc gọi sẽ bị hủy nếu máy chủ từ xa không phàn hồi
Các ứng dụng App Engine có thể gửi tin nhắn bang dịch vụ thư điện tử Tin nhắn có thế được gửi thay mặt cho ứng dụng hoặc thay mặt cho người dùng đã thực hiện yêu cầu đang gửi email (nếu tin nhắn là từ người dùng) Nhiều ứng dụng web
sử dụng email đe thông báo cho người dùng, xác nhận hành động của người dùng
Trang 281.3.5 Tài khoản Google
Các tính năng của App Engine tích hợp với tài khoản Google, hệ thong tài khoản người dùng được sử dụng bởi các ứng dụng của Google như thư tín, tài liệu
và lịch Có thế sử dụng tài khoản Google làm hệ thống tài khoán của ứng dụng, vì vậy không can phải tạo tài khoán của riêng mình Và nếu người dùng ứng dụng đã
có tài khoản Google, họ có thế đãng nhập vào ứng dụng bang tài khoản hiện có của
họ mà không can tạo tài khoản mới chi cho ứng dụng Tất nhiên, không có nghĩa vụ phải sử dụng tài khoản Googlc Luôn có thổ xây dựng hệ thống tài khoăn cũa riêng mình hoặc sử dụng nhà cung cấp OpenlD
Tài khoản Google đặc biệt hữu ích đề phát triến các ứng dụng cho công ty hoặc tổ chức bàng Google Apps Với Google Apps, các thành viên trong tồ chức có thể sử dụng cùng một tài khoản đế truy cập các ứng dụng tùy chinh cũng như thư tín, lịch và tài liệu
1.3.6 Queues và Cron Jobs
Một ứng dụng wcb phải phán hồi các yêu cầu wcb rất nhanh, thường trong vòng chưa đầy một giây và tốt nhất là chì trong vài chục mill giây, đế cung cấp trải nghiệm mượt mà cho n^trời dùrig đang ngồi'tóớc trình đbyệt tiều này không khiến ứng dụng mất nhiều thời gian để làm việc Đôi khi, có nhiều việc phái làm hơn là có thời gian để làm Trong những trường hợp như vậy, thường sẽ ốn nếu công việc được hoàn thành trong vòng vài giây, vài phút hoặc vài giờ, thay vì ngay lập tức, vì người dùng đang đợi phán hồi từ máy chú Nhưng người dùng cần được đảm bão rằng công việc sẽ được hoàn thành
Đối với loại công việc này, App Engine sử dụng hàng đợi tác vụ Hàng đợi tác
vụ cho phép trinh xử lý yêu cầu mô tả công việc sẽ được thực hiện sau này, bên ngoài phạm vi của yêu cầu web Hàng đợi đảm bào rằng mọi nhiệm vụ đều được hoàn thành cuối cùng Neu một tác vụ không thành công, hàng đợi sẽ thử lại tác vụ cho đen khi nó thành công Bạn có thế định cấu hình tốc độ xử lý hàng đợi để dàn trài khối lượng công việc suốt cả ngày
Hàng đợi thực hiện một nhiệm vụ bang cách gọi một trình xừ lý yêu cầu Nó
có thể bao gồm trọng tái dữ liệu được cung cấp bởi mã đã tạo tác vụ, được phân phối tới trình xữ lý cúa tác vụ dưới dạng một yêu cầu HTTP Trình xừ lý nhiệm vụ
Trang 29phải tuân theo các giới hạn giống như các trình xử lý yêu cầu khác, bao gồm cả giới hạn thời gian 30 giây.
Một tính năng đặc biệt mạnh mẽ của hàng đợi tác vụ là khả năng xếp hàng đợi một tác vụ trong một giao dịch kho dữ liệu Điều này đảm bảo rằng nhiệm vụ sẽ được xếp vào hàng chi khi phan còn lại cùa giao dịch trong kho dữ liệu thành công Bạn có thế sử dụng các tác vụ giao dịch đế thực hiện các hoạt động bố sung cúa kho
dữ liệu mà cuối cùng phải nhất quán với giao dịch, nhưng điều đó không can đảm báo tính nhất quán mạnh mẽ cùa các giao dịch cục bộ của kho dữ liệu
App Engine có một dịch vụ khác để thực thi các tác vụ vào những thời điềm
cụ thế trong ngày Các tác vụ đã lên lịch còn được gọi là “công việc cron”, một tên mượn từ một tính năng tương tự của hệ điều hành Unix Dịch vụ nhiệm vụ đã lên lịch có thế gọi một trình xử lý yêu cầu vào một thời điềm cụ thể trong ngày, tuần hoặc tháng, dựa trên lịch trinh bạn cung cấp khi tải lên ứng dụng của mình Các tác
vụ đã lên lịch rat hữu ích đế thực hiện bảo trì thường xuyên hoặc gừi tin nhắn thông báo định kỳ
1.3.7 Công cụ phát triển
Google cung Icấp các công cụ miễn phí để phát triển các ứng dụng App Engine bang Java hoặc Python Bạn có thể tải xuống bộ công cụ phát triồn phần mềm (SDK) cho ngôn ngữ bạn đã chọn và hệ điều hành của máy tính từ trang web cùa Google Người dùng Java có thế tải Java SDK dưới dạng một trinh cắm thêm cho môi trường phát triển tích hợp Eclipse Người dùng Python sir dụng Windows hoặc Mac OS X có thề tải Python SDK ở dạng ứng dụng GUI Cả hai SDK cũng có sẵn dưới dạng kho lưu trữ ZIP của các công cụ dòng lệnh, đế sử dụng trực tiếp hoặc tích hợp vào môi trường phát triển hoặc hệ thống xây dựng cửa bạn
Mồi SDK bao gồm một máy chú web phát triền chạy ứng dụng cúa bạn trên máy tính cục bộ của bạn và mô phông môi trường thời gian chạy, kho dữ liệu và các dịch vụ Máy chú phát triển tự động phát hiện các thay đối trong tệp nguồn của bạn
và tài lại chúng khi cần, vì vậy bạn có thế giữ máy chú hoạt động trong khi phát triển ứng dụng
Neu đang sử dụng Eclipse, bạn có thế chạy máy chủ phát triển Java trong trình
gỡ lỗi tương tác và có thề đặt các điểm ngắt trong mã ứng dụng của mình Bạn cũng
có thề sử dụng Eclipse đế phát triến ứng dụng Python bang PyDev, một tiện ích mờ
Trang 30rộng Eclipse bao gồm trình gỡ lỗi Python tương tác (Sử dụng PyDev không được
đề cập trong cuốn sách này, nhưng có hướng dẫn trên trang web cùa Google.)Phiên bản phát triên cúa kho dữ liệu có thế tự động tạo cấu hình cho các chỉ mục truy vấn khi ứng dụng thực hiện các truy vấn, mà App Engine sẽ sử dụng đe tạo trước các chi mục cho các truy vấn đó Có thể tắt tính năng này đế kiếm tra xem các truy vấn có chỉ mục thích hợp trong cấu hình hay không
Máy chủ web phát triền bao gom một ứng dụng web cài sằn đề kiếm tra nội dung cùa kho dữ liệu (mô phỏng) Cũng có thề tạo các thực thế kho dữ liệu mới bằng cách sử dụng giao diện này cho mục đích thử nghiệm
Mồi SDK cũng bao gồm một công cụ đế tương tác với ứng dụng chạy trên App Engine Trước hết, bạn sử dụng công cụ này đế tài mã ứng dụng của mình lên App Engine Cũng có thề sử dụng công cụ này đe tải xuống dừ liệu nhật ký từ ứng dụng trực tiếp cùa minh hoặc quản lý chi mục của ứng dụng trực tiếp
SDK Python và Java bao gồm một tính năng mà bạn có the cài đặt trong ứng dụng cùa minh đế truy cập có lập trình từ xa an toàn vào ứng dụng trực tiếp của bạn SDK Python bao gồm cậc^công cụ sử dụng tính năng này cho các hoạt động dữ liệu hàng loạt, chẳngtĩạiVnhứ^tằì leẲtìểRếuinẵ/tơỌặ vmPban^at^kuong lượng lớn
dữ liệu cho mục đích sao lưu hoặc di chuyển SDK cũng bao gồm một trình bao dòng lệnh tương tác Python đế kiểm tra, gỡ lồi và xử lý dừ liệu trực tiếp theo cách thù công (Các công cụ này nằm trong Python SDK, nhưng cũng hoạt động với các ứng dụng Java bang cách sử dụng phiên bản Java của tính năng truy cập từ xa.) Có thể viết các tập lệnh và chương trình của riêng mình sử dụng tính năng truy cập từ
xa đế chuyền đồi dữ liệu quy mô lớn hoặc bào tri khác
1.4 Ket chuong
Trong chương này, giới thiệu về điện toán đám mây và các dịch vụ điện toán đám mây Tìm hiểu đặc điếm, kiến trúc, dịch vụ và các mô hình triển khai dịch vụ điện toán đám mây, đồng thời phân tích các ưu, nhược điếm cùa các dịch vụ điện toán đám mây Ngoài ra, trong chương này tập trung trình bày một so các dịch vụ điện toán đám mây phố thông được sử dụng rộng rãi hiện nay Nghiên cứu tồng quan về Google App Engine và các thành phần, công cụ và tính năng chính của GAE
Trang 31Từ các nghiên cứu trong chương, việc xây dựng và triền khai hệ thống trên nền tàng điện toán đám mây nói chung và trên GAE nói riêng có những ưu điếm nối bật như sau: (i) Chi phí ban đầu thấp; (ii) Hỗ trợ nhiều công cụ lập trinh, cơ sở dừ liệu, nền tăng; (iii) Có thể nâng cấp, hiệu chinh 1 cách dễ dàng, nhanh chóng thông qua việc mua, sử dụng các tùy chọn cùa GAE đế tăng/giảm dung lượng lưu trữ, CPU, bộ nhớ và đường truyền; (iv) Liên tục được thừa hưởng các tiến bộ kỹ thuật mới nhất trong lình vực công nghệ; (v) Có cơ chế bào mật và an toàn dữ liệu tập trung; (vi) Không cần chuyên gia trong lĩnh vực quăn trị mạng mà chi cần một chuyên viên có kiến thức ở mức Khá về hệ thống.
Thư viện Trường Đại học Mở Hà Nội
Trang 32CHLONG 2: PHÂN TÍCH VÀ THIẾT KÉ HỆ THÓNG ĐĂNG KÝ VÀ
2.1.2.1 Sơ đồ tổ chức
Hỉnh 2.1: Sơ đồ tố chức
Trang 332.1.2.2 Chức năng từng bộ phận
Giám đốc là lãnh đạo trực tiếp các phó giám đốc và các phòng chức năng Phó giám đốc có nhiệm vụ tham mưu cho giám đốc, lãnh đạo chi đạo trực tiếp các khoa lâm sàng và các khoa cận lâm sàng Các phòng chức năng tham mưu giúp việc cho giám đốc bệnh viện thực hiện các kế hoạch về chuyên môn và thực thi chính sách liên quan đến khám chữa bệnh của bệnh viện
Các khoa cận lâm sàng dưới sự chi đạo trực tiếp của phó giám đốc phụ trách chuyên môn có chức năng tham mưu, giúp việc cho các khoa Lâm sàng chẩn đoán chính xác và điều trị dựa trên các kết quà cận lâm sàng, hỗ trợ cho các khoa Lâm sàng trong quá trinh điều trị bệnh nhân một cách có khoa học Các khoa Lâm sàng dưới sự chỉ đạo trực tiếp của phó giám đốc phụ trách chuyên môn, chức năng thực hiện các kể hoạch chuyên môn, điều trị bệnh nhân
2.1.3 Hoạt động đăng ký khám và khảm bệnh
2.1.3.1 Thực trạng khám, chữa bệnh
Hiện nay, tinh trạng quá tăi khám, chữa bệnh là phố biến tại hàu hết các bệnh viện ở các tuyến, đặc biệt quá|tịĩị[trầm trọng ớ tuyến Trung ương yà tuyến tinh Tỷ
lệ sử dụng giường nội trú thường xuyên trên 100% và dao động từ 120% đên 150%
ở một số bệnh viện lớn, như Bệnh viện Bạch Mai, Bệnh viện K Hà Nội, Bệnh viện Ung bướu Thành phố Hồ Chí Minh, Bệnh viện Nhi đồng 1 (TP Hồ Chí Minh), [2]Một số nguyên nhân chính dẫn tới tình trạng quá tái tại các bệnh viện: (i) Một
là, nhu cầu khám, chữa bệnh của người dân ngày càng tăng trong khi chi tiêu giường bệnh thấp và tăng không tương xứng với nhu cầu khám, chừa bệnh Ngoài
ra, hiện nay, y tế cơ sở vẫn chưa đáp ứng được nhu cầu người dân, chất lượng hiệu quả hoạt động chưa cao Công tác chăm sóc sức khỏe ban đầu chưa thực sự tốt, nhiều người dân chưa quan tâm đến dự phòng, nâng cao sức khỏe, chỉ đến khi có bệnh mới chịu đi chừa Bên cạnh đó, phần lớn các trạm y tế chưa quản lý được các bệnh mạn tính Đặc biệt, so lượng và chất lượng dịch vụ tại các cư sờ y tế tuyến đầu còn hạn chế, danh mục thuốc còn ít Trạm y tế xã, phường mới chi thực hiện được 50% - 70% các dịch vụ kỹ thuật, khoảng 40% danh mục thuốc theo phân tuyến, Cùng với đó, hạn chế về nhân lực tại các trạm y tế, chất lượng khám, chữa bệnh tại tuyến dưới chưa bảo đám, dẫn tới mất lòng tin của bệnh nhân và sự thiếu tuân thủ quy định chuyến tuyến, chuyền tuyến ngược (80% bệnh nhân đến khám, chừa bệnh
Trang 34tại tuyến Trung ương là do họ tin tưởng vào dịch vụ ở tuyến Trung ương) Chưa kể, khả năng kinh tế cùa người dân được cải thiện trong khi khả năng cung ứng dịch vụ của các cơ sở khám, chữa bệnh tuyến dưới còn hạn chế, dẫn tới tinh trạng vượt tuyến; (ii) Hai là, chính sách viện phí và báo hiếm y tế, trong đó giá và cơ chế chi trà chưa phù hợp Các quy định cùa bào hiếm trong việc chi chi trả các loại vật tư
kỳ thuật cao, đắt tiền với bệnh nhân nội trú Đế được thanh toán những loại vật tư
kỹ thuật cao này buộc phái cho bệnh nhân nam nội trú, trong khi tinh trạng cùa bệnh nhân chưa đến mức lưu viện, từ đó dẫn đen quá tãi Sự quá tải ở các bệnh viện còn
vì từ chính sách cùa bảo hiếm khi quy định phân loại thuốc theo tuyến bệnh viện Cùng một loại bệnh nhưng điều trị tại bệnh viện ở tuyến khác nhau, cấp thuốc khác nhau với chất lượng khác nhau Điều này khiến cho nhiều người bệnh tự ý chuyền tuyến lên bệnh viện tuyến trên, mong nhận được thuốc có chất lượng tốt hơn, đội ngũ y bác sĩ có trình độ tay nghề cao hơn; (iii) Ba là, chính sách tự chủ tài chính và
xã hội hóa dần tới các bệnh viện tăng cường các hoạt động liên doanh, liên kết trong đầu tư cung ứng dịch vụ (chủ yếu là trang thiết bị y tế kỹ thuật cao) làm tăng tính đa dạng trong cung ứng dịch vụ Các bệnh viện tăng các hoạt động tiếp thị thu hút bệnh nhân tới sử dụng dịch vụ và giữ cà những bệnh nhân thuộc phân tuyến kỹ thuật cùa tuyến dưới lại để điều trị làm tăng thu cho bệrih viện
Với những nguyên nhân đã nêu trên, công việc của cán bộ, nhân viên tại khu vực gặp rất nhiều khó khăn Tại đây, mọi công việc trong quy trinh đều mới được thực hiện mà chưa có sự tư vấn cùa cùa đội ngũ tư vấn Có rất nhiều trường hợp đen đăng ký khám rồi không khám do không gặp được bác sì mong muốn, hoặc các triệu ứng lâm sàng không thỏa đáng Thêm nữa, do yếu tố tâm lý của người khám, luôn mong muốn gặp được bác sĩ mong muốn, do đó, có bác sĩ thì quá nhiều bệnh nhân, có bác sĩ thì quá ít trong khi chất lượng khám và chữa bệnh của bác sĩ là tương đối đồng đều Ngoài ra, thời gian khám cũng là vấn đề khó khăn, khung giờ người đến đăng ký từ 6h30 đến 9h30 là rất đông, trong khi đó các khung giờ khác lại rất vắng Đế khắc phục những khó khăn trên, Viện xây dựng hệ thống đăng ký
để người bệnh có thế lựa chọn bác sĩ khám, khung giờ khám và qua đó tư vấn viên
sẽ tư vấn và xếp lịch khám
2.1.3.2 Những hệ lụy và gi ủi pháp khắc phục
Các bang chứng khoa học cho thấy, tỷ lệ sử dụng giường bệnh cao quá quy định, bệnh nhân quá đông sẽ gây ra những hệ lụy nghiêm trọng: (i) Thứ nhất, tình
Trang 35trạng quá tài giường bệnh, quá đông bệnh nhân sẽ dẫn tới nguy cơ không bào đảm chất lượng khám, chữa bệnh và sự an toàn cho người bệnh Thời gian khám, chữa bệnh cho bệnh nhân ít đi, đặc biệt là tại khu vực khoa khám bệnh quá tài, các bác sỹ không có đù thời gian khám và tư vấn cho bệnh nhân Việc kê thêm giường bệnh, nhận quá đông bệnh nhân trong khi diện tích mặt bằng không tăng, cơ sở vật chất đầu tư không hợp lý và đúng thiết kế, thiếu nhân lực sẽ dẫn tới tình trạng các bệnh viện không bảo đàm được các tiêu chuân kỹ thuật vận hành theo quy định;(ii) Thứ hai, tinh trạng quá tải ánh hưởng tới chính các nhân viên y tế: nhân lực do nhiều bệnh viện phải bố trí làm thêm giờ, tăng thời gian làm việc đế tránh ùn tắc bệnh nhân dần tới tinh trạng nhân viên y tế không được nghi bù, nghĩ trực đầy đủ theo quy định, có thề làm ánh hưởng tới sức khỏe nhân viên y tế và chất lượng dịch vụ; (iii) Thứ ba, tinh trạng quá tải làm chất lượng khám, chữa bệnh không đáp ứng được nhu cầu ngày càng cao và đa dạng cùa người dân, dần đến sự chênh lệch lớn giữa các tuyến, các vùng Hầu hết các cơ sở y tế mới chì chù yếu tập trung vào chữa bệnh mà chưa có đủ điều kiện thực hiện chăm sóc toàn diện người bệnh Thủ tục khám, chừa bệnh bào hiếm y tế một số nơi còn phiền hà Thái độ giao tiếp ứng xử cùa một bộ phận cán bộ chưa tốt An ninh, trật tự an toàn bệnh viện chưa được báo đảm Việc kết hợp giữa y học cồ truyền và y học hiện đại trong một số cơ sở còn hình thức, lợi thế của y dược cố truyền chưa phát huy tốt; (iv) Thứ tư, tình trạng quá tài làm tăng nguy cơ xảy ra những sự cố y khoa gây nguy hại đến bệnh nhân Neu
sự cố nhẹ có thể gây kéo dài thời gian nằm viện của bệnh nhân, ảnh hưởng đến chức năng một số cơ quan trên cơ thể, sự cố nặng có thề gây mất chức năng vĩnh viễn hoặc dần đen tứ vong Chưa kế, khi sự cố y khoa xáy ra, thường theo sau đó là những vụ khiếu kiện cùa bệnh nhân, người nhà bệnh nhân đối với nhân viên y tế và
cơ sở khám, chữa bệnh
2.1.3.3 Thực trạng trang thiết bị
Với hệ thống hiện nay của Viện xây dựng theo mô hình Client-Server, hệ thống có những ưu điếm nối bật đó là: (i) chù động trong các hoạt động đăng khám tại chồ (có thế sử dụng mạng LAN); (ii) làm chù và tự quản lý hệ thống cơ sớ dữ liệu và máy chú của hệ thống Tuy nhiên, cũng có những nhược điếm: (i) luôn luôn phải có cán bộ túc trực hệ thống; (ii) các giải pháp an toàn, bảo mật dừ liệu chưa được cập nhật và update kịp thời; (iii) việc nâng cấp máy chủ đòi hỏi mat rất nhiều thời gian từ khi làm tờ trinh xin nâng cấp đến việc phải tạm dừng hệ thống để triến
Trang 362.1.3.4 Tình hình khám bệnh tại bệnh viện châm cứu Trung ương
Như đã phân tích ở trên, tình hình đăng ký khám và khám bệnh tại bệnh viên Châm cứu Trung ương cũng tồn tại những khó khăn, vướng mẳc cần tháo gỡ Bệnh nhân đến phòng khám đãng ký khám và khám bệnh Quy trình đăng ký khám và khám bệnh vần nặng về thù tục hành chính chưa ứng dụng CNTT một cách toàn diện đế hồ trợ bệnh nhân có thế đăng ký và khám bệnh tại bệnh viện thuận tiện và hiệu quà Cụ thể: (i) với số lượng bệnh nhân đãng ký khám và khám bệnh ngày càng gia tăng, cơ sở vật chất, năng lực phục vụ chưa được nâng cấp tỳ lệ thuận với
số lượng bệnh nhân Dần đến luôn luôn xảy ra tình trạng quá tải tại các khu vực đăng ký khám và khám bệnh; (ii) việc chi định bác sỹ khám không được chủ động, bệnh nhân cũng không được đăng ký khám theo yêu càu; (iii) thông tin khám chưa được cập nhật và thông báo tới bệnh nhân một cách kịp thời, nhanh chóng
2.2 Phân tích yêu cầu hệ thống đăng ký và khám bệnh
2.2.1 Xác định yêu cầu
Từ những nhược điếm của hệ thống đang ứng dụng và sử dụng tại bệnh viện
đã nêu ở trên, một bài toán đặt ra là làm the nào để hồ trợ bệnh nhân đăng ký khám
bệnh trực tuyên đơn gián, thuận tiện có sự ràng buộc giữa bệnh nhân đăng ký khám
và bệnh viện Xây dựng một hệ thống có thế giúp bệnh nhân tiện sử dụng đáp ứng đầy đủ các chức năng như đăng ký khám, cập nhật thông tin đã đăng ký khám, hũy thông tin đăng ký khám, có thế tim kiếm thông tin kết quả từng đợt đăng ký khám phục vụ cho bệnh nhân đăng ký khám
Đối với người quàn lý có đầy đú các chức năng phục vụ cho công tác quàn lý bệnh nhân qua ứng dụng như quản lý danh sách thông tin bệnh nhân, danh sách đã đăng ký khám, chỉ định khám từng bệnh nhân đã đăng ký cho từng bác sỳ, thông báo hoặc chuyển đăng ký khám cùa bệnh nhân và bác sỹ trâ kết quá khám bệnh cho bệnh nhân lên hệ thống đăng ký khám bệnh giúp bệnh nhân tra cứu kết quả khám Bài toán đặt ra sẽ giải quyết được những nhược điếm của hệ thống đang ứng dụng tại bệnh viện Châm cứu Trung ương
2.2.2 Đánh giá và nắm bắt thông tin
Những năm gần đây với sự chi đạo cùa Chính phủ và Bộ Y tế yèu cầu tin học hóa trong công tác khám chữa bệnh phục vụ cho Nhân dân với yêu cầu đó Bệnh
Trang 37bệnh nhưng do kinh phí hạn hẹp và sự quan tâm đến ứng dụng CNTT chưa nhiều dẫn đen hệ thống CNTT trong bệnh viện chưa đáp ứng được yêu cầu tin học hóa của Chính phủ và Bộ Y tế.
Hệ thống CNTT đang ứng dụng tại bệnh viện hiện nay chưa được áp dụng một cách toàn diện mà chi ứng dụng rời rạc ở các cấp ứng dụng quản lý khác nhau Đối với hệ thống hỗ trợ bệnh nhân đăng ký khám bệnh trực tuyến đang ứng dụng tại bệnh viện còn nhiều hạn chế chưa đáp ứng nhu cầu cho bệnh nhân và cấp quàn lý Dưới đây là một số ưu, nhược diem của hệ thống
ưu điếm-, hệ thống hiện tại được xây dựng trên mô hình client-server hoạt động khá hiệu quá Các thao tác nghiệp vụ thực hiện trên hệ thống đơn giản dề sử dụng Ngoài ra, hệ thống được xây dựng trên cơ sờ hạ tầng độc lập nên có thế chủ động trong các công tác bão trì, vận hành và nâng cấp
Nhược điểm-, vì hoạt động hệ thống máy chù đặt tại bệnh viện, hệ thống báo mật còn hạn chế dần đến chưa an toàn về bảo mật thông tin Một số chức năng cùa
hệ thống còn thiếu đế đáp ứng nhu cầu của nghiệp vụ đăng ký khám và khám bệnh, như: (i) hệ thống chưa quản lý được những bệnh nhân đã đăng ký và lịch sừ đăng ký (ii) hệ thống chưa quàn lý được đầy đú thông tin bệnh nhàn đà đăng ký và có nhiều chức năng lựa chọn đăng ký khám bệnh khác nhau cho bệnh nhân đăng ký như chọn bác sỳ khám, thay đối thời gian đãng ký đã đăng ký khám bệnh và có rất nhiều đăng
ký khám bệnh được thực hiện trực tiếp dần đến việc điều hành bác sỹ khám và lịch khám gặp nhiều khó khăn; (iii) Các chức năng thông báo đến bệnh nhân thông tin
đã đăng ký khám bệnh và chức năng tìm kiếm thông tin khám bệnh và kết quả khám bệnh cho bệnh nhân đà đăng ký hiện cũng chưa có trên hệ thong
2.2.3 Xác định các tác nhân của hệ thong
Việc xây dựng hệ thống quản lý trong bệnh viện tạo ra những biến đồi, phần
do việc tự động hóa công việc hành chính, phần do cấu trúc lại tố chức và sự vận hành cùa hệ thống Bán thân công việc thiết kế hệ thống thông tin đã được thực hiện dưới nhiều góc độ khác nhau, thậm chí kề cá tâm lý, với những đặc thù riêng biệt và
có độ phức tạp cao Chính vì the, cần phải tỉm hiểu những đối tượng có liên quan và khách hàng cùa hệ thống, đồng thời nắm bắt được nhu cầu cùa họ Neu đánh giá tình trạng của tồ chức, cần xác định chính xác và đầy đủ các tác nhân ngoài (Actors), những đoi tượng có liên quan trong nghiệp vụ Nhưng khi xác định các
Trang 38án và điều đó cũng phụ thuộc vào phạm vi mô hình hóa nghiệp vụ, cũng như những phạm vi nào cần xác định đối với việc mô hình hóa Đối với hộ thong quàn lý đăng
ký khám và khám bệnh, thông tin các đối tượng có liên quan sử dụng hệ thống được chi tiết tại Bàng 2.1
Bàng 2.1: Mô lá tóm tắt các đồi tượng liên quan
Quăn trị hệ
thống
Trưởng, phó phòng
Công nghệ Thông tin
Tư vấn cho lãnh đạo việc triển khai, vận hành
hệ thống Quăn lý hệ thống, sao lưu dữ liệu Tạo, sứa, xóa và phân quyền tới người dùng và nhóm người dùng Theo dõi các nghiệp vụ trong hệ thống
Bác sỹ Khoa chuyên môn
Theo dõi danh sách khám được chi định khám
và danh sách đã khám cùa cá nhân Khám bệnh, trá kết quâ khám lên hệ thống Xem các thống
kê có liên quan Cập nhật thông tin cá nhân
Bệnh nhân Bệnh nhàn Đăng ký khám và xem kết quá khám
2.2.4 Ị Chinh sách
Báo mật thông tin người dùng: đảm bảo báo mật thông tin đối với tất cả các tác nhân tham gia các nghiệp vụ của hệ thống Phân quyền đầy đũ tới các tác nhân, nhóm tác nhân trong hệ thống phụ thuộc vào chức năng, nhiệm vụ và quyền hạn của
họ Các tác nhân trong hệ thống phải tuân thú các quy định sử dụng hệ thống thông tin của bệnh viện và tự quán lý tài khoản cá nhân
Sao lưu dự phòng: Thực hiện sao lưu dự phòng các thông tin, dừ liệu cơ bán sau: tập tin cấu hỉnh hệ thống, bàn dự phòng hệ điều hành máy chú, cơ sờ dừ liệu;
Trang 39loại/nhóm thông tin được gán nhãn khác nhau; Có hệ thống/phương tiện lưu trữ độc lập đế sao lưu dự phòng; Phương án sao lưu dự phòng có tính sẵn sàng cao, cho phép khôi phục dừ liệu nóng khi một thành phần trong hệ thống xảy ra sự cố; Lưu trừ dự phòng các dừ liệu quan trọng trên hệ thống/phương tiện lưu trừ dự phòng ờ
vị trí địa lý khác nhau; bảo đàm môi trường báo quán và phương pháp quăn lý giống như với hệ thống chính; Duy trì ít nhất 02 kết nối mạng từ hệ thống sao lưu dự phòng chính với hệ thống sao lưu dự phòng phụ
2.2.4.2 An toàn hệ thống
Nguyên vẹn dữ liệu: Có phương án chuyên dụng để quản lý, lưu trừ dữ liệu trong hệ thống bảo đám tính nguyên vẹn Có phương án giám sát, cảnh báo khi có thay đối thông tin, dữ liệu lưu trên hệ thống lưu trữ, phương tiện lưu trữ Có phương
án khôi phục tính nguyên vẹn của thông tin dừ liệu
Bảo mật dữ liệu: Lưu trữ có mã hóa các thông tin, dữ liệu (không phải là thông tin, dữ liệu công khai) trên hệ thống lưu trữ/phương tiện lưu trữ Sừ dụng các phương pháp mã hóa mạnh (chưa được các tổ chức quốc tế công bo diem ycu an toàn thông tin) đế mã hóa dữ liệu Có phương án chuyên dụng đế quản lý và bảo vệ
dừ liệu mã hóa và khóa giải mã Thiết lập phân vùng lưu trữ mã hóa, phân quyền truy cập chi cho phép người có quyền được truy cập, quán lý dữ liệu mã hóa
2.2.5 Phương pháp phân tích và thiết kế
Ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language - UML) là một ngôn ngữ mô hình gồm các ký hiệu đồ họa mà các phương pháp hướng đối tượng sử dụng để thiết kế các hệ thống thông tin một cách nhanh chóng
Cách xây dựng các mô hình trong UML phù hợp mô tà các hệ thống thông tin
cả về cấu trúc cũng như hoạt động Cách tiếp cận theo mô hình của UML giúp ích rất nhiều cho những người thiểt kế và thực hiện hệ thống thông tin cũng như những người sử dụng nó; tạo nên một cái nhìn bao quát và đay đủ về hệ thống thông tin dự định xây dựng Cách nhìn bao quát này giúp nắm bắt trọn vẹn các yêu cầu cùa người dùng; phục vụ từ giai đoạn phân tích đến việc thiết kế, thấm định và kiềm tra sàn phấm ứng dụng công nghệ thông tin Các mó hình hướng đối tượng được lập cùng là cơ sở cho việc ứng dụng các chương trình tự động sinh mã trong các ngôn ngừ lập trình hướng đối tượng, chắng hạn như ngôn ngừ C++, Java, Phương pháp
Trang 40mô hình này rất hữu dụng trong lập trinh hướng đối tượng Do đó, trong luận văn này sử dụng ngôn ngữ UML đế phân tích và thiết kế hệ thống [ 1 ].
2.3 Phân tích yêu cầu của hệ thống
Biếu đồ ca sử dụng mô tá sự tương tác giữa các tác nhân ngoài và hệ thống thông qua các trường hợp sừ dụng (Use Case) hay ca sử dụng Các ca sừ dụng là những nhiệm vụ chính, các dịch vụ, những trường hợp sứ dụng cụ thể mà hệ thống cung cấp cho người sử dụng và ngược lại Biểu đồ ca sử dụng đặc tả các yêu cầu của hệ thống và là cơ sờ đế phân tích, thiết kế hệ thống, là cơ sờ đế xây dựng các biểu đồ khác mô tà hệ thong cần xây dựng Sơ đồ sau đây cho biết vai trò cùa biếu
đồ ca sử dụng trong việc phát triền hệ thống [ 1 ]
Hình 2.2: Vai trò của biếu đồ ca sử dụng
Hệ thống đăng ký khám và khám bệnh cúa Viện Châm cứu Trung ương có các ca sứ dụng chính của hệ thống:
- Đãng nhập
- Thêm người dùng
- Cập nhật người dùng
- Đăng xuất
- Xem thông tin bác sỳ
- Xem thông tin tư vấn