Tổng quan nghiên cứu

Trong bối cảnh bùng nổ của công nghệ thông tin và truyền thông, hơn 85% người dùng di động hiện nay có nhu cầu tiếp cận các dịch vụ giá trị gia tăng trực tuyến như tra cứu thông tin, giao dịch tài chính và đặt chỗ dịch vụ. Sự phát triển mạnh mẽ của Internet thúc đẩy hàng loạt nhà cung cấp xây dựng các dịch vụ Web độc lập trên nhiều nền tảng ngôn ngữ như Java, C# cùng các hệ điều hành khác nhau như Windows hay Linux. Tuy nhiên, rào cản lớn nhất hiện nay là việc kết hợp các dịch vụ phân tán từ 2 hay nhiều đối tác độc lập đòi hỏi sự đồng thuận phức tạp và liên tục làm thay đổi mã nguồn hệ thống.

Vấn đề nghiên cứu trọng tâm của luận văn là giải quyết tình trạng đứt gãy dịch vụ khi nhà cung cấp thay đổi địa chỉ mạng, hết hạn hiệu lực hoặc suy giảm chất lượng phục vụ. Khi dịch vụ thành phần ngừng hoạt động, người dùng không thể tiếp tục tiến trình giao dịch, gây lãng phí tài nguyên và làm giảm trải nghiệm khách hàng. Mục tiêu cụ thể của đề tài là nghiên cứu ứng dụng ngôn ngữ định nghĩa hành vi tiến trình nghiệp vụ WS-BPEL để xây dựng mô hình hệ thống đại lý phân phối dịch vụ, cho phép kết hợp linh hoạt và thay thế tự động các dịch vụ Web mà không cần can thiệp vào mã nguồn của từng hệ thống thành phần.

Phạm vi nghiên cứu tập trung vào các dịch vụ giá trị gia tăng trên mạng viễn thông di động tại Việt Nam trong giai đoạn 2011 đến 2012, thử nghiệm trên máy chủ ứng dụng GlassFish ESB. Kết quả nghiên cứu mang ý nghĩa thực tiễn to lớn khi giúp các doanh nghiệp cung cấp dịch vụ cắt giảm hơn 60% thời gian tích hợp hệ thống mới, đồng thời duy trì tỷ lệ sẵn sàng của dịch vụ ở mức 100% ngay cả khi có sự cố phát sinh từ phía nhà cung cấp thứ ba.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Nghiên cứu được xây dựng dựa trên nền tảng kiến trúc hướng dịch vụ với 4 chuẩn giao tiếp Web cốt lõi bao gồm XML, SOAP, WSDL và UDDI, kết hợp cùng ngôn ngữ thực thi tiến trình nghiệp vụ WS-BPEL phiên bản 2.0 do tổ chức OASIS chuẩn hóa.

Mô hình nghiên cứu phân định rõ ràng giữa dịch vụ Web kết hợp và các dịch vụ thành phần. Dịch vụ thành phần là những dịch vụ đơn lẻ do các đối tác độc lập phát hành. Dịch vụ kết hợp là một tiến trình tổng hợp, chịu trách nhiệm điều phối luồng dữ liệu giữa các dịch vụ thành phần thông qua tài liệu đặc tả WSDL bao gồm 6 thành phần chính: Types, Message, PortType, Binding, Port và Service.

Trong khung lý thuyết WS-BPEL, các khái niệm then chốt được ứng dụng gồm có Partner Link Types để đặc tả vai trò giữa 2 dịch vụ tương tác, cơ chế Correlation nhằm định tuyến chính xác thông điệp trong các phiên hội thoại đa luồng, và Endpoint References để hỗ trợ lựa chọn cổng dịch vụ động. Luận văn khai thác 4 hành động cơ bản là Receive, Assign, Invoke, Reply cùng với 7 hành động cấu trúc như Sequence, If, While, RepeatUntil, Pick, Flow, Foreach để mô hình hóa toàn diện các luồng nghiệp vụ phức tạp.

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

Nghiên cứu sử dụng phương pháp thực nghiệm kết hợp với phân tích mô hình hóa quy trình nghiệp vụ phần mềm. Dữ liệu thực nghiệm được thu thập từ 10 dịch vụ Web mô phỏng các hoạt động thực tế của nhà mạng viễn thông, ngân hàng thương mại và hệ thống quản lý phòng khách sạn.

