Một số mô hình triển khai SOA

Một phần của tài liệu Kiến trúc hướng dịch vụ SOA và ứng dụng trong điện toán đám mây (Trang 40 - 45)

CHƯƠNG 2: KIẾN TRÚC HƯỚNG DỊCH VỤ

2.1. Giới thiệu về kiến trúc hướng dịch vụ

2.1.5. Một số mô hình triển khai SOA

Chúng ta sẽ thảo luận về ba mô hình triển khai chính của SOA là: service registy, service broker và service bus.

Service registry: đây là mô hình truyền thống để định vị và liên kết các dịch vụ trong một hệ thống SOA (Hình 2.1.6). Mô hình service registry [7] về cơ bản chỉ cần các chuẩn Web services thông thường là giao thức truy nhập đối tượng đơn giản (SOAP); tích hợp, khám phá và mô tả đa năng (UDDI) và WSDL (Web Services Description Language). Vấn đề lớn nhất của mô hình này là các liên kết dịch vụ là kết nối tĩnh và phải định nghĩa trong thiết kế, điều này làm cho mô hình trở nên cứng nhắc. Có một cách cải tiến làm cho mô hình này linh hoạt hơn là tìm kiếm, định vị các dịch vụ khi chạy. UDDI hỗ trợ nhiều cấu hình khác nhau cho cùng một dịch vụ cung cấp bởi nhiều nhà cung cấp dịch vụ khác nhau. Điều này cho phép chia tải và tăng tính tin cậy bởi vì thƣ mục dịch vụ (service directory) có thể tìm kiếm một dịch vụ nào đó trên tất cả các nhà cung cấp dịch vụ hiện có. Đặc điểm chính của SOA là tách rời phần giao tiếp/gọi dịch vụ với phần thực hiện dịch vụ.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn

Điều này có thể làm bạn liên tưởng đến một công nghệ được đề cập nhiều gần đây:

WebService (dịch vụ web). Dịch vụ web cho phép truy cập thông qua định nghĩa giao thức-và-giao tiếp. SOA và dịch vụ web thoạt trông có vẻ giống nhau nhƣng chúng không phải là một.

Bản thân mô hình SOA là một sự xây dựng bậc cao nhằm tích hợp phần mềm. Nó được dựa trên nền tảng ý tưởng và công nghệ thực hiện trong XML và WS để có thể triển khai thực tế trong môi trường phần mềm. Ngoài ra, để đảm bảo hoạt động một cách hiệu quả, mô hình SOA cũng đòi hỏi sự hỗ trợ từ an toàn bảo mật, quản trị chính sách, thông điệp tin cậy, và các hệ thống thanh toán. Dịch vụ Web hay Web Service (WS) là những dịch vụ hoạt động trên nền World Wide Web hoặc mạng intranet, sử dụng công nghệ đƣợc xây dựng trên nền tảng Web. Những dịch vụ này còn có thể đƣợc coi nhƣ là những hệ thống phần mềm đƣợc thiết kế nhằm hỗ trợ tính tương tác liên thông trên hệ thống mạng. Thành phần cơ bản của dịch vụ Web bao gồm nhóm các chuẩn dựa trên XML, gồm ngôn ngữ định danh dịch vụ Web (Web Services Definition Language – WSDL) có nhiệm vụ cung cấp một cách thức cơ bản để mô tả các thành phần của phần mềm; giao thức truy cập đối tƣợng đơn giản (Simple Object Access Protocol – SOAP) là một giao thức gọn nhẹ cho trao đổi thông tin trong môi trường không tập trung hoặc môi trường phân tán; và chuẩn dịch vụ Tích hợp, Khám phá và Mô tả thống nhất (Universal Description, Discovery, and Integration – UDDI), hoạt động nhƣ một dịch vụ đăng ký và định vị có khả năng xác nhận và phân loại các ứng dụng dịch vụ Web. Dịch vụ Web đƣợc cung cấp trên một hệ thống mạng dử dụng các công nghệ nhƣ XML, WSDL, SOAP, và UDDI. Mô hình SOA cho phép cơ quan, tổ chức tạo ra những thành phần chuẩn dưới hình thức là các dịch vụ Web. Những thành phần này có thể đƣợc truy cập thông qua giao thức chuẩn là SOAP, đồng thời sử dụng giao diện truy cập dựa trên XML là WSDL. Bằng cách này, các dịch vụ SOA có thể sử dụng đƣợc một hệ thống giao tiếp năng động và uyển chuyển hơn rất nhiều các hệ thống cũ như IDL (Interface Definition Language). Dịch vụ Web cung cấp một phương pháp dựa trên các chuẩn nhằm định nghĩa và thực hiện lời gọi các khối dòng lệnh, trong

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn

khi mô hình SOA hướng đến việc chuyển đổi các giá trị Công nghệ thông tin thành tập hợp có thể sử dụng lại đƣợc những thành phần cho phép lắp ghép thành nhiều dịch vụ hướng nghiệp vụ khác nhau nhằm đáp ứng sự thích ứng với thay đổi một cách nhanh chóng và hiệu quả về chi phí. Dịch vụ Web có thể đƣợc coi nhƣ một cách triển khai tốt nhất của mô hình SOA do khả năng cung cấp giao thức và công nghệ phục vụ quản lý hiệu quả dịch vụ trong mô hình SOA. Dịch vụ Web giúp đơn giản và chuẩn hóa cơ chế giao diện và lời gọi dịch vụ. Lưu ý rằng mô hình SOA không phải là một tập hợp các giao thức và không phụ thuộc vào bất cứ ngôn ngữ nào. Thay vì đó mô hình SOA là một bản mô tả cụ thể các thành phần và cách kết hợp chúng, các nhóm chức năng, giao thức và dữ liệu sử dụng giữa các nhóm chức năng. Dịch vụ Web không có khả năng giải quyết các vấn đề liên quan tới đặc điểm tổ chức và quản lý; những khả năng này cần phải thêm vào phương án triển khai để đảm bảo tính thực tế của phát triển mô hình SOA.

Sự khác biệt giữa dịch vụ SOA và dịch vụ Web cũng đƣợc coi nhƣ sự khác nhau giữa hai yếu tố: khái niệm và thực hiện. Xét trên yếu tố khái niệm, mô hình SOA không nhằm định nghĩa một cách chính xác phương thức dịch vụ được đặc tả để có thể tương tác với nhau. Mô hình SOA sẽ chỉ định nghĩa làm thế nào để các dịch vụ có thể „hiểu‟ được nhau và từ đó có thể tương tác được với nhau. Dịch vụ Web xây dựng một tập hợp hướng dẫn về thực hiện thông điệp giữa các dịch vụ (thông thường có thể thấy ở thông điệp SOAP khi được chuyển nhận trên HTTP).

Dịch vụ Web cũng là một phương án để thực hiện mô hình SOA, tuy nhiên nó không phải là phương án duy nhất. Bất kỳ phương án thực hiện nào nếu có khả năng xây dựng giao diện dịch vụ trên nền WSDL và giao tiếp với thông điệp XML đều có thể thực hiện mô hình SOA. Tóm lại, dịch vụ Web là một phương án cụ thể và thực tế phục vụ việc phát triển và triển khai mô hình SOA.

Định nghĩa cơ bản của dịch vụ web dựa trên một nền tảng khác: Tập hợp các công nghệ WSDL, SOAP và UDDI, cho phép xây dựng các giải pháp lập trình cho vấn đề tích hợp ứng dụng và truyền thông điệp. Theo thời gian, các công nghệ này

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn

có thể hoàn thiện hay có thể đƣợc thay bằng công nghệ khác tốt hơn, hiệu quả hơn hay ổn định hơn.

Rõ ràng, theo định nghĩa thì dịch vụ web là đặc tả công nghệ còn SOA là triết lý thiết kế phần mềm. Dịch vụ web đƣa ra giải pháp kỹ thuật để thực hiện SOA, nhƣng SOA cũng có thể thực hiện với các giải pháp kỹ thuật khác không phải dịch vụ web (và không phải tất cả dịch vụ web đều có kiến trúc SOA). Tuy vậy, SOA và dịch vụ web có mối quan hệ tương hỗ: sự phổ biến của dịch vụ web giúp thúc đẩy sự phát triển của SOA, và kiến trúc tốt của SOA sẽ giúp dịch vụ web thành công.

Service broker: Một bộ trung gian làm việc giữa dịch vụ cung cấp và dịch vụ tiêu thụ. Trong mô hình cơ bản, tất cả những thông điệp đều đƣợc trung chuyển qua service broker. Dịch vụ này có thể làm nhiều chức năng nhƣ định tuyến dựa trên dữ liệu thông điệp, xử lý lỗi, chuyển đổi thông điệp, chia tải và lọc thông tin. Nó cũng có thể cung cấp dịch vụ bảo mật, chuyển đổi giao thức, lưu vết và các dịch vụ hữu ích khác. Tuy nhiên, service broker là nơi có thể xảy ra hiện tƣợng nghẽn cổ chai và là điểm dễ bị hỏng hóc. Mô hình broker phân tán là một bước cải tiến mới, ở đó mỗi nền tảng dịch vụ có một broker cục bộ cho phép giao tiếp với một service broker trung tâm và giao tiếp trực tiếp với các service broker cùng cấp ở các nền tảng dịch vụ khác.

Hình 2.1.6 Mô hình service registry

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn

Service bus: đây là mô hình ra đời sau nhất trong 3 mô hình nhƣng nó đã đƣợc sử dụng trong các sản phẩm thương mại quy mô lớn (như IBM, BEA). Service bus cũng là mô hình có tính kết nối lỏng nhất trong các mô hình, trong đó các dịch vụ không kết nối trực tiếp với nhau. Đôi khi các service bus kết nối với nhau thành một mạng các service bus.

Hình 2.1.7 Mô hình service broker

Hình 2.1.8 Mô hình service bus

Hình 2.1.9 Mô hình service bus phân tán

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn

Một phần của tài liệu Kiến trúc hướng dịch vụ SOA và ứng dụng trong điện toán đám mây (Trang 40 - 45)

Tải bản đầy đủ (PDF)

(82 trang)