CodeGym /Java Blog /Acak /Bagian 1. Apa yang perlu Anda ketahui sebelum mempelajari...
John Squirrels
Level 41
San Francisco

Bagian 1. Apa yang perlu Anda ketahui sebelum mempelajari Spring dan JavaEE

Dipublikasikan di grup Acak
Jika Anda sudah selesai (atau hampir) mempelajari Java SE, maka inilah saatnya untuk memikirkan langkah Anda selanjutnya dalam menaklukkan profesi pengembang Java. Bagian 1. Apa yang perlu Anda ketahui sebelum mempelajari Spring dan JavaEE - 1 Di satu sisi, Anda sudah memiliki pemahaman yang baik tentang Java: Anda tahu cara bekerja dengan IDE, menulis program, dan banyak lagi. Tapi apa yang harus Anda lakukan selanjutnya dengan program Anda? Bagaimana Anda membuatnya tetap keren dan "melepaskannya ke dunia"? Menjadi jelas bahwa inilah saatnya untuk mempelajari teknologi perusahaan. Dan sekarang kesenangan dimulai. Tidak masalah tumpukan teknologi mana yang Anda putuskan untuk memulai. Apakah itu JavaEE atau Spring, Anda mungkin menemukan banyak hal yang jauh di luar pemahaman Anda. Di antara dasar-dasar Java dan teknologi lanjutan, masih ada langkah perantara dalam pengetahuan yang harus diambil untuk mempertahankan apa yang tersisa dari pengendalian diri dan kepercayaan diri Anda saat Anda membaca banyak sekali dokumentasi. Karena itu,adalah memberi Anda pengetahuan teoretis minimum yang diperlukan untuk studi lebih lanjut Anda tentang JavaEE atau Spring. Materi ini dibagi menjadi 7 bagian:
  1. Kami akan berbicara sedikit tentang jaringan.
  2. Kami akan memeriksa arsitektur client-server dan three-tier.
  3. Kami akan menjelajahi protokol HTTP/HTTPS.
  4. Kami akan mempelajari semua yang perlu Anda ketahui tentang Maven.
  5. Kita berbicara tentang penebangan.
  6. Tentang wadah servlet.
  7. Dan akhirnya, tentang MVC.

Bagian 1. Kita akan berbicara sedikit tentang jaringan.

Mari kita mulai dengan apa yang paling penting dengan berbicara tentang apa yang dibangun oleh setiap jejaring sosial, layanan web dan aplikasi web, pengirim pesan instan, dan situs web sederhana — jaringan ( dalam konteks rangkaian artikel ini, istilah "jaringan" berarti Internet ) . Jaringan terdiri dari sejumlah besar komputer: mereka saling berhubungan dan dapat berkomunikasi. Penting untuk memahami bagaimana mereka melakukannya, karena aplikasi web mengirimkan informasi dari satu komputer ke komputer lainnya.

model OSI

