JavaRush /Java Blog /Random-ID /Server. Program pendidikan untuk boneka

Server. Program pendidikan untuk boneka

Dipublikasikan di grup Random-ID
Di bawah ini kami menyediakan terjemahan artikel Panduan non-teknisi ke server yang diadaptasi oleh Kannan Chandrasegaran, pengembang dari Panopto. Harap dicatat bahwa artikel ini ditujukan untuk pemula yang kurang memahami konsep sisi server dari aplikasi dan server. Server.  Program pendidikan untuk boneka - 1

Dari kehidupan kantor

Sulit untuk menjadi “non-teknisi” di perusahaan IT, percayalah! Pemasar, manajer penjualan, akuntan - tidak masalah - dari waktu ke waktu mereka bertemu dengan rekan-rekan mereka yang paham teknis. Mereka bisa jadi pemrogram atau administrator sistem.... Apa pun yang terjadi, "non-teknisi" merasa bagian penting otaknya diamputasi. Atau mereka mendarat di planet tak dikenal dengan kehidupan cerdas non-humanoid. Atau…
Server.  Program pendidikan untuk boneka - 2
Terkadang, tentu saja, semuanya berakhir dengan baik. Misalnya, seorang gadis front-end sedang berjalan menyusuri koridor. Tidak ada pertanda masalah: dia menuju ke kiri, Anda menuju ke kanan, dan secepat mungkin... Tidak, kali ini tidak terjadi. Anda sudah duduk di meja bersamanya, dan mencoba mengatasi keheningan yang canggung, Anda bertanya: "Dan... apa sebenarnya yang Anda lakukan?" Dia mulai mengatakan sesuatu, tetapi Anda tidak langsung mengerti apa yang dia bicarakan. Kata-katanya sepertinya familiar: antarmuka pengguna, aplikasi, dan - ya, Facebook adalah sebuah situs web. Ya, ada tombol, menu... Entah bagaimana Anda mengetahui seluk-beluk pekerjaannya, mengangguk sebagai ucapan selamat tinggal dan jalan Anda berbeda di koridor sebuah kantor besar.
Server.  Program pendidikan untuk boneka - 3
Namun cepat atau lambat Anda tidak akan seberuntung itu: Anda akan bertemu dengan seorang insinyur server. Atau pengembang back-end. Karena tidak mengetahui di hutan seperti apa Anda sekarang berada, Anda dengan naif menanyakan pertanyaan yang sama dan... menerima omong kosong sebagai tanggapannya. Anda mendengar banyak kata-kata asing, dan pemikiran muncul di kepala Anda: “Apakah sopan bertanya apa itu API?”, “Kami menggunakan “database” sepanjang waktu, bukan?”, “Siapa sebenarnya ini Jason?" (JSON)??". Teman insinyur Anda mencoba memberi tahu Anda tentang server, tetapi dia tidak memahami betapa sulitnya bagi Anda untuk memahami pidatonya yang penuh dengan istilah profesional. Anda mungkin pernah mendengar kata "server" sebelumnya, tetapi kata ini digunakan dalam banyak konteks berbeda sehingga sulit untuk memahami maknanya. Baiklah, mari kita coba memahami istilah ini.

Masuk kedalam lubang kelinci

Ketika orang biasa (yaitu, bukan programmer atau administrator) menggunakan suatu aplikasi, yang dilihatnya hanyalah antarmuka, gambar yang bereaksi terhadap beberapa tindakan yang jelas (paling sering). Faktanya, yang biasanya dipahami pengguna dengan “aplikasi” adalah front-end-nya, yaitu bagian depan, pembungkus tempat mereka berinteraksi. Namun pengguna hanya mengetahui sedikit tentang apa yang ada di dalamnya, yaitu tentang apa yang membuat aplikasi tersebut berfungsi. Katakanlah Anda mengirimi saya pesan, misalnya melalui Whatsapp atau Viber. Sepertinya ada pesan yang datang dari ponsel cerdasmu ke ponselku. Mari kita lihat lebih dekat proses ini. Katakanlah Anda mengirimi saya pesan ketika ponsel saya dimatikan, lalu Anda mematikan sendiri ponsel cerdas Anda. Jadi, saya menghidupkan telepon saya, dan masih menerima pesan Anda, meskipun telepon kami tidak berfungsi pada saat yang sama. Sepertinya kita melewatkan sesuatu! Ini adalah “sesuatu” yang kami lewatkan—back-end atau server.
Server.  Program pendidikan untuk boneka - 4
Ketika programmer berbicara tentang front-end dan back-end, yang mereka maksud biasanya adalah pemisahan bagian pengguna aplikasi dari logika program. Jadi, front-end adalah bagian antarmuka aplikasi, dan back-end adalah bagian servernya.