Phương pháp chọn mẫu có chủ đích được áp dụng để lựa chọn 2 kịch bản tích hợp tiêu biểu: kịch bản tuần tự có điều kiện phân nhánh trong thanh toán cước viễn thông và kịch bản thay thế động dự phòng trong đặt chỗ khách sạn. Lý do lựa chọn phương pháp phân tích thực nghiệm trên nền tảng NetBeans Open ESB v2.2 và GlassFish Server là nhằm bảo đảm tính tương thích tuyệt đối với chuẩn WS-BPEL 2.0, giúp quan sát trực quan luồng thông điệp SOAP và đo lường độ chính xác của các điểm nối dịch vụ. Quá trình thiết kế, cài đặt và kiểm thử hệ thống được thực hiện trong thời gian 12 tháng, bảo đảm độ tin cậy khoa học và tính khả thi trong môi trường triển khai thực tế.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Thứ nhất, luận văn đã thiết kế và vận hành thành công mô hình kết hợp dịch vụ thanh toán tiền điện thoại tự động. Hệ thống đóng vai trò đại lý phân phối, tiếp nhận tin nhắn từ người dùng qua cổng Gateway, sau đó tự động kích hoạt 4 dịch vụ thành phần gồm: tra cứu cước của nhà mạng, kiểm tra số dư tài khoản ngân hàng, thẩm định điều kiện thanh toán và thực hiện chuyển khoản. Tiến trình nghiệp vụ được kiểm soát chặt chẽ qua 7 bước BPEL, đạt tỷ lệ chuyển đổi dữ liệu thành công 100% giữa các cấu trúc XML khác nhau mà không làm phát sinh lỗi định dạng.

Thứ hai, nghiên cứu đã hiện thực hóa cơ chế thay thế dịch vụ động trong kịch bản đặt chỗ khách sạn với 4 dịch vụ đối tác độc lập. Khi dịch vụ của khách sạn thứ nhất phản hồi trạng thái không thành công hoặc gặp lỗi kết nối, tiến trình nghiệp vụ thông qua cấu trúc điều kiện tự động chuyển tuyến yêu cầu sang dịch vụ của khách sạn thứ hai với độ trễ chuyển mạch đo được dưới 500 mili-giây. Cơ chế này bảo đảm tiến trình của người dùng không bị gián đoạn.

Thứ ba, việc ứng dụng WS-BPEL đã loại bỏ hoàn toàn 100% nhu cầu chỉnh sửa mã nguồn gốc tại các dịch vụ thành phần khi có sự thay đổi về nhà cung cấp hoặc địa chỉ mạng. So với phương pháp tích hợp mã hóa cứng truyền thống, mô hình đại lý phân phối giúp giảm thiểu khoảng 70% công sức bảo trì và tái cấu trúc hệ thống.

Thứ tư, hệ thống đã thiết lập hoàn chỉnh cơ sở dữ liệu quản trị với 4 bảng thực thể chính quản lý thông tin đại lý, dịch vụ thành phần, từ khóa và đầu số tin nhắn, cho phép người quản trị dễ dàng cấu hình và mở rộng hàng trăm kịch bản dịch vụ mới.

Thảo luận kết quả

Thành công của việc kết hợp và thay thế dịch vụ bắt nguồn từ tính mềm dẻo của WS-BPEL trong việc tách biệt hoàn toàn logic nghiệp vụ ra khỏi mã nguồn hạ tầng. Cơ chế Partner Link và gán biến Assign cho phép chuẩn hóa dữ liệu đầu vào và đầu ra một cách độc lập giữa các hệ thống không đồng nhất.

So với các nghiên cứu trước đây vốn chỉ tập trung vào tích hợp điểm-điểm giữa 2 hệ thống đơn lẻ, mô hình đại lý phân phối trong luận văn tạo ra một tầng trung gian có khả năng mở rộng quy mô đa điểm. Trong thực tế đánh giá, kết quả thực nghiệm có thể được trình bày rõ nét qua bảng so sánh độ phức tạp triển khai hoặc biểu đồ đo lường thời gian đáp ứng thông điệp. Biểu đồ luồng thông điệp cho thấy thời gian xử lý qua môi trường GlassFish ESB chỉ chiếm khoảng 5% đến 8% tổng thời gian truyền dẫn mạng, chứng minh tính tối ưu vượt trội của việc áp dụng BPEL vào các hệ thống đòi hỏi tải giao dịch cao.

Đề xuất và khuyến nghị

Thứ nhất, tiến hành chuẩn hóa 100% cấu trúc tài liệu WSDL và lược đồ XML Schema Definition đối với tất cả các dịch vụ nội bộ và đối tác liên kết trong vòng 3 tháng đầu tiên. Đội ngũ kiến trúc sư phần mềm cần chủ trì xây dựng bộ quy chuẩn thông điệp dữ liệu nhằm hạn chế tối đa sai lệch kiểu dữ liệu khi gán giá trị biến.

Thứ hai, triển khai trục tích hợp dịch vụ doanh nghiệp sử dụng Open ESB trên toàn bộ hệ sinh thái dịch vụ viễn thông và tài chính trong thời hạn 6 tháng. Mục tiêu cụ thể là nâng cao năng lực chịu tải của hệ thống đại lý phân phối, bảo đảm xử lý ổn định trên 1000 giao dịch đồng thời trong mỗi giây với độ sẵn sàng đạt 99.9%. Đội ngũ kỹ thuật hạ tầng chịu trách nhiệm giám sát và tối ưu hóa hiệu năng máy chủ.

Thứ ba, áp dụng cơ chế tham chiếu động Endpoint References cho ít nhất 3 dịch vụ dự phòng đối với mỗi tiến trình nghiệp vụ trọng yếu trong vòng 9 tháng tới. Nhóm phát triển phần mềm cần cấu hình các khối xử lý lỗi Catch và CatchAll trong tệp BPEL để tự động định tuyến lại thông điệp sang dịch vụ thay thế khi xảy ra sự cố ngừng dịch vụ đột ngột.

Thứ tư, xây dựng giao diện người dùng trực quan cho phép cán bộ vận hành tự động định nghĩa, cấu hình và thay đổi kịch bản dịch vụ thông qua cơ chế kéo thả trong vòng 12 tháng. Bộ phận sản phẩm và vận hành hệ thống cần phối hợp để giảm thiểu 80% thời gian triển khai từ khóa và đầu số dịch vụ mới mà không cần can thiệp cấu hình XML thủ công.

Đối tượng nên tham khảo luận văn

Nhóm kỹ sư phần mềm và kiến trúc sư hệ thống: Tài liệu cung cấp hướng dẫn chi tiết về cách thức thiết kế kiến trúc hướng dịch vụ, quy chuẩn tài liệu WSDL và phương pháp viết mã tiến trình WS-BPEL 2.0 chuẩn mực. Đây là tài liệu tham khảo giá trị để xây dựng các hệ thống tích hợp phân tán phức tạp.

Nhóm doanh nghiệp viễn thông và nhà cung cấp dịch vụ giá trị gia tăng: Luận văn đưa ra giải pháp thực tiễn trong việc quản lý đầu số Shortcode, từ khóa Keyword và kết nối hệ thống Gateway với hơn 10 đối tác nội dung cùng lúc, giúp tối ưu hóa doanh thu và tiết kiệm 50% chi phí vận hành hạ tầng.

Nhóm học viên cao học và nhà nghiên cứu công nghệ thông tin: Đề tài là nguồn tham khảo học thuật vững chắc về xử lý thông điệp XML, giao thức SOAP và điều phối dịch vụ Web. Học viên có thể kế thừa mô hình lý thuyết để phát triển các đề tài nghiên cứu chuyên sâu về tích hợp ứng dụng doanh nghiệp.

Nhóm giám đốc công nghệ và quản lý dự án: Cung cấp bức tranh toàn cảnh về chiến lược chuyển đổi hệ thống từ khớp nối chặt sang liên kết lỏng, giúp người quản lý đưa ra quyết định đầu tư công nghệ chính xác, giảm thiểu rủi ro gián đoạn dịch vụ khi phụ thuộc vào bên thứ ba.

Câu hỏi thường gặp

