Apa artinya “mengekspos” sesuatu?

18

Jadi saya sedang bekerja membuat Aplikasi Mesin Aplikasi Google, dan saya telah menemukan istilah "mengekspos" beberapa kali, misalnya "aplikasi pertama Anda dapat mengekspos objek menggunakan API berbasis HTTP" dan "memaparkan kelas model model ini melalui API SISA ". Apa artinya "mengekspos"? Apakah ada tindakan tertentu yang terkait dengannya, atau apakah itu bagian abstrak dari desain?

Dengan mudah bingung
sumber

Jawaban:

16

Ini berarti bahwa Anda mengaktifkan objek untuk diakses melalui beberapa cara. Dalam contoh Anda, Anda dapat membiarkan pengguna membuat, membaca, memperbarui atau menghapus objek (biasanya disingkat CRUD) menggunakan protokol HTTP melalui beberapa cara yang telah ditentukan untuk berinteraksi dengan objek Anda ( API ).

API itu dapat mematuhi seperangkat aturan - misalnya RESTful APIs menggunakan kata kerja HTTP untuk melakukan beberapa tindakan pada objek dan mereka mematuhi beberapa prinsip yang mengatakan bagaimana sumber daya harus diidentifikasi / diwakili dan bagaimana mereka harus dimanipulasi melalui representasi tersebut.

Dalam konteks aplikasi web, katakanlah Anda memiliki posting blog yang disimpan di database Anda. Anda ingin pengguna aplikasi Anda dapat melakukan sesuatu dengan posting tersebut. Mereka tidak harus selalu menggunakan situs web Anda , tetapi mungkin bisa menggunakan aplikasi mereka sendiri yang akan terhubung ke aplikasi Anda (misalnya program pembaca blog).

Sebagai pemilik aplikasi Anda, Anda dapat menentukan antarmuka tempat aplikasi Anda dapat diakses. Misalnya, Anda mungkin ingin menambahkan opsi bagi beberapa pengguna untuk membaca atau menulis posting blog. Antarmuka dapat terlihat seperti ini (untuk contoh API yang lebih kompleks, lihat definisi API Twitter ):

  • Jika GET /posts/{number} HTTP/1.1diminta dari aplikasi web Anda, Anda akan memberikan representasi objek posting Anda dengan id {number}dalam format yang telah ditentukan

Perhatikan bahwa Anda tidak menyediakan objek database aktual, maupun objek aplikasi Anda. Anda memberikan representasi objek Anda

  • Jika a POST /posts HTTP/1.1dengan yang title={text1}&body={text2}diposting ke aplikasi web Anda, Anda akan membuat objek posting baru berjudul {text1}yang akan berisi {text2}untuk tubuhnya, dan akan mengembalikan nilai id dari posting yang baru dibuat

Sekali lagi, Anda membiarkan pengguna memanipulasi representasi objek Anda. Pengguna tidak harus tahu bagaimana sebenarnya objek Anda (yang disarikan oleh antarmuka dari pengguna).

Mengekspos objek berarti menyediakan pengguna dengan antarmuka untuk mengakses dan memanipulasi objek Anda. Jika antarmuka tersebut memenuhi beberapa kondisi yang telah ditentukan sebelumnya mengenai representasi objek dan status aplikasi yang mengekspos objeknya, maka antarmuka tersebut dikatakan sebagai REST (atau RESTful) API.

ipavlic
sumber
19

"Ekspos" di sini berarti apa artinya dalam bahasa Inggris reguler - berikan akses di mana akses tidak akan tersedia.

Misalnya "aplikasi pertama Anda dapat mengekspos objek menggunakan API berbasis HTTP" berarti seseorang di komputer lain dapat memanipulasi objek Anda di mesin Anda dengan meminta halaman web yang tepat.

btilly
sumber