Sto lavorando su un sistema aziendale che utilizzerà un servizio web RESTful tra client mobili e un server centrale. RESTful il più possibile, diciamo.Servizi Web RESTful: tentativo di raggiungere HATEOAS con XML personalizzato
La mia domanda riguarda HATEOAS (hypermedia come motore dello stato dell'applicazione) e l'uso di xml personalizzato nei corpi di risposta HTTP.
Questo sistema sarà mai mai essere usato da clienti pubblici, ma mi piace l'idea hateoas di essere in grado di modificare il modello di allocazione delle risorse sul lato server in seguito senza dover riconfigurare ogni client in modo indipendente. Se decidiamo che a causa di problemi di ridimensionamento dobbiamo distribuire la funzione server su più box fisici, nessun problema, questo si rifletterà negli URI generati quando un client (o il server sotto istruzione da un client) crea una nuova risorsa .
Il nostro dominio aziendale è altamente specifico e insolito. Pertanto, vorrei utilizzare XML personalizzati per i corpi delle entità di risposta HTTP in tutto il servizio Web e il client analizzerà gli URI delle risorse al di fuori del codice xml per rimanere informato sulle posizioni delle risorse che può utilizzare quando modifica il proprio stato dell'applicazione. So che questo "rompe" la parte H di HATEAOS.
ad es. quando un cliente esegue la POST di una transazione sul server per l'elaborazione, il server potrebbe includere il seguente frammento xml nel corpo della risposta HTTP 201 (come parte di un documento xml più grande). Il server informerà anche il client dell'URI per la risorsa di transazione appena creata, ma questo probabilmente verrebbe incluso solo nell'intestazione dell'ubicazione HTTP.
<resulturi>http://resultserver/results/1234.xml</resulturi>
È questo il modo male? Ci sono poche possibilità che i client che utilizzano questo servizio saranno sempre basati sul browser. Quali sono gli altri vantaggi di hypermedia rispetto alla consegna dell'uris come testo normale in xml?
Suppongo di poter passare a XHTML, ma il parser sulla nostra piattaforma mobile è molto più efficiente con POX.
> So che questo "rompe" la parte H di HATEAOS. Lo fa? Non ero a conoscenza del fatto che HATEOAS pone dei vincoli sul tipo di tipi di contenuto che è possibile utilizzare. – trendels