Các tính chất của một hệ thống SOA

Một phần của tài liệu Nghiên cứu và xây dựng một mô hình trung tâm chăm sóc sức khỏe thông minh (Trang 70 - 72)

a. Loose coupling

Mọi kiến trúc phần mềm đều hƣớng đến liên kết lỏng giữa các module. Mức độ kết dính của mỗi hệ thống ảnh hƣởng trực tiếp đến khả năng chỉnh sửa và mở rộng của chính nó. Kết dính càng chặt bao nhiều thì càng có nhiều thay đổi liên quan cần chỉnh sửa ở phía sử dụng dịch vụ mỗi khi có sự thay đổi nào đó xảy ra.

SOA hỗ trợ liên kết lỏng thông qua việc sử dụng hợp đồng và liên kết (contract and binding). Một ngƣời sử dụng truy vấn đến nơi lƣu trữ và cung cấp thông tin dịch vụ (registry) để lấy thông tin về loại dịch vụ cần sử dụng. Registry sẽ trả về tất cả các dịch vụ thỏa tiêu chuẩn tìm kiếm. Ngƣời dùng chỉ cần chọn dịch vụ mà mình cần, và thực thi phƣơng thức trên đó theo mô tả dịch vụ nhận đƣợc từ registry. Bên sử dụng dịc h vụ không cần phụ thuộc trực tiếp vào cài đặt của dịch vụ mà chỉ dựa trên hợp đồng mà dịch vụ đó hỗ trợ.

b.Sử dụng lại dịch vụ

Bởi vì các dịch vụ đƣợc cung cấp lên trên mạng và đƣợc đăng ký ở một nơi nhất định nên chúng dễ dàng đƣợc tìm thấy và tái sử dụng. Nếu một dịch vụkhông có khảnăng tái sử dụng, nó cũng không cần đến interface mô tả. Các dịch vụcó thể đƣợc tái sử dụng lại bằng cách kết hợp lại với nhau theo nhiều mục đích khác nhau. Tái sử dụng lại các dịch vụcòn giúp loại b ỏnhững thành phần trùng lắp và tăng độvững chắc trong cài đặt, nó còn giúp đơn giản hoá việc quản trị. Thực ra tái sử dụng dịch vụ lại dễ dàng hơn tái sử dụng thành tố hay lớp. Những dịch vụ đƣợc dùng chung bởi tất cả các ứng dụng của một hệ thống SOA gọi là những shared infrastructure service.

62

c. Sử dụng dịch vụ bất đồng bộ

Trong phƣơng thức triệu gọi dịch vụ bất đồng bộ, bên gọi gửi một thông điệp với đầy đủ thông tin ngữ cảnh tới bên nhận. Bên nhận xử lý thông tin và trả kết quả về thông qua một “kênh thông điệp”, bên gọi không phải chờ cho đến khi thông điệp đƣợc xử lý xong. Khi sử dụng kết hợp thông điệp dạng coarse-grained với một dịch vụ chuyển thông điệp, các yêu cầu dịch vụcó thể đƣợc đƣa vào hàng đợi và xử lý với tốc độ tối ƣu. Do bên gọi không phải chờ cho đến khi yêu cầu đƣợc xử lý xong và trả về nên không bị ảnh hƣởng bởi việc xử lý trễ và lỗi khi thực thi các dịch vụ bất đồng bộ. Trên lý thuyết một hệ thống SOA có thể hỗ trợ gửi và nhận cả thông điệp đồng bộ và bất đồng bộ.

d. Quản lý các chính sách

Khi sử dụng các dịch vục hia sẻ trên mạng, tùy theo mỗi ứng dụng sẽ có một luật kết hợp riêng gọi là các policy. Các policy cần đƣợc quản lý các áp dụng cho mỗi dịch vụ cả khi thiết kế lẫn khi trong thời gian thực thi. Việc này tăng khả năng tạo ra các dịch vụ có đặc tính tái sử dụng.

e. Khả năng cộng tác

Kiến trúc hƣớng dịch vụnhấn mạnh đến khảnăng cộng tác (Interoperability), khả năng mà các hệ thống có thể giao tiếp với nhau trên nhiều nền tảng và ngôn ngữ khác nhau. Mỗi dịch vụ cung cấp một interface có thể đƣợc triệu gọi thông qua một dạng kết nối. Một kết nối gọi là interoperable chứa bên trong nó một giao thức và một định dạng dữ liệu mà mỗi client kết nối đến nó đều hiểu. Interoperability is achieved bằng cách hỗ trợ các giao thức và định dạng dữ liệu chuẩn của dịch vụ và các client. Kỹ thuật này đạt đƣợc bằng cách ánh xạ mỗi tính chất và ngôn ngữ qua một đặc tả trung gian. Đặc tả trung gian sẽ chịu trách nhiệm ánh xạ giữa định dạng của dữ liệu khả kết (interoperable) đến định dạng dữ liệu tùy thuộc vào nền tảng hệ thống. Ví dụ WebService là một đặc tả trung gian cho giao tiếp giữa các hệ thống, JAX-RPC và JAXM chuyển đối tƣợng dạng Java thành SOAP.

63

e. Tự động dò tìm ràng buộc

SOA hỗ trợ khái niệm truy tìm dịch vụ(service discovery). Một ngƣời sử dụng cần đến một dịch vụ nào đó có thể tìm kiếm dịch vụ dựa trên một số tiêu chuẩn khi cần. Ngƣời sử dụng chỉ cần hỏi một registry về dịch vụ nào thoả yêu cầu tìm kiếm.

g. Tự phục hồi

Với kích cỡ và độ phức tạp của những ứng dụng phân tán ngày nay, khả năng phục hồi của một hệ thống sau khi bị lỗi trở thành một yếu tố quan trọng. Một hệ thống tự hồi phục (self-healing) là một hệ thống có khả năng tự hồi phục sau khi bị lỗi mà không cần sự can thiệp của con ngƣời.

Một phần của tài liệu Nghiên cứu và xây dựng một mô hình trung tâm chăm sóc sức khỏe thông minh (Trang 70 - 72)