Model Open System Interconnection (OSI) menciptakan pendekatan berjenjang untuk membangun jaringan. Ini dengan jelas menunjukkan bagaimana dan pada lapisan apa entitas dari jaringan yang sama dapat berinteraksi satu sama lain. Secara keseluruhan, model ini berisi 7 lapisan:
7 Aplikasi
6 Presentasi
5 Sidang
4 Mengangkut
3 Jaringan
2 Hubungan data
1 Fisik
Memecah model menjadi lapisan abstraksi memungkinkan pengembang yang bekerja pada lapisan transport, misalnya, tidak perlu memikirkan detail implementasi pada tingkat jaringan dan lapisan sesi. Pendekatan ini juga digunakan dalam pemrograman. Mari pertimbangkan semua lapisan model OSI, dan tentukan mana yang menarik bagi kita:
  1. Lapisan fisik — Lapisan ini berkaitan dengan hukum fisika dan cara menggunakannya untuk tujuan kita. Misalnya, membuat kabel dan meletakkannya ke entitas di jaringan.

    Lapisan ini tidak menarik bagi kami.

  2. Lapisan tautan data — Lapisan ini bertanggung jawab untuk mentransmisikan data ke node jaringan dan membuat saluran transmisi data untuk objek fisik.

    Lapisan ini tidak menarik bagi kami kecuali jika Anda ingin menulis firmware untuk perangkat keras yang membuat tautan data.

  3. Lapisan jaringan — Lapisan ini untuk menentukan alamat masing-masing pengguna jaringan dan rute ke mereka. Ada baiknya mempelajari lebih lanjut tentang detail lapisan ini, yaitu alamat jaringan.

    Alamat jaringan ditentukan oleh protokol khusus: yang paling umum adalah IPv4 (Protokol Internet versi 4). Ini adalah protokol yang harus digunakan pemrogram web untuk menghubungi pengguna jaringan lain.

    Alamat IPv4 terdiri dari empat nilai byte yang dipisahkan oleh titik, misalnya: 192.0.2.235. Anda harus ingat bahwa nilai-nilai ini adalah byte, yang berarti berada dalam kisaran 0..255.

    Alamat IP, pada gilirannya, dibagi menjadi beberapa kelas. Kami tidak bisa begitu saja menetapkan kombinasi angka yang indah, tetapi kami tidak akan membahas terlalu dalam di sini. Cukup dipahami bahwa alamat IP secara unik mengidentifikasi pengguna jaringan dan dapat digunakan untuk menghubungi pengguna tersebut.

  4. Transport layer — Lapisan ini menangani pengiriman informasi ke penerima. Berbagai protokol digunakan untuk mencapai hal ini. Untuk saat ini, kami tidak tertarik pada mereka. Kami jauh lebih tertarik pada konsep port , yang muncul di lapisan ini.

    Port bertanggung jawab untuk mengidentifikasi aplikasi tertentu di komputer. Misalnya, Anda menulis aplikasi obrolan di Java, menginstalnya di 2 komputer, dan ingin mengirim pesan ke teman Anda. Pesan Anda dikemas, dikirim ke alamat IP tertentu, dan dikirim ke teman Anda, tetapi komputernya tidak tahu apa yang harus dilakukan dengan informasi yang diterima, karena tidak mengerti aplikasi mana yang harus memproses pesan Anda. Saat entitas jaringan berkomunikasi, port digunakan untuk menunjukkan aplikasi mana yang harus memproses informasi.

    Port adalah angka dalam kisaran dari 0 hingga 65535. Itu ditambahkan ke alamat IP setelah titik dua: 192.0.2.235:8080 . Tetapi Anda tidak dapat menggunakan semua port dalam rentang yang ditentukan: beberapa di antaranya dicadangkan untuk sistem operasi, yang lain biasanya digunakan untuk tujuan tertentu. Kami tidak akan mempelajari tujuan dari port yang berbeda. Untuk saat ini, cukup memahami peran mereka dalam proses komunikasi di jaringan.

  5. Lapisan sesi — Lapisan ini membuat dan mengelola sesi komunikasi. Pada lapisan ini, aplikasi menjadi mungkin untuk berinteraksi, mengirimkan permintaan tingkat layanan. Yang perlu kita ketahui adalah bahwa pada lapisan ini sebuah sesi dibuka antara dua pengguna, dan kita harus bekerja dengan sesi tersebut.

    Sesi adalah entitas yang dibuat saat koneksi dibuat antara dua pengguna . Itu dapat menyimpan informasi yang diperlukan tentang pengguna dan tentang riwayat interaksi dengan pengguna. Detail penting adalah ketika pertukaran informasi berhenti, sesi tidak hilang. Alih-alih, ia mempertahankan statusnya untuk jangka waktu tertentu, sehingga pengguna dapat terus bertukar informasi setelah istirahat.

    Jika sebuah aplikasi berkomunikasi dengan beberapa pengguna pada saat yang sama, maka jumlah koneksi yang sesuai (dan dengan demikian sesi) dibuat. Setiap sesi memiliki pengidentifikasi unik (ID) , yang memungkinkan aplikasi untuk membedakan antara pengguna yang berkomunikasi dengannya.

  6. Presentation layer — Layer ini bertanggung jawab untuk encoding/decoding data. Jelas, jika kita perlu mengirim string "Hello web" ke pengguna lain, itu pertama-tama diubah menjadi (dikodekan sebagai) kode biner, dan baru kemudian dikirim. Setelah mencapai penerima, pesan dikonversi kembali (diterjemahkan), dan penerima dapat melihat string aslinya. Tindakan ini terjadi pada lapisan presentasi.

  7. Lapisan aplikasi adalah lapisan yang paling menarik bagi kami. Hal ini memungkinkan aplikasi untuk berkomunikasi dengan jaringan. Pada lapisan ini, kami menerima dan mengirim pesan, dan membuat permintaan ke layanan dan basis data jarak jauh.

    Ada banyak protokol yang digunakan pada lapisan ini: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET dan, tentu saja, HTTP/HTTPS. Protokol adalah kesepakatan universal yang kita patuhi saat berkomunikasi. Kami pasti akan memberikan diskusi terperinci yang terpisah tentang HTTP/HTTPS.

Bagian 1. Apa yang perlu Anda ketahui sebelum mempelajari Spring dan JavaEE - 2Kita tidak perlu mengetahui cara kerja setiap lapisan model. Hal utama adalah memahami prinsip-prinsip di balik pengoperasian elemen-elemen yang harus kita kerjakan saat menulis aplikasi web, yaitu:
  • Alamat IP — Alamat pengguna di jaringan
  • Port — Alamat aplikasi pengguna tertentu
  • Sesi — Entitas yang ada selama periode komunikasi antara dua pengguna
  • Protokol aplikasi (HTTP/HTTPS) — Ini adalah aturan yang akan kami ikuti saat menulis dan mengirim pesan.
Saat kami mengunjungi toko online, misalnya, kami menunjukkan alamat dan portanya. Setelah kunjungan pertama kami, sebuah sesi dibuat. Toko dapat merekam informasi dalam sesi. Misalnya, toko mungkin menyimpan informasi tentang barang yang kami tinggalkan di keranjang belanja. Jika kita menutup tab dengan toko online dan kemudian masuk kembali nanti, barang kita akan tetap ada di keranjang karena disimpan dalam sesi. Tentu saja, semua informasi yang kami terima dari toko kami terima melalui protokol HTTP/HTTPS, dan browser kami mengetahui cara memprosesnya. Anda mungkin keberatan, dengan mengatakan bahwa Anda tidak pernah memasukkan alamat dan port di browser, dan Anda sebagian benar. Yang Anda lakukan adalah memasukkan nama domain, yang diubah oleh server DNS. Mari kita lihat lebih baik apa yang ada di sini.

DNS (Sistem Nama Domain)

Seperti yang telah kita pelajari, setiap pengguna jaringan memiliki alamat yang unik. Jika kita berbicara tentang aplikasi, maka alamat uniknya adalah IPv4-address:port . Jika Anda mengetahui alamat ini, Anda dapat langsung mengakses aplikasi. Bayangkan kita membuat aplikasi web yang menampilkan suhu udara rata-rata di semua negara secara real time. Kami menerapkannya di server dengan alamat 226.69.237.119, di port 8080. Agar dapat menerima informasi dari kami, pengguna harus memasukkan 5 angka di browser: 226.69.237.119:8080. Orang tidak suka menghafal kumpulan angka: banyak dari kita tidak dapat mengingat lebih dari dua nomor telepon. Itu sebabnya Sistem Nama Domainditemukan. Kita dapat membuat "alias" untuk alamat kita, misalnya world-temperature.com. Alih-alih mencari kami menggunakan alamat yang terdiri dari lima angka yang sulit diingat, pengguna dapat memasukkan nama domain kami di bilah alamat browser. Ada server DNS yang memetakan nama domain ke alamat asli. Misalnya, saat pengguna memasukkan codegym.cc di browser, permintaannya dikirim ke server DNS, yang mengubahnya menjadi alamat sebenarnya. Bagian 1. Apa yang perlu Anda ketahui sebelum mempelajari Spring dan JavaEE - 4Ini penting untuk kita pahami, karena aplikasi kita akan memanggil layanan jarak jauh baik dengan nama domain maupun alamat asli. Kita perlu memahami bahwa dalam kedua kasus layanannya sama. Itu saja untuk saat ini! Pada artikel ini, kita melihat dasar-dasar jaringan, yang akan berguna saat Anda mulai mempelajari pemrograman web.Lain kali kita akan melihat apa itu arsitektur client-server dan mengapa sangat penting untuk dipahami. Bagian 2. Mari kita bicara sedikit tentang arsitektur perangkat lunak Bagian 3. HTTP/HTTPS Bagian 4. Dasar-dasar Maven Bagian 5. Servlet dan Java Servlet API. Menulis aplikasi web sederhana Bagian 6. Servlet containers Bagian 7. Memperkenalkan pola MVC (Model-View-Controller)
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION