Cosa significa "esporre" qualcosa?

15

Quindi sto lavorando alla creazione di un'applicazione per Google App Engine e ho trovato il termine "esporre" un certo numero di volte, ad es. "la tua prima app può esporre oggetti usando un'API basata su HTTP" e "esporre questa classe datamodel attraverso un'API REST". Cosa significa "esporre"? C'è una particolare azione associata, o è una parte astratta del design?

    
posta EasilyBaffled 05.07.2013 - 16:37
fonte

2 risposte

14

Significa che abiliti l'accesso agli oggetti con qualche mezzo. Nei tuoi esempi, puoi consentire agli utenti creare, leggere, aggiornare o eliminare oggetti (solitamente abbreviati in CRUD ) utilizzando il protocollo HTTP attraverso un modo predefinito di interagire con i tuoi oggetti (una API ).

Quell'API può aderire a un insieme di regole, ad es. Le API RESTful utilizzano Verbi HTTP per eseguire alcune azioni sugli oggetti e aderiscono ai alcuni principi che dicono come le risorse dovrebbero essere identificate / rappresentate e come dovrebbero essere manipolate attraverso tali rappresentazioni.

Nel contesto di un'applicazione web, supponiamo che i tuoi post siano archiviati nel tuo database. Vorresti che gli utenti della tua applicazione fossero in grado di fare qualcosa con quei post. Non devono necessariamente usare il sito web , ma potrebbero forse utilizzare la propria applicazione che si connetterebbe alla tua applicazione (ad esempio un programma di lettura di un blog).

Come proprietario dell'applicazione, è possibile definire un'interfaccia tramite cui è possibile accedere all'applicazione. Ad esempio, potresti voler aggiungere un'opzione per alcuni utenti per leggere o scrivere post sul blog. L'interfaccia potrebbe essere simile a questa (per un esempio di API più complessa, vedi la definizione dell'API di Twitter ):

  • Se viene richiesta una GET /posts/{number} HTTP/1.1 dalla tua applicazione web, fornirai una rappresentazione del tuo oggetto post con un id {number} in un formato predefinito

Si noti che non si sta fornendo un oggetto di database effettivo, né l'oggetto dell'applicazione. Stai fornendo una rappresentazione del tuo oggetto

  • Se una POST /posts HTTP/1.1 con una title={text1}&body={text2} viene pubblicata nella tua applicazione web, creerai un nuovo oggetto post intitolato {text1} che conterrà {text2} per il suo corpo e restituirà un valore id del nuovo creato post

Di nuovo, stai permettendo all'utente di manipolare le rappresentazioni dei tuoi oggetti. L'utente non deve sapere come sono realmente gli oggetti (cioè astratti dall'interfaccia dall'utente).

Esporre l'oggetto significa fornire all'utente un'interfaccia per accedere e manipolare i tuoi oggetti. Se quell'interfaccia soddisfacesse alcune condizioni predefinite aggiuntive riguardanti le rappresentazioni dell'oggetto e gli stati dell'applicazione che espone i suoi oggetti, allora quell'interfaccia sarebbe un'API REST (o RESTful).

    
risposta data 05.07.2013 - 16:49
fonte
17

"Esporre" qui significa che cosa significa in inglese regolare - dare l'accesso dove altrimenti l'accesso non sarebbe disponibile.

Ad esempio "la tua prima app può esporre oggetti usando un'API basata su HTTP" significa che qualcuno su un'altra macchina può manipolare il tuo oggetto sulla tua macchina chiedendo le pagine web giuste.

    
risposta data 05.07.2013 - 16:51
fonte

Leggi altre domande sui tag