Server

Pada dasarnya, server adalah mesin komputasi, komputer yang terhubung ke Internet dan terus-menerus dihidupkan.
Dua tugas utama server adalah penyimpanan data dan komunikasi.
Server.  Program pendidikan untuk boneka - 5
Anda mengirim pesan melalui Whatsapp atau Viber, aplikasi di ponsel cerdas Anda mengirimkan pesan tersebut ke server tempat penyimpanannya. Ketika Viber yang diinstal pada ponsel cerdas saya terhubung ke server, ia mengirimi saya semua pesan yang tersimpan.
Server adalah “stasiun pangkalan” tempat aplikasi dijalankan
Ketika suatu aplikasi memerlukan informasi apa pun, aplikasi tersebut akan menghubungi server. Ketika suatu aplikasi perlu berkomunikasi dengan pengguna aplikasi lain, serverlah yang memungkinkan mereka untuk berkomunikasi. Istilah server, back-end, dan API sering digunakan secara bergantian.

Sistem penyimpanan atau penyimpanan data

Tugas utama server adalah penyimpanan data. Ini termasuk file : foto, video, dan dokumen. Server menyimpannya dengan cara terstruktur yang mirip dengan folder di komputer Anda, sehingga dapat diakses oleh aplikasi. Informasi juga disimpan di server . Semua aplikasi berisi informasi penting untuk pengoperasiannya.
Server.  Program pendidikan untuk boneka - 6
Anda dapat menyajikan informasi ini sebagai satu set tabel. Misalnya, suatu aplikasi perlu menyimpan informasi tentang pengguna dan kata sandinya agar otentikasi dapat terjadi. Aplikasi Anda dapat menjadi panduan restoran, dalam hal ini server akan menyimpan informasi tentang setiap restoran. Selain informasi itu sendiri, server juga mencatat hubungan antar data. Misalnya, pengguna menyukai restoran dalam aplikasi di ponsel cerdas, dan server mengingat hubungan antara restoran dan pengguna tersebut.
Server.  Program pendidikan untuk boneka - 7
Ini memungkinkan Anda menjawab banyak pertanyaan. Misalnya:
  • Berapa banyak pengguna yang menyukai restoran ini?
  • Restoran apa yang disukai pengguna ini?
  • Masakan apa yang menarik bagi beberapa pengguna sekaligus?
Informasi dan hubungan antar data disimpan dalam database (DB). Ada banyak jenis database, tetapi semuanya adalah:
  • dapat menyimpan informasi
  • dapat menyimpan hubungan antar data
  • dapat menerima permintaan informasi dan meresponsnya sebagai data tunggal atau sekumpulan data, bergantung pada permintaan.
Ada banyak jenis database, masing-masing memiliki kelebihan dan kekurangannya masing-masing. Jika Anda mendengar istilah seperti SQL, MySQL, MongoDB, CouchDB, Redis, ketahuilah bahwa kita berbicara tentang database.

Interaksi

Tugas utama server adalah berinteraksi dengan aplikasi dan server lain.
Server.  Program pendidikan untuk boneka - 8
Banyak tugas aplikasi memerlukan interaksi dengan server. Misalnya, jika pengguna mencari sesuatu, permintaan pencarian dikirim ke server dan hasilnya berasal dari sana. Jika seorang pengguna mengirim pesan ke pengguna lain, pesan itu terlebih dahulu sampai di server. Dan kemudian dari sana dikirim ke aplikasi pengguna lain, paling sering dalam bentuk notifikasi terkirim. Antarmuka yang disediakan server agar aplikasi dapat berinteraksi dengannya biasanya disebut API . Nah, beberapa fungsi antarmuka dapat dikaitkan dengan titik akhir , misalnya dengan pencarian atau otorisasi di situs. Bagi yang belum tahu, interaksi ini mungkin tampak aneh. Dua format interoperabilitas yang paling umum adalah JSON dan XML.
Server.  Program pendidikan untuk boneka - 9
XML di sebelah kiri, JSON di sebelah kanan Sekilas, formatnya terlihat sulit dibaca. Penting untuk dipahami bahwa server hanyalah sebuah komputer, seperti laptop atau ponsel cerdas Anda. Aplikasi di ponsel Anda menerima masukan pengguna melalui suara, teks, pengenalan suara, atau sentuhan di layar. Aplikasi memproses informasi tersebut dan kemudian memberikan jawaban berupa gambar di layar. Ponsel pintar merupakan komputer yang berinteraksi dengan seseorang, sehingga input dan output disediakan dalam bentuk yang nyaman bagi seseorang. Server adalah komputer yang hanya berinteraksi dengan komputer lain. Seseorang memahami informasi berkat hal-hal seperti: ukuran font, warna teks, dan format. Tapi ini tidak ada artinya bagi komputer.
Interaksi antar server terjadi dalam format yang mudah diurai dan dipahami oleh komputer lain.

Aplikasi server

Jika Anda ingin membuat aplikasi yang dapat berjalan di ponsel Anda, Anda juga memerlukan aplikasi yang dapat berjalan di server. Aplikasi sisi server dibuat menggunakan bahasa dan kerangka pemrograman sisi server, opsi yang populer adalah Java , Ruby on Rails , Node.js , PHP , ASP.NET .
Server.  Program pendidikan untuk boneka - 10
Bisa dibilang API adalah “pintu” server Anda dan aplikasi tahu untuk mengetuknya. Basis data menyimpan semua informasi Anda. Dan aplikasi server adalah “otak” yang menghubungkan semuanya. Ia menerima dan merespons permintaan yang dikirimkan melalui API, menambah dan mengambil informasi dari database, dan membuat keputusan. Misalnya, ketika aplikasi pengguna mengirimkan informasi login, permintaan datang melalui API, informasi login yang benar disimpan dalam database. Tugas aplikasi server adalah membandingkannya dan merespons aplikasi tersebut dengan menggunakan API.

Perangkat keras

Server.  Program pendidikan untuk boneka - 11
Saat Anda mendengar kata “server”, Anda mungkin membayangkan gambaran ini: lemari dengan lampu berkedip-kedip di ruangan tertutup. Mungkin, untuk melengkapi gambarannya, satu-satunya hal yang hilang adalah Tom Cruise, yang akan turun dari langit-langit dan mencuri sesuatu. Banyak perusahaan besar memiliki server sendiri dan seluruh pusat data (ruangan besar dengan lemari yang berkedip-kedip). Facebook dan Google memiliki ratusan server di seluruh dunia. Saat Anda menjalankan layanan besar dengan jutaan pengguna, menjalankan server Anda sendiri bisa jauh lebih murah dan memberikan kinerja yang lebih baik. Daripada memelihara server mereka sendiri, banyak pengembang menggunakan layanan cloud. Layanan seperti Amazon Web Services, Azure dan Digital Ocean menawarkan kemampuan untuk menggunakan “server virtual”. Layanan ini memiliki dan memelihara perangkat keras, dan pengembang cukup memuat aplikasi server ke dalamnya. Beberapa penyedia layanan menyediakan backend sebagai layanan, memungkinkan Anda memiliki backend sederhana tanpa harus menulis sendiri aplikasi backend.

Apakah semua aplikasi memerlukan backend?

Sebagian besar aplikasi yang Anda kenal mungkin memiliki komponen backend. Tentu saja, Anda dapat menemukan program tanpa bagian server. Misalnya, beberapa aplikasi produktivitas. Cara mudah untuk mengetahui apakah suatu aplikasi memiliki back-end adalah sebagai berikut:
Jika Anda beralih ke mode Penerbangan, apakah aplikasinya masih berfungsi?
Jika jawabannya “tidak”, berarti aplikasi tersebut pasti memiliki server backend.
Server.  Program pendidikan untuk boneka - 12
Saya harap Anda sekarang memiliki pemahaman tentang apa itu back-end suatu aplikasi. Mungkin lain kali Anda bertemu sesama programmer, Anda tidak hanya bisa memahami apa yang mereka bicarakan, tetapi juga menggunakan kata "Jason" dalam percakapan Anda.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION