Quản lý tiến trình, SOA và WebService đƣợc kết hợp thế nào

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, ứng dụng phương pháp kiến trúc và mô hình hóa hướng dịch vụ trong công nghệ phát triển phần mềm (Trang 75 - 78)

Chƣơng 5 SOA VÀ QUẢN LÝ TIẾN TRÌNH NGHIỆP VỤ

5.2.1. Quản lý tiến trình, SOA và WebService đƣợc kết hợp thế nào

Hầu hết các tổ chức đều có nhiều hệ thống “không đồng nhất” , với nhiều loại ứng dụng, và sử dụng nhiều loại công nghệ khác nhau. Việc chia sẻ thông tin giữa các ứng dụng này gặp rất nhiều khó khăn bởi sự khác biệt về công nghệ và các mơ hình dữ liệu, mơ hình đối tượng.

Hình 5-3 – Thực trạng “khơng đồng nhất”của các hệ thống doanh nghiệp.

Khi triển khai SOA với công nghệ web service thì xuất hiện thêm một tầng mới: tầng dịch vụ. Trong Hình 5-4, tầng dịch vụ này bao gồm:

 Các dịch vụ nghiệp vụ tương ứng với các lĩnh vực nghiệp vụ trong thực tế (Nhân sự, Tài chính, Kế hoạch, Thống kê), kèm theo các mơ hình dữ liệu.  Các dịch vụ kỹ thuật với khả năng tái sử dụng để có thể chia sẻ giữa các lĩnh

vực nghiệp vụ.

 Web services platform hỗ trợ cho việc xây dựng và sử dụng các dịch vụ một cách độc lập với tầng ứng dụng và tầng kỹ thuật bên dưới.

Hình 5-4 – Tầng dịch vụ dựa trên mơ hình SOA với cơng nghệ Web Service [8]

Tầng kế tiếp sẽ là tầng tiến trình nghiệp vụ

Hình 5-5 – Tầng tiến trình nghiệp vụ sử dụng tầng dịch vụ [8]

Sự hỗ trợ của tầng dịch vụ cho tầng tiến trình nghiệp vụ như sau:

 Việc liên kết các dịch vụ nghiệp vụ sẽ tương ứng với các tác vụ trong một tiến trình nghiệp vụ.

 Các tiến trình nghiệp vụ sẽ liên kết với các dịch vụ nghiệp vụ thông qua các đặc tả dịch vụ. Như thế, các tiến trình nghiệp vụ sẽ khơng cần quan tâm đến chi tiết của các tầng ứng dụng và tầng kỹ thuật bên dưới.

 Mơ hình bảo mật của tầng dịch vụ cung cấp tính năng “single sign-on” và “điều khiển truy cập thông qua vai trị” để hỗ trợ tầng tiến trình nghiệp vụ khơng cần phải quan tâm đến những cơ chế bảo mật khác nhau mà hai tầng ứng dụng và kỹ thuật ở bên dưới sử dụng.

Trước đây, hầu hết các hệ thống đều không xây dựng tầng dịch vụ dựa trên mơ hình SOA với cơng nghệ web service. Một hệ thống quản lý tiến trình mà khơng có tầng dịch vụ thì rất phức tạp, dễ đổ vỡ. Bởi vì tầng tiến trình nghiệp vụ khi đó cần phải truy cập trực tiếp xuống tầng ứng dụng. Khi đó sự ràng buộc giữa hai lĩnh vực nghiệp vụ và kỹ thuật là quá chặt chẽ.

Hình 5-6 – Các hệ thống BPM khi khơng có tầng services [8]

 Giải pháp này phức tạp bởi vì tầng tiến trình nghiệp vụ phải truy cập trực tiếp xuống tầng ứng dụng thông qua các thành phần giao tiếp định nghĩa bởi các ứng dụng (hàm APIs, thông điệp, các bảng dữ liệu…). Điều này địi hỏi nhóm triển khai tầng tiến trình phải quan tâm đến các thành phần giao tiếp này. Sự ràng buộc này dễ dẫn đến một kết quả không tốt trong trường hợp các thành phần giao tiếp được định nghĩa khơng tốt. Ngồi ra, lúc này tầng tiến trình nghiệp vụ cũng phải quan tâm đến việc chuyển đổi dữ liệu trong khi tương tác với tầng ứng dụng.

 Giải pháp này dễ đổ vỡ bởi vì tầng tiến trình bị ràng buộc quá chặt vào các đặc điểm của ứng dụng và thành phần giao tiếp của ứng dụng. Một ví dụ đơn giản, đó là khi cần phải cài đặt lại một phiên bản mới hơn của ứng dụng hay thay thế bằng các ứng dụng của các hãng khác thì có thể sẽ phá hỏng những liên kết giữa tiến trình và ứng dụng mà đã được xây dựng trước đó.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, ứng dụng phương pháp kiến trúc và mô hình hóa hướng dịch vụ trong công nghệ phát triển phần mềm (Trang 75 - 78)