Pracuję nad systemem przedsiębiorstwa, który będzie korzystać z usługi RESTful Web między klientami mobilnymi i centralnym serwerem. RESTful, jak to możliwe, powiedzmy.Usługi sieci Web RESTful: próby osiągnięcia HATEOAS z niestandardowym XML
Moje pytanie dotyczy HATEOAS (hipermedia jako silnika stanu aplikacji) i użycie niestandardowego xml w treści odpowiedzi HTTP.
Ten system nigdy nie będzie kiedykolwiek używany przez klientów publicznych, ale podoba mi się HATEOAS pomysł, aby móc modyfikować wzorce alokacji zasobów po stronie serwera później, bez konieczności rekonfiguracji każdego z klientów niezależnie. Jeśli zdecydujemy, że ze względu na problemy ze skalowaniem musimy rozdzielić funkcję serwera na wiele fizycznych skrzynek, nie ma problemu, zostanie to odzwierciedlone w identyfikatorach URI, które są generowane, gdy klient (lub serwer pod instrukcją od klienta) tworzy nowy zasób .
Nasza domena biznesowa jest bardzo specyficzna i nietypowa. W związku z tym chciałbym użyć niestandardowego XML dla organów podmiotu odpowiedzi HTTP w całej usłudze internetowej, a klient przeanalizuje identyfikatory URI zasobów z xml w celu pozostania na bieżąco informacji o lokalizacjach zasobów, które może wykorzystać podczas modyfikowania własnego stanu aplikacji. Wiem, że to "łamie" część H HATEAOS.
np. gdy klient POSTs transakcji do serwera w celu przetworzenia, serwer może zawierać następujący fragment xml w treści odpowiedzi HTTP 201 (jako część większego dokumentu xml). Serwer będzie również informował klienta o identyfikatorze URI dla nowo utworzonego zasobu transakcji, ale prawdopodobnie będzie on zawarty tylko w nagłówku HTTP lokalizacji.
<resulturi>http://resultserver/results/1234.xml</resulturi>
Czy to tak źle? Istnieje bardzo mała szansa, że klienci korzystający z tej usługi kiedykolwiek będą obsługiwani przez przeglądarkę. Jakie są inne zalety hypermedia nad dostarczaniem uris jako zwykłego tekstu w xml?
Zgaduję, że mogę przejść do XHTML, ale parser na naszej platformie mobilnej jest o wiele bardziej efektywny z POX.
> Wiem, że to "zrywa" część H HATEAOS. Czy to? Nie wiedziałem, że HATEOAS nakłada ograniczenia na rodzaje treści, z których można korzystać. – trendels