DANH MỤC CÁC TỪ VIẾT TẮT SOA Service-Oriented Architecture Kiến trúc hướng dịch vụ BPM Business Process Management Quản lý quy trình nghiệp vụ ESB Enterprise Servivce Bus Thành phần kết
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ ĐĂNG NAM
ĐỀ XUẤT GIẢI PHÁP NÂNG CAO TÍNH LIÊN THÔNG VÀ TÁI SỬ DỤNG TRONG PHẦN MỀM CHO BÀI TOÁN XÂY DỰNG CHÍNH PHỦ ĐIỆN TỬ
Ở VIỆT NAM
Ngành: Công nghệ Thông tin
Chuyên ngành: Kỹ thuật phần mềm
Mã số: 60480103
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS TRƯƠNG ANH HOÀNG
Hà Nội - 2015
Trang 2LỜI CẢM ƠN
Lời đầu tiên tôi xin bày tỏ lòng biết ơn chân thành tới các thầy cô giáo Trường Đại học Công Nghệ, Đại học Quốc Gia nói chung và các thầy cô bộ môn Kỹ nghệ Phần mềm nói riêng Trong suốt thời gian tôi học tại trường, các thầy cô đã luôn tận tình dạy dỗ chỉ bảo để tôi có được kết quả như ngày hôm nay
Đặc biệt, tôi xin chân thành cảm ơn giảng viên, tiến sĩ Trương Anh Hoàng, thầy đã tận tình hướng dẫn và giúp đỡ tôi trong quá trình làm luận văn
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân tôi,
không sao chép lại của người khác Trong toàn bộ nội dung của luận văn, những điều đã
trình bày là của cá nhân tôi hoặc là được tôi tổng hợp từ nhiều nguồn tài liệu Tất cả các
nguồn tài liệu tham khảo có xuất xứ rõ ràng và được trích dẫn hợp pháp
Tôi xin chịu toàn bộ trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời
cam đoan của tôi
Hà Nội, tháng 08 năm 2015
Lê Đăng Nam
Trang 4MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 3
DANH MỤC CÁC TỪ VIẾT TẮT 5
DANH MỤC CÁC BẢNG 6
DANH MỤC CÁC HÌNH VẼ 7
Chương 1 Giới thiệu chung 8
1.1 Đặt vấn đề 8
1.2 Mục tiêu nghiên cứu và tóm tắt kết quả đạt được 9
1.3 Tổ chức của luận văn 10
Chương 2 Cơ sở lý thuyết về Chính phủ điện tử và Kiến trúc hướng dịch vụ 11
2.1 Tổng quan về Chính phủ điện tử 11
2.2 Chính phủ điện tử Việt Nam và sự hình thành Khung kiến trúc 12
2.2.1 Tình hình phát triển Chính phủ điện tử tại Việt Nam 12
2.2.2 Khung kiến trúc Chính phủ điện tử Việt Nam 13
2.3 Kiến trúc hướng dịch vụ và các thành phần liên quan 14
2.3.1 Kiến trúc hướng dịch vụ 14
2.3.2 Ý nghĩa và các bài toán áp dụng trong thực tiễn 21
2.3.3 Thành phần tầng kết nối trung gian và vai trò trong SOA 23
2.3.4 Sự tham gia của thành phần quản lý quy trình nghiệp vụ trong SOA 25
Chương 3 Ứng dụng kiến trúc hướng dịch vụ giải quyết vấn đề liên thông và tái sử dụng 27
3.1 Các giải pháp kiến trúc phần mềm cho xây dựng Chính phủ điện tử trên thế giới 27
3.2 Bài toán xây dựng Chính phủ điện tử Việt Nam và hướng áp dụng SOA 30
3.2.1 Sự liên quan giữa kiến trúc hướng dịch vụ và khung Chính phủ điện tử Việt Nam 30
3.2.2 Ứng dụng SOA cho bài toán xây dựng Chính phủ điện tử Việt Nam 31
Chương 4 Khảo sát và áp dụng vào bài toán thực tiễn 42
4.1 Bài toán liên thông thủ tục hành chính 42
Trang 54.2 Áp dụng hướng đã đề xuất để giải quyết bài toán 42
4.2.1 Đề xuất mô hình khung cho bài toán xây dựng Chính phủ điện tử Việt Nam 42
4.2.2 Các bước hiện thực hóa cho bài toán liên thông các thủ tục hành chính 45
4.2.3 Kết quả đạt được 54
Kết luận và hướng phát triển 55
Tài liệu tham khảo 56
Tiếng Việt 56
Tiếng Anh 56
Trang 6DANH MỤC CÁC TỪ VIẾT TẮT
SOA Service-Oriented Architecture Kiến trúc hướng dịch vụ
BPM Business Process Management Quản lý quy trình nghiệp vụ
ESB Enterprise Servivce Bus Thành phần kết nối trung gian HTTP Hypertext Transfer Protocol Giao thức truyền tải siêu văn bản
SOAP Simple Object Access Protocol Giao thức cho việc trao đổi thông
tin sử dụng dịch vụ web
MQ Message Queue Giao thức giao tiếp bất đồng bộ sử
dụng cơ chế hàng đợi LGSP Nền tảng chia sẻ cấp bộ, tỉnh
Nền tảng chia sẻ mức các đơn vị hành chính được đề cập trong Khung chính phủ điện tử Việt Nam NGSP
Hệ thống kết nối, liên thông các hệ thống thông tin ở Trung ương và địa phương
Hệ thống kết nối, liên thông mức toàn quốc được đề cập trong Khung chính phủ điện tử Việt Nam
Trang 7DANH MỤC CÁC BẢNG
Bảng 2-1 Bảng xếp hạng chỉ số phát triển Chính phủ điện tử 12
Trang 8DANH MỤC CÁC HÌNH VẼ
Hình 2.1 Sơ đồ tổng thể khung kiến trúc 13
Hình 2.2 Khung kiến trúc Chính phủ điện tử cấp bộ 14
Hình 2.3 Phương pháp luận TOGAF xây dựng kiến trúc tổng thể 15
Hình 2.4 Khái quát kiến trúc hướng dịch vụ 16
Hình 2.5 Kết nối ứng dụng dựa trên ESB 24
Hình 2.6 Sự phức tạp trong mô hình kết nối điểm - điểm 24
Hình 2.7 SOA với sự tham gia của BPM 26
Hình 3.1 Xu hướng chính phủ điện tử hiện nay 27
Hình 3.2 Kiến trúc Chính phủ điện tử tham chiếu tại Australia 28
Hình 3.3 Khung kiến trúc tham chiếu Chính phủ điện tử 29
Hình 3.4 Nắm rõ yêu cầu nghiệp vụ và đặt ra mục tiêu 34
Hình 3.5 Xác định ứng dụng, thành phần ứng dụng liên quan 35
Hình 3.6 Làm rõ thông tin các ứng dụng 36
Hình 3.7 Xác định và làm rõ thông tin các dịch vụ 38
Hình 3.8 Xây dựng dịch vụ mới 39
Hình 3.9 Xây dựng các quy trình nghiệp vụ mới và hiện thực hóa 40
Hình 4.1 Mô hình đề xuất triển khai Chính phủ điện tử Việt Nam 43
Hình 4.2 Quy trình đăng ký khai sinh 46
Hình 4.3 Quy trình đăng ký thường trú 47
Hình 4.4 Quy trình cấp thẻ bảo hiểm y tế 48
Hình 4.5 Cấu phần và mô hình kết nối Talend ESB 51
Hình 4.6 Định nghĩa cấu trúc thông tin mô tả dịch vụ 52
Hình 4.4.7 Định nghĩa thông tin dịch vụ Kiểm tra thông tin chứng minh nhân dân 53
Hình 4.8 Quy trình liên thông ba thủ tục hành chính 54
Trang 9Chương 1 Giới thiệu chung
1.1 Đặt vấn đề
Trong những năm gần đây, xây dựng Chính phủ điện tử là một trong những vấn đề Công nghệ thông tin được quan tâm hàng đầu tại Việt Nam Mục tiêu cơ bản của Chính phủ điện tử là giúp cho Cơ quan hành chính phục vụ người dân, doanh nghiệp tốt hơn
Từ những bước đặt nền móng đầu tiên cho việc xây dựng Chính phủ điện vào đầu những năm 2000 cho đến nay chúng ta đã đạt được nhiều kết quả khả quan như việc phổ cập tin học đến hầu hết các bộ, ban, ngành, địa phương, xây dựng được hạ tầng Công nghệ thông tin sẵn sàng cho kết nối và hướng tới Chính phủ điện tử tập trung như hạ tầng mạng truyền de tẫn tốc độ cao, cổng thông tin, website cho các đơn vị, các phần mềm quản lý tác nghiệp cho từng đơn vị, bên cạnh đó là rất nhiều dịch vụ công đã được cung cấp trực tuyến đến người dân
Qua một thời gian dài với nhiều hội thảo về Chính phủ điện tử đã tổ chức, cùng với
sự đóng góp của rất nhiều chuyên gia trong lĩnh vực Công nghệ thông tin, tháng 4 năm
2015, Bộ Thông tin và Truyền thông đã chính thức giới thiệu Khung kiến trúc Chính phủ điện tử Việt Nam phiên bản 1.0 [1] Tài liệu này hướng tới việc xác định rõ các thành phần, bộ phận của tổ chức, cơ quan và mối quan hệ giữa các thành phần này trong Chính phủ điện tử, Khung kiến trúc được đưa ra mang tính tổng quát, tính cụ thể, tính kết nối, tính mở và tính khả thi Khung kiến trúc Chính phủ điện tử Việt Nam đã giúp cho các Cơ quan hành chính xác định được trách nhiệm, vị trí của từng đơn vị trong sự phát triển chung của Chính phủ điện tử một cách đồng bộ từ Trung ương đến địa phương
Có thể nói với sự ra đời của Khung kiến trúc Chính phủ điện tử Việt Nam thì các bộ, ban, ngành, địa phương đã có chung một khung nhìn, chung một hướng đi trong xây dựng Chính phủ điện tử toàn diện ở Việt Nam
Tuy nhiên chúng ta vẫn còn rất nhiều vấn đề cần giải quyết để hoàn thiện xây dựng Chính phủ điện tử ở Việt Nam, trong đó, tính liên thông giữa các phần mềm (bao gồm liên thông trong từng địa phương, bộ ban ngành và liên thông mức quốc gia) và khả năng tái sử dụng phần mềm có ý nghĩa quan trọng trong việc xây dựng giải pháp chung cho Chính phủ điện tử ở Việt Nam Tính liên thông giúp việc kết nối hiệu quả hơn, phù hợp với yêu cầu phục vụ người dân, doanh nghiệp tốt hơn của Chính phủ, bên cạnh đó khả năng tái sử dụng giúp tiết giảm chi phí, nâng cao hiệu quả triển khai Chính phủ điện
tử Khi đưa ra Khung kiến trúc Chính phủ điện tử, Bộ Thông tin truyền thông cũng đã nhấn mạnh vấn đề về khả năng kết nối, tích hợp, khả năng tái sử dụng trong hệ thống các phần mềm từ Trung ương đến địa phương, chúng ta đã thấy có sự xuất hiện của Hệ thống kết nối, liên thông các hệ thống thông tin ở Trung ương và địa phương cũng như Nền tảng tích hợp, chia sẻ cấp Bộ, tỉnh Tuy nhiên các thông tin được đưa ra chỉ mới ở mức tổng quan, mang tính khái niệm, cần có các giải pháp ứng dụng vào thực tiễn một cách hiệu quả
Trang 10Bên cạnh đó, Khung kiến trúc Chính phủ điện tử được nêu ra cũng chưa đề cập nhiều đến vấn đề hết sức quan trọng là chuẩn hóa các quy trình nghiệp vụ cho các ứng dụng nội bộ từng đơn vị, cũng như cho các thủ tục hành chính Kể từ năm 2010, Việt Nam đã đưa ra rất nhiều giải pháp để giải quyết vấn đề về cải cách hành chính, tạo thuận lợi cho người dân, doanh nghiệp trong hoạt động hằng ngày Ở các nước phát triển như Hàn Quốc, việc áp dụng giải pháp công nghệ vào giải quyết các vấn đề về chuẩn hóa các quy trình nghiệp vụ tác nghiệp trong Chính phủ đã được ưu tiên từ lâu1 Áp dụng công nghệ vào chuẩn hóa quy trình nghiệp vụ như cải cách, chuẩn hóa các thủ tục hành chính sẽ giúp tăng hiệu quả phục vụ người dân của Chính phủ, giảm thiểu thời gian đưa các chính sách vào thực thi trong đời sống Hiện nay ở một số các đơn vị từ Trung ương đến địa phương đã có những giải pháp công nghệ hỗ trợ cho tin học hóa các quy trình tác nghiệp hằng ngày, có thể kể đến như giải pháp của Công ty DTT ở Đà Nẵng2 đã đưa các dịch
vụ công lên trực tuyến, giúp người dân tương tác tốt hơn với các Cơ quan hành chính Tuy nhiên các giải pháp này là không đồng bộ, mang tính nhỏ lẻ và hầu hết đều khó thay đổi chỉnh sửa, các cán bộ nhà nước chỉ tham gia vào hệ thống như người sử dụng, khả năng đóng góp ngược, cải tiến quy trình chưa cao
Với sự phát triển của công nghệ thông tin hiện nay đã đưa đến cho chúng ta rất nhiều giải pháp giải quyết các vấn đề trên để hiện thực hóa Chính phủ điện tử Kiến trúc hướng dịch vụ (Service Oriented Architecture – SOA) đi cùng với khái niệm về tầng kết nối trung gian (Enterprise Service Bus – ESB) và quản lý quy trình nghiệp vụ (Business Process Management – BPM) được triển khai thành công trên rất nhiều bài toán về hệ thống phần mềm lớn [3], kết nối nhiều ứng dụng, nâng cao khả năng liên thông, kết nối xuyên suốt cũng như tái sử dụng các quy trình nghiệp vụ, các ứng dụng và thành phần phần mềm sẵn có giúp nâng cao hiệu quả triển khai hệ thống đồng thời giải quyết được các vấn đề về chuẩn hóa quy trình nghiệp vụ tác nghiệp trong các Cơ quan hành chính, nâng cao hiệu quả phục vụ người dân, giảm thiểu được thời gian đưa các chính sách vào trong thực tiễn
1.2 Mục tiêu nghiên cứu và tóm tắt kết quả đạt được
Luận văn nêu ra thực trạng và các vấn đề trong xây dựng Chính phủ điện tử Việt Nam, đồng thời đưa ra phương án đề xuất để giải quyết các vấn đề gặp phải, trong đó tác giả tập trung vào hai vấn đề lớn là tính liên thông và tính tái sử dụng trong phần mềm
Để minh chứng cho các luận điểm đưa ra, tác giả lựa chọn khảo sát và giải quyết các bài toán về liên thông các thủ tục hành chính cho các cơ quan nhà nước, cụ thể là bài toán liên thông ba thủ tục hành chính Đăng ký khai sinh, Đăng ký thường trú và Cấp thẻ bảo hiểm y tế cho trẻ em dưới 6 tuổi theo thông tư do liên bộ Bộ tư pháp, Bộ công an và
Bộ y tế ban hành [2]
1 Mô hình Chính phủ điện tử Hàn Quốc: một bài học hay cho Việt Nam
2 http://dtt.vn/?p=3956&lang=vi
Trang 11Luận văn đã đạt được một số kết quả: (1) Đánh giá được tính khả thi của việc áp
dụng SOA, ESB và BPM để giải quyết vấn đề về tính liên thông và tái sử dụng; (2) Áp
dụng mô hình ứng dụng tổng quan cho Chính phủ điện tử Việt Nam theo SOA và đưa
ra các bước hiện thực hóa một yêu cầu nghiệp vụ theo SOA; (3) Thử nghiệm các bước
thực hiện với bài toán liên thông các thủ tục hành chính
1.3 Tổ chức của luận văn
Luận văn nghiên cứu về Chính phủ điện tử Việt Nam và thế giới, tập trung vào giải
quyết hai vấn đề lớn là tính liên thông, và tính tái sử dụng trong phần mềm cho bài toán
Chính phủ điện tử tại Việt Nam Từ các các nghiên cứu đã có được, tác giả chia nội dung
luận văn thành 4 chương chính:
Chương 1: Đưa ra mục tiêu nghiên cứu, tóm tắt kết quả đạt được và đề ra cấu trúc
chi tiết của luận văn
Chương 2: Trình bày các khái niệm cơ bản về Chính phủ điện tử, Khung kiến trúc
Chính phủ điện tử Việt Nam
Chương 3: Trình bày về kiến trúc hướng dịch vụ và thành phần tầng kết nối trung
gian giải quyết các vấn đề về kết nối giữa các hệ thống cũng như tái sử dụng, tận dụng
hạ tầng sẵn có để hướng đến một hệ thống phần mềm kết nối xuyên suốt Mục tiêu của
chương này là đề ra các bước hiện thực hóa SOA cho Chính phủ điện tử Việt Nam
Chương 4: Trình bày khảo sát một số quy trình nghiệp vụ thực tế tại các cơ quan
Nhà Nước Hiện thực hóa các quy trình này theo SOA để làm rõ các bước thực hiện
Trang 12Chương 2 Cơ sở lý thuyết về Chính phủ điện tử và Kiến trúc
hướng dịch vụ
2.1 Tổng quan về Chính phủ điện tử
Theo định nghĩa của Ngân hàng thế giới [4]: Chính phủ điện tử là việc các cơ quan của Chính phủ sử dụng một cách có hệ thống Công nghệ thông tin - viễn thông để thực hiện các dịch vụ hành chính công với công dân, doanh nghiệp và các tổ chức xã hội Nhờ đó, giao dịch của các cơ quan Chính phủ với công dân và các tổ chức sẽ được cải thiện, nâng cao chất lượng
Chính phủ điện tử ra đời như một lẽ tất yếu trong bối cảnh toàn cầu hóa hiện nay, vì
để đáp ứng được các yêu cầu ngày một nhiều và khắt khe đến từ người dân, doanh nghiệp bắt buộc mỗi quốc gia phải xây dựng một hệ thống Công nghệ thông tin cho Chính phủ ngày một mạnh để đáp ứng được hết các yêu cầu
Mục tiêu lớn nhất của Chính phủ điện tử là giúp chuyển đổi dần cơ chế hoạt động của bộ máy cơ quan Chính phủ từ quản lý sang phục vụ mà ở đó đối tượng được phục
vụ chính là người dân, doanh nghiệp và chính các cơ quan Chính phủ
Việc áp dụng Công nghệ thông tin vào quản lý điều hành bộ máy các cơ quan Chính phủ sẽ giúp các hoạt động được rõ rang, nâng cao tính minh bạch, nâng cao hiệu quả phục vụ người dân, doanh nghiệp của cơ quan Chính phủ
Để xây dựng và phát triển nên một hệ thống Chính phủ điện tử đủ tốt phụ thuộc vào rất nhiều yếu tố như bộ máy tổ chức, hạ tầng kỹ thuật, con người và về các chính sách liên quan và đây thực sự là một bài toán lớn cần đầu tư nhiều thơi gian, công sức Theo bảng xếp hạng năm 2014 của UNPASC (United Nations Public Administration Country Studies) về chỉ số phát triển Chính phủ điện tử tại mỗi quốc gia thì chúng ta có thể thấy các nước phát triển đều rất chú trọng đầu tư cho Chính phủ điện tử như Hàn Quốc liên tục nâng cao thứ hạng trong những năm gần đây và trở thành quốc gia có chỉ
số phát triển Chính phủ điện tử tốt nhất (xem bảng 2-1), hầu như mọi giao dịch giữa Chính phủ với người dân, doanh nghiệp đều qua hệ thống Công nghệ thông tin trực tuyến
Quốc gia Chỉ số phát triển Chính
Trang 132.2 Chính phủ điện tử Việt Nam và sự hình thành Khung kiến trúc
2.2.1 Tình hình phát triển Chính phủ điện tử tại Việt Nam
Chính phủ điện tử Việt Nam đã và đang được xây dựng từng bước trên cơ sở kế thừa những thành công và khắc phục những thất bại của đề án lớn 112, trải qua nhiều giai đoạn phát triển, đến nay chúng ta cũng đã tạo ra được một số kết quả nhất định đáng ghi nhận
Mặt mạnh
Đã tạo điều kiện triển khai ứng dụng Công nghệ thông tin; số lượng cán bộ, công chức được trang bị máy tính phục vụ công việc ngày càng tăng, đạt khoảng 90%; hệ thống mạng nội bộ (LAN) được triển khai tại tất cả các Bộ, ngành, địa phương; Mạng truyền số liệu chuyên dùng đã kết nối các cơ quan nhà nước đến cấp quận, huyện Các ứng dụng Công nghệ thông tin nội bộ trong cơ quan nhà nước được triển khai mạnh mẽ, gần 100% các cơ quan nhà nước đã trang bị hệ thống quản lý văn bản và điều hành, hệ thống thư điện tử để trao đổi văn bản, điều hành qua mạng
Tất cả các Bộ, cơ quan ngang Bộ, cơ quan thuộc Chính phủ, các tỉnh, thành phố trực thuộc Trung ương đã có cổng hoặc trang thông tin điện tử để cung cấp thông tin và dịch
vụ công trực tuyến, hầu hết các dịch vụ công được cung cấp trực tuyến mức độ 2; ngày càng nhiều dịch vụ công trực tuyến mức 3 được các cơ quan nhà nước cung cấp
Một số hệ thống thông tin chuyên ngành đã được triển khai và phát huy hiệu quả nổi bật, góp phần phát triển kinh tế, tiêu biểu như các hệ thống thuế, hải quan điện tử
Một số hạn chế
Thiếu một kiến trúc chung định hướng cho giải pháp phần mềm trong Chính phủ điện tử, các ứng dụng Công nghệ thông tin trong cơ quan nhà nước chủ yếu ở quy mô nhỏ, chưa kết nối, chia sẻ thông tin trên diện rộng
Các dịch vụ công trực tuyến mức độ cao cung cấp cho người dân và doanh nghiệp còn chưa nhiều, các hệ thống thông tin chuyên ngành quy mô quốc gia, tạo nền tảng phát triển Chính phủ điện tử chậm được triển khai Các hệ thống đã được xây dựng còn thiếu kết nối, chia sẻ, trao đổi thông tin Việc liên thông các hệ thống, các dịch vụ công chưa được coi trọng
Trang 14Việc đầu tư Công nghệ thông tin đặc biệt về giải pháp phần mềm còn chưa được đồng bộ, nhiều khi có sự trùng lặp giữa các cơ quan nhà nước, giữa các cấp bởi các giải pháp mang tính nhỏ lẻ, khó tái sử dụng
2.2.2 Khung kiến trúc Chính phủ điện tử Việt Nam
Với mục đích xác định, thống nhất sơ đồ tổng thể Khung Kiến trúc Chính phủ điện
tử của Quốc gia Bộ thông tin truyền thông đã đưa ra Khung kiến trúc Chính phủ điện
tử nhằm làm căn cứ cho các cơ quan nhà nước xác định vị trí, trách nhiệm của mình trong sự phát triển Chính phủ điện tử đồng bộ của Quốc gia
Hình 2.1 Sơ đồ tổng thể khung kiến trúc [1]
Trên cơ sở Sơ đồ khung tổng thể được đưa ra, các cơ quan nhà nước, các bộ ban ngành, các tỉnh thành cũng có thể đưa ra các kế hoạch ứng dụng Công nghệ thông tin theo lộ trình và trách nhiệm triển khai ở các cấp bảo đảm sự kết nối, chia sẻ, liên thông
và sử dụng lại thông tin, cơ sở hạ tầng thông tin
Trang 15Hình 2.2 Khung kiến trúc Chính phủ điện tử cấp bộ [1]
Khung kiến trúc Chính phủ điện tử Việt Nam được đưa ra đã giúp cho các cơ quan Chính phủ có cùng một hướng nhìn về bài toán xây dựng Chính phủ điện tử Việt Nam, đây được xem như bước đầu tiên trong việc xây dựng một hệ thống hoàn chỉnh
Về mặt hạ tầng kết nối đã khá đầy đủ, tuy nhiên phần mềm hiện chưa có một kiến trúc chung để hiện thực hóa khung kiến trúc, vì vậy cần đưa ra SOA cho phép dịch vụ hóa các ứng dụng (cũ, mới), đảm bảo tính liên thông, khả năng kết nối, khả năng mở rộng cũng như tái sử dụng của các phần mềm được xây dựng
Mục tiêu của các giải pháp Chính phủ điện tử là thay đổi quan niệm của cơ quan nhà nước từ quản lý sang phục vụ người dân, giúp người dân và các cấp quản lý cùng nhau xây dựng một chính phủ vững mạnh, vì vậy để hiện thực hóa điều này ngoài khung kiến trúc cần chuẩn hóa lại các quy trình nghiệp vụ của các ứng dụng nội bộ cũng như dịch
vụ công, đưa đến các dịch vụ tốt nhất đến mọi đối tượng công dân, BPM và BPMN là một công cụ phần mềm cho phép sự tham gia của cả người làm chuyên môn và giảm thiểu thời gian triển khai đi vào thực tiễn của các quy trình được đưa ra
2.3 Kiến trúc hướng dịch vụ và các thành phần liên quan
2.3.1 Kiến trúc hướng dịch vụ
Trước khi nhắc đến kiến trúc hướng dịch vụ, chúng ta cần đề cập đến khái niệm về kiến trúc phần mềm, kiến trúc phần mềm là cấu trúc của hệ thống được tạo nên bởi các thành phần, các thuộc tính của tửng thành phần có thể thấy được từ bên ngoài, mối quan
hệ giữa các thành phần Việc thiết kế và xây dựng kiến trúc cho hệ thống các phần mềm
Trang 16thường theo hướng tiếp cận từ trên xuống, nó phụ thuộc nhiều vào tầm nhìn về kiến trúc
hệ thống của tổ chức, cũng như phụ thuộc vào yêu cầu từ phía nghiệp vụ của tổ chức Như trong phương pháp luận về xây dựng kiến trúc tổng thể của TOGAF [6] cũng đã đưa ra các bước để tiến hành xây dựng một kiến trúc tổng thể cho hệ thống các phần mềm
Hình 2.3 Phương pháp luận TOGAF xây dựng kiến trúc tổng thể [6]
Kiến trúc hướng dịch vụ (Service Oriented Architechture – gọi tắt là SOA) là một khái niệm về kiến trúc hệ thống phần mềm nhằm đem lại một cách thuận tiện nhất những chức năng nghiệp vụ, hoặc là những quy trình ứng dụng, tới người sử dụng dưới dạng các dịch vụ hoạt động trên môi trường mạng có khả năng chia sẻ và sử dụng lạị Dịch
vụ ở đây được hiểu là những phân hệ nghiệp vụ hoặc chức năng ứng dụng với giao diện được thiết kế theo quy định và được tương tác bằng cách gửi nhận thông điệp [7]
Trang 17Hình 2.4 Khái quát kiến trúc hướng dịch vụ [7]
Trong khi kiến trúc tổng thể (Enterprise Architecture – EA) là một phương pháp luận nhằm xác định, sắp xếp và điều chỉnh quy trình nghiệp vụ cho phù hợp với tầm nhìn, chiến lược và mục tiêu của một cơ quan, tổ chức, SOA như một mô hình mẫu kiến trúc chủ yếu được sử dụng trong thiết kế và phát triển các hệ thống thông tin phục vụ cho những quy trình nghiệp vụ đã được nhận biết (trong kiến trúc tổng thể)
Có thể liệt kê một số lợi ích cơ bản của việc sử dụng SOA như sau:
- Cho phép hướng sự tập trung vào xây dựng các tính năng nghiệp vụ trong quá trình phát triển phần mềm;
- Giảm thiểu chi phí trong quá trình phát triển;
- Giảm thiểu yêu cầu về đào tạo và kỹ năng;
- Chi phí bảo trì thấp;
- Chu trình phát triển phần mềm nhanh chóng hơn
SOA có ưu thế hơn các mô hình kiến trúc truyền thống (như mô hình hướng ứng dụng hoặc mô hình hướng lập trình) ở điểm SOA chủ yếu tập trung nguồn lực phát triển vào các chức năng và tính năng phục vụ hoạt động và quy trình nghiệp vụ Điều này cho phép nhà quản lý chỉ cần dựa trên đặc điểm mang tính nghiệp vụ rà soát, xác định rõ chi tiết, thành phần cần thêm, sửa đổi hoặc loại bỏ Do đó, các hệ thống phần mềm phát triển phía sau có thể được thiết kế nhằm đáp ứng những quy trình nghiệp vụ (thay vì quy trình nghiệp vụ phải thay đổi để tận dụng những tính năng phần mềm như trong các mô hình kiến trúc thường thấy ở nhiều cơ quan tổ chức với hạ tầng ứng dụng Công nghệ thông tin được phát triển từ trước)
Bằng cách phát triển và tập hợp danh mục các dịch vụ, nhà phát triển có một bộ sưu tập những thành phần phần mềm có sẵn, có thể được sử dụng để lắp ghép nên một hệ thống mới (thay vì phải xây dựng hệ thống này từ đầu) Danh mục dịch vụ này sẽ nhanh
Trang 18chóng được gia tăng về qui mô và số lượng, khiến việc phát triển các hệ thống mới ngày càng trở nên thuận tiện, nhanh chóng Khả năng sử dụng lại cũng cho phép giảm bớt chi phí phát sinh khi thêm các tính năng mới vào hệ thống
Khái niệm định hướng dịch vụ là nền tảng của SOA, mà ở đó các hệ thống thông tin
có kiến trúc dựa trên quy tắc cung cấp các dịch vụ nghiệp vụ có khả năng sử dụng lại Các dịch vụ này được lắp ghép từ những thành phần của phần mềm được gắn kết một cách khá mềm dẻo Sự mềm dẻo thể hiện ở chỗ, với mô hinh SOA các lựa chọn về công nghệ, nền tảng hệ thống, vị trí hoặc môi trường của mỗi bên, nhà cung cấp hoặc người
sử dụng dịch vụ, không nhất thiết phải khai báo tường minh đối với bên còn lại Chính
vì SOA thúc đẩy sự gắn kết mềm dẻo giữa các thành phần phần mềm, các thành phần này có thể được sử dụng lại Các mô hình kiến trúc truyền thống thường yêu cầu nghiêm ngặt về tường minh giao diện kết nối cũng như sự phối hợp lô-gic rất chặt chẽ giữa các nhóm, thủ tục chức năng Đây là một lý do chính cản trở hoạt động cập nhật, thay đổi
hệ thống, dịch vụ và quy trình để không ảnh hưởng tới môi trường nghiệp vụ và Công nghệ thông tin hiện tại của cơ quan, tổ chức Tính mềm dẻo đã góp phần giúp các dịch
vụ có thể được nâng cao hoặc sửa đổi, đưa ra những dịch vụ chia sẻ hoặc chuẩn hóa mới vào quy trình nghiệp vụ mà không đòi hỏi phải thay đổi toàn bộ quy trình
SOA thể hiện sự tiên tiến hơn hình thức phát triển ứng dụng thông thường bằng cách đặt trọng tâm phát triển vào qui trình nghiệp vụ và sử dụng các giao tiếp đã được chuẩn hóa nhằm che đi tính chất phức tạp của kỹ thuật phía dưới Theo thiết kế SOA, thành phần thực hiện dịch vụ (phần mềm) được tách rời với thành phần đảm nhiệm giao tiếp, nối kết dịch vụ Điều này cho phép thành phần giao tiếp, nối kết dịch vụ được chuẩn hóa
và có tính độc lập với công nghệ (bao gồm nền tảng phần cứng, hệ điều hành và ngôn ngữ lập trình) sử dụng trong thành phần thực hiện dịch vụ Thay vì xây dựng các ứng dụng đơn lẻ và quy mô lớn trong toàn bộ quy trình nghiệp vụ, nhà phát triển sẽ xây dựng các dịch vụ được tinh gọn, dễ triển khai và sử dụng lại Điều này không chỉ cho phép sử dụng lại phần mềm tốt hơn, mà còn nâng cao tính linh hoạt thông qua khả năng gói gọn việc cải tiến dịch vụ mà không phải thiết kế hay viết lại các ứng dụng sử dụng dịch vụ này
SOA cũng có thể coi như là một sự phát triển tự nhiên tiếp theo của kiến trúc khách/chủ Trong các hệ thống khách/chủ, mỗi nhóm chức năng hoặc về giao diện người dùng, hoặc về chuỗi lô-gic nghiệp vụ, hoặc về quản trị dữ liệu sẽ được thực hiện riêng
rẽ, sử dụng các hệ thống nền và công nghệ phù hợp nhất đối với nhóm chức năng đó Với SOA, những nhóm chức năng này (đặc biệt là chức năng nghiêp vụ/ứng dụng) sẽ được phân rã thành những lớp dịch vụ có chức năng nhỏ hơn (2) Ví dụ, thay vì xây dựng phần mềm độc lập hoặc ứng dụng trên máy chủ thực hiện một chức năng nghiệp
vụ, hệ thống dựa trên SOA có thể kết hợp các dịch vụ được chạy trên các nền tảng phần mềm khác nhau, kể cả các dịch vụ phân tán, dịch vụ được chạy trên những hệ thống cung cấp dịch vụ từ xa hoặc trên hệ thống sử dụng cơ chế tính toán lưới Tất nhiên, để
Trang 19thực hiện điều này thành công, các phân tích khi xây dựng SOA không những phải xác định ra tập hợp gồm nhiều thành phần dịch vụ, đồng thời cũng mô tả cách thức ứng dụng hoạt động dựa trên sự liên kết các dịch vụ
Trong khái niệm định hướng dịch vụ, có thể phân loại dịch vụ thành hai dạng cơ bản,
đó là: các dịch vụ về nghiệp vụ và các dịch vụ về kỹ thuật Dịch vụ về nghiệp vụ mô tả hoạt động và khái niệm mang tính nghiệp vụ Dịch vụ về nghiệp vụ cũng có thể được coi như là dịch vụ về quy trình nghiệp vụ do chúng thường được gắn với nguyên một chức năng nghiệp vụ cụ thể của một cơ quan hay một tổ chức cụ thể Việc xác định các dịch vụ trong một cơ quan, tổ chức thường được xem xét trong bối cảnh của một nhóm nghiệp vụ hoặc nhóm phòng ban tương ứng SOA sẽ giải quyết vấn đề về sự cô lập trong ứng dụng Công nghệ thông tin vào dịch vụ về nghiệp vụ Thông qua việc phân tích dịch
vụ, các ứng dụng và dịch vụ mang tính liên ngành có thể được đẩy mạnh Khả năng sử dụng lại dịch vụ cho phép việc xác định các nhóm dịch vụ hoặc quy trình thực hiện dịch
vụ bên trong các vùng liên kết theo chiều dọc, và sau đó tìm kiếm khả năng sử dụng lại các nhóm dịch vụ hoặc quy trình thực hiện dịch vụ này theo chiều ngang Giá trị của dịch vụ về nghiệp vụ còn ở chỗ chúng tạo tiền đề cho hoạt động xác định và phân tích dịch vụ cốt lõi bên trong cơ quan, tổ chức
Dịch vụ về kỹ thuật là các dịch vụ được liên kết theo chiều ngang và được sử dụng trong các quy trình nghiệp vụ, khối nghiệp vụ (business unit), hoặc nhóm quy trình Các dịch vụ này bao gồm các dịch vụ an toàn thông tin, dịch vụ lưu vết, dịch vụ kiểm toán, dịch vụ chuyển đổi (transformation service), cũng như các dịch vụ Công nghệ thông tin đáp ứng các nhu cầu về nền tảng hệ thống xuyên suốt phạm vi nghiệp vụ thuộc cơ quan,
tổ chức Do vậy, dịch vụ về kỹ thuật ở một chừng mực nào đó có thể được coi như là dịch vụ dùng chung mức tổng thể Những dịch này có mặt ở mọi nơi và được chia sẻ sử dụng chung trong các quy trình nghiệp vụ Tuy nhiên, cũng cần thiết phải chỉ ra rằng SOA không khuyến khích sự tập trung quá mức vào các dịch vụ loại này Phát triển kiến trúc hệ thống thông tin dựa trên SOA cần phải lấy yếu tố nghiệp vụ làm trung tâm, xuất phát điểm từ các dịch vụ về nghiệp vụ, sau đó mới dần sắp xếp, chọn lựa triển khai các dịch vụ về kỹ thuật Bởi vì mục đích cao nhất của SOA là làm sao mô tả được các nhu cầu và quy trình từ phía nghiệp vụ dưới dạng các khối, thành phần Công nghệ thông tin
Các thành phần lô-gic của SOA
SOA gồm nhiều thành phần khác nhau, không chỉ gói gọn vào những thành phần mang tính công nghệ hỗ trợ sự vận hành của hệ thống Một số thành phần cơ bản nhất
sẽ được liệt kê và mô tả sau đây Các thành phần này sẽ ảnh hưởng trực tiếp và chủ yếu vào kết quả ứng dụng SOA
Tầm nhìn mức khái niệm của SOA
SOA có thể được coi như một khái niệm kiến trúc mang tính nghiệp vụ cao, một sáng kiến hoặc một phương pháp, phục vụ việc lên kế hoạch, thiết kế và chuyển giao chức năng Công nghệ thông tin dưới hình thức là các dịch vụ nghiệp vụ nhằm đạt được
Trang 20các lợi ích nghiệp vụ cụ thể của một cơ quan, tổ chức Tầm nhìn mức khái niệm SOA bao gồm các nghiệp vụ được định nghĩa chặt chẽ, có mục tiêu (cả về giá trị Công nghệ thông tin lẫn về kiến trúc), cùng với mô hình quản trị và tập hợp chính sách phù hợp nhằm thiết lập những ràng buộc chặt chẽ về tiêu chuẩn và nền tảng kỹ thuật trong suốt thời gian phát triển Đây chính là định nghĩa của SOA đích, một kiến trúc mục tiêu sẽ cần phải đạt được
Dịch vụ
Dịch vụ là vừa là khái niệm, vừa là thực thể quan trọng nhất, đóng vai trò trung tâm trong SOA Có nhiều quan điểm về khái niệm dịch vụ tùy thuộc vào từng ngữ cảnh cụ thể Trong SOA, dịch vụ được xác định cách đơn giản là một mô đun phần mềm hay một chương trình hoàn chỉnh được cấu trúc để có thể liên kết với nhau một cách dễ dàng thông qua hình thức trao đổi thông điệp Đặc điểm chính của dịch vụ trong SOA thể hiện ở việc sử dụng dịch vụ này sẽ được diễn ra liên tục và có tính lặp đi lặp lại Đối tượng sử dụng dịch vụ gồm nhiều thành phần khác nhau, có thể từ kiến trúc sư, nhà phát triển, nhà phân tích thiết kế phần mềm, đến các khách hàng, đối tác hay chính những thành viên của cơ quan, tổ chức Kèm với việc xây dựng các dịch vụ, một dịch vụ cần được thiết kế nhằm đảm bảo tính chất sử dụng lại, tương tác liên thông và tích hợp của toàn bộ qui trình nghiệp vụ cũng như giữa các hạ tầng công nghệ khác nhau của hệ thống
Một số đặc điểm chính của dịch vụ bao gồm:
- Dịch vụ đều ở dạng thô (coarse-grained services);
- Gắn với các định nghĩa rõ ràng về những gì được cung cấp (well-defined service contracts);
- Liên kết mềm dẻo;
- Khả năng phát hiện được;
- Tính bền vững;
- Khả năng phối ghép (composable);
- Phù hợp với hướng nghiệp vụ (business aligned);
- Sử dụng lại được;
- Tương tác liên thông
Công nghệ tạo ra khả năng (Enabling Technology)
Hiện nay, có khá nhiều giải pháp công nghệ khác nhau cho SOA Tuy nhiên, điều này không gây khó khăn khi thực hiện phát triển hệ thống phần mềm sử dụng SOA Tuy rằng công nghệ có vai trò trong việc nhận thức và đưa ra tầm nhìn trong ứng dụng SOA, bản thân công nghệ chỉ là yếu tố hỗ trợ chứ không phải là thành phần cốt lõi của SOA Việc thực hiện công nghệ tạo khả năng hướng tới hai mục đích: (1) cho phép các dịch
vụ được triển khai một cách tin cậy và an toàn, hướng tới hỗ trợ các mục tiêu nghiệp vụ; (2) tạo ra khả năng duy trì hạ tầng Công nghệ thông tin sẵn có cũng như tận dụng các
hệ thống cũ nhằm phục vụ mục đích ứng dụng SOA
Trang 21Một trong những giá trị lớn nhất của SOA là cho phép sử dụng lại hệ thống máy tính lớn và các tài sản Công nghệ thông tin đang tồn tại Trong khá nhiều các tổ chức lớn, chính các hệ thống chính cũ và các ứng dụng cài đặt đi kèm lại là những thành tố quan trọng đóng góp vào cung cấp dịch vụ trong thời gian đầu triển khai SOA Điều này hết sức quan trọng vì các phần mềm và dữ liệu liên quan đến quy trình nghiệp vụ cơ bản thường được cài đặt và lưu trử trong các hệ thống chính chuyên dụng Bằng cách cho phép các dịch vụ truy cập vào các hệ thống này, các giá trị thông tin đã có có thể được tái sử dụng ngay lập tức trong các và quá trình tự động
Quản trị và chính sách trong SOA
Kiến trúc ứng dụng Công nghệ thông tin dựa trên SOA chỉ được đánh giá là khả thi khi nó thể hiện sự liên hệ chặt chẽ với những đối tượng sử dụng, bao gồm: người sử dụng nghiệp vụ, nhà phát triển, kiến trúc sư phần mềm, giám đốc phụ trách nghiệp vụ, giám đốc phụ trách Công nghệ thông tin và nhà phân tích nghiệp vụ Ngoài ra, đối tác của cơ quan, tổ chức cũng cần phải được thông tin chính xác về khả năng và ích lợi khi
áp dụng kiến trúc dựa trên khái niệm SOA
Tuy vậy, ngoài công tác truyền thông một vấn đề không kém phần khó khăn nữa là
sự yêu cầu sự tuân thủ nghiêm ngặt từ các đối tượng sử dụng nêu trên đối với tầm nhìn
và mục tiêu của kiến trúc ứng dụng đang được thực hiện Sự phát triển kiến trúc dựa trên khái niệm SOA sẽ không thể hoàn tất ngay một lúc, giống như trường hợp các hệ thống phần mềm đóng gói Thay vì đó, kiến trúc ứng dụng được xây dựng dần dần trong suốt thời gian triển khai dự án bằng cách liên tục đưa ra các định nghĩa mới và áp đặt việc sử dụng các tiêu chuẩn nền tảng của chính kiến trúc ứng dụng này Những tiêu chuẩn được chỉ định ở đây chính là những chính sách, gián tiếp liên quan tới quá trình phát triển kiến trúc ứng dụng, mà qua đó giúp cơ quan, tổ chức đạt được tầm nhìn và mục tiêu nghiệp vụ khi ứng dụng SOA Cơ chế quản trị trong SOA xác định rõ các quy trình quản trị, vai trò và trách nhiệm mang tính tổ chức, tập hợp các chuẩn và chính sách cần thiết phải đưa vào quá trình xây dựng và phát triển kiến trúc ứng dụng Công nghệ thông tin để đảm bảo tính hiệu quả và khả thi của kiến trúc này
Các chuẩn đo (metrics)
Để kiểm chứng việc ứng dụng SOA cũng như nhằm tối ưu hóa hệ thống, yêu cầu cần
có một bảng gồm các chuẩn đo đánh giá kết quả ứng dụng SOA Những chuẩn đo này
có thể bao gồm các chuẩn đo mức chi tiết, ví dụ như các thỏa thuận cho từng dịch vụ cụ thể, cũng như các chuẩn đo về mức độ sử dụng, chuẩn đo về sự tuân thủ chính sách, chuẩn đo về phát triển, nghiệp vụ, các chuẩn đo đánh giá hiệu quả đầu tư, và chuẩn đo
về quy trình Luôn luôn phải định hướng và xây dựng các bộ chuẩn đo trong thời gian sớm nhất, và liên tục cập nhật, sửa đổi, bổ sung chúng trong suốt thời gian đưa dịch vụ vào hoạt động
Mô hình tổ chức và ứng xử
Trang 22Kiến trúc Công nghệ thông tin hiện thời thường là kết quả trong nhiều năm của các hoạt động mang tính tổ chức, ứng xử, các quyết định nghiệp vụ, cũng như những lựa chọn liên quan đến mô hình kiến trúc Để ứng dụng SOA hiệu quả, trước hết những hành
vi mang tính tổ chức và ứng xử cần phải được tìm hiểu và sau đó sẽ dần được tối ưu hóa hướng tới việc đem lại các giá trị mang tính tầm nhìn và mục tiêu của quá trình ứng dụng SOA Các mô hình tổ chức và ứng xử hợp lý sẽ thúc đẩy khả năng thành công của việc ứng dụng SOA
có mà còn là thành phần quan trọng trong việc quản lý quy trình nghiệp vụ trong SOA
- Dịch vụ tương tác (interaction services): cung cấp chức năng về Công nghệ thông tin và dữ liệu đến người dùng cuối theo yêu cầu sử dụng của họ
- Dịch vụ xử lý (process services): cung cấp dịch vụ điều khiển cần thiết để quản
lý các luồng và tương tác của nhiều dịch vụ, đáp ứng việc thực hiện quy trình nghiệp
vụ
- Dịch vụ thông tin (information services): cung cấp các chức năng tập hợp (federate), thay thế và chuyển đổi nhiều nguồn dữ liệu khác nhau được thực hiện bởi nhiều cách thức khác nhau
- Dịch vụ truy cập (access services): cung cấp các chức năng bắc cầu cho những ứng dụng cũ (legacy applications), ứng dụng chưa hoàn thiện (prepackaged applications), kho dữ liệu chính, và ESB nhằm kết hợp dịch vụ có trong những ứng dụng hiện tại vào hệ thống SOA
- Dịch vụ đối tác (partner services): cung cấp tài liệu, giao thức, và chức năng quản lý đối tác cho những quy trình nghiệp vụ có yêu cầu tương tác với đối tác bên ngoài
2.3.2 Ý nghĩa và các bài toán áp dụng trong thực tiễn
Lý do chủ yếu cho việc thúc đẩy các hoạt động ứng dụng SOA chính là nhằm giải quyết bài toán bài toán tích hợp Đối với nhiều nhà quản lý, SOA giữ một vị trí quan trọng trong việc xóa bỏ các mô hình tích hợp truyền thống khá quen thuộc với họ, thông
Trang 23qua các tiêu chuẩn công nghiệp và ứng dụng hiện đại Một số phân tích đã ước lượng khoảng 30% chi phí Công nghệ thông tin thông thường được sử dụng trong các hoạt động tích hợp Hiệu quả của nghiệp vụ sẽ phụ thuộc vào tính tích hợp, từ tích hợp quy trình, tích hợp các thành phần của cơ quan, tổ chức, đến tích hợp các vấn đề liên quan đến tách nhập các khối chức năng Hay nói cách khác, chính giá trị về đẩy mạnh tính cạnh tranh của cơ quan, tổ chức đã mang lại nhu cầu về tích hợp
Nhu cầu giải quyết bài toán tích hợp
Các nghiên cứu gần đây cho biết công tác hỗ trợ tính tương thích ngược và bảo trì
hệ thống chiếm khoảng 80 đến 90% chi phí đầu tư Công nghệ thông tin, thay vì dành cho hoạt động đầu tư vào các hệ thống mới Đây là vấn đề gây trở ngại cho hầu hết các giám đốc Công nghệ thông tin khi phân bổ kinh phí đầu tư Công nghệ thông tin và cũng chính là một trong các lý do cho việc thiếu các chiến lược đầu tư Công nghệ thông tin theo chiều sâu như hiện nay Nhu cầu về tích hợp Công nghệ thông tin và quy trình được chi phối bới các yêu cầu về nghiệp vụ, bao gồm:
- Nâng cao hoạt động tách nhập (M&A actitivity);
- Phối hợp tổ chức và cấu trúc lại mô hình tổ chức;
- Củng cố ứng dụng và/hoặc hệ thống;
- Sáng kiến về tích hợp dữ liệu và kho dữ liệu (data warehousing);
- Xây dựng chiến lược nghiệp vụ nhằm tận dụng các hệ thống hiện tại đáp ứng quy trình mới;
- Đạt được sự tuân thủ về quy định;
- Gắn kết các quy trình nghiệp vụ để nâng cao hiệu năng
Chuyển đổi sang ứng dụng dịch vụ
Phương án chung cho việc tích hợp hiện tại là kết hợp sử dụng các giải pháp lớp giữa (middleware solutions), kỹ thuật tích hợp điểm-điểm riêng biệt, và các giải pháp hướng tích hợp chiến lược (đã thất bại ngay từ khi mới đề xuất) Các giải pháp này thường không có được tính bền vững cao, trong khi lại yêu cầu chi phí bảo trì ngày một tăng
Do vậy, giải pháp tích hợp mới cần phải loại trừ tất cả các kết nối tích hợp trực tiếp điểm-điểm và cấu trúc lại việc tích hợp giữa các hệ thống, đơn vị có nhu cầu dựa trên quan diểm SOA Chí phí Công nghệ thông tin sẽ được tính toán để đảm bảo kinh phí cho những giải pháp, dự án, bao gồm cả chi phí cho cán bộ chuyên trách, chi phí bảo trì
và đầu tư, duy trì hạ tâng Công nghệ thông tin Đồng thời sự giảm bớt khối lượng công việc dành cho việc tích hợp sẽ phải được ước lượng thông qua sử dụng các dịch vụ có thể sử dụng lại được trong SOA và phân tích phản ứng của người sử dụng đối với việc tích hợp này Tuy rằng việc tích hợp thông qua hướng dịch vụ sẽ yêu cầu nhiều quy định cũng như kế hoạch hơn các mô hình tích hợp trước đó, kết quả thu được hoàn toàn tương xứng để quyết định đầu tư
Trang 24Những thách thức khi xây dựng SOA
Bên cạnh những lợi ích rõ ràng, mang tính đặc trưng cao, có một số lý do khiến SOA
tỏ ra khó thực hiện, quản lý cũng như điều khiển trong thực tế Lý do chính ở đây không đến từ mặt công nghệ, mà là hệ quả của các vấn đề liên quan đến tính tổ chức, văn hóa
và hành vi của SOA có ảnh hưởng tới hiệu quả cuối cùng của việc xây dựng kiến trúc Cho dù trình độ công nghệ đã tiến bộ khá nhanh trong thời gian gần đây, qua việc hình thành và ban hành các chuẩn, ứng dụng hỗ trợ, các nền tảng phát triển và vận hành, thực
tế vẫn tồn tại khá nhiều các vấn đề thuộc phạm trù công nghệ cần phải giải quyết như các giao dịch cần thực hiện trong thời gian dài, vấn đề liên quan đến an ninh bảo mật và nhiều vấn đề khác Tuy nhiên, các vấn đề liên quan đến tổ chức, văn hóa và hành vi tỏ
ra phức tạp, đòi hỏi nhiều nỗ lực giải quyết hơn cả, hơn rất nhiều so với các vấn đề thuộc phạm trù công nghệ
SOA là một kiến trúc luôn biến đổi, đòi hỏi phải có một sự cam kết lâu dài mới có thể đạt được các mục tiêu nghiệp vụ cụ thể Và để đạt được mục đích này, nhà phát triển cũng như những người chịu trách nhiệm về Công nghệ thông tin cần phải nắm được các
kỹ năng lập kế hoạch, thiết kế và thực hiện SOA thông qua các dịch vụ có thể sử dụng lại
Một số vấn đề lớn cần quan tâm khi xây dựng SOA:
-Yêu cầu từ xây dựng mô hình kiến trúc tổng thể
-Sự phát triển không đồng bộ (phát triển từng phần và tạm thời)
-Yêu cầu sự quản lý, thay đổi cơ cấu tổ chức của đơn vị triển khai
-Thách thức trong xác định, phân tích và thiết kế dịch vụ
-Thách thức khi triển khai SOA một cách toàn diện
2.3.3 Thành phần tầng kết nối trung gian và vai trò trong SOA
Trong Kiến trúc hướng dịch vụ (SOA), thành phần kết nối trung gian (Enterprise Service Bus - ESB) là một thành phần thiết yếu có tính quyết định và đặc biệt quan trọng Một ESB được sử dụng để gián tiếp kết nối các ứng dụng có sử dụng các dạng dịch vụ khác nhau như thể hiện trong hình 2.5 Các dạng dịch vụ khác nhau này bao gồm các dịch vụ web, các dịch vụ RESTful, các dịch vụ không đồng bộ như là các dịch
vụ sử dụng MQ, các dịch vụ dựa trên CORBA, các dịch vụ dựa trên DCOM và RMI của Java Các dịch vụ này sử dụng giao thức truyền thông và các dạng thông báo khác nhau
Ví dụ các dịch vụ web sử dụng HTTP làm giao thức truyền thông và SOAP làm kiểu định dạng thông báo, trong khi các dịch vụ không đồng bộ có thể sử dụng MQ làm giao thức truyền thông và XML làm định dạng thông báo
Trang 25Hình 2.5 Kết nối ứng dụng dựa trên ESB [7]
Việc đưa ra thành phần kết nối trung gian ESB có ý nghĩa thực sự quan trọng với hệ thống các phần mềm, nó giúp xóa bỏ các kết nối điểm điểm, tăng tính mở cho toàn bộ
hệ thống, giảm thiểu sự phụ thuộc vào các giao thực cụ thể của hệ thống Nếu chỉ đơn thuần đưa ra các dịch vụ tại mỗi ứng dụng, và các ứng dụng khác tham chiếu trực tiếp đến các dịch vụ này khi cần thì việc làm này sẽ phát sinh nhiều kết nối điểm - điểm Hình 2.6 là một ví dụ cho thấy sự phức tạp trong kết nối tăng lên khi không có sự tham gia của ESB
Hình 2.6 Sự phức tạp trong mô hình kết nối điểm - điểm
Trang 262.3.4 Sự tham gia của thành phần quản lý quy trình nghiệp vụ trong SOA
Trong một hệ thống các phần mềm lớn đã được xây dựng, khi đặt ra một bài toán mới phục vụ yêu cầu nghiệp vụ nào đó, chúng ta luôn phải tính tới việc tái sử dụng để tận dụng các thành phần ứng dụng sẵn có Ví dụ khi chúng ta tin học hóa một dịch vụ công cho một cơ quan nhà nước để phục vụ người dân thì thông thường chúng ta sẽ không bắt đầu từ đầu, đơn vị được triển khai đã có sẵn các phần mềm, cơ sở dữ liệu phục vụ tác nghiệp hằng ngày Như vậy để hoàn thành việc đưa dịch vụ công vào tin học hóa thì lẽ dĩ nhiên chúng ta sẽ gặp phải các vấn đề về kết nối đến các phần mềm sẵn
có, đến các cơ sở dữ liệu chung đã tồn tại
SOA cũng như các mô hình kiến trúc khác được đưa ra đều dựa trên yêu cầu thực tiễn từ nghiệp vụ, như trong TOGAF, phương pháp luận để xây dựng kiến trúc phần mềm bao gồm rất nhiều bước, nhưng yêu cầu nghiệp vụ luôn quyết định đến kiến trúc tổng thể của hệ thống
SOA chấp nhận sự thay đổi, bổ sung hệ thống, như với tình huống trên khi có yêu cầu xây dựng mới một phần mềm hoặc dịch vụ mới trên nền tảng các phần mềm đã được xây dựng, việc kết nối hay tương tác với hệ thống cũ hoàn toàn được đảm nhận bởi thành phần ESB Chính nhờ sự phân tách này nên khi xây dựng một phần mềm mới trên nền tảng SOA chúng ta sẽ chỉ cần tập trung nhiều về mặt quy trình nghiệp vụ mà ít phải quan tâm đến các vấn đề về khả năng kết nối Việc đưa vào một thành phần quản lý quy trình nghiệp vụ trong SOA sẽ giúp phân chia rõ ràng nhiệm vụ, chức năng của các thành phần trong hệ thống phần mềm, giúp tăng tính linh động, khả chuyển cho hệ thống
Hiện nay với yêu cầu ngày càng cao của sự thay đổi không ngừng trong hệ thống các phần mềm, áp dụng SOA và đưa vào thành phần quản lý quy trình nghiệp vụ là giải pháp hoàn hảo để đáp ứng được yêu cầu đó Một quy trình nghiệp vụ có thể bao gồm nhiều bước thực hiện và chấp nhận sự tham gia vào của con người trong mỗi bước thực hiện, ESB là thành phần kết nối trung gian hỗ trợ cho các yêu cầu về kết nối đến các phần mềm khác tại mỗi bước trong quy trình nghiệp vụ
Trang 27Hình 2.7 SOA với sự tham gia của BPM [8]
BPM như một chất xúc tác để tạo ra một SOA có tính hữu dụng cao, vì bản chất của mọi kiến trúc là đưa đến một giải pháp toàn diễn hỗ trợ các yêu cầu nghiệp vụ SOA đưa
ra cách sắp đặt các thành phần, sự liên kết giữa các thành phần và các thành phần thiết yếu trong hệ thống trên nền tảng các dịch vụ, các dịch vụ này được xây dựng phải định hướng dựa trên yêu cầu nghiệp vụ thực tế, vì vậy việc đưa ra thành phần quản lý quy trình nghiệp vụ tập trung vào mô hình SOA như một sự đảm bảo cho mục tiêu của SOA
và giúp cho SOA đi theo đúng yêu cầu nghiệp vụ
Trang 28Chương 3 Ứng dụng kiến trúc hướng dịch vụ giải quyết vấn đề liên thông và tái sử dụng
3.1 Các giải pháp kiến trúc phần mềm cho xây dựng Chính phủ điện tử trên thế giới
Mỗi quốc gia trên thế giới đã và đang xây dựng hệ thống Chính phủ điện tử cho riêng mình, có thể kể đến giải pháp của Chính phủ liên bang Mỹ, Australia, Hàn Quốc… Xu hướng chung cho các hệ thống Công nghệ thông tin nói chung và Chính phủ điện tử nói riêng ngày nay là hướng tới tích hợp đa nền tảng, hỗ trợ các chuẩn mở, và sẵn sàng cho các thay đổi về sau Từ những giai đoạn ban đầu Chính phủ điện tử chỉ là các hệ thống
hỗ trợ một phần các giao dịch tương tác giữa người dân, doanh nghiệp và chính phủ, thì ngày nay Chính phủ điện tử đang hướng tới môi trường hợp nhất, chuyển đổi từ “quản lý” sang “phục vụ”, hệ thống Công nghệ thông tin ngày một thông minh Như hình 3.1
là tổng kết xu hướng “trưởng thành” của hệ thống Chính phủ điện tử do Gartner cung cấp
Hình 3.1 Xu hướng chính phủ điện tử hiện nay [9]
Chúng ta có thể thấy khái niệm “Smart Government” - Chính phủ thông minh và
“Digital Government” - Chính phủ số hóa, những khái niệm này có được đều dựa trên nền tảng Công nghệ thông tin mạnh mẽ áp dụng cho Chính phủ để tối ưu hóa, chuyển đổi và cho phép Chính phủ tạo ra các dịch vụ hữu ích nhất, tiện lợi nhất đến người dân, doanh nghiệp Để tạo ra được những điều này thì yêu cầu đặt ra chính là xây dựng một
hệ thống các phần mềm Chính phủ điện tử thống nhất, xóa nhòa ranh giới địa lý, vùng miền trong mỗi quốc gia