Để nâng cao chất lượng quản lý các hoạt động, nhà trường đã sử dụng các phần mềm tiện ích hỗ trợ các quy trình nghiệp vụ như quản lý hoạt động đảo tạo, quản lý vật tư thiết bị, quản lý s
Trang 1MỞ DAU
Ngày nay, thời đại phát triển của công nghệ thông tin và truyền thông, việc ứng dung các sản phẩm phần mềm để xử ly các quy trình nghiệp vụ, quản lý của doanh nghiệp, tổ chức là khá phổ biến Từ các ứng dụng đơn lẻ như: quản lý nhân sự, tiền lương, quan ly tài chính, quản lý vat tư, đến một giải pháp tổng thé dé tích hợp
nhiều phần mềm vào một kiến trúc hệ thống.
Nhiều kiến trúc hệ thống khác nhau đã được đưa ra nhưng lại dựa trên các chuẩn ngôn ngữ, nền tảng khác nhau và môi trường không thống nhất nên không thê
giao tiếp Các hệ thong cũ thay vì được sử dung lại thi lai được xây dung lai từ đầu
dẫn đến quá tốn kém, vấn đề lập trình dư thừa và không tái sử dụng được, đó là khó khăn rất lớn trong quá trình tích hợp các hệ thống với nhau Trường Đại học Sư Phạm
Kỹ thuật Hưng Yên là trường đại học đảo tạo định hướng nghề nghiệp ứng dụng khu vực đồng bằng sông Hồng Cùng với sự phát triển về quy mô và chất lượng đào tạo, hiện tại nhà trường có 3 cơ sở đào tạo nam trên địa ban 2 tinh Hưng Yên và Hải
Dương Để nâng cao chất lượng quản lý các hoạt động, nhà trường đã sử dụng các
phần mềm tiện ích hỗ trợ các quy trình nghiệp vụ như quản lý hoạt động đảo tạo, quản
lý vật tư thiết bị, quản lý sách và tài liệu, quản lý tài chính Nhưng các phần mềm này cùng thực hiện các chức năng nghiệp vụ tại 3 cơ sở ở xa nhau, dé quan lý cơ sở dữ liệu tập trung và các ứng dụng trao đổi với nhau thông qua môi trường Internet dang là trở ngại lớn đối với hệ thống
Vì vậy hệ thống hiện tại của trường phức tạp dẫn đến chỉ phí phát triển, bảo trì
cao Bên cạnh đó hệ thống còn đối mặt với các khó khăn như vấn đề an ninh bảo mật, van dé tái sử dụng và mở rộng các hệ thống sẵn có, vấn đề không tương thích giữa các phần mềm chạy trên các nền tảng khác nhau
Dé giải quyết các van dé này đã có nhiều giải pháp và hiện nay, giải pháp đang
được quan tâm nhiều hơn là kiến trúc hướng dịch vu (Service Oriented Architecture -SOA) Đây cũng được xem là giải pháp ưu việt với hướng tiếp cận là khả năng tích
hợp và tự động hóa quy trình nghiệp vụ, tích hợp thông tin và xây dựng kho tài nguyên
dịch vụ có khả năng sử dụng lại trong các ứng dụng mới Mô hình này đã được áp dụng thành công trong lĩnh vực kinh doanh, lĩnh vực ngân hàng những nghiên cứu
Trang 2rộng rãi đã cho thấy điều đó Tuy nhiên còn ít nghiên cứu đến việc ứng dụng trong lĩnh
vực quản lý cơ sở giáo dục Xuất phát từ mong muốn được tiếp cận, tìm hiểu sâu hơn
về kiến trúc hướng dịch vụ để từ đó đề xuất áp dụng mô hình này vào trong quản lý trường ĐHSPKT Hưng Yên Vì vậy học viên đã chọn và thực hiện đề tài này
Mục tiêu của luận văn là nghiên cứu kiến trúc hướng dịch vụ, mô hình hóa kiến
trúc này trong quản lý trường đại học, cài đặt ứng dụng demo và thử nghiệm một số
dịch vụ.
Cấu trúc luận văn gồm 3 chương và phần kết luận:
Chương 1: Tổng quan về kiến trúc hướng dịch vu (Service Oriented
Architechture) Chương này trình bày về cơ sở lý thuyết, khái niệm, đặc điểm, tính
chất và nền tảng của kiến trúc hướng dịch vụ SOA Mối quan hệ giữa mô hình SOA và
Web service.
Chương 2: Nghiên cứu các phương pháp triển khai ứng dụng theo mô hình kiến trúc hướng dịch vụ Chương này trình bày các phương pháp tiếp cận triển khai SOA, phân tích hiện trạng hệ thống đang sử dụng, yêu cầu đặt ra cho bài toán quản lý, từ đó
đề xuất xây dựng mô hình kiến trúc hướng dịch vụ cho trường ĐHSPKT Hưng Yên
Chương 3: Cài đặt ứng dụng Web Service trong quản lý trường ĐHSPKT Hưng
Yên Chương này trình bày một số dịch vụ chức năng của hệ thống được xây dựng theo kiến trúc hướng dịch vụ, phân tích ưu nhược điểm và đánh giá hệ thong mới khi ứng dụng mô hình SOA vào quản lý trường ĐHSPKT Hưng Yên Đồng thời giới thiệu
công cụ Web Service dé thực thi giải pháp, xây dựng chương trình demo một số ứng
dụng Web Service.
Trang 3Chương 1- TONG QUAN VE KIÊN TRÚC HƯỚNG DỊCH VU
1.1 Khái niệm về kiến trúc hướng dịch vụ
1.1.1 Dịch vụ (service)
Về mặt định nghĩa, dịch vụ là một hệ thống có khả năng nhận một hay nhiều
yêu cầu xử ly và sau đó đáp ứng bang cách trả về một hay nhiều kết quả[2] Quá trình nhận yêu cầu và trả kết quả về được thực hiện thông qua các phương thức giao tiếp
(mterfaces) đã được định nghĩa trước đó.
1.1.2 Kiến trúc hướng dịch vụ
Kiến trúc hướng dịch vụ (Service oriented architechture) là một hướng tiếp cận với việc thiết kế và tích hợp các phần mềm, chức năng hệ thống theo dạng module,
trong đó mỗi module đóng vai trò là một “dịch vụ”, và có khả năng giao tiếp với nhau
thông qua môi trường mạng[2] Hiểu một cách đơn giản thì hệ thống SOA là một tập
hợp các dich vụ được chuẩn hóa và trao đổi với nhau trong ngữ cảnh một tiến trình
nghiệp vụ.
SOA dựa trên 2 nguyên tắc thiết kế quan trọng:
- Module: Tách vấn đề lớn thành nhiều vấn đề nhỏ
- Đóng gói: Che đi dữ liệu và logic trong từng module đối với truy cập từ bên
ngoai.
1.1.3 Các đối tượng trong SOA
SOA có ba đối tượng chính minh họa trong hình sau:
Nơi đăng ký
dịch vụ
(Service Registry)
Người sử dụng
dịch vụ
(Service Consumer)
Nha cung cap
dich vu
(Service Provider)
Trang 41.2 Đặc điểm, tính chất và lợi ích của kiến trúc hướng dịch vụ
1.2.1 Đặc điểm của SOA
Một hệ thống SOA có các đặc điểm sau:
a) Sự phân định rạch ròi giữa các dịch vụ
b) Các dịch vụ tự hoạt động
c) Các dịch vụ chia sẻ lược đồ
đ) Tính tương thích của dịch vụ dựa trên chính sách
1.2.2 Các tính chất của kiến trúc hướng dich vụ
1.2.2.1 Tính kết hợp lỏng lẻo (loose coupling)
1.2.2.2 Tái sử dụng dịch vụ
1.2.2.3 Sử dụng dịch vụ bất đồng bộ
1.2.2.4 Quản lý các chính sách (Policy management)
1.2.2.5 Khả năng cộng tác
1.2.2.6 Tự động đò tìm và răng buộc
1.2.2.7 Đặc tính tự hồi phục
1.2.3 Lợi ích của SOA
SOA hiện nay được các tô chức, các doanh nghiệp lựa chọn là một giải pháp hiệu quả, tiết kiệm chi phi và phù hợp với nền tảng công nghệ hiện tai vi SOA có những ưu điểm sau:
a) SOA cho phép sử dụng lại những thành phần có sẵn
b) SOA mang đến giải pháp ứng dụng tổ hợp cho doanh nghiệp c) SOA cho phép tăng tính linh hoạt khi triển khai cài đặt
d) SOA cho phép xây dựng hệ thống thích ứng với những thay đôi trong tương
lai
e) Hỗ trợ đa thiết bị và đa nền tảng f) Tăng khả năng mở rộng và khả năng sẵn sang cung cấp
Trang 51.3 Nền tảng cơ bản của kiến trúc hướng dịch vụ (SOA Platform)
1.3.1 Nền tảng cơ bản của SOA
1.3.1.1 Dịch vụ được đóng gói logic
Dé giữ được sự độc lập của các dịch vụ, chúng được đóng gói logic trong ngữ
cảnh riêng biệt [9].
.-——————=—=—=——=—=—=——=—=—=—=—=—===X
Qua trình xử lý
Hình 1.2: Dịch vụ có thé được đóng gói logic khác nhau 1.3.1.2 Quan hệ giữa các dịch vụ
Với kiến trúc SOA, dịch vụ có thể được sử dụng bởi các dịch vụ khác hoặc các
chương trình khác Dịch vụ phải được nhận thức từ các dịch vụ khác Nhận thức này
đạt được thông qua việc sử dụng các mô tả dịch vụ.
Hình 1.3: Dịch vụ nhận biết nhau
Trang 61.3.1.3 Giao tiếp bang thông điệp (message)
Sau khi một dịch vụ gửi thông điệp đi, nó mất kiểm soát những gì sẽ xảy ra với
thông điệp sau đó Đó là lý do tại sao yêu cầu thông điệp tồn tại như là "đơn vị truyền
thông độc lập" Điều này có nghĩa rằng các thông điệp, cũng như dịch vụ, cần được tự
trị Đề hiệu quả, các thông điệp có thé được trang bị đủ thông minh dé tự quản những
bộ phận xử lý logic của chúng.
Tự quản thông điệp
Dịch vụ A
`ÊM6 ta dich vụ B
Hình 1.4: Trao đỗi thông điệp giữa hai dich vu
1.3.2 Kiến trúc phân tang của hệ thong hướng dịch vụ
Hiện nay chưa có một mô hình chính thức nào của SOA Thực 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 nguồn nhân lực, nguồn tai nguyên khác nhau trong mang máy tính dé trở thành một hệ thống nhất Mỗi tổ chức
có một mô hình SOA khác nhau nhưng nhìn chung các mô hình SOA có đặc điểm sau:
Quản lý
Schema | parsonalization| Rich client a
Driven Ul Framework
Agreement
^ £ Business
Service Directory
Policy Directory
Monitoring
Versioning
Lifecycle
AeHinh 1.5: Kién tric chi tiét phan tang SOA
Trang 71.4 SOA và Web Service
SOA là một kiến trúc phần mềm, bao gồm một tập các nguyên tắc thiết kế độc lập với kỹ thuật và công nghệ nhằm liên kết các dịch vụ SOA bắt đầu làm việc với định nghĩa thành phần giao tiếp và sau đó, xây dựng kiến trúc hệ thống như là sự liên
kết của các thành phan interface, phan thực thi của các interface và cách thức tương tác
giữa các interface Trong khi đó, Web Service là một tập hợp các kỹ thuật va công
nghệ (SOAP, WSDL, UDDI, HTTP ) được dùng để thực hiện hóa các nguyên tắc thiết kế của SOA, cho phép xây dựng các giải pháp lập trình cho van đề tích hợp ứng dụng và truyền thông điệp
1.4.1 Khái niệm Webs service
Web service là một công nghệ triệu gọi từ xa có tính khả chuyền cao nhất hiện
nay: độc lập về ngôn ngữ và độc lập về nền tảng Web services dựa trên kiến trúc phân tán trong đó không có bat kỳ dịch vụ xử lý trung tâm nào và tất cả dạng truyền thông đều sử dụng các giao thức chuẩn Các giao thức không được có bất kỳ ý nghĩa ngầm
định nao bên trong mà phải được mô tả rõ ràng.
1.4.2 SOA và Web Service trong van đề tích hợp hệ thống
Web services 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ó Web service hoạt động dựa trên nền tảng là
XML và HTTP.
Web Service với mô hình hoạt động 3 bên tương ứng với mô hình hoạt động cua SOA,
sử dụng một bộ các chuân công nghệ Đó là:
Đăng ký dịch vụ
Nhà cung cấp
dịch vụ
Trang 81.4.3 Cấu trúc và chỉ tiết các thành phan của Web service
1.4.3.1 Ngôn ngữ đánh dấu mở rộng - XML(eXtensible Markup anguage)
XML là một chuẩn mở do W3C đưa ra[10] và được phát triển từ SGML XML
là một ngôn ngữ mô tả văn bản với cau trúc do người sử dụng định nghĩa, nó được sử
dụng dé định nghĩa các thành phan dữ liệu trên trang web và cho những tài liệu B2B
Về hình thức, XML hoàn toàn có cấu trúc thẻ giống như ngôn ngữ HTML,
nhưng không tuân theo một đặc tả quy ước như HTML, người sử dụng hay các
chương trình có thể quy ước định dạng các thẻ XML để giao tiếp với nhau
1.4.3.2 Giao thức truy cập đối tượng đơn giản - SOAP (Simple ObJect Access
Protocol)
Là một giao thức dựa trên XML cho phép các ứng dụng trao đổi thông tin qua
HTTP, được thiết kế đơn giản và dé mở rộng Hiểu đơn giản, SOAP là một giao thức
dé truy cập Web Services, một giao thức truyền thông hay một định dạng dé gửi thông điệp Tat cả các thông điệp SOAP đều được mã hóa sử dụng XML, cho nên không bi ràng buộc bởi bat kỳ ngôn ngữ lập trình nào hoặc công nghệ nào
1.4.1.3 Ngôn ngữ mô tả dịch vụ web-WSDL
WSDL là một ngôn ngữ dựa trên XML[7] dùng để mô tả giao diện của Web
Services Nó cung cấp một cách thức chuẩn để mô tả các kiểu dữ liệu được truyền
trong các thông điệp thông qua Web Services, các thao tac được thực hiện trên các
thông điệp và ánh xạ các hoạt động này đến giao thức vận chuyền
Một WSDL hợp lệ gồm hai phần
- Phần giao diện: mô tả giao diện và giao thức kết nối
- Phan thi hành: mô tả thông tin dé truy xuất service
1.4.1.4 UDDI (Universal Description, Discovery and Integration)
UDDI là một dịch vu thu muc[11] nơi mà các công ty có thé đăng ky và tìm kiếm các Web Service Để có thể sử dụng các dich vụ, trước tiên client phải tìm dịch
vụ, ghi nhận thông tin về cách sử dụng và biết được đối tượng nào cung cấp dịch vụ UDDI định nghĩa một số thành phần cho biết các thông tin này, cho phép các client truy tìm và nhận những thông tin được yêu cầu khi sử dụng Web Service
1.5 Kết luận
Trang 9CHƯƠNG 2: NGHIÊN CỨU PHƯƠNG PHÁP TRIEN KHAI
THEO KIÊN TRÚC HƯỚNG DỊCH VU
Chương này giới thiệu về các phương pháp tiến cận trong triển khai SOA, từ đó
dé xuất xây dựng giải pháp cho bài toán quản lý trường ĐHSPKT Hưng Yên ứng dụng
SÓA.
2.1 Các phương pháp tiếp cận trong triển khai SOA
2.1.1 Các phương pháp tiếp cận
Top-down: trong xây dựng một hệ thống SOA, thì phương pháp top-down là phương pháp mà xuất phát điểm của nó sẽ từ các yêu cầu nghiệp vụ dé xác định các
yêu cầu chức năng, các tiến trình và tiến trình con, các trường hợp sử dung (use cases)
dé tiến tới việc xác định các thành phần hệ thống (components), các dịch vụ
Bottom-up: phương pháp này sẽ dựa trên việc phân tích tình trạng, các tài
nguyên của hệ thông hiện có và sẽ tái sử dụng lại những thành phan này trong việc xây
dựng các dịch vụ mới.
2.1.2 Quy trình xáy dựng hệ thống SOA
2.1.2.1 Vòng đời của hệ thống
Chu trình hệ thống đi qua 4 giai đoạn chính: Mô hình hóa, Lắp ghép, Triển khai
và Quản lý Các giai đoạn này đều dựa trên nền tảng của việc Quản tri và các thực
nghiệm.
2.1.2.2 Các pha cơ bản xây dựng hệ thông SOA
Xây dựng hệ thống SOA trải qua 6 pha sau đây: Phân tích hướng dịch vụ, Thiết
kế hướng dịch vụ, Phát triển dịch vụ, Kiểm thử dịch vụ, Triển khai dịch vụ, Quản trị
dịch vụ.
Trang 102.2 Xây dựng mô hình kiến trúc tổng thé trường ĐHSPKT Hưng Yên theo
kiến trúc hướng dịch vụ
2.2.1 Mô hình tong quan nhà trường
Trường DHSPKT Hưng Yên là cơ sở công lập trực thuộc Bộ Giáo dục và Dao
tạo, là trường đại học giáo dục định hướng nghề nghiệp có chức năng đảo tạo đa ngành
về nhiều lĩnh vực và trình độ khác nhau
> Các lĩnh vực hoạt động đào tạo bao gồm
- Đào tạo giáo viên dạy nghề trình độ đại học, cao đăng.
- Đào tạo kỹ sư, kỹ thuật viên thực hành.
- Đào tạo cử nhân kinh tế, ngoại ngữ
- Bồi dưỡng chuyên môn công nghệ kỹ thuật, nghiệp vụ sư phạm
- Nghiên cứu khoa học, triển khai áp dụng tiến bộ Khoa học kỹ thuật và Công
nghệ phục vụ phát triển kinh tế xã hội
- Cung cấp các gói dịch vụ hỗ trợ giáo dục, đào tạo
- Đảo tạo thạc sĩ, tiến sĩ một số chuyên ngảnh
2.2.2 Giới thiệu bài toán quản ly Trường Đại học SPKT Hưng Yên
2.2.3 Hiện trạng bài toán
Việc kiến trúc lại một hệ thong phan mềm nào đều đỏi hỏi phải xem xét nhìn nhận
lại hiện trạng của hệ thống đang có Mục đích của công việc nay là giúp xác định hệ thống đã có phức tạp như thé nao, đã có những gi, cần phải chỉnh sửa nâng cấp những van dé nao, chọn phương pháp nao tốt nhất để thực hiện Yêu cầu bài toán đặt ra đối
với hệ thống trong trường đại học cũng vậy Khi đã nắm được hiện trạng của hệ thống,
ta có thé thay được lý do tại sao áp dụng kiến trúc SOA dé giải quyết bài toán này
2.2.3.1 Hiện trạng hệ thống
a) Quy mô hiện tại của trường có 3 cơ sở đào tạo
b) Cơ sở đữ liệu không đồng bộ c) Các phần mềm triển khai trên nhiều nền tảng
> Mô hình quy trình đồng bộ cơ sở dữ liệu
Trang 11Các ứng dụng tại i 7 i
Cơ sở 2 A Ỷ
kŠ Data Base é
&
Các ứng dung tại >
Cơ sở 3 À)
Các ứng dụng tại
Cơ sở chính (1)
Hình 2.6: Mô hình thao tác đồng bộ cơ sở dữ liệu tại 3 cơ sở
Với hệ thống đang triển khai như trên, nhận thấy vấn đề đang tồn tại của hệ
thống như sau:
Phức tạp:
Không linh hoạt:
Không on định
2.2.3.2 Các công nghệ triển khai hệ thống hiện tại
Hệ thống Edusoft và các phần mềm hiện tại được triển khai theo mô hình Client
— Server Các module thành phần lớn sử dụng công nghệ cũ như: ngôn ngữ lập trình
Visual Basic, cơ sở dữ liệu Foxpro, SQL
2.2.3.3 Đối tượng phục vụ:
2.2.3.4 Các phân hệ thuộc hệ thống phần mềm
a Phân hệ phần mềm quản ly đào tạo (Edusoft)
b Phân hệ phần mềm quản lý học phí
c Phân hệ phần mềm quản lý thư viện
d Phân hệ phần mềm quản lý vật tư
2.2.3.5 Yêu cầu bài toán
Trang 122.2.4 Xáy dựng giải pháp SOA
2.2.4.1 Mô hình SOA tổng thể
Các ứng dụng bên ngoài
Các Web Service
- Hệ thongEdusoft
Thành phần nghiệp vụ - Các phần mềm
(Business components)
I
Hình 2.8: Giải pháp hệ thống quản lý trường ĐHSPKT Hưng Yên theo SOA
QL Học phí
Các ứng dụng bên ngoài QLThư viện QLDao tạo
WSQLVattu WSQLThuvien WSQLDaotao WSQLHocphi
Hình 2.9: Mô hình SOA tổng thé cho hệ thống quản lý DHSPKT Hưng Yên