Chƣơng 4 SOA VÀ VẤN ĐỀ TÍCH HỢP
4.3.2.1. Tích hợp dịch vụ Web (Web services integration-WSI)
Một dự án WSI thường được xây dựng chỉ để giải quyết vấn đề trao đổi dữ liệu giữa một số lượng nhỏ các hệ thống (hai hay bốn).
Đầu tiên nhóm phát triển sẽ định nghĩa những thơng điệp SOAP căn cứ theo những cơ sở sau:
- Dữ liệu cần trao đổi giữa các hệ thống
- Các định dạng thông điệp mà các hệ thống hiện hành có thể hiểu và làm việc trên đó.
- Khả năng truy cập vào các dữ liệu này trong hệ thống thông qua tập các phương thức hay hàm APIs mà các hệ thống này hỗ trợ.
Tiếp theo, nhóm sẽ định nghĩa các thông tin mô tả service, bao gồm thông tin về cách thức giao tiếp, tập các phương thức, và các mẫu trao đổi thông điệp sao cho đáp ứng được các yêu cầu của dự án (hiện tại). Bên cạnh đó, các vấn đề liên quan đến chất lượng dịch vụ như là bảo mật, an toàn đường truyền, quản lý giao tác, khả năng xử lý lỗi… sẽ được xử lý sau (xem như phần mở rộng, cần đến đâu thì thực hiện đến đó.)
Một vài ưu điểm của giải pháp WSI:
Thời gian triển khai nhanh, đặc biệt khi số lượng các hệ thống khơng nhiều. Chi phí đầu tư thấp
Một số hạn chế của giải pháp này:
Không quan tâm, đầu tư nhiều cho việc xây dựng các mơ hình xử lý về dữ liệu, dịch vụ… nhằm mục đích có thể tái sử dụng trong các dự án sau.
Các hệ thống gửi thông điệp SOAP một cách trực tiếp thông qua tầng vận chuyển hay dùng các APIs của các middleware. Điều này sẽ gây khó khăn khi có nhu cầu chuyển đổi sang một tầng vận chuyển hay một sản phẩm middleware khác.
Vấn đề bảo mật chỉ được giải quyết không triệt để, nghĩa là không đưa ra một kiến trúc hồn chỉnh để có thể dùng chung cho nhiều dự án. Vì thế sẽ gặp nhiều khó khăn sau này khi cần thực hiện liên kết, phối hợp hoạt động giữa các hệ thống.
Hình 4-7 – Web services integration (WSI) [9]
4.3.2.2. Tích hợp hướng dịch vụ (Service-oriented integration-SOI)
SOI là giải pháp tích hợp sử dụng web service với những nguyên tắc thiết kế của kiến trúc hướng dịch vụ (SOA). SOI là giải pháp có tính chất chiến lược và thích hợp cho các dự án mà có quan tâm đến lợi ích lâu dài.
SOI bắt đầu bởi giai đoạn “khởi tạo”
Xây dựng một nền tảng cho kiến trúc hướng dịch vụ (SOA), các qui trình, nguyên tắc xử lý, mơ hình và cơng cụ hỗ trợ.
Xác định mơ hình về tập các dịch vụ sẽ được sử dụng. Các mơ hình này khơng cần phải thật tồn diện, chỉ cần xác định rõ ràng thông tin về kiểu dữ liệu, thông tin về dịch vụ, và các qui trình cần chia sẻ với các hệ thống khác. Thực hiện liệt kê và phân lọai toàn bộ các dịch vụ được dùng trong các dự án
Hình 4-8 – Service-oriented integration (SOI) [9] Một dự án SOI sẽ thực hiện các công việc sau:
Tinh chế lại các mơ hình dữ liệu của các hệ thống sao cho phù hợp với dự án hiện tại.
Xây dựng các đặc tả dịch vụ dựa trên những gì có trong phần thơng tin mơ tả của dịch vụ, bao gồm nguyên tắc xử lý, yêu cầu về bảo mật, yêu cầu về quản lý…
Xây dựng các đối tượng bao bọc các hệ thống cũ dựa trên các đặc tả dịch vụ (thực hiện đóng gói lại thành phần xử lý bên trong của các hệ thống này). Xây dựng các dịch vụ cần thiết cho dự án.
Xây dựng các bộ chuyển đổi dữ liệu nhằm thực hiện chuyển đổi dữ liệu giữa các mơ hình dữ liệu khác nhau của các hệ thống.
Xây dựng môi trường thực thi cho web service nhằm hỗ trợ những tính năng mở rộng như quản lý giao tác, đảm bảo an tồn thơng điệp truyền, khả năng xử lý lỗi…
Các ưu điểm của giải pháp SOI:
Giảm sự lệ thuộc vào một hãng, hay một middleware nào đó thơng qua việc xây dựng được một tầng trừu tượng dựa trên các chuẩn của web service. Thừa hưởng được những lợi ích của web service như bảo mật, an toàn đường
truyền, quản lý giao tác, xử lý lỗi..
Hình thành được một kiến trúc bảo mật có khả năng mở rộng để đáp ứng được yêu cầu liên kết giữa các hệ thống, tổ chức. (hỗ trợ việc triển khai single-signon, …)
Một số giới hạn của giải pháp này:
Địi hỏi chi phí ban đầu lớn Thời gian triển khai ban đầu lớn
Nhóm phát triển địi hỏi phải có kỹ năng và trình độ về kiến trúc hệ thống. Địi hỏi sự hỗ trợ của các nhà quản lý nghiệp vụ và quản lý kỹ thuật.