SOA - Tổng quan
Kiến trúc hướng dịch vụ (SOA) là gì?
Kiến trúc hướng dịch vụ là một thiết kế kiến trúc bao gồm tập hợp các dịch vụ trong một mạng giao tiếp với nhau. Sự phức tạp của mỗi dịch vụ không đáng chú ý đối với dịch vụ khác. Dịch vụ là một loại hoạt động được xác định rõ ràng, khép kín, cung cấp các chức năng riêng biệt như kiểm tra chi tiết tài khoản khách hàng, in sao kê ngân hàng, v.v. và không phụ thuộc vào loại dịch vụ khác.
Lịch sử
Báo cáo đầu tiên được các nhà phân tích công bố trên SOA Roy W.Schulte và Yefim V.Natis vào năm 1996.
Tại sao phải sử dụng SOA?
SOA được sử dụng rộng rãi trên thị trường, phản ứng nhanh chóng và thay đổi hiệu quả theo tình hình thị trường.
SOA giữ bí mật về chi tiết triển khai của các hệ thống con.
Nó cho phép tương tác của các kênh mới với khách hàng, đối tác và nhà cung cấp.
Nó cho phép các công ty lựa chọn phần mềm hoặc phần cứng mà họ lựa chọn vì nó hoạt động như một nền tảng độc lập.
Đặc trưng
SOA sử dụng các giao diện giải quyết các vấn đề tích hợp khó khăn trong các hệ thống lớn.
SOA liên lạc với khách hàng, nhà cung cấp và nhà cung cấp bằng các thông điệp bằng cách sử dụng lược đồ XML.
Nó sử dụng giám sát tin nhắn để cải thiện việc đo lường hiệu suất và phát hiện các cuộc tấn công bảo mật.
Khi nó sử dụng lại dịch vụ, sẽ có chi phí quản lý và phát triển phần mềm thấp hơn.
Ưu điểm
SOA cho phép sử dụng lại dịch vụ của hệ thống hiện có xen kẽ xây dựng hệ thống mới.
Nó cho phép cắm các dịch vụ mới hoặc nâng cấp các dịch vụ hiện có để đặt các yêu cầu kinh doanh mới.
Nó có thể nâng cao hiệu suất, chức năng của dịch vụ và dễ dàng nâng cấp hệ thống.
SOA có khả năng điều chỉnh hoặc sửa đổi các môi trường bên ngoài khác nhau và các ứng dụng lớn có thể được quản lý dễ dàng.
Các công ty có thể phát triển các ứng dụng mà không cần thay thế các ứng dụng hiện có.
Nó cung cấp các ứng dụng đáng tin cậy trong đó bạn có thể kiểm tra và gỡ lỗi các dịch vụ độc lập một cách dễ dàng so với số lượng lớn mã.
Nhược điểm
SOA đòi hỏi chi phí đầu tư cao (có nghĩa là đầu tư lớn vào công nghệ, phát triển và nguồn nhân lực).
Chi phí lớn hơn khi một dịch vụ tương tác với một dịch vụ khác, điều này làm tăng thời gian phản hồi và tải máy trong khi xác thực các thông số đầu vào.
SOA không phù hợp với các ứng dụng GUI (giao diện người dùng đồ họa), điều này sẽ trở nên phức tạp hơn khi SOA yêu cầu trao đổi dữ liệu lớn.