JavaRush /Blog Java /Random-MS /Bahagian 2. Mari kita bercakap sedikit tentang seni bina ...

Bahagian 2. Mari kita bercakap sedikit tentang seni bina perisian

Diterbitkan dalam kumpulan
Bahan ini adalah sebahagian daripada siri " Pengenalan kepada Pembangunan Perusahaan ". Bahagian pertama tentang rangkaian ada di sini . Bahagian 2. Mari kita bercakap sedikit tentang seni bina perisian - 1Seni bina perisian ialah struktur atas dasar aplikasi dicipta dan modul dan komponen keseluruhan program berinteraksi. Pengaturcara telah cuba mencipta seni bina yang baik untuk masa yang lama, jadi tidak menghairankan bahawa kita kini mengetahui banyak corak seni bina. Anda perlu memahaminya: apabila anda menulis aplikasi web, masalah seni bina menjadi teruk, kerana terdapat lebih banyak komponen dan modul di dalamnya berbanding aplikasi biasa. Corak seni bina ialah cara yang sudah difikirkan untuk menyelesaikan beberapa masalah reka bentuk perisian. Anda mungkin telah menemui corak reka bentuk seperti Kaedah Kilang, Kilang Abstrak, Pembina, Prototaip, Singleton, dan mungkin yang lain. Mereka digunakan untuk menulis kod, membuat kelas dan merancang cara mereka berinteraksi. Corak seni bina digunakan pada tahap abstraksi yang lebih tinggi - apabila merancang interaksi pengguna aplikasi dengan pelayan, data dan komponen lain projek. Mari kita lihat beberapa templat dan cara menggunakannya.

Seni bina pelayan-pelanggan

Dari namanya seseorang mendapat tanggapan bahawa segala-galanya dengan topik ini adalah mudah dan jelas. Tetapi mari kita jelaskan beberapa perkara supaya apabila anda mula mempelajari Spring bersyarat, anda memahami dengan tepat apa yang kita bincangkan. Katakan anda menulis sembang dan anda dan rakan anda mula menggunakannya. Pilihan mudah boleh dilakukan di sini - anda menghantar mesej kepada satu sama lain secara langsung melalui Internet menggunakan alamat IP yang anda tahu: Bahagian 2. Mari kita bercakap sedikit tentang seni bina perisian - 2Pada mulanya, nampaknya semuanya berfungsi dengan baik, sehingga rakan anda yang lain muncul dengan soalan: "Mengapa tidak awak tak tambah saya ke sembang awak?” Dan apabila anda memutuskan untuk menambah rakan bersama ke sembang, anda berhadapan dengan masalah seni bina: setiap pengguna sembang perlu mengemas kini maklumat tentang bilangan pengguna, tambah alamat IP pengguna baharu. Dan apabila menghantar mesej, ia mesti dihantar kepada semua peserta. Ini adalah masalah paling jelas yang akan timbul. Banyak lagi masalah akan disembunyikan dalam kod itu sendiri. Untuk mengelakkannya, anda perlu menggunakan pelayan yang akan menyimpan semua maklumat tentang pengguna dan mengetahui alamat mereka. Mesej hanya perlu dihantar ke pelayan. Dan dia, seterusnya, akan menghantar mesej kepada semua penerima. Apabila anda memutuskan untuk menambah bahagian pelayan pada sembang anda, anda akan mula membina seni bina pelayan-pelanggan.

Komponen seni bina pelanggan-pelayan

Mari kita fikir apa dia. Seni bina pelayan-pelanggan ialah corak reka bentuk, asas untuk mencipta aplikasi web. Seni bina ini terdiri daripada tiga komponen: Bahagian 2. Mari kita bercakap sedikit tentang seni bina perisian - 3
  1. Pelanggan - dari namanya menjadi jelas bahawa ini adalah pengguna perkhidmatan (aplikasi web) yang menghubungi pelayan untuk mendapatkan beberapa maklumat.

  2. Pelayan ialah tempat di mana aplikasi web anda atau bahagian pelayannya berada. Dia memiliki maklumat yang diperlukan tentang pengguna atau boleh memintanya. Juga, apabila pelanggan menghubungi, pelayan mengembalikan maklumat yang diminta.

  3. Rangkaian ini mudah: ia memastikan pertukaran maklumat antara pelanggan dan pelayan.

Pelayan boleh memproses sejumlah besar permintaan daripada pengguna yang berbeza. Iaitu, terdapat banyak pelanggan, dan jika mereka perlu bertukar maklumat antara satu sama lain, ini perlu dilakukan melalui pelayan. Oleh itu, pelayan menerima satu lagi fungsi tambahan - kawalan trafik. Jika kita bercakap tentang sembang berbilang pengguna yang kami buat, keseluruhan kod program akan terdiri daripada dua modul:
  • klien - mengandungi antara muka grafik untuk kebenaran, menghantar/menerima mesej;

  • bahagian pelayan - aplikasi web yang dihoskan pada pelayan dan menerima mesej daripada pengguna, memprosesnya, dan kemudian menghantarnya kepada penerima.