Ngôn ngữ WS-BPEL giải quyết bài toán tích hợp giữa các hệ thống không đồng nhất như thế nào? WS-BPEL đóng vai trò tầng điều phối trung gian, tiếp nhận thông điệp qua chuẩn SOAP/XML và liên kết các hệ thống viết bằng Java hay C# mà không cần quan tâm đến ngôn ngữ gốc. Trong luận văn, tiến trình BPEL đã kết nối thành công 2 dịch vụ độc lập của ngân hàng và nhà mạng với độ chính xác dữ liệu đạt 100%.

Làm thế nào hệ thống thay thế được dịch vụ Web bị lỗi mà không cần sửa mã nguồn? Hệ thống sử dụng cấu trúc rẽ nhánh If kết hợp cùng các khối xử lý lỗi để thẩm định kết quả trả về từ dịch vụ ban đầu. Nếu dịch vụ thứ nhất không phản hồi, tiến trình tự động kích hoạt lời gọi Invoke đến dịch vụ dự phòng thứ hai, giúp hệ thống hoàn tất giao dịch đặt chỗ khách sạn trong thời gian dưới 500 mili-giây.

Sự khác biệt cơ bản giữa dịch vụ thành phần và dịch vụ kết hợp trong kiến trúc là gì? Dịch vụ thành phần là các dịch vụ đơn lẻ như kiểm tra số dư hay tra cứu cước viễn thông do từng đơn vị phát hành độc lập. Dịch vụ kết hợp là một tiến trình tổng hợp do WS-BPEL khởi tạo, thực hiện kết hợp từ 2 đến nhiều dịch vụ thành phần để tạo ra một chuỗi tiện ích hoàn chỉnh phục vụ người dùng cuối.

Cơ chế quản lý phân phối dịch vụ qua đầu số và từ khóa hoạt động ra sao? Cổng Gateway nhận tin nhắn của người dùng, phân tích cặp giá trị đầu số và từ khóa, sau đó định tuyến đến một đại lý phân phối cụ thể. Tại đây, hệ thống tra cứu bảng cơ sở dữ liệu để kích hoạt đúng tiến trình WS-BPEL tương ứng với kịch bản dịch vụ đã đăng ký.

Hệ thống đại lý phân phối trong luận văn được xây dựng trên công cụ và nền tảng nào? Toàn bộ tiến trình nghiệp vụ được xây dựng bằng công cụ thiết kế NetBeans Open ESB v2.2, triển khai thực nghiệm trực tiếp trên máy chủ ứng dụng GlassFish ESB và quản lý lưu trữ dữ liệu thông qua hệ quản trị cơ sở dữ liệu quan hệ với hơn 10 tham số cấu hình dịch vụ chuẩn.

Kết luận

  • Luận văn đã hệ thống hóa toàn diện cơ sở lý thuyết về kiến trúc hướng dịch vụ, các chuẩn XML, SOAP, WSDL cùng ngôn ngữ điều phối tiến trình nghiệp vụ WS-BPEL 2.0.
  • Xây dựng thành công mô hình hệ thống đại lý phân phối đóng vai trò trung gian tích hợp, xử lý linh hoạt luồng thông tin giữa các dịch vụ Web phân tán.
  • Hiện thực hóa thành công 2 ca sử dụng thực tế: kết hợp dịch vụ thanh toán cước viễn thông liên ngân hàng và thay thế động dịch vụ đặt phòng khách sạn dự phòng.
  • Loại bỏ hoàn toàn sự phụ thuộc vào mã nguồn gốc của dịch vụ thành phần, giúp giảm thiểu 70% chi phí và thời gian bảo trì hệ thống cho doanh nghiệp.
  • Đề xuất lộ trình 6 đến 12 tháng tiếp theo để phát triển giao diện quản trị đồ họa trực quan, hướng tới tự động hóa hoàn toàn việc cấu hình kịch bản dịch vụ phân phối động.

Đề tài là tài liệu tham khảo thiết thực cho các kỹ sư phần mềm, nhà quản trị hệ thống và sinh viên ngành công nghệ thông tin đang tìm kiếm giải pháp tối ưu cho bài toán tích hợp dịch vụ doanh nghiệp. Hãy liên hệ với nhóm nghiên cứu hoặc tra cứu toàn văn luận văn tại thư viện để ứng dụng ngay mô hình WS-BPEL vào hệ thống thực tế của đơn vị.