KodeGym/Blog Jawa/Acak/Part 2. Ayo dadi pirembagan dicokot bab arsitektur softwa...
John Squirrels
tingkat
San Francisco

Part 2. Ayo dadi pirembagan dicokot bab arsitektur software

Diterbitake ing grup
Materi iki minangka bagéan saka seri "Introduction to Enterprise Development" . Pérangan pisanan, babagan jaringan, ana ing kene . Part 2. Ayo dadi pirembagan bab arsitektur software - 1Arsitektur piranti lunak nuduhake struktur sing digawe ing aplikasi, yaiku kabeh modul lan komponen program lan cara interaksi. Programer wis suwe ngupayakake arsitektur sing apik, mula ora kaget yen kita wis krungu akeh pola arsitektur. Sampeyan kudu ngerti: nalika nulis aplikasi web, penting banget kanggo nggawe arsitektur sing apik, amarga aplikasi web duwe komponen lan modul luwih akeh tinimbang aplikasi biasa. Pola arsitekturminangka cara sing cerdas kanggo ngatasi sawetara masalah desain piranti lunak. Sampeyan mbokmenawa wis nemokake pola desain kayata metode pabrik, pabrik abstrak, pembangun, prototipe, singleton, lan bisa uga liyane. Kita digunakake kanggo nalika nulis kode, nggawe kelas, lan planning carane kelas bakal sesambungan. Pola arsitektur digunakake ing tingkat abstraksi sing luwih dhuwur, nalika ngrancang interaksi pangguna karo server, data, lan komponen liyane. Ayo goleki sawetara pola lan cara nggunakake.

Arsitektur klien-server

Jeneng kasebut nggawe kesan yen kabeh babagan pola iki prasaja lan jelas. Nanging ayo njlentrehake sawetara poin, supaya nalika sampeyan miwiti sinau Spring sampeyan bakal ngerti apa sing diomongake. Ayo dadi ngomong sampeyan wis nulis app chatting, lan sampeyan lan kanca miwiti nggunakake. Sampeyan bisa nggunakake pendekatan sing gampang banget, ngirim pesen menyang siji liyane langsung liwat Internet nggunakake alamat IP sing dikenal: Part 2. Ayo dadi pirembagan bab arsitektur software - 2Kaping pisanan, kabeh katon apik nganti kanca-kanca liyane njaluk melu ngobrol. Dadi, nalika sampeyan mutusake kanggo nambah kanca bebarengan menyang obrolan, sampeyan bakal ngadhepi masalah arsitektur: kanggo saben peserta obrolan, sampeyan kudu menehi informasi saiki babagan jumlah pangguna, lan alamat IP pangguna anyar. Lan nalika pesen dikirim, kudu dikirim menyang kabeh peserta. Iki minangka masalah sing paling jelas sing bakal muncul. Masalah liyane bakal didhelikake ing kode kasebut. Kanggo ngindhari wong-wong mau, sampeyan kudu nggunakake server, sing bakal nyimpen kabeh informasi babagan pangguna, kalebu alamate. Pesen mung kudu dikirim menyang server. Iku, ing siji, ngirim pesen kanggo saben panampa. Nalika sampeyan mutusake kanggo nambah bagean server menyang app chatting, sampeyan wiwit mbangun arsitektur klien-server.

Komponen arsitektur klien-server

Ayo ndeleng apa iku kabeh babagan. Arsitektur klien-server minangka pola desain sing digunakake kanggo nggawe aplikasi web. Arsitektur iki kasusun saka telung komponen: Part 2. Ayo dadi pirembagan bab arsitektur software - 3
  1. Klien - Saka jenenge, kita bisa ngerteni manawa komponen iki nggunakake sawetara layanan (aplikasi web), ngubungi server kanggo njaluk sawetara informasi.

  2. Server - Iki ngendi aplikasi web sampeyan utawa bagean server dumunung. Iki nyimpen informasi pangguna sing dibutuhake utawa bisa njaluk. Kajaba iku, nalika klien ngirim panjalukan, iku server sing ngasilake informasi sing dijaluk.

  3. Jaringan - Bagean iki prasaja. Iku nggampangake ijol-ijolan informasi antarane klien lan server.

Server bisa nangani akeh panjalukan saka pangguna sing beda-beda. Iki tegese ana bisa akeh klien. Yen padha kudu ijol-ijolan informasi antarane piyambak, iki kudu kelakon liwat server. Mangkono, server nduweni fungsi liyane: kontrol lalu lintas. Kaya sing ana gandhengane karo program obrolan multi pangguna, kabeh aplikasi bakal kalebu rong modul:
  • modul klien - ngemot antarmuka grafis kanggo mlebu lan ngirim / nampa pesen

  • modul server — aplikasi web sing di-host ing server lan nampa pesen saka pangguna, ngolah, banjur dikirim menyang panampa

