JavaRush /Blog Jawa /Random-JV /Part 2. Ayo dadi pirembagan sethitik babagan arsitektur s...

Part 2. Ayo dadi pirembagan sethitik babagan arsitektur software

Diterbitake ing grup
Materi iki minangka bagéan saka seri " Introduction to Enterprise Development ". Pérangan pisanan babagan jaringan ing kene . Part 2. Ayo dadi pirembagan sethitik babagan arsitektur software - 1Arsitèktur piranti lunak minangka struktur ing basis saka aplikasi digawe lan modul lan komponen saka kabeh program interaksi. Programer wis nyoba nggawe arsitektur sing apik kanggo wektu sing suwe, mula ora nggumunake yen saiki kita ngerti akeh pola arsitektur. Sampeyan kudu ngerti: nalika sampeyan nulis aplikasi web, masalah arsitektur dadi akut, amarga ana komponen lan modul luwih akeh tinimbang ing aplikasi biasa. Pola arsitektur minangka cara sing wis dipikirake kanggo ngrampungake sawetara masalah desain piranti lunak. Sampeyan bisa uga wis nemokake pola desain kayata Metode Pabrik, Pabrik Abstrak, Pembangun, Prototipe, Singleton, lan liya-liyane. Iki digunakake kanggo nulis kode, nggawe kelas, lan ngrancang cara interaksi. Pola arsitektur digunakake ing tingkat abstraksi sing luwih dhuwur - nalika ngrancang interaksi pangguna aplikasi karo server, data lan komponen proyek liyane. Ayo goleki sawetara cithakan lan cara nggunakake.

Arsitektur klien-server

Saka jeneng siji entuk kesan yen kabeh babagan topik iki prasaja lan jelas. Nanging ayo njlentrehake sawetara poin supaya nalika sampeyan miwiti sinau Spring kondisional, sampeyan ngerti persis apa sing kita ucapake. Contone, sampeyan nulis chatting, lan sampeyan lan kanca sampeyan miwiti nggunakake. Opsi sing gampang bisa ditindakake ing kene - sampeyan ngirim pesen menyang saben liyane kanthi langsung liwat Internet nggunakake alamat IP sing sampeyan ngerti: Part 2. Ayo dadi pirembagan sethitik babagan arsitektur software - 2Kaping pisanan, bisa uga katon kabeh mlaku, nganti kanca liyane muncul kanthi pitakonan: "Napa Apa sampeyan ora nambah aku menyang obrolan sampeyan?" Lan nalika sampeyan mutusake kanggo nambah kanca bebarengan ing obrolan, sampeyan bakal ngadhepi masalah arsitektur: saben pangguna chatting kudu nganyari informasi babagan jumlah pangguna, nambah alamat IP pangguna anyar. Lan nalika ngirim pesen, kudu dikirim menyang kabeh peserta. Iki minangka masalah sing paling jelas sing bakal muncul. Luwih akeh masalah bakal didhelikake ing kode kasebut. Kanggo nyegah, sampeyan kudu nggunakake server sing bakal nyimpen kabeh informasi babagan pangguna lan ngerti alamate. Pesen mung kudu dikirim menyang server. Lan dheweke bakal ngirim pesen menyang kabeh panampa. Nalika sampeyan arep kanggo nambah sisih server kanggo chatting, sampeyan bakal miwiti kanggo mbangun arsitektur klien-server.

Komponen arsitektur klien-server

Ayo ngerteni apa dheweke. Arsitektur klien-server minangka pola desain, basis kanggo nggawe aplikasi web. Arsitektur iki kasusun saka telung komponen: Part 2. Ayo dadi pirembagan sethitik babagan arsitektur software - 3
  1. Klien - saka jeneng dadi cetha yen iki pangguna layanan (aplikasi web) sing ngubungi server kanggo entuk sawetara informasi.

  2. Server minangka papan ing ngendi aplikasi web sampeyan utawa bagean server. Dheweke duwe informasi sing dibutuhake babagan pangguna utawa bisa njaluk. Uga, nalika klien kontak, server ngasilake informasi sing dijaluk.

  3. Jaringan kasebut prasaja: njamin pertukaran informasi antarane klien lan server.

Server bisa ngolah akeh panjalukan saka pangguna sing beda-beda. Tegese, bisa uga ana akeh klien, lan yen kudu saling tukar informasi, iki kudu ditindakake liwat server. Mangkono, server nampa siji fungsi tambahan - kontrol lalu lintas. Yen kita ngomong babagan obrolan multi pangguna sing digawe, kabeh kode program bakal kalebu rong modul:
  • klien - ngemot antarmuka grafis kanggo wewenang, ngirim / nampa pesen;

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

