Trục tích hợp ESB trong xây dựng Chính phủ điện tử
Có thể nói khái niệm “Chính phủ điện tử” ở Việt Nam hiện đã không còn xa lạ. Tuy nhiên, việc xây dựng, vận hành, và phát triển “Chính phủ điện tử” ở Việt Nam vẫn đang đặt ra nhiều thách thức. Các thách thức đó đến từ nhiều phía, đó là vấn đề về chính sách
Bài viết này tác giả sẽ tập trung vào thách thức về mặt công nghệ, cụ thể hơn đó là việc tích hợp, chia sẻ, liên thông giữa các hệ thống khác nhau và giải pháp cho thách thức này.
Trong xây dựng Chính phủ điện tử, nhu cầu kết nối, chia sẻ thông tin giữa các hệ thống khác nhau tại các Sở, ban, nghành là rất lớn. Với quy mô cũng như yêu cầu về tính ổn định, đồng bộ của Chính phủ điện tử, sự chia sẻ, kết nối đó không thể thực hiện theo mô hình tương tác trực tiếp point-to-point (điểm – đến – điểm). Thêm vào đó, nhu cầu về việc quản lý tập trung các dịch vụ trong chính phủ điện tử gồm nhiều các hệ thống khác nhau với đa giao thức, đa nền tảng là một vấn đề cốt lõi trong xây dựng chính phủ điện tử. Nhu cầu về tính mở nhưng lại có sự gắn kết chặt chẽ về mặt quy trình trong tích hợp các hệ thống khác nhau trong chính phủ điện tử, nhu cầu về tái sử dụng các hệ thống có sẵn cũng là các vấn đề lớn được đặt ra [1].
Với những vấn đề trên thì mô hình kiến trúc hướng dịch vụ SOA (Service Oriented Architecture) có lẽ là mô hình phù hợp nhất để áp dụng trong phát triển Chính phủ điện tử ở Việt Nam.
SOA là tập hợp các dịch vụ kết nối linh hoạt với nhau, các giao tiếp được định nghĩa rõ ràng và độc lập với nền tảng hệ thống và có thể tái sử dụ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, trong đó, sự tương tác giữa các thành phần trong SOA không quan tâm đến việc thành phần ấy phát triển trên nền tảng nào.
Một thành phần hết sức quan trọng trong kiến trúc dịch vụ SOA hiện đại đó là trục tích hợp ESB (Enterprise service bus), trục tích hợp ESB cho phép các tương tác giữa các bên cung cấp dịch vụ (Provider) và bên yêu cầu dịch vụ (Consumer). Cụ thể hơn là ESB hỗ trợ khả năng xây dựng nghiệp vụ mới dựa vào việc xây dựng quy trình nghiệp vụ dựa trên những dịch vụ có sẵn đã được tích hợp vào ESB.
.
1. Giới thiệu về ESB
Có thể nói ESB là một sự phát triển của mô hình điện toán phân tán (Distributed computing). Tại đó, hệ thống phân tán (distributed system) là hệ thống phần mềm mà các thành phần cấu tạo nên nó nằm ở trên các máy tính khác nhau được kết nối thành mạng lưới. Các máy tính này phối hợp hoạt động với nhau để hoàn thành một nhiệm vụ chung bằng cách trao đổi qua lại các thông điệp (message).[2, 3]
Với sự có mặt của ESB trong kiến trúc hướng dịch vụ SOA, các bên tham gia không tương tác trực tiếp với nhau mà chúng tương tác thông qua sự điều phối của ESB.
Tại Hình 1, có thể thấy rằng, thay vì tương tác trực tiếp, các bên tham gia vào một tương tác dịch vụ sẽ giao tiếp thông qua một kênh (bus); kênh này cung cấp các đặc tính công nghệ ảo hóa và quản lí để triển khai thực hiện và mở rộng định nghĩa cốt lõi của SOA.
1.1 Các ưu điểm chính của ESB :
Sự linh hoạt của ESB có được là nhờ những khả năng sau:
Cung cấp khả năng gọi dich vụ đồng bộ và không đồng bộ: Các dịch vụ có thể được triển khai bởi hàng loạt các công nghệ khác nhau (Enterprise Edition (J2EE) Enterprise JavaBeans (EJB), các lớp Java, IBM DB2® Queries, Java Message Services (JMS) hoặc Microsoft® .NET,…). Bên yêu cầu dịch vụ gửi đi các yêu cầu tới bên cung cấp dịch vụ mình mong muốn, không quan tâm đến việc triển khai thực hiện dịch vụ. ESB cung cấp kết nối giữa các bên cung cấp dịch vụ và bên yêu cầu dịch vụ, tạo điều kiện thuận lợi cho sự tương tác của chúng ngay cả khi chúng không ăn khớp chính xác.
Xử lý và chuyển đổi thông tin hoặc làm giàu thêm thông tin: Các thông tin sau khi được xử lý bởi các dịch vụ có thể được chính ESB bổ sung hoặc điều chỉnh, thêm hoặc bớt bởi các thành phần điều phối hòa giải (Mediation) có trong ESB, hoặc từ việc truy vấn cơ sở dữ liệu.
Định tuyến tĩnh hoặc động, phân phối các thông điệp: Các bên tham gia khai báo các yêu cầu của mình, trong đó có thể bao gồm hiệu năng và độ tin cậy, mã hóa, giải mã các nội dung thông báo,.... ESB sẽ gửi đến các nhà cung cấp dịch vụ các yêu cầu cần thiết về chức năng và chất lượng dịch vụ. Các bên cung cấp nhận được yêu cầu và sẽ đáp ứng yêu cầu đó mà không cần biết nguồn gốc của thông báo, việc phân phối các yêu cầu và các trả lời yêu cầu được thực hiện bởi ESB.
Theo dõi, kiểm soát thông điệp: Theo dõi các thông điệp khi chúng đi. Thông qua đó, người quản trị có thể áp dụng các chính sách đối với các giao dịch, đồng nghĩa rằng có thể ghi nhật ký các thông điệp, phục vụ kiểm định hoặc khai phá dữ liệu sau này.
Thiết lập các luồng thông điệp hoặc sự kiện mới: Từ các thông điệp, sự kiện, có thể thiết lập các sự kiện khác phức tạp hơn.
Hỗ trợ nhiều loại hình tương tác: Thường các ESB hỗ trợ nhiều loại tương tác như: yêu cầu /đáp ứng (Request/response), một yêu cầu/nhiều đáp ứng (Request/multi-response), lan truyền sự kiện (Event propagation),…
1.2 Các thành phần cơ bản của ESB
Hình 2 giới thiệu mẫu ESB cơ bản. Tại đó, các thông báo đi qua một kênh liên kết nhiều bên tham gia giao tiếp. Một số bên tham gia gọi các dịch vụ được cung cấp bởi những bên khác; những bên tham gia khác công bố thông tin cho những bên tiêu thụ quan tâm. Nơi mà ở đó một điểm đầu cuối tương tác với ESB được gọi là các Điểm Tương tác Dịch vụ.
Một điểm tương tác dịch vụ có thể là một điểm đầu cuối dịch vụ web, một hàng đợi, một đối tượng đầu xa RMI trong lập trình phân tán. Muốn quản lý được các giao dịch này, bản thân trong ESB phải có một danh sách các dịch vụ được đăng ký, trong đó có siêu dữ liệu mô tả các yêu cầu, khả năng, chất lượng,.. của các điểm tương tác dịch vụ, ở đó có thể là giao diện mà chúng cung cấp hoặc yêu cầu, cách tương tác đồng bộ hay không đồng bộ, giao thức tương tác (HTTP, HTTPS, JMS,..), các yêu câu về chất lượng dịch vụ có thể là độ tin cậy, độ an toàn,...
Sự có mặt của ESB vào giữa các bên tham gia tạo ra khả năng điều biến tương tác giữa chúng thông qua các đối tượng logic được gọi là các thành phần hòa giải (Mediation). Tích hợp khả năng hòa giải của ESB cung cấp chức năng để phù hợp với giao thức không tương thích, định dạng dữ liệu và các mẫu tương tác với các tài nguyên khác nhau. Các thành phần hòa giải giúp giải quyết các bất ổn trong logic nghiệp vụ. Đối với các tương tác phức tạp, các thành phần hòa giải có thể móc nối theo tuần tự [4].
Trong các ESB có thể có nhiều loại Mediations, ví dụ như, Message Mediation, Service Mediation, Priority Mediation,... Trong đó Message Mediation là một thành phần cơ bản của các ESB. Việc hòa giải được thực hiện thông qua các Mediators. Ở hình 3 mô tả một mẫu xứ lý hòa giải Message Mediation, trong đó, các Mediators có thể can thiệp sâu vào các thành phần của ESB và Message đang trên đường truyền trong ESB.
2. Tóm tắt
Có thể nói nằng, sự có mặt ESB cung cấp một cách tiếp cận linh hoạt và dễ quản lý để triển khai thực hiện SOA. Đó là một thành phần dược chèn trong suốt giữa các điểm đầu cuối. ESB nâng cao chất lượng dịch vụ; tạo điều kiện thuận lợi cho các tương tác giữa các bên tham gia. Với những khả năng mạnh mẽ của ESB mang lại, việc áp dụng ESB trong xây dựng chính phủ điện tử là việc gần như không thể thiếu trong giai đoạn hiện nay.
-Bộ phận Hinet R&D-