Part 2. Ayo dadi pirembagan bab arsitektur software - 4Nalika kita pengin ndeleng informasi sing migunani (utawa ora banget migunani) ing Internet, kita mbukak browser, ngetik pitakon ing garis telusuran, lan entuk informasi saka mesin telusur kanggo nanggepi. Ing rantai iki, browser minangka klien. Iku ngirim panjalukan karo informasi bab apa kita looking for kanggo server. Server ngolah panjaluk kasebut, nemokake asil sing paling relevan, ngemas ing format sing bisa dingerteni browser (klien) lan dikirim maneh. Layanan rumit kaya mesin telusur bisa duwe akeh server. Contone, server wewenang, server kanggo nemokake informasi, server kanggo ngasilake respon, lan liya-liyane Nanging klien ora ngerti lan ora peduli babagan iki: kanggo klien, server minangka entitas sing manunggal. Klien mung ngerti babagan titik mlebu, yaiku, alamat server sing ngirim panjalukan. Elinga aplikasi sing kita sinaonibagean sadurunge seri iki . Iki kanggo ngawasi suhu udara rata-rata ing kabeh negara kanthi wektu nyata. Arsitekture katon kaya iki: Part 2. Ayo dadi pirembagan bab arsitektur software - 5Aplikasi kita ana ing server. Ayo dadi ngomong sing saben limang detik ngirim panjalukan kanggo server dilakokno dening stasiun meteorologi lokal, nampa informasi suhu kanggo negara tartamtu saka server, lan nyimpen informasi iki. Nalika klien njaluk kita "ndeleng suhu udhara saiki ing donya", kita ngasilake informasi sing paling anyar sing disimpen, diurutake miturut negara. Mangkono, aplikasi kita tumindak minangka server (nalika ngolah panjaluk pangguna) lan klien (nalika nampa informasi saka server liyane).
Iki minangka titik penting: konsep server ora babagan komputer tartamtu, nanging babagan hubungan antarane entitas jaringan .
Arsitektur klien-server sing prasaja digunakake arang banget lan mung kanggo aplikasi sing prasaja. Kanggo proyek sing gedhe banget lan rumit, kita nggunakake arsitektur sing beda-beda, sing bakal ditemokake ing mangsa ngarep. Saiki ayo goleki model sing meh padha karo arsitektur klien-server.

Arsitektur telung tingkat

Iki minangka pola arsitektur sing ngenalake modul katelu - panyimpenan data . Ing pola iki, telung tingkat biasane disebut lapisan utawa undakan: Part 2. Ayo dadi pirembagan bab arsitektur software - 6
  1. Lapisan klien yaiku antarmuka panganggo, uga disebut tingkat presentasi. Bisa dadi browser web sing nampa kaca HTML, utawa antarmuka panganggo grafis sing ditulis nganggo JavaFX. Sing utama yaiku lapisan iki ngidini pangguna ngirim panjaluk menyang server lan ngolah tanggapane.

  2. Lapisan logika yaiku server sing ngolah panjaluk / tanggapan. Asring uga disebut lapisan server. Iki uga ing ngendi kabeh operasi logis ditindakake: petungan matematika, operasi data, telpon menyang layanan liyane utawa panyimpenan data, lsp.

  3. Lapisan data yaiku server database: server kita sesambungan karo. Lapisan iki nyimpen kabeh informasi sing dibutuhake supaya aplikasi bisa digunakake.

Mangkono, server kita nganggep kabeh tanggung jawab kanggo ngakses data lan ora ngidini pangguna ngakses langsung.

Kaluwihan saka arsitektur telung undakan

Arsitektur kaya iki menehi akeh kaluwihan, kalebu:
  1. Kemampuan kanggo nglindhungi injeksi SQL (iki minangka serangan ing server; kalebu ngirim kode SQL sing, nalika dieksekusi, ngidini panyerang mengaruhi database kita).

  2. Pemisahan data sing pengin kita kontrol akses pangguna.

  3. Kemampuan kanggo ngowahi data sadurunge dikirim menyang klien.

  4. Skalabilitas (kemampuan kanggo nggedhekake aplikasi kita menyang macem-macem server sing bakal nggunakake database sing padha.

  5. Persyaratan sing kurang ketat babagan kualitas sambungan pangguna. Nalika ngasilake respon ing server, kita kerep entuk akeh informasi sing beda saka database lan format, mung ninggalake apa sing dibutuhake pangguna. Mengkono iki nyuda jumlah informasi sing dikirim ing respon kanggo klien.

Sepira kerepe pola arsitektur kudu digunakake?

Yen sampeyan wis kenal, ngomong, pola desain metode pabrik , sampeyan bisa uga kepingin weruh nalika nggunakake. Kadhangkala angel kanggo mutusake apa sing kudu ditindakake: nggawe obyek nggunakake operator anyar utawa nggunakake metode pabrik. Nanging liwat wektu, pangerten teka. Bab-bab sing rada beda nalika nerangake pola arsitektur. Kerangka perusahaan dirancang kanggo ngidini programmer nggawe proyek adhedhasar sawetara pola sing ditampa umum. Mula, sadurunge sinau Spring Framework, sampeyan kudu ngerti arsitektur klien-server, arsitektur telung tingkat lan arsitektur MVC. Aja kuwatir: kita bakal ngomong babagan arsitektur MVC. Part 3. HTTP / HTTPS Part 4. Dasar Maven Part 5. Servlets lan Java Servlet API. Nulis aplikasi web sing prasaja Part 6. Wadah Servlet Part 7. Ngenalake pola MVC (Model-View-Controller)
Komentar
  • Popular
  • Anyar
  • lawas
Sampeyan kudu mlebu kanggo ninggalake komentar
Kaca iki durung duwe komentar