Bahagian 2. Mari kita bercakap sedikit tentang seni bina perisian - 4Apabila kami ingin melihat maklumat yang berguna (atau tidak begitu berguna) di Internet, kami membuka pelayar, memasukkan pertanyaan dalam bar carian, dan sebagai tindak balas kami menerima maklumat daripada enjin carian. Dalam rantaian ini, penyemak imbas adalah pelanggan kami. Ia menghantar permintaan dengan maklumat tentang perkara yang kami cari kepada pelayan. Pelayan memproses permintaan, mencari hasil yang paling relevan, membungkusnya ke dalam format yang boleh difahami oleh penyemak imbas (pelanggan) dan menghantarnya kembali. Dalam perkhidmatan yang kompleks seperti enjin carian boleh terdapat banyak pelayan. Contohnya, pelayan kebenaran, pelayan untuk mencari maklumat, pelayan untuk menjana respons. Tetapi pelanggan tidak tahu apa-apa tentang ini: baginya, pelayan adalah sesuatu yang bersatu. Pelanggan hanya tahu tentang titik masuk, iaitu alamat pelayan yang diperlukan untuk menghantar permintaan. Mari kita ingat aplikasi yang kita lihat di bahagian sebelumnya - untuk memantau suhu udara purata di semua negara dalam masa nyata. Seni binanya akan kelihatan seperti ini: Bahagian 2. Mari kita bercakap sedikit tentang seni bina perisian - 5Aplikasi kami terletak pada pelayan. Katakan, setiap lima saat ia menghantar permintaan kepada pelayan pusat hidrometeorologi tempatan, menerima maklumat daripada mereka tentang suhu di negara tertentu, dan menyimpan maklumat ini. Apabila pelanggan menghubungi kami dengan permintaan untuk "melihat suhu udara semasa di dunia", kami mengembalikan maklumat tersimpan yang terbaharu, diisih mengikut negara. Oleh itu, aplikasi kami ialah pelayan (apabila ia memproses permintaan pengguna) dan pelanggan (apabila ia menerima maklumat daripada pelayan lain).
Penting: konsep pelayan bukan mengenai komputer tertentu, tetapi mengenai hubungan antara pelanggan rangkaian .
Seni bina pelayan pelanggan yang mudah digunakan sangat jarang dan hanya untuk aplikasi yang sangat mudah. Untuk projek yang benar-benar besar dan kompleks, jenis seni bina yang berbeza digunakan, yang akan anda kenali pada masa hadapan. Sekarang mari kita lihat model yang hampir sama dengan model pelayan pelanggan.

Seni bina tiga peringkat

Ini ialah corak seni bina yang memperkenalkan pemain ketiga: gudang data . Apabila menggunakan corak ini, tiga peringkat biasanya dipanggil lapisan: Bahagian 2. Mari kita bercakap sedikit tentang seni bina perisian - 6
  1. Lapisan klien ialah antara muka pengguna. Ini boleh menjadi pelayar web yang mana halaman HTML dihantar, atau aplikasi GUI yang ditulis menggunakan JavaFX. Perkara utama ialah dengan bantuannya pengguna boleh menghantar permintaan ke pelayan dan memproses responsnya.

  2. Lapisan logik ialah pelayan di mana permintaan/tindak balas diproses. Ia sering juga dipanggil lapisan pelayan. Semua operasi logik juga berlaku di sini: pengiraan matematik, operasi data, panggilan ke perkhidmatan lain atau storan data.

  3. Lapisan data ialah pelayan pangkalan data: pelayan kami mengaksesnya. Lapisan ini menyimpan semua maklumat yang diperlukan yang digunakan oleh aplikasi semasa operasi.

Oleh itu, pelayan kami memikul semua kewajipan untuk mengakses data, tanpa membenarkan pengguna mengaksesnya secara langsung.

Faedah seni bina tiga peringkat

Menggunakan seni bina sedemikian, kami mendapat banyak kelebihan, termasuk:
  1. Keupayaan untuk membina perlindungan terhadap suntikan SQL ialah serangan pada pelayan di mana kod SQL dihantar, dan apabila kod ini dilaksanakan, penyerang boleh menjejaskan pangkalan data kami.

  2. Persempadanan data yang kami mahu mengawal akses pengguna.

  3. Keupayaan untuk mengubah suai data sebelum menghantarnya kepada pelanggan.

  4. Skalabiliti - keupayaan untuk mengembangkan aplikasi kami ke beberapa pelayan yang akan menggunakan pangkalan data yang sama.

  5. Lebih sedikit keperluan untuk kualiti sambungan pengguna. Apabila menjana respons pada pelayan, kami sering mengambil banyak maklumat yang berbeza daripada pangkalan data, memformatkannya, meninggalkan hanya apa yang diperlukan pengguna. Dengan cara ini kami mengurangkan jumlah maklumat yang kami hantar sebagai respons kepada pelanggan.

Berapa kerap anda perlu menggunakan corak seni bina?

Jika anda biasa dengan, katakan, corak reka bentuk Kaedah Kilang , anda mungkin tertanya-tanya bila hendak menggunakannya. Kadangkala sukar untuk memutuskan perkara yang perlu dilakukan: cipta objek menggunakan operator baharu atau menggunakan kaedah kilang. Tetapi lama-kelamaan, pemahaman datang. Dengan corak seni bina, keadaannya sedikit berbeza. Rangka kerja perusahaan direka bentuk untuk pengaturcara menggunakannya untuk mencipta projek berdasarkan beberapa corak yang diterima umum. Oleh itu, sebelum mempelajari Rangka Kerja Spring, anda pastinya perlu memahami apa itu seni bina pelayan-pelanggan, seni bina tiga peringkat dan seni bina MVC. Jangan risau: kita akan bercakap tentang seni bina MVC kemudian. Bahagian 1. Perkara yang anda perlu tahu sebelum mempelajari Spring dan JavaEE Bahagian 3. Protokol HTTP/HTTPS Bahagian 4. Asas Maven Bahagian 5. Servlets. Menulis aplikasi web ringkas Bahagian 6. Bekas Servlet Bahagian 7. Memperkenalkan corak MVC (Model-View-Controller) Bahagian 8. Menulis aplikasi spring-boot kecil
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION