Tôi đang làm việc trên một hệ thống doanh nghiệp sẽ sử dụng dịch vụ web RESTful giữa các máy khách di động và máy chủ trung tâm. Như RESTful càng tốt, hãy nói.Dịch vụ web yên tĩnh: cố gắng đạt được HATEOAS với XML tùy chỉnh
Câu hỏi của tôi liên quan đến HATEOAS (hypermedia làm công cụ của trạng thái ứng dụng) và việc sử dụng xml tùy chỉnh trong các cơ quan phản hồi HTTP.
Hệ thống này sẽ không bao giờ được sử dụng bởi khách hàng công cộng, nhưng tôi thích ý tưởng HATEOAS có thể sửa đổi mẫu phân bổ tài nguyên phía máy chủ sau này mà không phải định cấu hình lại từng ứng dụng khách một cách độc lập. Nếu chúng tôi quyết định rằng do vấn đề mở rộng quy mô, chúng tôi cần phải trải rộng chức năng máy chủ trên nhiều hộp vật lý, không có vấn đề gì, điều này sẽ được phản ánh trong URI được tạo khi khách hàng (hoặc máy chủ theo lệnh từ khách hàng) tạo tài nguyên mới .
Tên miền kinh doanh của chúng tôi rất cụ thể và khác thường. Do đó, tôi muốn sử dụng XML tùy chỉnh cho các thực thể phản hồi HTTP trên toàn bộ dịch vụ web và máy khách sẽ phân tích các URI tài nguyên ra khỏi xml để được thông báo về các vị trí tài nguyên mà nó có thể sử dụng khi sửa đổi trạng thái ứng dụng riêng của nó. Tôi biết rằng điều này 'phá vỡ' phần H của HATEAOS.
ví dụ: khi một khách hàng POST một giao dịch đến máy chủ để xử lý, máy chủ có thể bao gồm đoạn xml sau đây trong nội dung phản hồi HTTP HTTP (như một phần của tài liệu xml lớn hơn). Máy chủ cũng sẽ thông báo cho khách hàng của URI về tài nguyên giao dịch mới được tạo ra, nhưng điều này có thể chỉ được bao gồm trong tiêu đề HTTP vị trí.
<resulturi>http://resultserver/results/1234.xml</resulturi>
Đây có phải là vì vậy không? Có rất ít cơ hội mà các khách hàng sử dụng dịch vụ này sẽ bao giờ được dựa trên trình duyệt. Những ưu điểm khác của hypermedia khi phân phối uris là văn bản thuần trong xml?
Tôi đoán tôi có thể truy cập XHTML, nhưng trình phân tích cú pháp trên nền tảng di động của chúng tôi hiệu quả hơn nhiều với POX.
> Tôi biết rằng điều này 'phá vỡ' phần H của HATEAOS. Có phải không? Tôi không biết rằng HATEOAS đặt những ràng buộc về loại nội dung mà bạn có thể sử dụng. – trendels