Part 2. Ayo dadi pirembagan sethitik babagan arsitektur software - 4Nalika kita pengin ndeleng informasi sing migunani (utawa ora migunani) ing Internet, kita mbukak browser, ngetik pitakon ing garis telusuran, lan kanggo nanggepi kita nampa informasi saka mesin telusur. Ing rantai iki, browser minangka klien kita. Iku ngirim panjalukan karo informasi bab apa kita looking for kanggo server. Server ngolah panjaluk kasebut, nemokake asil sing paling relevan, ngemas menyang format sing bisa dingerteni browser (klien) lan dikirim maneh. Ing layanan kompleks kayata mesin telusur, bisa uga ana akeh server. Contone, server wewenang, server kanggo nggoleki informasi, server kanggo ngasilake respon. Nanging klien ora ngerti apa-apa babagan iki: kanggo dheweke, server minangka sesuatu sing manunggal. Klien mung ngerti babagan titik entri, yaiku, alamat server sing kudu ngirim panjaluk kasebut. Ayo elinga aplikasi sing kita deleng ing bagean sadurunge - kanggo ngawasi suhu udara rata-rata ing kabeh negara kanthi wektu nyata. Arsitekture bakal katon kaya iki: Part 2. Ayo dadi pirembagan sethitik babagan arsitektur software - 5Aplikasi kita dumunung ing server. Ayo, saben limang detik ngirim panjalukan menyang server pusat hidrometeorologi lokal, nampa informasi saka wong-wong mau babagan suhu ing negara tartamtu, lan nyimpen informasi kasebut. Nalika klien ngubungi kita kanthi panjaluk "ndeleng suhu udhara saiki ing jagad iki," kita bakal ngasilake informasi sing disimpen paling anyar, diurutake miturut negara. Dadi, aplikasi kita minangka server (nalika ngolah panjaluk pangguna) lan klien (nalika nampa informasi saka server liyane).
Penting: konsep server ora babagan komputer tartamtu, nanging babagan hubungan antarane pelanggan jaringan .
Arsitektur klien-server sing prasaja digunakake arang banget lan mung kanggo aplikasi sing prasaja. Kanggo proyek sing gedhe lan rumit, macem-macem jinis arsitektur digunakake, sing bakal dadi luwih akrab ing mangsa ngarep. Saiki ayo goleki model sing meh padha karo model klien-server.

Arsitektur telung undakan

Iki minangka pola arsitektur sing ngenalake pemain katelu: gudang data . Nalika nggunakake pola iki, telung tingkat biasane disebut lapisan: Part 2. Ayo dadi pirembagan sethitik babagan arsitektur software - 6
  1. Lapisan klien yaiku antarmuka panganggo. Iki bisa dadi browser web sing dikirimake kaca HTML, utawa aplikasi GUI sing ditulis nganggo JavaFX. Ingkang utama yaiku kanthi bantuan pangguna bisa ngirim panjalukan menyang server lan ngolah tanggapane.

  2. Lapisan logika yaiku server ing ngendi panjalukan / respon diproses. Asring uga disebut lapisan server. Kabeh operasi logis uga dumadi ing kene: petungan matematika, operasi data, telpon menyang layanan liyane utawa panyimpenan data.

  3. Lapisan data yaiku server database: server kita ngakses. Lapisan iki nyimpen kabeh informasi sing dibutuhake sing digunakake aplikasi sajrone operasi.

Mangkono, server kita nganggep kabeh kewajiban kanggo ngakses data, tanpa ngidini pangguna ngakses langsung.

Keuntungan saka arsitektur telung tingkat

Nggunakake arsitektur kasebut, kita entuk akeh kaluwihan, kalebu:
  1. Kemampuan kanggo mbangun pangayoman marang injeksi SQL minangka serangan ing server ing ngendi kode SQL dikirim, lan nalika kode iki dieksekusi, panyerang bisa mengaruhi database kita.

  2. Delimitasi data sing pengin diatur akses pangguna.

  3. Kemampuan kanggo ngowahi data sadurunge dikirim menyang klien.

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

  5. Kurang syarat kanggo kualitas sambungan pangguna. Nalika ngasilake respon ing server, kita asring njupuk akeh informasi beda saka database, format, mung ninggalake apa sing perlu pangguna. Kanthi cara iki, kita nyuda jumlah informasi sing dikirim minangka respon marang klien.

Sepira kerepe sampeyan kudu nggunakake pola arsitektur?

Yen sampeyan wis kenal, ngomong, pola desain Pabrik Metode , sampeyan mbokmenawa kepingin weruh nalika nggunakake. Kadhangkala angel mutusake apa sing kudu ditindakake: nggawe obyek nggunakake operator anyar utawa nggunakake metode pabrik. Nanging liwat wektu, pangerten teka. Kanthi pola arsitektur, ana sing rada beda. Frameworks Enterprise dirancang kanggo programmer digunakake kanggo nggawe proyek adhedhasar sawetara pola sing ditampa umum. Mula, sadurunge sinau Spring Framework, sampeyan kudu ngerti apa arsitektur klien-server, arsitektur telung tingkat lan arsitektur MVC. Aja kuwatir: kita bakal ngomong babagan arsitektur MVC mengko. Part 1. Apa sampeyan kudu ngerti sadurunge sinau Spring lan JavaEE Part 3. HTTP / HTTPS protokol Part 4. Maven dhasar Part 5. Servlets. Nulis aplikasi web sing prasaja Part 6. Wadah Servlet Part 7. Ngenalake pola MVC (Model-View-Controller) Part 8. Nulis aplikasi spring-boot cilik
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION