1. Trang chủ
  2. » Công Nghệ Thông Tin

Hệ thống quản lý dữ liệu phổ cập tiểu học dựa trên kiến trúc hướng dịch vụ

70 264 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 70
Dung lượng 2,28 MB

Nội dung

Hiện nay một số phần mềm cũng đã phát triển và đưa vào triển khai trong quản lý giáo dục nhưng với sự cải tiến, thay đổi giáo dục nước ta ở từng năm bắt buộc các hệ thống quản lý dữ liệu

Trang 1

LỜI CAM ĐOAN

Tôi – Bùi Văn Quý, học viên lớp Cao học CNTT 2013 - 2015 Trường Đại học Bách Khoa Hà Nội - cam kết Luận văn tốt nghiệp là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của TS Phan Thanh Liêm - Viện Công Nghệ Thông Tin

và Truyền Thông - Đại học Bách Khoa Hà Nội Các kết quả trong Luận văn tốt nghiệp là trung thực, không sao chép toàn văn của bất kỳ công trình nào khác

Hà Nội, ngày 23 tháng 11 năm 2015 Học viên: Bùi Văn Quý

Lớp: 13BCNTT2

Trang 2

LỜI CÁM ƠN

Sau thời gian tìm hiểu và thực hiện đến nay đề tài “Xây dựng hệ thống quản

lý dữ liệu phổ cập giáo dục tiểu học dựa trên kiến trúc hướng dịch vụ” đã hoàn thành Với đề tài này, mong muốn được góp phần xây dựng được một chương trình ứng dụng nhằm giúp các nhà trường tiểu học quản lý các đối tượng thuộc diện phổ cập trên địa bàn một cách khoa học, chính xác và các thống kê báo cáo theo tiêu chuẩn của bộ Giáo dục và Đào tạo

Xin gửi lời cám ơn đến các thầy, cô giáo và toàn thể cán bộ nhân viên trường Đại học Bách Khoa Hà Nội, Viện đào tạo sau Đại học và đặc biệt là Viện Công nghệ thông tin và Truyền thông đã hướng dẫn, giảng dạy và giúp đỡ trong suốt thời gian học tập tại Viện Công nghệ thông tin và Truyền thông Xin gửi lời cám ơn đặc biệt tới TS Phan Thanh Liêm, người đã trực tiếp định hướng, hướng dẫn, và có những góp ý quan trọng trong suốt quá trình thực hiện luận văn này Xin cám ơn các bạn trong lớp Cao học CNTT2 – Khóa 2013 đã cùng chia sẻ khó khăn trong quá trình học tập tại Viện Công nghệ thông tin và truyền thông

Tôi xin được cám ơn các bạn bè, đồng nghiệp tại trung tâm GDTX huyện Văn Giang, Công ty cổ phần giái trí trực tuyến Vinh Quang đã giúp đỡ, chia sẻ công việc và kinh nghiệm trong thời gian tôi thực hiện luận văn Cuối cùng xin đặc biệt cảm ơn các thành viên trong gia đình của tôi đã làm chỗ dựa vững chắc, động viên, khích lệ tôi vượt qua mọi khó khăn để hoàn thành luận văn

Do kiến thức, thời gian cũng như khả năng làm việc có hạn, quyển luận văn này không tránh khỏi những thiếu sót, những điều chưa tối ưu, kính mong các thầy

cô giáo và các bạn giúp đỡ và chỉ bảo thêm để sau này tôi có thể tiếp tục hoàn thiện

Trang 3

MỤC LỤC

LỜI CAM ĐOAN 1

LỜI CÁM ƠN 2

MỤC LỤC 3

DANH MỤC HÌNH ẢNH 6

DANH MỤC BẢNG BIỂU 7

DANH SÁCH CÁC TỪ VIẾT TẮT 8

CHƯƠNG I: GIỚI THIỆU 10

1.1 Lý do lựa chọn và tính cấp thiết của đề tài 10

1.1.1 Thực trạng 10

1.1.2 Một số phần mềm PCGD hiện nay 10

1.1.3 Các vấn đề cần giải quyết 13

1.2 Đối tượng nghiên cứu 14

1.3 Giới hạn và phạm vi nghiên cứu 14

1.4 Phương pháp nghiên cứu 15

1.5 Một số đóng góp mới của đề tài 15

CHƯƠNG II: CƠ SỞ LÝ THUYẾT VÀ ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VÀO HỆ THỐNG 17

2.1 Kiến trúc hướng dịch vụ 17

2.1.1 Khái niệm 17

2.1.2 Nguyên lý 17

2.1.3 Tính chất 18

2.1.4 Kiến trúc chi tiết 21

2.1.5 Một số mô hình triển khai 22

2.1.6 Ưu nhược điểm 24

2.2 Web Service 25

2.2.1 Cấu trúc Web Service 27

2.2.2 Giao thức trong Web Service 29

2.2.3 Truyền thông điệp trong Web Service 29

Trang 4

2.2.4 Ưu nhược điểm của Web Service 32

2.3 Tích hợp SOA và Web Service vào hệ thống quản lý dữ liệu phổ cập tiểu học 32

2.3.1 SOA và ứng dụng Web Service 32

2.3.2 SOA và Web Service trong vấn đề tích hợp hệ thống 33

2.4 Quy trình phát triển hệ thống 34

2.4.1 Thách thức khi phát triển hệ thống theo hướng dịch vụ 34

2.4.2 Quy trình xây dựng hệ thống 36

2.4.3 Các bước cơ bản xây dựng hệ thống 37

2.4.4 Phương pháp xây dựng hệ thống 38

CHƯƠNG III: CÀI ĐẶT HỆ THỐNG QUẢN LÝ DỮ LIỆU PHỔ CẬP TIỂU HỌC 41

3.1 Yêu cầu chức năng 41

3.1.1 Các yêu cầu chức năng 41

3.1.2 Các yêu cầu phi chức năng 42

3.2 Phân tích các dịch vụ 43

3.2.1 Dịch vụ người dùng 43

3.2.2 Dịch vụ cung cấp thông tin hộ khẩu gia đình 44

3.2.3 Dịch vụ giáo dục 44

3.2.4 Dịch vụ thống kê báo cáo 45

3.3 Phân tích thiết kế UML 45

3.3.1 Biểu đồ use case tổng quát 45

3.3.2 Biểu đồ lớp tổng quát 49

3.3.3 Biểu đồ tuần tự mức đỉnh 50

3.4 Cài đặt dịch vụ cho hệ thống 50

3.4.1 Dịch vụ cung cấp (Service provider) 51

3.4.2 Dịch vụ đăng ký (Service registry) 53

3.4.3 Dịch vụ sử dụng (Service consumer) 55

3.5 Sử dụng dịch vụ cho hệ thống khác 55

Trang 5

3.6 Một số giao của diện hệ thống 56

3.6.1 Giao diện chính hệ thống 56

3.6.2 Đăng nhập hệ thống 56

3.6.3 Quản lý người dùng 57

3.6.4 Nhập chủ hộ 58

3.6.5 Nhập trẻ nội tuyến và ngoại tuyến 58

3.6.6 Chức năng thống kê, báo cáo 59

3.7 Triển khai hệ thống 61

3.8 Đánh giá hệ thống 61

KẾT LUẬN VÀ KIẾN NGHỊ 63

TÀI LIỆU THAM KHẢO 65

PHỤ LỤC 66

Trang 6

DANH MỤC HÌNH ẢNH

Hình 1.1: Quy trình PCGD ở từng năm học 11

Hình 1.2: Phần mềm PCGD công ty Bão Công Nghệ 12

Hình 1.3: Phần mềm quản lý PCGD của HanoiSoft 12

Hình 2.1: Kiến trúc chi tiết SOA cho hệ thống quản lý phổ cập giáo dục 21

Hình 2.2: Mô hình Service registry trong SOA ([10]) 22

Hình 2.3: Mô hình Service borker trong SOA ([1]) 23

Hình 2.4: Mô hình Service bus trong SOA ([1]) 24

Hình 2.5: Công nghệ sử dụng trong SOA ([7]) 25

Hình 2.6: Cấu trúc của Web Service ([8]) 27

Hình 2.7: Các tác nhân trong Web Service ([9]) 27

Hình 2.8: Kiến trúc Web Service ([10]) 28

Hình 2.9: Thông điệp sử dụng SOAP ([10]) 30

Hình 2.10: Cấu trúc thông điệp của SOAP 30

Hình 2.11: Tích hợp Web Service trong SOA ([1]) 34

Hình 2.12: Các bước cơ bản trong xây dựng hệ thống SOA 37

Hình 3.1: Biểu đồ Use Case tổng quát 47

Hình 3.2: Biểu đồ lớp 49

Hình 3.3: Biểu đồ tuần tự tổng quát hệ thống 50

Hình 3.4: Dữ liệu quan hệ hộ khẩu gia đình 51

Hình 3.5: Web Service Hộ Khẩu Gia Đình 50

Hình 3.6: Web Service với hàm xử lý lấy danh sách chủ hộ 50

Hình 3.7: Sử dụng Service Discover để tìm kiếm 50

Hình 3.8: Đăng ký dịch vụ từ dịch vụ được cung cấp 50

Hình 3.9: Giao diện chủ hộ sử dụng "Web Service HoKhauGiaDinh" 50

Hình 3.10: Giao diện chính của chương trình 56

Hình 3.11: Giao diện đăng nhập hệ thống 57

Hình 3.12: Giao diện chức năng quản lý người dùng 57

Hình 3.13: Giao diện chức năng quản lý chủ hộ 58

Hình 3.14: Phân tích giao diện trẻ nội tuyến 59

Hình 3.15: Giao diện chức năng thống kê trẻ em trong diện PCGD 60

Trang 7

DANH MỤC BẢNG BIỂU

Bảng 2.1: Bảng so sánh một số công nghệ thực hiện SOA ([1]) 26

Bảng 3.1: Các yêu cầu chức năng của hệ thống 42

Bảng 3.2: Các yêu cầu phi chức năng 43

Bảng 3.3: Xác định các tình huống sử dụng (Usecase) 47

Bảng 3.4: Dòng sự kiện chính cho usecase hệ thống 48

Trang 8

DANH SÁCH CÁC TỪ VIẾT TẮT

Kiến trúc đối tượng phân tán

15 DCOM Distributed Component

Ngôn ngữ đặc tả giao diện

18 IIOP Internet Inter

20 UDDI Universal Description,

Discovery and Integration

Là một tập các quy tắc đăng ký

và tìm kiếm thông tin các Web

Trang 9

Giao thức truyền tải siêu văn bản

23 SMTP Simple Mail Transfer

25 FTP File Transfer Protocol Giao thức truyền tập tin

Trang 10

CHƯƠNG I: GIỚI THIỆU

1.1 Lý do lựa chọn và tính cấp thiết của đề tài

1.1.1 Thực trạng

Phổ cập tiểu học là công tác trọng tâm của mỗi nhà trường tiểu học, nó luôn luôn là công việc được đặt lên hàng đầu trong các nhiệm vụ thường niên của các trường Theo thống kê của Bộ Giáo dục và Đào tạo năm 2012, tỷ lệ sử dụng phần mềm trong các nhà trường là 30% trong khi số lượng 70% là chưa sử dụng phần mềm phổ cập giáo dục (PCGD)

Qua khảo sát trường tiểu học Đặng Lễ trên địa bàn Hưng Yên, nhân viên

thực hiện việc thống kê số liệu thủ công tốn rất nhiều thời gian và công sức do phải

làm thủ công bằng tay trên các sổ sách, giấy tờ và có nhiều nguy cơ dẫn đến thất lạc thông tin, độ an toàn không cao

Ngoài ra việc xử lý dữ liệu phổ cập còn làm cho nhân viên thống kê chịu một

số áp lực do số lượng dữ liệu lớn, nhiều các biểu mẫu, thống kê, báo cáo, các biểu mẫu này không những số liệu phải chính xác mà còn phải tuân theo tiêu chuẩn của

Bộ Giáo dục và Đào tạo về định dạng và cấu trúc Với công việc này nhân viên thống kê sẽ phải thực hiện khi chuẩn bị bước vào đầu năm học mới

Hiện nay một số phần mềm cũng đã phát triển và đưa vào triển khai trong quản lý giáo dục nhưng với sự cải tiến, thay đổi giáo dục nước ta ở từng năm bắt buộc các hệ thống quản lý dữ liệu giáo dục nếu không bắt kịp công nghệ hoặc sử dụng công nghệ chưa phù hợp sẽ phải thay đổi lại nhiều lần mất nhiều thời gian, chi phí cho quá trình phát triển hệ thống

1.1.2 Một số phần mềm PCGD hiện nay

Hiện nay có rất nhiều phần mềm PCGD được triển khai trên cả nước trong

đó có ba phần mềm được sử dụng nhiều nhất như phần mềm quản lý thông tin PCGD – chống mù chữ của công ty VIETEC, phần mềm PCGD của công ty Bão Công Nghệ, phần mềm PCGD của HanoiSoft Đa phần các phẩn mềm này đều xử lý các dữ liệu phổ cập theo quy trình nghiệp vụ:

Nhân viên ở cấp trường tổng hợp các dữ liệu chủ hộ, trẻ, cơ sở vật chất, lớp, giáo viên, kết quả thi tốt nghiệp sau đó tổng hợp các báo cáo theo mẫu của Bộ GD&ĐT báo cáo lên trên huyện, các cán bộ huyện sẽ thực hiện thống kê các báo

Trang 11

cáo ở các trường trong huyện báo cáo lên trên tỉnh, cán bộ tỉnh tập hợp thống kê báo cáo của các trường trong tỉnh và báo cáo lên bộ, hình 1.1 mô tả quy trình nghiệp vụ tổng quan PCGD

Hình 1.1: Quy trình PCGD ở từng năm học

 Phần mềm quản lý thông tin PCGD - chống mù chữ

Là phần mềm của công ty cổ phần đầu tư phát triển và chuyển giao công nghệ Việt Nam (VIETEC), phần mềm được sử dụng nhiều nhất tại các trường mẫu giáo, tiểu học, trung học cơ sở, trung học phổ thông

Ưu điểm là phần mềm được chạy trên nền Web, giao diện đơn giản thân thiện Tuy nhiên phần mềm chạy chậm thường xảy ra quá tải dẫn đến tắc nghẽn toàn bộ hệ thống, khả năng nâng cấp phần mềm cũng rất khó khăn theo lập trình viên Nguyễn Thành Trường là nhân viên của công ty VIETEC hệ thống mất rất nhiều thời gian khi nghiệp vụ bị thay đổi do hệ thống được lắp ghép ở các module khác lại với nhau, khả năng liên kết với các ứng dụng khác rất khó khăn do chưa có kiến trúc phù hợp để xây dựng hệ thống

 Phần mềm PCGD của công ty Bão Công Nghệ

Là phần mềm được cài đặt và chạy trên máy tính cá nhân trên nền hệ điều hành Windows

Ưu điểm là phần mềm có giao diện đẹp, xử lý dữ liệu nhanh, không cần Internet vẫn xử lý dữ liệu Tuy nhiên do phần mềm chỉ chạy trên máy tính cá nhân

Trang 12

trên nền hệ điều hành Windows và cơ sở dữ liệu được cài riêng nên gây ra khó khăn trong việc mở rộng hệ thống, chi phí khi nâng cấp phần mềm, và chưa đáp ứng được đầy đủ các dữ liệu tập trung mà mỗi phần mềm cài đặt đều có cơ sở dữ liệu gây ra rất khó khăn trong quá trình tổng hợp báo cáo thống kê ở các cấp có thẩm quyền cao hơn, phần mềm chỉ có phiên bản cho Windows chưa có phiên bản cho hệ điều hành khác

Hình 1.2: Phần mềm PCGD công ty Bão Công Nghệ

 Phần mềm PCGD của HanoiSoft

Phiên bản mới nhất là version 3.6, phần mềm được cài đặt và chạy trên máy tính riêng lẻ dựa trên hệ điều hành windows, không cần Internet vẫn xử lý dữ liệu

Hình 1.2: Phần mềm quản lý PCGD của HanoiSoft

Ưu điểm là phần mềm giao diện đẹp, có thêm một số chức năng như quản lý tài chính Tuy nhiên nhược điểm của phần mềm là mỗi trường, phòng, sở lại cài

Trang 13

phần mềm khác nhau gây ra rất nhiều phiên bản, khó nâng cấp, sửa chữa Khi phần mềm có yêu cầu thay đổi nghiệp vụ thì phải cài đặt các phần mềm đó lại ở những nơi sử dụng phần mềm Các bước chuyển thông tin như từ trường lên huyện phải chuyển thủ công thông qua Excel Ví dụ nhà trường xuất báo cáo thống kê trẻ đến tuổi phổ cập tiểu học ra Excel, file Excel đó lại được chuyển lên trên huyện thông qua chức năng nhập Excel như vậy tốn thời gian cho quá trình chuyển thông tin Qua những phân tích trên cho ta thấy ưu điểm của các phần mềm PCGD này song nó cũng tồn tại những nhược điểm Kế thừa điểm tốt đó và khắc phục những điểm còn tồn tại của các hệ thống sau đây là các vấn đề cần giải quyết

1.1.3 Các vấn đề cần giải quyết

Xây dựng được một hệ thống phổ cập tiểu học và quan trọng hơn là khả năng

mở rộng hệ thống đó cho tất cả các bậc học từ tiểu học tới phổ thông trung học là vấn đề vô cùng khó khăn Bởi vậy một hướng đi mới chính là tìm kiếm các giải pháp tích hợp các ứng dụng có sẵn hoặc kết hợp với ứng dụng của các doanh nghiệp khác sao cho thỏa mãn yêu cầu đặt ra

 Những khó khăn của hệ thống quản lý phổ cập tiểu học được xây dựng hiện nay:

- Nhu cầu và yêu cầu của hệ thống phổ cập thường xuyên thay đổi nhanh chóng

từ bộ giáo dục đào tạo

- Tốn chi phí tích hợp do không thể tích hợp với hệ thống khác chi phí tích hợp thêm chức năng mới sẽ tăng lên

- Xử lý dữ liệu ngày càng lớn

- Vấn đề an toàn thông tin chưa đảm bảo

 Đa phần những khó khăn trên là bắt nguồn từ các nguyên nhân sau:

- Phức tạp: ngày nay mỗi doanh nghiệp phát triển hệ thống PCGD phát triển trên các nền tảng khác nhau, hoạt động xử lý nghiệp vụ khác nhau, vì vậy không có

sự đồng nhất gây ra khó khăn cho việc nâng cấp và tích hợp hệ thống

- Không linh hoạt: một số doanh nghiệp phát triển phần mềm PCGD xây dựng

hệ thống từ ứng dụng có sẵn nhưng khó nâng cấp, khó kết hợp hoạt động, mà không thể thay thế được Vấn đề tích hợp trở nên khó khăn hơn và tốn kém hơn

- Không bền vững: các phương pháp tiếp cận truyền thống trong việc xây dựng

Trang 14

các hệ thống phần mềm thường dẫn đến rất nhiều những giải pháp khác nhau được lắp ghép, tích hợp Kết quả mỗi khi thay đổi về quy trình nghiệp vụ phổ cập giáo dục hay yêu cầu mới thì hệ thống phải chấp nhận phát triển những dự

án tốn kém hoặc thay thế các công nghệ không phù hợp

Từ những tồn tại của các phần mềm PCGD hiện nay và bắt kịp xu thế ứng dụng công nghệ thông tin vào PCGD để thay thế việc làm thủ công Chính vì vậy việc xây dựng hệ thống phổ cập tiểu học nói riêng và hệ thống phổ cập cho các bậc học nói chung là yêu cầu cấp thiết hiện nay

1.2 Đối tượng nghiên cứu

Với mục đích củng cố kết quả phổ cập giáo dục tiểu học (PCGDTH), đẩy mạnh phổ cập giáo dục tiểu học đúng đổ tuổi, từng bước nâng cao chất lượng giáo dục tiểu học; Kiểm tra, công nhận PCGDTH và PCGDTH đảm bảo đúng thực chất, nghiêm túc và khách quan, ngày 04/12/2009, Bộ Giáo dục và Đào tạo ban hành Thông tư số 36/2009/TT-BGDĐT ban hành Quy định kiểm tra, công nhận phổ cập giáo dục tiểu học và phổ cập giáo dục đúng độ tuổi, hiện nay cũng đã có một số phần mềm được viết ra để xử lý dữ liệu phổ cập, nhưng có nhiều khuyết điểm, khó

sử dụng, thiếu các thống kê báo cáo, các thống kê không theo tiêu chuẩn, một số trường khác làm thủ công gây mất rất nhiều thời gian

Trên cơ sở đó hầu hết các trường học tiểu học đều mong muốn có được một ứng dụng dành riêng cho trường mà vẫn đáp ứng được những chức năng cần thiết, đồng thời phải thân thiện dễ sử dụng, khả năng chỉnh sửa dễ dàng, liên kết các hệ thống khác trong giáo dục một cách thuận tiện

Đối tượng nghiên cứu của đề tài chính là những trường tiểu học muốn được

sở hữu một hệ thống “Quản lý dữ liệu phổ cập tiểu học” Cụ thể hơn tác giả đi sâu tìm hiểu, phân tích trên cơ sở nghiên cứu các yêu cầu thực tiễn của trường tiểu học Đặng lễ, xã Đặng Lễ, huyện Ân Thi, tỉnh Hưng Yên

1.3 Giới hạn và phạm vi nghiên cứu

- Nghiên cứu kiến trúc hướng dịch vụ

- Nghiên cứu công nghệ thực hiện kiến trúc hướng dịch vụ cụ thể là Web Service

- Xây dựng hệ thống phổ cập giáo dục tiểu học dựa trên kiến trúc hướng

Trang 15

dịch vụ

- Tích hợp một số dịch vụ (hộ khẩu gia đình, báo cáo thống kê) vào hệ thống khác

1.4 Phương pháp nghiên cứu

- Thu thập thông tin và tìm hiểu nhu cầu của người dùng từ đó phân tích yêu cầu người dùng

- Tìm hiểu các ứng dụng, các đề tài về “Phổ cập giáo dục” phân tích ưu và nhược điểm của các ứng dụng hiện có, từ đó đặt ra phương pháp giải quyết tốt hơn

- Nghiên cứu tài liệu, các công nghệ hỗ trợ, đặc biệt là kiến trúc hướng dịch vụ cho việc xây dựng các chức năng của ứng dụng

- Phân tích, thiết kế theo hướng dịch vụ

- Xây dựng hệ thống dựa trên kiến trúc hướng dịch vụ

1.5 Một số đóng góp mới của đề tài

Xuất phát từ những nhu cầu thực tế của các nhà trường phổ thông nói chung

và trường tiểu học nói riêng, cùng với những kinh nghiệm đúc rút được từ nhà trường và doanh nghiệp, tác giả đã xây dựng một hệ thống quản lý dữ liệu phổ cập

Hệ thống đã được cài đặt theo kiến trúc hướng dịch vụ nhằm đạt được

những tiêu chí sau đây:

- Phía kết nối tới các dịch vụ của hệ thống phổ cập giáo dục mà không cần quan tâm nhiều công nghệ nền tảng của dịch vụ mang đến khả năng linh hoạt cao

- Tăng khả năng mở rộng và triển khai

- Không phụ thuộc hệ điều hành, thiết bị phần cứng và ngôn ngữ lập trình

- Đáp ứng tốt các thay đổi thường xuyên về nghiệp vụ

- Khả năng tích hợp dễ dàng với các hệ thống bên ngoài

Trang 16

Để đáp ứng được các tiêu chí trên, luận văn này sẽ tập trung giải quyết qua các chương tiếp theo:

Chương II nêu ra kiến trúc hướng dịch vụ là gì? Web Service là gì? Từ đó tích hợp kiến trúc hướng dịch vụ và Web Service vào hệ thống như thế nào và trình bày quy trình phát triển hệ thống

Chương III trình bày các yêu cầu chức năng, phi chức năng của hệ thống, phân tích thiết kế hướng dịch vụ, cài đặt hệ thống sử dụng kiến trúc hướng dịch vụ

và công nghệ Web Service và đưa hệ thống vào triển khai thử nghiệm từ đó đánh giá hệ thống Phần cuối cùng là kết luận và kiến nghị

Trang 17

CHƯƠNG II: CƠ SỞ LÝ THUYẾT VÀ ỨNG DỤNG KIẾN TRÚC HƯỚNG

DỊCH VỤ VÀO HỆ THỐNG

2.1 Kiến trúc hướng dịch vụ

2.1.1 Khái niệm

Theo định nghĩa của IBM: “Service Oriented Architecture (SOA) is an

architecture style for creating an Enterprise IT Architecture that exploits the principle of server orientation to achieve a tiglter relationship between the business and the information systems that support the business…” Theo đó kiến trúc hướng

dịch vụ là phong cách kiến trúc để tạo ra một công trình kiến trúc công nghệ thông tin, kiến trúc đó khai thác các nguyên tắc của hướng dịch vụ để đạt được các mối quan hệ chặt chẽ giữa doanh nghiệp và hệ thống thông tin nhằm hỗ trợ các doanh nghiệp

SOA là một cách tiếp cận hay một phương pháp luận để thiết kế và tích hợp các thành phần khác nhau, bao gồm các phần mềm và các chức năng riêng lẻ lại thành một hệ thống hoàn chỉnh

Hay nói cách khác SOA là một tập hợp nhiều dịch vụ được cung cấp trên mạng, được tích hợp lại với nhau để cùng cộng tác thực hiện các tác vụ nào đó theo yêu cầu của khách hàng

SOA là cấp độ cao hơn của phát triển ứng dụng, chú trọng đến quy trình nghiệp vụ và dùng giao tiếp chuẩn để giúp che đi sự phức tạp kỹ thuật bên dưới Sự trừu tượng là cốt lõi của khái niệm dịch vụ, nó giúp cho các doanh nghiệp có thể tích hợp các thành phần hiện có vào các ứng dụng mới và các thành phần này có thể được chia sẻ hoặc tái sử dụng trong nhiều lĩnh vực khác nhau của doanh nghiệp đó

mà không cần phải chỉnh sửa mã nguồn hay phải tái cấu trúc lại hệ thống

Trang 18

- Sự khác biệt về công nghệ không thành vấn đề và khả năng tương tác trở thành mục tiêu then chốt

- Các chuẩn mở phải được thông qua để cho phép tích hợp giữa các doanh nghiệp Phối hợp tiến trình nghiệp vụ giữa nhiều nhà cung cấp, nhiều đối tác thậm chí có thể với cả khách hàng

- Phải chú ý tới việc quản lý và và đảm bảo khả năng có thể quản trị của hệ thống để đảm bảo tính linh hoạt do ba nguyên tắc đầu tiên không bị xáo trộn

và xung đột với nhau

Nói cách khác, SOA nhấn mạnh việc hạ thấp các rào cản truyền thống tới khả năng tái sử dụng của ứng dụng Tôn trọng nguyên tắc thiết kế này của SOA sẽ giải quyết được bài toán lớn về vấn đề tích hợp cũng như bảo trì hệ thống phần mềm đang là thách thức đối với các nhà phát triển công nghệ thông tin trong giai đoạn hiện nay

Dựa trên nguyên lý, hệ thống SOA có những tính chất cơ bản Để có thể xem xét hoạt động và xây dựng được hệ thống thì việc hiểu rõ tính chất của hệ thống đóng vai trò rất quan trọng

2.1.3 Tính chất

 Kết nối lỏng

Vấn đề kết nối nối tới một số ràng buộc giữa các module lại với nhau Có 2 loại kết nối là lỏng và chặt chẽ Các module có tính chất kết nối lỏng có một số ràng buộc được mô tả rõ ràng trong khi các module có tính kết nối chặt lại có nhiều ràng buộc không thể biết trước

Hầu như mọi kiến trúc phần mềm đều hướng đến tính kết nối lỏng giữa các module Mức độ kết nối của hệ thống ảnh hưởng trực tiếp đến khả năng chỉnh sửa

hệ thống Kết nối càng chặt bao nhiêu thì có nhiều thay đổi chỉnh sửa khi có sự thay đổi nào đó xảy ra Mức độ kết nối tăng dần khi bên sử dụng dịch vụ cần biết nhiều thông tin ngầm định của bên cung cấp dịch vụ để sử dụng dịch vụ được cung cấp Nghĩa là nếu bên sử dụng dịch vụ biết vị trí và chi tiết định dạng dữ liệu của bên cung cấp dịch vụ thì quan hệ sẽ càng trở nên chặt chẽ Ngược lại, nếu bên sử dụng dịch vụ không cần biết mọi thông tin chi tiết của dịch vụ trước khi triệu gọi nó thì quan hệ giữa 2 bên càng có tính lỏng lẻo

Trang 19

Kết nối lỏng làm cho sự phụ thuộc ở mức tối thiểu Khi đó, những sự thay đổi sẽ có ảnh hưởng ít nhất tới hệ thống và hệ thống vẫn có thể hoạt động khi có thành phần nào đó bị hư hỏng Tối thiểu hóa sự phụ thuộc giúp hệ thống linh hoạt,

và ít xảy ra sự cố

Tính kết nối lỏng giúp gỡ bỏ những ràng buộc điều khiển giữa những hệ thống đầu cuối Mỗi hệ thống có thể tự quản lý độc lập nhằm tăng năng xuất, khả năng mở rộng và khả năng đáp ứng cao Những thay đổi cài đặt cùng được che dấu

đi Tính chất kết nối lỏng lẻo đem đến sự độc lập giữa bên cung cấp và bên sử dụng nhưng nó đòi hỏi các giao diện phải theo chuẩn và cần một thành phần trung gian quản lý, trung chuyển yêu cầu giữa các hệ thống đầu cuối

 Tái sử dụng dịch vụ

Các dịch vụ được cung cấp trên môi trường mạng và được đăng ký ở một nơi nhất định nên chúng dễ ràng được tìm thấy và sử dụng lại Nếu một dịch vụ không

có khả năng tái sử dụng, nó cũng không cần đến giao diện mô tả

Các dịch vụ có thể được tái sử dụng lại bằng cách kết hợp lại với nhau theo nhiều mục đích khác nhau Tái sử dụng lại các dịch vụ không những giúp loại bỏ những thành phần trùng lặp và tăng tốc độ cài đặt mà còn giúp đơn giản hóa việc quản trị

 Quản lý chính sách

Tập tất cả các qui tắc chung mà mọi thành phần trong hệ thống đều phải tuân thủ Khi sử dụng các dịch vụ chia sẻ trên mạng, tùy theo mỗi ứng dụng sẽ có một luật kết hợp riêng gọi là các quy tắc

Các quy tắc cần được quản lý và áp dụng cho mỗi dịch vụ cả trong quá trình thiết kế và trong thời gian triển khai Việc đó làm tăng khả năng tạo ra các dịch vụ

có đặc tính tái sử dụng Bởi vì các quy tắc được thiết kế tách biệt, và tùy vào mỗi ứng dụng nên giảm tối đa các thay đổi phần mềm Nếu không sử dụng các quy tắc, thì các nhân viên phát triển phần mềm, nhóm điều hành và nhóm hỗ trợ phải làm việc với nhau trong suốt thời gian phát triển để cài đặt và kiểm tra những quy tắc Ngược lại, nếu sử dụng các chính sách, những nhân viên phát triển phần mềm chỉ cần tập trung vào quy trình nghiệp vụ trong khi nhóm điều hành và nhóm hỗ trợ tập trung vào các luật kết hợp

Trang 20

 Tự động dò tìm và ràng buộc động

SOA hỗ trợ khái niệm khai thác dịch vụ (Service discovery) Một người sử dụng cần đến một dịch vụ nào đó có thể tìm kiếm dịch vụ dựa trên một số tiêu chuẩn khi cần Người sử dụng chỉ cần hỏi một registry về một dịch vụ nào thỏa yêu cầu tìm kiếm Ví dụ, một hệ thống PCGD, khách hàng yêu cầu một registry tìm tất

cả các dịch vụ có khả năng kiểm tra học sinh đã tốt nghiệp tiểu học Registry trả về một tập các danh mục thỏa mãn yêu cầu Các mục đó chứa thông tin về dịch vụ, bao gồm cả chi phí giao dịch Bên sử dụng sẽ chọn một dịch vụ có phí giao dịch thấp nhất trong danh sách các dịch vụ trả về, kết nối đến nhà cung cấp dịch vụ dựa trên thông tin địa chỉ registry đã cung cấp để sử dụng dịch vụ kiểm tra học sinh tốt nghiệp Trong phần mô tả dịch vụ kèm theo đã có tất cả các tham số cần thiết dùng

để thực thi dịch vụ, bên sử dụng chỉ cần định dạng dữ liệu yêu cầu đúng theo mô tả

và gửi đi Nhà cung cấp dịch vụ sẽ thực thi kiểm tra thẻ tín dụng và trả về một thông điệp có định dạng đúng như trong phần mô tả dịch vụ Mỗi ràng buộc duy nhất giữa bên cung cấp và bên sử dụng là bản hợp đồng được cung cấp bởi registry trung gian Mối ràng buộc này là ràng buộc trong thời gian chạy Tất cả thông tin cần thiết

về dịch vụ được lấy về và sử dụng trong khi chạy Vậy với SOA, bên sử dụng dịch

vụ không cần biết định dạng của thông điệp yêu cầu và thông điệp trả về, cũng như địa chỉ dịch vụ cho đến khi cần

 Khả năng tự hồi phục

Với kích cỡ và độ phức tạp của những hệ thống phân tán ngày nay, khả năng phục hồi của một hệ thống sau khi bị sự cố là một yếu tố rất quan trọng Một hệ thống tự phục hồi là hệ thống có khả năng tự phục hồi sau khi lỗi mà không cần sự can thiệp của con người

Trong SOA, các dịch vụ luôn có thể hoạt động hay ngừng hoạt động bất cứ lúc nào, nhất là đối với những áp dụng tổng hợp từ nhiều dịch vụ của nhiều tổ chức khác nhau Hạ tầng mạng phải cho phép các kết nối động từ nhiều hệ thống khác nhau kết nối đến trong khi chạy Một kiến trúc hỗ trợ kết nối và thực thi động sẽ có khả năng tự phục hồi hơn một hệ thống không hỗ trợ những tính năng trên

Ngoài ra, những hệ thống dựa trên dịch vụ yêu cầu tách biệt giữa giao diện

và cài đặt, nên có thể có nhiều cài đặt khác nhau cho cùng một giao diện Nếu một

Trang 21

thể hiện dịch vụ nào đó không hoạt động thì một thể hiện khác vẫn có thể hoàn tất giao dịch cho khách hàng mà không bị ảnh hưởng gì

2.1.4 Kiến trúc chi tiết

Hiện nay chưa có một mô hình chính thức nào của SOA Thật sự SOA là một phương pháp luận giúp chúng ta tận dụng sức mạnh của các nguồn lực, nguồn tài nguyên khác nhau trong mạng máy tính để trở thành một hệ thống nhất

Hình 2.1: Kiến trúc chi tiết SOA cho hệ thống quản lý phổ cập giáo dục

 Tầng kết nối

Đây là tầng thấp nhất của SOA, có nhiệm vụ giao tiếp trực tiếp với các thành phần như cơ sở dữ liệu của hệ thống, các Web Service liên kết khác, … Vì vậy có thể coi đây là tầng vật lý của SOA

 Tầng ứng dụng tổng hợp

Các ứng dụng tổng hợp nhằm mục đích cung cấp một giao diện cho người dùng tương tác với hệ thống như là một phần mềm duy nhất Tầng này có thể là các Website các ứng dụng client mở rộng, các thiết bị di động thông minh

Trang 22

 Các thành phần khác

Gồm có quy trình phát triển (development), quản lý các dịch vụ (service management), và quản lý con người (governance) Như vậy có thể thấy SOA không chỉ đơn thuần là về mặt công nghệ mà nó là tổng hợp của rất nhiều yếu tố: công nghệ, cơ sở hạ tầng, con người và quy trình nghiệp vụ

2.1.5 Một số mô hình triển khai

Có 3 mô hình chính để triển khai SOA là: Service registy, Service broker và Service bus

 Service registry

Đây là mô hình truyền thống để định vị và liên kết các dịch vụ trong một hệ thống SOA Mô hình service registry về cơ bản chỉ cần các chuẩn Web Services thông thường là SOAP, WSDL và UDDI

Vấn đề lớn nhất của mô hình này là các liên kết dịch vụ là kết nối tĩnh và phải định nghĩa trong thiết kế, điều này làm cho mô hình trở nên cứng nhắc Có một cách cải tiến làm cho mô hình này linh hoạt hơn là tìm kiếm, định vị các dịch vụ khi chạy UDDI hỗ trợ nhiều cấu hình khác nhau cho cùng một dịch vụ cung cấp bởi nhiều nhà cung cấp dịch vụ khác nhau Điều này cho phép chia tải và tăng tính tin cậy bởi vì service discover có thể tìm kiếm một dịch vụ nào đó trên tất cả các nhà cung cấp dịch vụ hiện có

Hình 2.2: Mô hình Service registry trong SOA ([10]) Các vai trò trong một kiến trúc hướng dịch vụ là :

- Service consumer: đối tượng sử dụng dịch vụ có thể là phần mềm máy tính, Web, ứng dụng trên mobile, hoặc một dịch vụ mà đòi hỏi một dịch vụ khác

Nó khởi tạo các yêu cầu của các dịch vụ trong đăng ký, liên kết với các dịch

Trang 23

vụ vận chuyển, và thực thi các chức năng dịch vụ

- Service provider: là một thực thể mạng địa chỉ đó chấp nhận và thực hiện các yêu cầu từ service consumer Nó công bố các dịch vụ cho service registry để service consumer có thể khám phá và truy cập vào các dịch vụ để thực hiện yêu cầu tới service provider

- Service registry: là khả năng cho sự phát hiện dịch vụ nó chứa một kho lưu trữ các dịch vụ có sẵn và cho phép tra cứu các dịch vụ giao diện nhà cung cấp dịch vụ cho người tiêu dùng quan tâm

- Publish: để có thể truy cập, một mô tả dịch vụ phải được công bố để nó có thể được phát hiện và được gọi bởi người tiêu dùng dịch vụ

- Discover: yêu cầu dịch vụ xác định được một dịch vụ bằng cách truy vấn đăng

ký dịch vụ cho một dịch vụ đáp ứng các tiêu chí của nó

- Bind and invoke: sau khi lấy các mô tả dịch vụ, service consumer thu được để gọi dịch vụ theo thông tin trong mô tả dịch vụ

 Service broker

Một bộ trung gian làm việc giữa dịch vụ cung cấp và dịch vụ tiêu thụ Trong

mô hình cơ bản, tất cả những thông điệp đều được trung chuyển qua service broker Dịch vụ này có thể làm nhiều chức năng như định tuyến dựa trên dữ liệu thông điệp,

xử lý lỗi, chuyển đổi thông điệp, chia tải và lọc thông tin Nó cũng có thể cung cấp dịch vụ bảo mật, chuyển đổi giao thức, lưu vết và các dịch vụ hữu ích khác Tuy nhiên, service broker là nơi có thể xảy ra hiện tượng nghẽn cổ chai và là điểm dễ bị hỏng hóc

Hình 2.3: Mô hình Service borker trong SOA ([1])

Trang 24

Hình dưới đây là mô hình service broker phân tán là một bước cải tiến mới, ở

đó mỗi nền tảng dịch vụ có một broker cục bộ cho phép giao tiếp với một service broker trung tâm và giao tiếp trực tiếp với các service broker cùng cấp ở các nền tảng dịch vụ khác

 Service bus

Đây là mô hình ra đời sau nhất trong 3 mô hình nhưng nó đã được sử dụng trong các sản phẩm thương mại (như IBM, BEA) Service bus cũng là mô hình có tính lỏng nhất trong các mô hình, trong đó các dịch vụ không kết nối trực tiếp với nhau Đôi khi các service kết nối với nhau thành một mạng các service bus

Hình 2.4: Mô hình Service bus trong SOA ([1]) 2.1.6 Ưu nhược điểm

SOA có thể được coi là một kiến trúc ưu việt trong thiết kế và xây dựng hệ thống phần mềm cho doanh nghiệp nói chung và hệ thống phổ cập giáo dục nói riêng bởi:

 Về mặt kinh tế:

- Phản ứng nhanh hơn, thời gian đưa sản phẩm ra thị trường sớm hơn

- Giảm chi phí thực hiện

- Thúc đẩy khả năng phát triển của hệ thống hiện có cũng như khả năng mở

rộng của hệ thống trong tương lai

 Về mặt kỹ thuật:

- Độc lập hệ thống: những dịch vụ không phụ thuộc vào hệ thống và mạng cụ

Trang 25

thể

- Có khả năng tái sử dụng, tận dụng được hệ thống sẵn có

- Khả năng hồi đáp thích nghi tốt và nhanh hơn để đáp ứng với sự thay đổi về

yêu cầu nghiệp vụ

- Cho phép dễ dàng triển khai chương trình, môi trường chạy và quản lý dịch vụ

dễ dàng hơn

- Có khả năng phục hồi khi hệ thống xảy ra sự cố

Tuy nhiên, bên cạnh những ưu điểm SOA vẫn tồn tại một số yếu điểm như sau:

- Hệ thống phức tạp

- Đặc biệt, khi xây dựng ứng dụng tổng hợp từ nhiều dịch vụ với tính tái sử

dụng cao thì vấn đề bảo mật như: xác thực, phân quyền, bí mật và toàn vẹn

dữ liệu, bảo vệ quyền riêng tư… trở thành một bài toán hết sức phức tạp và đòi hỏi giải quyết bằng những hướng tiếp cận bảo mật hoàn toàn mới so với các phương pháp bảo mật truyền thống

Theo tác giả Đại học Khoa học tự nhiên – Đại học Quốc gia Hồ Chí Minh năm 2005, các đánh giá phân tích các công nghệ này được tổng hợp theo hình dưới đây như sau:

Trang 26

Như vậy công nghệ Web Service có những ưu điểm hơn các công nghệ khác

để thực hiện SOA, đặc biệt là tích hợp Web Service vào triển khai hệ thống phổ cập giáo dục dựa trên kiến trúc SOA

Web Service ra đời đã mở ra một hướng mới cho việc phát triển các ứng dụng trên Internet Web Service kết hợp sử dụng nhiều công nghệ khác nhau cho phép các ứng dụng được viết bằng các ngôn ngữ khác nhau, chạy trên các hệ nền khác nhau có thể trao đổi được với nhau thông qua môi trường mạng Internet Tuy nhiên những công nghệ sử dụng ở đây không nhất thiết phải là những công nghệ mới Đây là điểm khác biệt của Web Service so với các công nghệ khác, đó chính là khả năng kết hợp các công nghệ đã có như là XML, SOAP, WSDL, UDDI để tạo ra các dịch vụ

Web Service là một hiện thực của dịch vụ sử dụng web protocol để giao tiếp Web Service cung cấp hệ thống phần mềm hỗ trợ việc giao tiếp giữa các máy tính

Bảng 2.1: Bảng so sánh một số công nghệ thực hiện SOA ([1])

Trang 27

2.2.1 Cấu trúc Web Service

Hình 2.6: Cấu trúc của Web Service ([8]) Tương tự với SOA, có 3 actor chính tham gia vào Web Service

Hình 2.7: Các tác nhân trong Web Service ([9])

- Service provider: dùng Web Services Description Language (WSDL) để mô tả

dịch vụ mà mình có thể cung cấp cho Service register

- Service registry: lưu trữ thông tin về các service được cung cấp bởi các Service

Provider Cung cấp chức năng tìm kiếm hỗ trợ Service requester (Service consumer trong SOA) trong việc xác định Service provider phù hợp Thành phần chính của Service Broker là Universal Discovery, Description, and Integration (UDDI) repositories

- Service requester: dùng WSDL để đặc tả nhu cầu sử dụng (loại dịch vụ, thời

gian sử dụng, ) và gửi cho Service broker Bằng việc sử dụng UDDI và chức năng tìm kiếm của Service broker, Service requester có thể tìm thấy Service provider thích hợp Ngay sau đó, giữa Service requester và Service provider thiết lập kênh giao tiếp sử dụng SOAP để yêu cầu, ràng buộc và nhận kết quả

Trang 28

 Đặc điểm Web Service

- Web Service cho phép client và server tương tác được với nhau mặc dù trong

những môi trường khác nhau (ngôn ngữ lập trình khác nhau, hệ nền khác nhau)

- Web Service được thiết kế mở và dựa vào các chuẩn: XML và HTTP là nền tảng

kỹ thuật cho Web Service Bởi vậy, chúng độc lập với ngôn ngữ lập trình và hệ nền

- Web Service rất linh động: vì với UDDI và WSDL, thì việc mô tả và phát triển

Web Service có thể được tự động hóa

- Web Service được xây dựng trên nền tảng những công nghệ đã được chấp nhận

- Web Service có dạng module

- Web Service có thể công bố (publish) và gọi thực hiện qua mạng

Hình 2.8: Kiến trúc Web Service ([10]) Trong đó bao gồm các tầng:

- Tầng vận chuyển với những công nghệ chuẩn là HTTP, SMTP và JMS Tầng

giao thức tương tác dịch vụ (Service Communication Protocol) với công nghệ chuẩn là SOAP SOAP là giao thức nằm giữa tầng vận chuyển và tầng mô tả thông tin về dịch vụ, SOAP cho phép người dùng triệu gọi một dịch vụ từ xa thông qua một message XML

- Tầng mô tả dịch vụ (Service description) với công nghệ chuẩn là WSDL và

XML WSDL là một ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML

- Web Service sử dụng ngôn ngữ WSDL để truyền các tham số và các loại dữ liệu

Trang 29

cho các thao tác, các chức năng mà Web Service cung cấp

- Tầng dịch vụ cung cấp các chức năng của dịch vụ

- Tầng đăng ký dịch vụ (Service registry) với công nghệ chuẩn là UDDI UDDI

dùng cho cả người dùng và SOAP server, nó cho phép đăng ký dịch vụ để người dùng có thể gọi thực hiện dịch vụ từ xa qua mạng, hay nói cách khác một dịch

vụ cần phải được đăng ký để cho phép các client có thể gọi thực hiện

- Bên cạnh đó để cho các dịch vụ có tính an toàn, toàn vẹn và bảo mật thông tin

trong Web Service chúng ta có thêm các tầng Policy, Security, Transaction, Management giúp tăng cường tính bảo mật, an toàn và toàn vẹn thông tin khi sử dụng dịch vụ

2.2.2 Giao thức trong Web Service

Simple Object Access Protocol (SOAP) là một protocol giao tiếp dùng trong Web Service được xây dựng dựa trên XML SOAP được sử dụng để đặc tả và trao đổi thông tin về các cấu trúc dữ liệu cũng như các kiểu dữ liệu giữa các thành phần trong hệ thống

Sử dụng SOAP, ứng dụng có thể yêu cầu thực thi phương thức trên máy tính

từ xa mà không cần quan tâm đến chi tiết về nền tảng cũng như các phần mềm trên máy tính đó

 Đặc điểm giao thức trong Web Service

- Khả năng mở rộng (Extensible): cung cấp khả năng mở rộng phục vụ cho nhu

cầu đặc thù của ứng dụng và nhà cung cấp Các chức năng về bảo mật, tăng độ tin cậy có thể đưa vào phần mở rộng của SOAP Các nhà cung cấp dịch vụ khác nhau, tùy vào đặc điểm hệ thống của mình có thể định nghĩa thêm các chức năng

- mở rộng nhằm tăng thêm lợi thế cạnh tranh cũng như cung cấp thêm tiện ích cho

người sử dụng

- Có thể hoạt động trên các giao thức mạng đã được chuẩn hóa (HTTP, SMTP,

FTP, TCP )

- Độc lập với nền tảng, ngôn ngữ lập trình được sử dụng

2.2.3 Truyền thông điệp trong Web Service

Hình dưới đây sẽ mô tả giao tiếp của một ứng dụng với một Web Service được thực hiện qua thông điệp SOAP sử dụng giao thức mạng HTTP Ứng dụng sẽ

Trang 30

đặc tả yêu cầu thông điệp sử dụng SOAP và thông qua giao thức mạng gửi đến cho Web Service Web Service sẽ nhận và phân tích yêu cầu sau đó trả về kết quả thích hợp

Hình 2.9: Thông điệp sử dụng SOAP ([10])

 Một thông điệp SOAP bao gồm các thành phần sau:

- Protocol Header: cho biết thông tin về các chuẩn giao thức được sử dụng

- SOAP Envelop: thông tin chính của thông điệp

- SOAP Header: chứa các SOAP header

- SOAP body: thông tin về name và data được đặc tả dưới dạng XML

- Ngoài ra còn có trường lỗi được dùng để gửi các Web Service exception

Hình 2.10: Cấu trúc thông điệp của SOAP Sau đây là ví dụ về SOAP message, trong đó message request được sử dụng

để yêu cầu Web Service thực hiện phương thức „int Dem_So_Chu_Ho‟ nhằm lấy về

số lượng chủ hộ trong toàn trường Thông điệp yêu cầu sẽ truyền đối số là 1(1 ký hiệu cho trường tiểu học Đặng Lễ) trong phần SOAP body

Trang 31

Mô tả Request bằng ngôn ngữ WSDL (Web Service Description Language):

Thông điệp trả lại mang thông tin kết quả trả về trong phần body Kết quả của lấy số chủ hộ với đối số là 1 (được truyền bởi message request) là 246 chủ hộ

Mô tả Reponse bằng ngôn ngữ WSDL

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>

<ENV:Envelope

SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-

Trang 32

2.2.4 Ưu nhược điểm của Web Service

- Nâng cao khả năng tái sử dụng

- Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các tiến trình chức năng nghiệp vụ được đóng gói thành các module trong giao diện Web Service

- Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán

- Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành hoạt động, phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của các doanh nghiệp khác

 Nhược điểm

- Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Web Service, giao diện không thay đổi, có thể lỗi nếu một máy khách không được nâng cấp, thiếu các giao thức cho việc vận hành

- Có quá nhiều chuẩn cho Web Service khiến người dùng khó nắm bắt

- Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật

2.3 Tích hợp SOA và Web Service vào hệ thống quản lý dữ liệu phổ cập tiểu học 2.3.1 SOA và ứng dụng Web Service

Web Service là một công nghệ rất phù hợp để thực hiện một dịch vụ theo định hướng kiến trúc Dựa trên các tiêu chuẩn XML, SOA và Web Service có thể được phát triển như là thành phần ứng dụng lỏng sử dụng bất kỳ ngôn ngữ lập trình, bất kỳ giao thức, hoặc bất kỳ nền tảng Điều này tạo điều kiện việc cung cấp các ứng dụng như một dịch vụ có thể truy cập vào bất cứ ai, bất cứ lúc nào, ở vị trí nào,

và sử dụng bất kỳ nền tảng

Điều quan trọng là chỉ ra rằng các Web Service không phải là công nghệ duy nhất có thể được sử dụng để thực hiện một SOA Nhiều tổ chức đã thực hiện thành

Trang 33

công kiến trúc hướng dịch vụ sử dụng các công nghệ khác như CORBA, Java RMI, DCOM

Web Service cũng đã được sử dụng bởi những người khác để thực hiện các kiến trúc không được phục vụ theo định hướng Đặc điểm chính của SOA là tách rời phần giao tiếp với phần thực hiện dịch vụ Điều này cho phép chúng ta liên tưởng đến một công nghệ được đề cập nhiều hiện nay là Web Service Web Service cho phép truy cập thông qua định nghĩa giao thức và giao tiếp

Về cơ bản, SOA là kiến trúc phần mềm phát xuất từ định nghĩa giao tiếp và xây dựng toàn bộ mô hình ứng dụng như là mô hình các giao tiếp, hiện thực giao tiếp và phương thức gọi giao tiếp Giao tiếp là trung tâm của toàn bộ triết lý kiến trúc này

Dịch vụ và module phần mềm nghiệp vụ được truy cập thông qua giao tiếp, thường theo cách thức yêu cầu đáp trả Ngay cả với yêu cầu dịch vụ một chiều thì

nó vẫn là yêu cầu trực tiếp có chủ đích từ một phần mềm này đến một phần mềm khác Một tương tác định hướng dịch vụ luôn bao hàm một cặp đối tác là nguồn cung cấp dịch vụ và khách hàng sử dụng dịch vụ

2.3.2 SOA và Web Service trong vấn đề tích hợp hệ thống

Web Service là những thành phần ứng dụng, giao tiếp bằng cách sử dụng giao thức mở chứa đựng và mô tả chính nó, có thể được phát hiện bằng cách sử dụng UDDI và có thể được sử dụng bởi ứng dụng khác khác nhau Web Service hoạt động dựa trên nền tảng là XML và HTTP

Web Service = XML + transport protocol (such as HTTP) XML cung cấp một ngôn ngữ mà có thể được sử dụng giữa các nền tảng và ngôn ngữ lập trình khác nhau và vẫn thể hiện thông điệp và chức năng phức tạp, các giao thức HTTP là giao thức Internet được sử dụng nhiều nhất

Hình dưới đây sẽ thể hiện ứng dụng Web Service vào hệ thống không phụ thuộc vào ngôn ngữ lập trình cũng như môi trường lập trình và tái sử dụng dịch vụ ở các hệ thống khác nhau Ứng dụng mobile sử dụng java, ứng dụng sử dụng java kết nối tới hệ thống phổ cập tiểu học sử dụng Web Service trên nền DotNet trong khi ứng dụng DotNet lại kết nối hệ thống phổ cập trung học cơ sở sử dụng Web Service chạy trên nền J2EE

Trang 34

Hình 2.11: Tích hợp Web Service trong SOA ([1]) Như vậy, sử dụng Web Service cho việc tích hợp SOA giúp ứng dụng đạt được những mục tiêu:

- Thông qua các chuẩn công nghiệp Các chuẩn này gồm Web Service với các

định nghĩa thành phần chuẩn công nghiệp cho XML

- Sử dụng được những phần mềm thương mại đã xây dựng sẵn nhiều nhất có thể

Phần mềm phải cung cấp các kênh giao tiếp cho Web Service

- Đóng gói các ứng dụng cho phép kế thừa với giao diện đúng theo chuẩn công

nghệ chung Các Web Service đều phải được sử dụng thông qua giao diện này

- Sử dụng dữ liệu và tầng dữ liệu độc lập nằm giữa các ứng dụng để ẩn đi cấu trúc

dữ liệu bên dưới Mọi tương tác với dữ liệu đều phải thông qua Web Service 2.4 Quy trình phát triển hệ thống

2.4.1 Thách thức khi phát triển hệ thống theo hướng dịch vụ

Cũng như các phương pháp phát triển phần mềm khác, để xây dựng được một hệ thống theo hướng dịch vụ cũng phải trải qua các giai đoạn tương tự Tuy vậy, dù những lợi ích đạt được từ hệ thống SOA là rất lớn nhưng việc triển khai một

hệ thống SOA không phải là điều dễ dàng Từ mô hình tính toán tập trung sang mô

Trang 35

hình phân tán client server, rồi sau đó là kiến trúc dựa trên nền tảng Web và ngày nay quá trình này vẫn tiếp tục Chúng ta đang ở thời kỳ quá độ sang mô hình tính toán dựa trên dịch vụ là kiến trúc hướng dịch vụ Kiến trúc này ngày nay cũng đã và đang áp dụng và phát triển cho nhiều doanh nghiệp trên thế giới Các doanh nghiệp phát triển phần mềm trong giáo dục cũng dần phát triển theo kiến trúc hướng dịch

vụ hoặc kiến trúc phù hợp để đáp ứng nhu cầu thực tế Nhưng để xây dựng và triển khai được hệ thống thì vẫn gặp phải một số vấn đề trở ngại:

 Xác định dịch vụ

Dịch vụ là gì? chức năng nghiệp vụ nào cần được cung cấp bởi một dịch vụ? Việc xác định dịch vụ và quyết định đối tượng cung cấp dịch vụ một cách thích hợp, hiệu quả là giai đoạn quan trọng và đầu tiên trong một giải pháp hướng dịch vụ

ở đâu

 Xác định miền dịch vụ

Làm sao gom nhóm các dịch vụ thành các miền luận lý (logic domain) việc phân loại gom nhóm các dịch vụ thành các miền luận lý sẽ đơn giản hóa kiến trúc bởi sẽ giảm được số lượng các thành phần cần xây dựng Việc định nghĩa các miền như thế cũng ảnh hưởng đến nhiều khía cạnh khác của kiến trúc hệ thống như cân bằng tải (load balancing), điều khiển truy cập (access control), sự phân chia theo chiều sâu hay chiều rộng của xử lý nghiệp vụ

 Đóng gói dịch vụ

Làm sao có thể bao bọc các chức năng sẵn có của hệ thống cũ vào trong một dịch vụ

Nếu hệ thống khi được thiết kế đã quan tâm và hỗ trợ vấn đề tích hợp với các

hệ thống mới thì vấn đề này sẽ dễ dàng hơn Tuy nhiên các hệ thống cũ này trước

Ngày đăng: 26/07/2017, 20:59

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2]. Dương Anh Đức, (2005) “Giáo trình phân tích và thiết kế hướng đối tượng bằng UML” Sách, tạp chí
Tiêu đề: Giáo trình phân tích và thiết kế hướng đối tượng bằng UML
[1]. Đại học Khoa học tự nhiên – Đại học Quốc gia Hồ Chí Minh (2005), Nghiên cứu kiến trúc hướng dịch vụ và ứng dụng Khác
[3]. Phạm Hùng Tiến, Đặng Hoài Đức, (2010), SOA, Web Service in Grid Computing Khác
[4]. Nguyễn Tấn Chữ, (2012), Tìm hiểu về Web Service  Tiếng Anh Khác
[5]. David Sprott, (2004), Service Oriented Architecture: An Introduction for Managers, IBM. 1- 20 Khác
[6]. Mark Endrei, Jenny Ang, Ali Arsanjani, Sook Chua, Philippe Comte, Tony Newling (2004), Patterns: Service-Oriented Architecture and Web Services, IBM. 10-105 Khác
[7]. John Walsh, (2007), Service Oriented Architecture (SOA) Khác
[9]. Phil Bianco, Rick Kotermanski, Paulo Merson, (2007), Evaluating a Service- Oriented Architecture Khác
[10]. Savas Parastatidis, Paul Watson, and Jim Webber, (2005), Grid Computing Using Web Services Khác
[11]. Sean Baker and Simon Dobson, IONA Technologies plc, (2007), Comparing Service-Oriented and Distributed Object Architectures Khác
[12]. Comparison of Web Services, Java-RMI, and CORBA service implementations, (2008), N.A.B. Gray School of Information Technology &amp;Computer Science, University of Wollongong nabg@uow.edu.au Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w