Tôi khá mới đối với SOA và do đó thử nghiệm xung quanh.Thiết kế/xác thực dịch vụ SOA
Hiện nay, phần tạo ra vấn đề lớn nhất đối với tôi là xác thực, suy nghĩ hiện tại của tôi về nó liên quan đến những điều sau đây:
Khách hàng gửi một số loại thông điệp xác thực với dịch vụ chứng thực/người dùng, dịch vụ này yêu cầu các db và nếu người dùng được tìm thấy và mật khẩu hợp lệ, nó sẽ phản hồi với id phiên, id này sẽ được sử dụng trong tất cả các yêu cầu tiếp theo của ứng dụng khách này.
Điều này có vẻ khá ổn với tôi nhưng tôi không biết làm thế nào tôi nên xử lý các yêu cầu đến các dịch vụ khác, tôi nghĩ về ba cách tiếp cận khác nhau.
Mọi dịch vụ đều yêu cầu dịch vụ xác thực nếu phiên hợp lệ và nếu có, vai trò của người dùng đó.
Dịch vụ xác thực giữ tất cả thông tin phiên trong ram và phản hồi mà không có db roundtrip đến yêu cầu.
Dịch vụ xác thực sẽ gửi thư được ủy quyền đến một esb, esb chuyển tiếp thư được ủy quyền này tới mọi dịch vụ và các dịch vụ này lưu trữ thư đó. Không cần thêm yêu cầu nào cho dịch vụ xác thực. Nếu người dùng đăng xuất hoặc vai trò của anh ấy thay đổi, một thông báo khác sẽ được gửi và xử lý bởi tất cả các dịch vụ.
Tôi nghĩ cách tiếp cận đầu tiên tạo ra quá nhiều áp lực đối với dịch vụ xác thực/db nhưng tốn ít công sức nhất để thực hiện.
Thứ hai vẫn rất dễ thực hiện nhưng sự căng thẳng trên dịch vụ xác thực vẫn gần như giống nhau.
Thứ ba phức tạp hơn một chút để triển khai nhưng sẽ giảm thời gian phản hồi khi không có chuyến đi đến dịch vụ xác thực diễn ra. Mặc dù, nếu có quá nhiều thông tin về phiên, cách tiếp cận này sẽ không thành công và khả năng mở rộng sẽ khó được đưa ra.
Bạn có thể vui lòng trả lời http://stackoverflow.com/questions/9553267/soa -design-parameter-decision? – Lijo