Kajian interaksi rangkaian dalam seni bina klien-pelayan. Seni bina pelanggan-pelayan: ciri interaksi. Tahap lwn Lapisan

DB DALAM SENIBINA PELAYANAN KLIEN

Rangka kuliah

1. Pelanggan dan pelayan rangkaian tempatan

2. Seni bina sistem pelayan-pelanggan

3. Model beban kerja dalam seni bina klien/pelayan

4. Tahap dan model seni bina pelayan-pelanggan

T. Connolly. Pangkalan data. Reka bentuk, pelaksanaan dan sokongan. Teori dan amalan.: Terjemah. dari bahasa Inggeris – M.: Rumah penerbitan. Rumah Williams, 2006. - 1440 p.

1 Pelanggan dan pelayan rangkaian tempatan

Penggunaan meluas rangkaian komputer tempatan adalah berdasarkan idea perkongsian sumber yang terkenal. Perkembangan idea ini membawa kepada pemisahan fungsi komponen rangkaian: stesen kerja dan pelayan rangkaian tempatan. Pelayan rangkaian tempatan (pelayan) menyediakan sumber (perkhidmatan) kepada stesen kerja dan/atau pelayan lain. Stesen kerja (pelanggan) - komputer yang menyediakan akses kepada sumber rangkaian yang disediakan oleh pelayan.

Oleh kerana tumpuan kepada pendekatan sistem terbuka, adalah lebih tepat untuk bercakap tentang pelayan logik (bermaksud satu set sumber dan perisian yang menyediakan perkhidmatan ke atas sumber ini). Contoh pelayan logik termasuk:

· pelayan fail yang mengekalkan storan fail biasa untuk semua stesen kerja dan, sekiranya terdapat permintaan, keseluruhan fail atau data disalin ke komputer yang meminta;

· pelayan aplikasi menjalankan bahagian aplikasi aplikasi pelayan-pelanggan, dan juga mengandungi data yang tersedia untuk pelanggan;

2 Seni bina sistem pelayan-pelanggan

Prinsip asas seni bina sistem pelayan-pelanggan adalah seperti berikut: IS dibahagikan kepada dua bahagian, yang boleh dilaksanakan dalam nod rangkaian yang berbeza - bahagian klien dan pelayan.

Bahagian pelayan beroperasi pada kompleks perkakasan khusus, yang merangkumi perkakasan berkuasa, set perisian standard yang diperlukan, sistem pengurusan pangkalan data dan pangkalan data.

Program aplikasi atau pengguna akhir berinteraksi dengan pihak pelanggan sistem yang, dalam kes paling mudah, hanya menyediakan antara muka lebih rangkaian. Bahagian klien aplikasi beroperasi di tempat kerja pengguna, yang dalam kebanyakan kes adalah komputer peribadi.

Bahagian klien sistem, jika perlu, mengakses bahagian pelayan melalui rangkaian (tempatan atau global). Pada masa yang sama, dari sudut pandangan klien dan pelayan, interaksi dilakukan secara telus. Komponen rangkaian, melaksanakan interaksi ini termasuk keseluruhan yang diperlukan peralatan rangkaian, satu set teknologi perisian yang memastikan pemindahan data antara nod rangkaian, serta lapisan perisian antara muka sebenar (protokol atau protokol) untuk bertukar-tukar permintaan dan hasil pelaksanaannya. Sebagai antara muka utama antara pelanggan dan bahagian pelayan Bahasa pangkalan data ialah SQL.

Paling bentuk mudah Seni bina pelayan-pelanggan ialah pembahagian beban pengkomputeran antara dua proses berasingan: klien dan pelayan. Selain itu, lima kumpulan fungsi aplikasi interaktif standard diedarkan antara dua proses ini:

1) fungsi dialog (Logik Persembahan, PL) atau komponen visualisasi. Komponen visualisasi tugas aplikasi menyediakan input maklumat oleh pengguna menggunakan cara tertentu, serta memaparkan maklumat pada skrin dan percetakan. Komponen visualisasi untuk seni bina pelayan-pelanggan sentiasa dilaksanakan di stesen kerja pengguna (kerana dia mesti memerhati sebarang hasil program). Untuk mengatur logik pembentangan, model antara muka pengguna grafik GUI (Grafik Antaramuka Pengguna) atau antara muka Web digunakan terutamanya;

2) fungsi aplikasi atau ini adalah sebahagian daripada kod aplikasi dengan algoritma pemprosesan data (Business Logic, BL). Komponen logik yang digunakan sebenarnya menyelesaikan satu atau masalah lain yang berkaitan dengan pemprosesan data dalam satu atau yang lain bidang subjek dan mewakili algoritma untuk respons aplikasi terhadap tindakan pengguna atau peristiwa dalaman, peraturan pemprosesan data. Komponen ini boleh diagihkan antara bahagian klien dan pelayan dalam pelbagai cara bergantung kepada model yang digunakan. Biasanya kod ini diprogramkan dalam bahasa pengaturcaraan tahap tinggi: C, C++, Visual Basic, Objek Pascal, dsb.;

3) fungsi pemprosesan data dalam aplikasi (Logik Pangkalan Data, DL) - ini adalah bahagian kod aplikasi yang dikaitkan dengan mendapatkan dan memanipulasi data (DBMS sendiri menguruskan data). Subbahasa ialah SQL.

Struktur aplikasi pelanggan-pelayan biasa

4) fungsi kawalan sumber maklumat(Sistem Pengurus Pangkalan Data, DBMS). Komponen storan pangkalan data menjalankan operasi fizikal yang berkaitan dengan menyimpan data, membaca maklumat daripada pangkalan data dan menulis kepadanya, berkaitan dengan tugas aplikasi yang diselesaikan oleh aplikasi. Dalam seni bina pelayan-pelanggan, komponen ini sentiasa berjalan pada pelayan;

5) fungsi perkhidmatan yang memainkan peranan penghubung antara kumpulan fungsi sebelumnya.

3 Model beban kerja dalam seni bina klien/pelayan

Sistem "pelayan-pelanggan" boleh bergantung pada beberapa jenis pengagihan tanggungjawab antara pelanggan dan pelayan:

· pelanggan “pintar” (pelanggan tebal - pelayan nipis);

· pelayan “pintar” (klien nipis - pelayan tebal);

· sistem bercampur;

· sistem pelbagai peringkat.

DIV_ADBLOCK80">

Pelayan "Pintar".. Dengan memindahkan semua peraturan perniagaan ke SQL Server, di mana ia dilaksanakan dalam bentuk prosedur tersimpan dan pencetus pangkalan data, pelayan "pintar" dicipta; pelayan juga bertanggungjawab untuk menyimpan dan mengendalikan pangkalan data. Kepintaran pelayan juga menunjukkan dirinya dalam keupayaan untuk memanipulasi data (melaksanakan pertanyaan SQL) dan mengembalikan set data yang terhasil kepada klien.

Hanya logik pembentangan data dilaksanakan pada komputer klien.

Kelebihan:

· meningkatkan prestasi sistem maklumat: logik perniagaan berjalan dalam ruang alamat yang sama dengan kod akses pangkalan data, dan, sebagai tambahan, disepadukan rapat dengan mekanisme carian data. Ini bermakna bahawa data tidak perlu dipindahkan atau disalin sebelum diproses, bermakna trafik rangkaian diminimumkan;

· lebih mudah untuk memastikan integriti data pada pelayan;

· jika perlu, logik perniagaan diubah suai secara berpusat, tanpa menukar pelanggan.

Kelemahan:

· meningkatkan permintaan terhadap sumber pelayan, di mana semua permintaan dan manipulasi data dilakukan.

Sistem bercampur. Pilihan bercampur juga mungkin, dengan kelebihan kedua-dua pelayan pintar dan pelanggan pintar. DBMS, logik manipulasi data dan bahagian logik perniagaan yang biasa kepada kebanyakan pelanggan biasanya digunakan pada pelayan. Logik pembentangan data dan sebahagian daripada logik perniagaan yang khusus untuk klien ini digunakan pada klien.

Kelebihan sistem campuran:

· kod pelayan tersedia secara serentak kepada banyak pelanggan, yang mengurangkan overhed apabila melaksanakan permintaan yang serupa;

· prestasi pelanggan kurang bergantung pada trafik rangkaian.

Kelemahan:

· logik perniagaan diedarkan antara pelanggan dan pelayan, dan apabila memodenkan aplikasi, adalah perlu untuk mengedarkan versi baharu bahagian pelanggan kepada khalayak yang luas.

Sistem pelbagai peringkat(kadang-kadang dipanggil tiga peringkat) membolehkan anda memisahkan antaramuka pengguna, peraturan perniagaan dan pangkalan data. Dalam sistem berbilang peringkat, peraturan perniagaan diletakkan pada pelayan aplikasi − komponen perisian, yang diletakkan di antara pelayan pangkalan data dan pelanggan. Pelanggan hanya bertanggungjawab untuk antara muka pengguna, pelayan pangkalan data bertanggungjawab untuk penyelenggaraan dan operasi pangkalan data itu sendiri. Middleware ialah pelayan untuk pengguna dan pelanggan untuk sistem pengurusan pangkalan data. Pelanggan, jika perlu, beralih kepada pelayan aplikasi, yang seterusnya bertukar kepada pelayan pangkalan data untuk data yang diperlukan untuk melaksanakan permintaan pelanggan.

Kelebihan sistem pelbagai peringkat:

· pengasingan komponen antara muka, peraturan perniagaan dan penyimpanan data, yang meningkatkan prestasi pelayan pangkalan data dan perlindungannya daripada capaian yang tidak dibenarkan;

· pengubahsuaian berpusat peraturan perniagaan;

Kelemahan:

· trafik rangkaian meningkat.

· sistem sedemikian jauh lebih sukar untuk dibangunkan, dilaksanakan dan dikendalikan serta memerlukan kos yang besar dan kakitangan yang berkelayakan tinggi.

4 Tahap dan model seni bina"pelayan pelanggan"

Dari segi kuantiti komponen sistem pelanggan-pelayan dibahagikan kepada dua peringkat dan tiga peringkat.

Sistem dua peringkat hanya terdiri daripada klien dan pelayan. Model seni bina pelayan-pelanggan dua peringkat termasuk:

1) model pelayan fail (model FS);

2) model capaian jauh (model RDA);

3) model pelayan aktif (model DBS).

Model tiga peringkat diwakili oleh jenis seni bina pelayan-klien berdasarkan skema pelayan aplikasi-klien. Seni bina ini membolehkan pengedaran fungsi sistem dan beban yang lebih fleksibel antara komponen perkakasan dan kompleks perisian, dan juga boleh mengurangkan keperluan sumber untuk stesen kerja pengguna.

Seni bina pelayan fail

Dalam seni bina "pelayan fail" (Pelayan Fail, model FS), semua fungsi utama aplikasi sistem maklumat (logik persembahan, logik perniagaan dan pemprosesan dan fungsi pengurusan data) terletak pada klien (Rajah 2).

Pelayan mengandungi fail data dan menyokong akses kepada fail.

Dalam model ini, pelanggan menghubungi pelayan dengan permintaan untuk data. Permintaan pelanggan dirumuskan dalam arahan NMD. DBMS menterjemah permintaan ini ke dalam urutan perintah fail, Sistem Pengurusan Fail (FMS) membaca data yang diminta daripada pangkalan data dan memindahkan blok data ini demi blok ke aplikasi klien, kemudian klien DBMS menganalisis maklumat yang diterima, dan jika blok yang diterima tidak mengandungi jawapan kepada permintaan, maka keputusan dibuat tentang mengepam blok maklumat seterusnya, dll. Malah, model FS menganggap operasi autonomi perisian IP dihidupkan kereta yang berbeza dalam talian. Komponen IS berinteraksi hanya disebabkan oleh kehadiran storan kongsi data. Sudah tentu, storan sedemikian hendaklah pangkalan data yang direka bentuk dengan baik yang diuruskan oleh DBMS yang menyokong model FS, contohnya, Informix SE DBMS. DBMS jenis ini tidak boleh dianggap sebagai "pelayan sebenar".

Model Seni Bina Pelayan Fail

Apabila menggunakan model FS, salinan DBMS dibuat untuk setiap sesi yang dimulakan pengguna dengan DBMS, yang berjalan pada pemproses yang sama dengan proses pengguna.

Secara umum, dalam seni bina IS pelayan fail kami mempunyai klien "tebal" dan pelayan yang sangat "nipis" dalam erti kata bahawa hampir semua kerja dilakukan pada bahagian klien, dan pelayan hanya memerlukan kapasiti memori cakera yang mencukupi.

Kelemahan seni bina pelayan fail termasuk:

· trafik rangkaian tinggi, yang dikaitkan dengan penghantaran melalui rangkaian banyak blok dan fail yang diperlukan oleh aplikasi klien;

· bilangan terhad perintah manipulasi data, sebenarnya ini hanyalah arahan fail;

· prestasi rendah (bergantung kepada prestasi rangkaian, pelayan, pelanggan);

· keupayaan lemah untuk menyambungkan pelanggan baharu;

· kekurangan alat perlindungan data yang dibangunkan (hanya pada peringkat sistem fail).

Kelebihan yang tidak diragui termasuk

· kecekapan tinggi bekerja dengan jilid kecil data dalam mod pengguna tunggal.

· kemudahan kawalan akses berpusat;

· kos rendah pembangunan;

· kelajuan tinggi pembangunan;

· Tidak harga tinggi kemas kini perisian dan perubahan.

Model FS tidak sesuai dengan idea moden tentang teknologi pelayan-pelanggan dalam pengertian yang diterima umum, oleh itu, kaedah mengatur pengkomputeran teragih ini dianggap sebagai seni bina pelayan fail yang berasingan.

Model capaian jauh kepada data RDA ( Jauh Data Akses , RDA )

Dari segi sejarah, model ini adalah yang pertama dibangunkan. Dalam model ini, bahagian pelayan hanya menyimpan data, teras DBMS juga terletak di sini dan logik manipulasi data dilaksanakan, dan bahagian klien melaksanakan semua logik aplikasi. Dalam kes ini, pelanggan akan menghantar permintaan kepada pelayan untuk mendapatkan data, dan pelayan akan mengembalikan sampel tertentu kepada pelanggan. Cara komunikasi yang paling biasa antara klien dan pelayan dalam kes ini ialah SQL ( bahasa berstruktur pertanyaan) ialah bahasa bukan prosedur standard yang memfokuskan pada pemprosesan data.

Pelanggan telah kehilangan berat badan dengan ketara berbanding model FS, tetapi fungsi pelayan telah berkembang dengan ketara, trafik rangkaian telah menurun, dan kelebihan terpenting model RDA: bahasa SQL telah muncul dengan set definisi data dan manipulasi data yang diperluaskan. arahan, yang menyatukan antara muka pelanggan-pelayan.

Model Seni Bina Capaian Data Jauh

Kelebihan model RDA:

· memindahkan Logik Perniagaan kepada pelanggan dengan ketara melegakan pelayan pangkalan data, meminimumkan jumlah proses dalam sistem pengendalian;

· pelayan pangkalan data dibebaskan daripada fungsi yang luar biasa untuknya, yang bermaksud pemproses boleh dimuatkan sepenuhnya dengan operasi untuk memproses pertanyaan, data dan transaksi;

· beban rangkaian dikurangkan secara mendadak, kerana tidak permintaan untuk input/output dalam terminologi fail dihantar melaluinya daripada pelanggan ke pelayan, tetapi permintaan untuk SQL, dan volumnya berkurangan dengan ketara. Sebagai tindak balas kepada permintaan, pelanggan hanya menerima data relevan dengan permintaan, dan bukan blok fail, seperti dalam model FS.

Kelemahan model RDA:

· trafik rangkaian masih tinggi, terutamanya apabila kuantiti yang besar pelanggan dan mereka kerja intensif secara interaktif;

· pertindihan kod aplikasi yang berlebihan, contohnya mengulangi logik perniagaan untuk setiap pelanggan;

· meningkatkan kerumitan aplikasi pelanggan dari segi kawalan ke atas sumber maklumat. Pelayan memainkan peranan pasif. Sesungguhnya, sebagai contoh, jika kita perlu memantau stok keselamatan barang di dalam gudang, maka setiap aplikasi yang dikaitkan dengan perubahan dalam keadaan gudang, selepas melakukan operasi pengubahsuaian data yang mensimulasikan penjualan atau pengalihan barang dari gudang, mesti melakukan semakan untuk jumlah baki, dan sekiranya , jika ia kurang daripada stok keselamatan, buat permintaan yang sepadan untuk pembekalan barang yang diperlukan. Ini merumitkan aplikasi pelanggan

Model pelayan pangkalan data (kadangkala dipanggil pelayan aktif)

Model pelayan (Pelayan Pangkalan Data, DBS) ialah konsep mengikut mana komponen aplikasi (logik perniagaan) terletak sebahagian atau sepenuhnya pada pelayan pangkalan data (Rajah 4). Logik perniagaan dilaksanakan dalam bentuk unit program tersimpan (SPU), pencetus, dan jenis data tersuai, yang disimpan dalam pangkalan data dan diuruskan oleh pelayan. Pangkalan data juga mengumpul data dan membentuk pangkalan data metadata (MDB). Aplikasi klien menghubungi pelayan dengan arahan untuk melancarkan PrE, dan pelayan, jika perlu, melaksanakannya dan merekodkan perubahan dalam pangkalan data. Pelayan mengembalikan hasil permintaan kepada klien sama ada untuk output ke peranti persisian atau untuk melaksanakan sebahagian daripada logik perniagaan yang terletak pada klien. Dengan kaedah pengedaran pemprosesan data ini, trafik rangkaian berkurangan secara mendadak.

Pencetus ialah mekanisme untuk menjejaki peristiwa khas yang dikaitkan dengan keadaan pangkalan data. Pencetus dalam pangkalan data adalah seperti suis togol yang dicetuskan apabila peristiwa tertentu berlaku dalam pangkalan data. Kernel DBMS memantau semua peristiwa yang menyebabkan pencetus dicipta dan diterangkan dalam pangkalan data, dan apabila peristiwa yang sepadan berlaku, pelayan melancarkan pencetus yang sepadan => pencetus ialah program yang berjalan pada pangkalan data dan memanggil prosedur tersimpan.

Model pelayan ini aktif kerana bukan sahaja klien, malah pelayan itu sendiri menggunakan mekanisme pencetus.
Kelebihan:

Model DBS disokong oleh kebanyakan DBMS moden: Oracle, Sybase, Ingres, Informix, MS SQL Server, walaupun kefungsian mereka mempunyai yang berbeza.


Kelebihan model DBS:

· kemungkinan pentadbiran berpusat fungsi aplikasi;

· pengurangan trafik rangkaian disebabkan oleh keupayaan panggilan prosedur jauh;

· keupayaan untuk memisahkan prosedur oleh beberapa aplikasi dan menjimatkan sumber komputer dengan menggunakan pelan pelaksanaan pertanyaan SQL yang dibuat sekali. (memandangkan prosedur tersimpan dan pencetus disimpan dalam kamus pangkalan data dan boleh digunakan oleh beberapa pelanggan => pertindihan algoritma pemprosesan data dalam aplikasi klien yang berbeza dikurangkan).

Kelemahan:

Fungsi pelayan:

1. Memantau peristiwa yang berkaitan dengan pencetus yang diterangkan;

2. Menyediakan pengaktifan automatik pencetus apabila peristiwa berkaitan berlaku;

3. Memastikan pelaksanaan program dalaman setiap pencetus;

4. Menjalankan prosedur tersimpan berdasarkan permintaan pengguna;

5. Melancarkan prosedur tersimpan daripada pencetus;

6. Mengembalikan data yang diperlukan kepada pelanggan;

7. Menyediakan semua fungsi DBMS: akses kepada data, kawalan dan penyelenggaraan integriti data dalam pangkalan data, kawalan akses, memastikan operasi yang betul bagi semua pengguna dengan pangkalan data tunggal.

Sesungguhnya, pelayan melaksanakan satu set fungsi yang besar dan melayani ramai pelanggan. Untuk memunggah pelayan, model berbilang peringkat dan, khususnya, model tiga peringkat telah dibangunkan.

Pelayan aplikasi

Pelayan aplikasi (Permohonan pelayan, AS) - sejenis seni bina pelayan pelanggan berbilang peringkat berdasarkan skema pelayan aplikasi klien.

Model ini memperkenalkan lapisan perantaraan tambahan antara klien dan pelayan. Peringkat pertengahan ini mengandungi satu atau lebih pelayan aplikasi. Oleh itu nama yang sama - "model pelayan aplikasi" AS (Pelayan Aplikasi).

Dalam model ini, semua komponen IS dibahagikan antara tiga pemain.

Pelanggan melaksanakan antara muka pengguna, menyediakan logik pembentangan aplikasi, melancarkan setempat mesin pelanggan kod aplikasi klien yang melaksanakan fungsi komunikasi untuk mengakses tempatan atau rangkaian global, antara muka kebenaran, algoritma penyulitan, menyemak nilai input untuk kesahihan dan pematuhan dengan format, operasi mudah (mengisih, mengumpulkan, mengira nilai) dengan data yang telah dimuatkan pada komponen antara muka (biasanya grafik), iaitu, aplikasi itu sendiri untuk pengguna akhir. Pelanggan dan pelayan aplikasi berkomunikasi menggunakan API, dan pelayan aplikasi dan pelayan pangkalan data berkomunikasi menggunakan bahasa pertanyaan SQL.

Model pelayan aplikasi

Pelayan aplikasi melaksanakan peraturan perniagaan yang paling biasa, menyokong persekitaran domain dan memastikan pertukaran mesej antara komponen aplikasi. Fungsi aplikasi pelayan aplikasi direka bentuk sebagai perkhidmatan atau perkhidmatan berasingan (Perkhidmatan). Perkhidmatan ini menyediakan beberapa perkhidmatan kepada semua program yang bersedia dan boleh menggunakannya. Dalam seni bina IS, boleh terdapat beberapa pelayan aplikasi, dan setiap daripada mereka menyediakan set perkhidmatan tertentu. Sebarang program yang menggunakannya dianggap sebagai klien pelayan aplikasi AC (Application Client). Butiran pelaksanaan fungsi aplikasi dalam pelayan aplikasi disembunyikan sepenuhnya daripada klien aplikasi. AS membuat permintaan kepada perkhidmatan tertentu, dan bukan kepada AS. Permintaan dibariskan ke proses AS, yang menghantarnya kepada perkhidmatan tertentu untuk diproses mengikut keutamaan yang ditetapkan.

Pelayan pangkalan data dalam model ini berurusan secara eksklusif dengan fungsi DBMS.

Dalam konfigurasi yang paling mudah, pelayan aplikasi boleh digabungkan secara fizikal dengan pelayan pangkalan data pada satu komputer, yang mana satu atau lebih pelanggan disambungkan melalui rangkaian.

Dalam konfigurasi "betul" (dari sudut pandangan keselamatan, kebolehpercayaan, penskalaan), pelayan pangkalan data terletak pada komputer khusus (atau kluster), yang mana satu atau lebih pelayan aplikasi disambungkan melalui rangkaian, yang mana, seterusnya, pelanggan disambungkan melalui rangkaian.

Kelebihan model AS:

· meningkatkan produktiviti dengan memunggah pelayan;

Mengurangkan kos operasi IP;

· keupayaan untuk merumitkan logik perniagaan tanpa kehilangan prestasi;

· meningkatkan sifat mudah alih dan kebolehskalaan IS melalui penggunaan bahasa standard pengaturcaraan, contohnya C, C++, Borland Pascal, Small Talk, Java, untuk melaksanakan kebanyakan logik perniagaan.

· perisian pelanggan tidak memerlukan pentadbiran;

· kebolehkonfigurasian – pengasingan tahap antara satu sama lain membolehkan anda mengkonfigurasi semula sistem dengan cepat dan mudah apabila kegagalan berlaku atau apabila penyelenggaraan berjadual pada salah satu peringkat;

· keselamatan yang tinggi;

· kebolehpercayaan yang tinggi;

· keperluan rendah untuk kelajuan saluran (rangkaian) antara pelanggan dan pelayan aplikasi;

keperluan prestasi rendah dan spesifikasi teknikal pelanggan, akibatnya nilai mereka berkurangan.

Kelemahan:

· kerumitan bahagian pelayan dan, akibatnya, kos pentadbiran dan penyelenggaraan semakin meningkat;

· kerumitan yang lebih tinggi untuk mencipta aplikasi;

· lebih sukar untuk digunakan dan ditadbir;

· keperluan yang tinggi kepada prestasi pelayan aplikasi dan pelayan pangkalan data, dan, oleh itu, kos yang tinggi peralatan pelayan;

· keperluan tinggi untuk kelajuan saluran (rangkaian) antara pelayan pangkalan data dan pelayan aplikasi.

Seni bina sistem Web yang popular pada masa ini boleh diwakili dalam versi tiga peringkat.

Sebagai peraturan, komputer dan program yang merupakan sebahagian daripada sistem maklumat adalah tidak sama. Sebahagian daripada mereka memiliki sumber (sistem fail, pemproses, pencetak, pangkalan data, dll.), yang lain mempunyai keupayaan untuk mengakses sumber ini. Komputer (atau program) yang menguruskan sumber dipanggil pelayan sumber itu (pelayan fail, pelayan pangkalan data, pelayan pengkomputeran...). Pelanggan dan pelayan mana-mana sumber boleh didapati sama ada pada komputer yang sama atau pada pelbagai komputer disambungkan oleh rangkaian.

Dalam rangka perwakilan berbilang peringkat sistem pengkomputeran, tiga kumpulan fungsi boleh dibezakan, memberi tumpuan kepada menyelesaikan pelbagai subtugas:

  1. input data dan fungsi paparan (menyediakan interaksi pengguna);
  2. fungsi yang digunakan khusus untuk bidang subjek tertentu;
  3. fungsi pengurusan sumber ( sistem fail, pangkalan data, dsb.)

Rajah 1. Komponen Aplikasi Rangkaian

Pelaksanaan fungsi ini terutamanya disediakan oleh perisian, yang boleh diwakili dalam bentuk komponen yang saling berkaitan (), di mana:

  • komponen lihat bertanggungjawab untuk antara muka pengguna;
  • komponen aplikasi melaksanakan algoritma untuk menyelesaikan masalah tertentu;
  • komponen kawalan sumber menyediakan akses kepada sumber yang diperlukan.

Sistem kendiri (komputer yang tidak disambungkan ke rangkaian) mewakili semua komponen ini, kedua-duanya pada pelbagai peringkat (OS, perisian utiliti dan utiliti, perisian aplikasi) dan pada peringkat aplikasi (bukan tipikal untuk program moden). Rangkaian adalah sama - ia mewakili semua komponen ini, tetapi, secara umum, diedarkan antara nod. Tugas datang untuk memastikan rangkaian antara komponen ini.

Seni bina pelayan-pelanggan mentakrifkan prinsip umum mengatur interaksi dalam rangkaian di mana terdapat pelayan, nod menyediakan beberapa fungsi tertentu (perkhidmatan) dan pelanggan, pengguna fungsi ini.

Pelaksanaan praktikal seni bina sedemikian dipanggil teknologi pelanggan-pelayan. Setiap teknologi mentakrifkan sendiri atau menggunakan peraturan sedia ada untuk interaksi antara klien dan pelayan, yang dipanggil protokol pertukaran (protokol interaksi).

Dalam mana-mana rangkaian (walaupun peer-to-peer), yang dibina di atas teknologi rangkaian moden, terdapat elemen interaksi pelanggan-pelayan, selalunya berdasarkan seni bina dua peringkat. Ia dipanggil dua peringkat (dua peringkat, 2 peringkat) kerana keperluan untuk pengedaran tiga asas komponen antara dua nod(pelanggan dan pelayan).

Rajah.2. Seni bina pelayan pelanggan dua peringkat

Seni bina dua peringkat digunakan dalam sistem pelayan-pelanggan, di mana pelayan bertindak balas kepada permintaan pelanggan secara langsung dan sepenuhnya, hanya menggunakan sumbernya sendiri. Itu. pelayan tidak memanggil aplikasi rangkaian pihak ketiga dan tidak mengakses sumber pihak ketiga untuk melaksanakan mana-mana bahagian permintaan ()

Lokasi komponen pada bahagian klien atau pelayan menentukan model asas berikut interaksi mereka dalam seni bina dua peringkat:

  • pelayan terminal— pembentangan data yang diedarkan;
  • pelayan fail— akses kepada pangkalan data jauh dan sumber fail;
  • pelayan pangkalan data— pembentangan data jauh;
  • pelayan aplikasi- aplikasi jauh.

Model tersenarai dengan variasi dibentangkan pada.

Rajah.3. Model interaksi pelanggan-pelayan

Dari segi sejarah, model pembentangan data teragih (model pelayan terminal) adalah yang pertama muncul. Ia telah dilaksanakan pada komputer universal (kerangka utama), yang bertindak sebagai pelayan, dengan terminal alfanumerik disambungkan kepadanya. Pengguna memasukkan data dari papan kekunci terminal, yang kemudiannya dipindahkan ke kerangka utama dan diproses di sana, termasuk pembentukan "gambar" hasil. "Gambar" ini dikembalikan kepada pengguna pada skrin terminal.

Dengan kemunculan komputer peribadi dan rangkaian tempatan, model pelayan fail telah dilaksanakan, yang menyediakan akses kepada sumber fail, termasuk pangkalan data jauh. Dalam kes ini, hos rangkaian khusus ialah pelayan fail di mana fail pangkalan data terletak. Pelanggan menjalankan aplikasi yang menggabungkan komponen persembahan dan komponen aplikasi (DBMS dan program aplikasi), menggunakan pangkalan data jauh yang disambungkan sebagai fail setempat. Dalam kes ini, protokol pertukaran mewakili satu set panggilan peringkat rendah kepada operasi sistem fail.

Model ini telah terbukti tidak berkesan kerana fakta bahawa apabila bekerja secara aktif dengan jadual pangkalan data, masalah timbul. tekanan yang besar kepada rangkaian. Penyelesaian separa adalah untuk menyokong replikasi jadual dan pertanyaan. Dalam kes ini, sebagai contoh, apabila data berubah, bukan keseluruhan jadual dikemas kini, tetapi hanya bahagiannya yang diubah suai.

Dengan kemunculan DBMS khusus, ia menjadi mungkin untuk melaksanakan satu lagi model akses kepada pangkalan data jauh—model pelayan pangkalan data. Dalam kes ini, kernel DBMS beroperasi pada pelayan, program permohonan pada klien, dan protokol komunikasi disediakan menggunakan bahasa SQL. Pendekatan ini, berbanding dengan pelayan fail, membawa kepada pengurangan beban rangkaian dan penyatuan antara muka pelayan-klien. Walau bagaimanapun, trafik rangkaian kekal agak tinggi, dan masih mustahil untuk mentadbir aplikasi dengan memuaskan, kerana pelbagai fungsi digabungkan dalam satu program.

Dengan pembangunan dan pelaksanaan mekanisme prosedur tersimpan di peringkat pelayan pangkalan data, konsep pelayan pangkalan data aktif. Dalam kes ini, beberapa fungsi komponen aplikasi dilaksanakan dalam bentuk prosedur tersimpan yang dilaksanakan pada bahagian pelayan. Selebihnya logik aplikasi dilakukan pada bahagian klien. Protokol interaksi ialah dialek yang sepadan bagi bahasa SQL.

Kelebihan pendekatan ini adalah jelas:

  • pentadbiran berpusat fungsi aplikasi adalah mungkin;
  • mengurangkan kos pemilikan sistem (TOC, jumlah kos pemilikan) dengan menyewa pelayan dan bukannya membelinya;
  • pengurangan ketara dalam trafik rangkaian (kerana bukan pertanyaan SQL yang dihantar, tetapi panggilan ke prosedur tersimpan).

Kelemahan utama ialah alat yang terhad untuk membangunkan prosedur tersimpan berbanding bahasa peringkat tinggi.

Pelaksanaan komponen aplikasi pada bahagian pelayan mewakili model berikut - pelayan aplikasi. Memindahkan fungsi komponen aplikasi ke pelayan mengurangkan keperluan konfigurasi klien dan memudahkan pentadbiran, tetapi meletakkan permintaan yang meningkat pada prestasi pelayan, keselamatan dan kebolehpercayaan.

Pada masa ini, terdapat kecenderungan untuk kembali ke tempat seni bina pelayan pelanggan bermula - untuk memusatkan pengkomputeran berdasarkan model pelayan terminal. Dalam penjelmaan semula moden, terminal berbeza daripada nenek moyang alfanumerik mereka kerana, mempunyai minimum perisian dan perkakasan, ia mewakili keupayaan multimedia(termasuk. antara muka pengguna grafik). Operasi terminal dipastikan oleh pelayan berprestasi tinggi, di mana semuanya terletak, termasuk pemacu peranti maya, termasuk pemacu subsistem video.

Rajah.4. Seni bina pelayan pelanggan tiga peringkat

Satu lagi trend dalam teknologi pelanggan-pelayan ialah peningkatan penggunaan pengkomputeran teragih. Ia dilaksanakan berdasarkan model pelayan aplikasi, di mana aplikasi rangkaian dibahagikan kepada dua atau lebih bahagian, setiap satunya boleh dilaksanakan pada komputer berasingan. Bahagian khusus aplikasi berkomunikasi antara satu sama lain, bertukar-tukar mesej dalam format yang telah dipersetujui sebelumnya. Dalam kes ini, seni bina pelayan pelanggan dua peringkat menjadi tiga peringkat (tiga peringkat, 3 peringkat).

Sebagai peraturan, pautan ketiga dalam seni bina tiga peringkat ialah pelayan aplikasi, i.e. komponen diedarkan seperti berikut ():

  1. Persembahan data adalah di sisi pelanggan.
  2. Komponen aplikasi - pada pelayan aplikasi khusus (sebagai pilihan, melaksanakan fungsi perisian tengah).
  3. Pengurusan sumber - pada pelayan pangkalan data, yang menyediakan data yang diminta.

Rajah.5. Seni bina pelayan pelanggan berbilang peringkat (N-tier).

Seni bina tiga peringkat boleh dikembangkan kepada berbilang peringkat (N-tier, Multi-tier) dengan memperuntukkan pelayan tambahan, setiap satunya akan menyediakan perkhidmatannya sendiri dan menggunakan perkhidmatan pelayan lain tahap yang berbeza. Contoh abstrak model berbilang pautan diberikan di.

Perbandingan seni bina

Seni bina dua peringkat adalah lebih mudah, kerana semua permintaan disampaikan oleh satu pelayan, tetapi tepat kerana ini, ia kurang dipercayai dan meletakkan permintaan yang lebih tinggi pada prestasi pelayan.

Seni bina tiga peringkat adalah lebih kompleks, tetapi disebabkan oleh fakta bahawa fungsi diedarkan antara pelayan peringkat kedua dan ketiga, seni bina ini mewakili:

  1. Tahap fleksibiliti dan skalabiliti yang tinggi.
  2. Keselamatan yang tinggi(kerana perlindungan boleh ditakrifkan untuk setiap perkhidmatan atau tahap).
  3. Prestasi tinggi(memandangkan tugas diagihkan antara pelayan).

Teknologi pelanggan-pelayan

Seni bina pelayan-pelanggan digunakan dalam nombor besar teknologi rangkaian yang digunakan untuk mengakses pelbagai perkhidmatan rangkaian. Mari kita lihat secara ringkas beberapa jenis perkhidmatan tersebut (dan pelayan).

Pelayan web Pada mulanya, mereka menyediakan akses kepada dokumen hiperteks melalui protokol HTTP(Protokol Pemindahan Teks Hupper). Kini mereka menyokong keupayaan lanjutan, khususnya bekerja dengan fail binari(imej, multimedia, dsb.). Pelayan Aplikasi Direka untuk penyelesaian terpusat bagi masalah yang digunakan dalam bidang subjek tertentu. Untuk melakukan ini, pengguna mempunyai hak pelancaran program pelayan untuk pelaksanaan. Menggunakan pelayan aplikasi mengurangkan keperluan konfigurasi pelanggan dan memudahkan pengurusan rangkaian keseluruhan. Pelayan pangkalan data Pelayan pangkalan data digunakan untuk memproses permintaan pengguna untuk bahasa SQL. Dalam kes ini, DBMS terletak pada pelayan, yang mana aplikasi klien disambungkan. Pelayan fail Pelayan fail kedai-kedai maklumat dalam bentuk fail dan memberikan pengguna akses kepadanya. Sebagai peraturan, pelayan fail juga menyediakan tahap perlindungan tertentu terhadap akses yang tidak dibenarkan. Pelayan proksi Pertama, ia bertindak sebagai perantara, membantu pengguna mendapatkan maklumat daripada Internet sambil melindungi rangkaian. Kedua, ia menyimpan maklumat yang kerap diakses dalam memori cache cakera tempatan, menghantarnya dengan cepat kepada pengguna tanpa perlu mengakses Internet lagi. Tembok api(tembok api) Tembok api, menganalisis dan menapis lalu lintas rangkaian untuk memastikan keselamatan rangkaian. Pelayan mel Menyediakan perkhidmatan untuk menghantar dan menerima mesej mel elektronik. Pelayan Capaian Jauh (RAS) Sistem ini menyediakan sambungan kepada rangkaian melalui talian dail. Pekerja jauh boleh menggunakan sumber LAN korporat dengan menyambungkannya menggunakan modem biasa.

Ini hanyalah beberapa jenis daripada keseluruhan pelbagai teknologi pelayan-pelanggan yang digunakan dalam kedua-dua rangkaian tempatan dan global.

Untuk mengakses perkhidmatan rangkaian tertentu, pelanggan digunakan yang keupayaannya dicirikan oleh konsep "ketebalan". Ia mentakrifkan konfigurasi perkakasan dan perisian yang tersedia untuk pelanggan. Mari kita pertimbangkan nilai sempadan yang mungkin:

Klien "Nipis" Istilah ini mentakrifkan klien yang sumber pengkomputerannya hanya mencukupi untuk menjalankan aplikasi rangkaian yang diperlukan melalui antara muka web. Antara muka pengguna aplikasi sedemikian dibentuk dengan cara statik HTML (pelaksanaan JavaScript tidak disediakan), semua logik aplikasi dilaksanakan pada pelayan.
Untuk klien nipis berfungsi, cukup hanya untuk menyediakan keupayaan untuk melancarkan penyemak imbas web, dalam tetingkap yang semua tindakan dijalankan. Atas sebab ini, pelayar web sering dipanggil "klien sejagat". Pelanggan "tebal" Ini ialah stesen kerja atau komputer peribadi yang menjalankan pemacu cakeranya sendiri. sistem operasi dan mempunyai set yang diperlukan perisian. KEPADA pelayan rangkaian Pelanggan "gemuk" datang terutamanya untuk perkhidmatan tambahan(contohnya, akses kepada pelayan web atau pangkalan data korporat).
Pelanggan "tebal" juga bermaksud aplikasi rangkaian pelanggan yang dijalankan di bawah OS tempatan. Aplikasi sedemikian menggabungkan komponen pembentangan data (antara muka pengguna grafik OS) dan komponen aplikasi (kuasa pengkomputeran komputer klien).

DALAM Kebelakangan ini Istilah lain semakin digunakan: "kaya" -klien. Pelanggan "Kaya" ialah sejenis kompromi antara pelanggan "tebal" dan "kurus". Seperti pelanggan nipis, pelanggan kaya juga mewakili GUI, sudah diterangkan menggunakan XML dan termasuk beberapa fungsi pelanggan yang kaya (cth. antara muka seret dan lepas, tab, berbilang tetingkap, menu lungsur, dsb.)

Logik aplikasi klien "kaya" juga dilaksanakan pada pelayan. Data dihantar ke format standard pertukaran, berdasarkan XML yang sama ( protokol SOAP, XML-RPC) dan ditafsirkan oleh klien.

Beberapa protokol klien kaya berasaskan XML asas diberikan di bawah:

Kesimpulan

Jadi, Idea utama seni bina pelayan-pelanggan adalah untuk membahagikan aplikasi rangkaian kepada beberapa komponen, yang setiap satunya melaksanakan set perkhidmatan tertentu. Komponen aplikasi sedemikian boleh dijalankan komputer yang berbeza, melaksanakan fungsi pelayan dan/atau klien. Ini meningkatkan kebolehpercayaan, keselamatan dan prestasi aplikasi rangkaian dan rangkaian secara amnya.

Soalan kawalan

  1. Apa yang utama Idea K-S interaksi?
  2. Apakah perbezaan antara konsep "seni bina klien-pelayan" dan "teknologi pelayan-pelanggan"?
  3. Senaraikan komponen interaksi C-S.
  4. Apakah tugas yang dilakukan oleh komponen pembentangan dalam seni bina KS?
  5. Untuk tujuan apakah alat akses pangkalan data dibentangkan sebagai komponen berasingan dalam seni bina KS?
  6. Mengapakah logik perniagaan diserlahkan sebagai komponen berasingan dalam seni bina KS?
  7. Senaraikan model interaksi pelanggan-pelayan.
  8. Terangkan model pelayan fail.
  9. Terangkan model pelayan pangkalan data.
  10. Terangkan model "pelayan aplikasi".
  11. Terangkan model pelayan terminal
  12. Senaraikan jenis pelayan utama.

Alamat tetap halaman ini:

Untuk menyelesaikan masalah ini, seni bina pelayan pelanggan berbilang peringkat (tiga atau lebih) digunakan.

Seni bina sedemikian lebih bijak mengedarkan modul pemprosesan data yang kes dilakukan pada satu atau lebih pelayan berasingan. Ini modul perisian melaksanakan fungsi pelayan untuk antara muka dengan pengguna dan klien untuk pelayan pangkalan data. Selain itu, pelayan aplikasi yang berbeza boleh berkomunikasi antara satu sama lain untuk membahagikan sistem dengan lebih tepat kepada unit berfungsi yang melaksanakan peranan tertentu.

Sebagai contoh, anda boleh memilih pelayan pengurusan kakitangan yang akan melaksanakan semua fungsi yang diperlukan untuk pengurusan kakitangan. Dengan mengaitkan pangkalan data berasingan dengannya, anda boleh menyembunyikan semua butiran pelaksanaan pelayan ini daripada pengguna, membenarkan mereka mengakses fungsi awamnya sahaja. Di samping itu, sistem sedemikian sangat mudah untuk menyesuaikan diri dengan Web, kerana lebih mudah untuk membangunkan borang HTML untuk pengguna mengakses fungsi tertentu pangkalan data berbanding semua data.

Dalam seni bina tiga peringkat, pelanggan tidak dibebani dengan fungsi pemprosesan data, tetapi melaksanakan peranan utamanya sebagai sistem untuk menyampaikan maklumat yang datang dari pelayan aplikasi. Antara muka sedemikian boleh dilaksanakan menggunakan cara standard Teknologi web - penyemak imbas, CGI dan Java. Ini mengurangkan jumlah data yang dipindahkan antara klien dan pelayan aplikasi, membolehkan anda menyambung komputer pelanggan walaupun melalui talian perlahan seperti talian telefon. Selain itu, bahagian pelanggan boleh menjadi sangat mudah sehingga dalam kebanyakan kes ia dilaksanakan menggunakan pelayar universal. Tetapi jika anda masih perlu mengubahnya, maka prosedur ini boleh dijalankan dengan cepat dan tanpa rasa sakit. Seni bina pelayan pelanggan tiga peringkat membolehkan penetapan kebenaran pengguna yang lebih tepat, kerana mereka menerima hak akses bukan kepada pangkalan data itu sendiri, tetapi kepada fungsi tertentu pelayan aplikasi. Ini meningkatkan keselamatan sistem (berbanding dengan seni bina konvensional) bukan sahaja daripada serangan yang disengajakan, tetapi juga daripada tindakan kakitangan yang salah.

Sebagai contoh, pertimbangkan sistem yang bahagiannya berbeza beroperasi pada beberapa kawan jauh daripada pelayan lain. Katakan versi baharu sistem telah diterima daripada pembangun, untuk pemasangannya di seni bina dua peringkat adalah perlu untuk menukar semua modul sistem pada masa yang sama. Jika ini tidak dilakukan, maka interaksi pelanggan lama dengan pelayan baharu boleh membawa kepada akibat yang tidak dapat diramalkan, kerana pembangun biasanya tidak bergantung pada penggunaan sistem tersebut. Dalam seni bina tiga peringkat, keadaan dipermudahkan. Hakikatnya ialah dengan menukar pelayan aplikasi dan pelayan storan data (ini mudah dilakukan pada masa yang sama, kerana kedua-duanya biasanya terletak berdekatan), kami segera menukar set perkhidmatan yang tersedia. Oleh itu, kemungkinan ralat disebabkan oleh ketidakpadanan antara versi pelayan dan bahagian klien dikurangkan dengan ketara. Jika dalam versi baru Jika mana-mana perkhidmatan telah hilang, maka elemen antara muka yang menyampaikannya dalam sistem lama tidak akan berfungsi. Jika algoritma perkhidmatan telah berubah, ia akan berfungsi dengan betul walaupun dengan antara muka lama.

Sistem pelayan pelanggan berbilang peringkat boleh dipindahkan dengan mudah ke teknologi Web - untuk melakukan ini, sudah cukup untuk menggantikan bahagian klien dengan penyemak imbas universal atau khusus, dan menambah pelayan aplikasi dengan pelayan Web dan program panggilan prosedur pelayan kecil . Untuk membangunkan program ini, anda boleh menggunakan kedua-duanya Gerbang Bersama Antara Muka (CGI), dan banyak lagi Teknologi moden Jawa.

Perlu juga diperhatikan bahawa dalam sistem tiga peringkat, agak banyak maklumat dihantar melalui saluran komunikasi antara pelayan aplikasi dan pangkalan data. Walau bagaimanapun, ini tidak melambatkan pengiraan, sejak komunikasi elemen yang ditentukan talian yang lebih pantas boleh digunakan. Ini memerlukan usaha yang minimum kerana kedua-dua pelayan biasanya terletak di premis yang sama. Oleh itu, jumlah prestasi sistem meningkat - dua orang kini bekerja pada satu tugas. pelayan yang berbeza, dan komunikasi antara mereka boleh dilakukan melalui talian terpantas dengan kos yang minimum. Benar, terdapat masalah ketekalan pengiraan bersama, yang mana pengurus urus niaga - elemen baru sistem berbilang peringkat - diminta untuk menyelesaikannya.

Teknologi pelanggan-pelayan berhak dianggap sebagai salah satu "tiang" di mana dunia moden jaringan komputer. Tetapi tugas-tugas yang mana ia telah dibangunkan secara beransur-ansur menjadi perkara yang lepas, dan tugasan serta teknologi baharu muncul di tempat kejadian, memerlukan pemikiran semula prinsip sistem pelayan-pelanggan. Salah satu teknologi tersebut ialah World Wide Web.

Penggunaan teknologi dokumen hiperteks untuk membina dalaman infrastruktur maklumat Syarikat itu dirangsang oleh perkembangan pesat semua jenis sistem pelayan-pelanggan. Sesetengah orang cuba membezakan teknologi Web dengan seni bina pelayan-pelanggan, tetapi ini mengelirukan, kerana sebenarnya Web perniagaan adalah pembangunan seni bina ini. Kita boleh mengatakan bahawa sistem Web mempunyai seni bina pelayan-pelanggan, iaitu, menggunakan satu klien anda boleh menyambung ke banyak pelayan. Pelayar web yang menyediakan antara muka mesra pengguna dengan pengguna untuk mengakses maklumat hanyalah puncak gunung ais, yang paling tingkat atas Sistem web. Sebagai tambahan kepada antara muka, mana-mana sistem maklumat mesti mempunyai tahap pemprosesan dan penyimpanan data. Pembangun intranet selalunya menghadapi masalah dengan penjajaran yang betul Kerja web dengan elemen lain sistem, seperti pangkalan data. Satu cara yang menjanjikan untuk menyelesaikan masalah ini ialah seni bina pelayan pelanggan berbilang peringkat. Untuk memahami kelebihan mereka, mari kita lihat lebih dekat pada sistem pelayan pelanggan konvensional.

Seni bina pelayan pelanggan klasik

Istilah "pelayan-pelanggan" bermaksud seni bina pakej perisian di mana bahagian fungsinya berinteraksi mengikut skema "tindak balas permintaan". Jika kita menganggap dua bahagian yang berinteraksi kompleks ini, maka salah seorang daripada mereka (pelanggan) melaksanakan fungsi aktif, iaitu, ia memulakan permintaan, dan yang lain (pelayan) bertindak balas secara pasif kepada mereka. Apabila sistem berkembang, peranan mungkin berubah, contohnya beberapa blok program serentak akan melaksanakan fungsi pelayan berhubung dengan satu blok dan klien berhubung dengan blok yang lain.

Ambil perhatian bahawa mana-mana sistem maklumat mesti mempunyai sekurang-kurangnya tiga bahagian berfungsi utama - modul untuk penyimpanan data, pemprosesan data dan antara muka pengguna. Setiap bahagian ini boleh dilaksanakan secara bebas daripada dua yang lain. Contohnya, tanpa mengubah atur cara yang digunakan untuk menyimpan dan memproses data, anda boleh menukar antara muka pengguna supaya data yang sama dipaparkan dalam bentuk jadual, graf atau histogram. Tanpa menukar program persembahan dan penyimpanan data, anda boleh menukar program pemprosesan, contohnya, dengan menukar algoritma carian teks penuh. Akhir sekali, tanpa mengubah atur cara untuk mempersembahkan dan memproses data, anda boleh menukar perisian untuk menyimpan data, memindahkan, sebagai contoh, ke sistem fail yang berbeza.

Dalam seni bina pelayan pelanggan klasik, tiga bahagian utama aplikasi mesti diedarkan merentasi dua modul fizikal. Biasanya, perisian storan data terletak pada pelayan (contohnya, pelayan pangkalan data), antara muka pengguna berada di sebelah klien, tetapi pemprosesan data mesti diedarkan antara bahagian klien dan pelayan. Ini adalah kelemahan utama seni bina dua peringkat, dari mana beberapa ciri yang tidak menyenangkan, sangat merumitkan pembangunan sistem pelayan-pelanggan.

Apabila memisahkan algoritma pemprosesan data, adalah perlu untuk menyegerakkan tingkah laku kedua-dua bahagian sistem. Semua pembangun mesti mempunyai maklumat penuh tentang perubahan terkini perubahan yang dibuat kepada sistem dan memahami perubahan ini. Ini mewujudkan kesukaran yang besar dalam pembangunan sistem pelanggan-pelayan, pemasangan dan penyelenggaraan mereka, kerana perlu untuk menghabiskan usaha yang besar untuk menyelaraskan tindakan kumpulan yang berbeza pakar. Percanggahan sering timbul dalam tindakan pembangun, dan ini melambatkan pembangunan sistem dan memaksa mereka untuk menukar elemen sedia dan terbukti.

Untuk mengelakkan ketidakkonsistenan antara elemen seni bina yang berbeza, mereka cuba melakukan pemprosesan data pada salah satu daripada dua bahagian fizikal - sama ada pada bahagian klien (klien tebal) atau pada pelayan (klien nipis, atau seni bina yang dipanggil klien 2.5 peringkat). pelayan"). Setiap pendekatan mempunyai kelemahannya. Dalam kes pertama, rangkaian dibebankan secara tidak wajar, kerana tidak diproses, dan oleh itu berlebihan, data dihantar melaluinya. Di samping itu, sokongan dan perubahan sistem menjadi lebih sukar, kerana menggantikan algoritma pengiraan atau membetulkan ralat memerlukan penggantian lengkap serentak semua atur cara antara muka, jika tidak ralat atau ketidakkonsistenan data mungkin berlaku. Jika semua pemprosesan maklumat dilakukan pada pelayan (apabila ini mungkin), maka masalah menerangkan prosedur terbina dalam dan penyahpepijatannya timbul. Intinya ialah bahasa untuk menerangkan prosedur terbina dalam biasanya deklaratif dan, oleh itu, pada dasarnya tidak membenarkan penyahpepijatan langkah demi langkah. Di samping itu, sistem dengan pemprosesan maklumat pada pelayan adalah mustahil untuk dipindahkan ke platform lain, yang merupakan kelemahan yang serius.

Kebanyakan alat pembangunan aplikasi pesat (RAD) moden yang berfungsi dengannya pelbagai pangkalan data data, melaksanakan strategi pertama, iaitu, klien tebal menyediakan antara muka dengan pelayan pangkalan data melalui SQL terbenam. Pilihan ini untuk melaksanakan sistem dengan klien "tebal", sebagai tambahan kepada kelemahan yang disenaraikan di atas, biasanya memberikan tahap keselamatan yang rendah yang tidak boleh diterima. Sebagai contoh, dalam sistem perbankan, semua pengendali transaksi perlu diberi hak untuk menulis ke jadual utama sistem perakaunan. Di samping itu, hampir mustahil untuk memindahkan sistem ini ke teknologi Web, kerana perisian klien khusus digunakan untuk mengakses pelayan pangkalan data.

Jadi, model yang dibincangkan di atas mempunyai kelemahan berikut.

1. Pelanggan "Gemuk":

  • kerumitan pentadbiran;
  • mengemas kini perisian menjadi lebih sukar, kerana ia mesti diganti secara serentak di seluruh sistem;
  • pengagihan kuasa menjadi lebih rumit, kerana akses tidak terhad oleh tindakan, tetapi oleh jadual;
  • rangkaian terbeban kerana penghantaran data yang tidak diproses melaluinya;
  • perlindungan data yang lemah, kerana sukar untuk mengagihkan kuasa dengan betul.
  • 2. Pelayan "Lemak":

  • pelaksanaan menjadi lebih rumit, kerana bahasa seperti PL/SQL tidak sesuai untuk membangunkan perisian tersebut dan tidak ada dana yang baik penyahpepijatan;
  • prestasi program yang ditulis dalam bahasa seperti PL/SQL adalah jauh lebih rendah daripada yang dibuat dalam bahasa lain, yang penting untuk sistem yang kompleks;
  • program yang ditulis dalam bahasa DBMS biasanya tidak berfungsi dengan pasti; ralat di dalamnya boleh menyebabkan kegagalan keseluruhan pelayan pangkalan data;
  • Program yang dihasilkan tidak boleh dialihkan sepenuhnya ke sistem dan platform lain.
  • Untuk menyelesaikan masalah ini, seni bina pelayan pelanggan berbilang peringkat (tiga atau lebih) digunakan.

    Seni bina pelayan pelanggan berbilang peringkat

    Seni bina sedemikian lebih bijak mengedarkan modul pemprosesan data, yang dalam kes ini dijalankan pada satu atau lebih pelayan berasingan. Modul perisian ini melaksanakan fungsi pelayan untuk antara muka pengguna dan klien untuk pelayan pangkalan data. Selain itu, pelayan aplikasi yang berbeza boleh berkomunikasi antara satu sama lain untuk membahagikan sistem dengan lebih tepat kepada unit berfungsi yang melaksanakan peranan tertentu. Sebagai contoh, anda boleh memilih pelayan pengurusan kakitangan yang akan melaksanakan semua fungsi yang diperlukan untuk pengurusan kakitangan. Dengan mengaitkan pangkalan data berasingan dengannya, anda boleh menyembunyikan semua butiran pelaksanaan pelayan ini daripada pengguna, membenarkan mereka mengakses fungsi awamnya sahaja. Di samping itu, sistem sedemikian sangat mudah untuk menyesuaikan diri dengan Web, kerana lebih mudah untuk membangunkan borang HTML untuk pengguna mengakses fungsi tertentu pangkalan data berbanding semua data.

    Dalam seni bina tiga peringkat, klien nipis tidak dibebani dengan fungsi pemprosesan data, tetapi melaksanakan peranan utamanya sebagai sistem untuk menyampaikan maklumat yang datang dari pelayan aplikasi. Antara muka sedemikian boleh dilaksanakan menggunakan alat teknologi Web standard - pelayar, CGI dan Java. Ini mengurangkan jumlah data yang dipindahkan antara klien dan pelayan aplikasi, membolehkan komputer klien menyambung walaupun melalui talian perlahan seperti talian telefon. Di samping itu, bahagian pelanggan boleh menjadi sangat mudah sehingga dalam kebanyakan kes ia dilaksanakan menggunakan pelayar sejagat. Tetapi jika anda masih perlu mengubahnya, maka prosedur ini boleh dijalankan dengan cepat dan tanpa rasa sakit. Seni bina pelayan pelanggan tiga peringkat membolehkan penetapan kebenaran pengguna yang lebih tepat, kerana mereka menerima hak akses bukan kepada pangkalan data itu sendiri, tetapi kepada fungsi tertentu pelayan aplikasi. Ini meningkatkan keselamatan sistem (berbanding dengan seni bina konvensional) bukan sahaja daripada serangan yang disengajakan, tetapi juga daripada tindakan kakitangan yang salah.

    Sebagai contoh, pertimbangkan sistem yang pelbagai bahagiannya dijalankan pada beberapa pelayan yang berjauhan antara satu sama lain. Mari kita anggap bahawa pemaju telah menerima versi baru sistem, untuk memasang yang dalam seni bina dua peringkat adalah perlu untuk menukar semua modul sistem secara serentak. Jika ini tidak dilakukan, maka interaksi pelanggan lama dengan pelayan baharu boleh membawa kepada akibat yang tidak dapat diramalkan, kerana pembangun biasanya tidak bergantung pada penggunaan sistem tersebut. Dalam seni bina tiga peringkat, keadaan dipermudahkan. Hakikatnya ialah dengan menukar pelayan aplikasi dan pelayan storan data (ini mudah dilakukan pada masa yang sama, kerana kedua-duanya biasanya terletak berdekatan), kami segera menukar set perkhidmatan yang tersedia. Oleh itu, kemungkinan ralat disebabkan oleh ketidakpadanan antara versi pelayan dan bahagian klien dikurangkan dengan ketara. Jika perkhidmatan hilang dalam versi baharu, maka elemen antara muka yang menyampaikannya dalam sistem lama tidak akan berfungsi. Jika algoritma perkhidmatan telah berubah, ia akan berfungsi dengan betul walaupun dengan antara muka lama.

    Sistem pelayan pelanggan berbilang peringkat boleh dipindahkan dengan mudah ke teknologi Web - untuk melakukan ini, sudah cukup untuk menggantikan bahagian klien dengan penyemak imbas universal atau khusus, dan menambah pelayan aplikasi dengan pelayan Web dan program panggilan prosedur pelayan kecil . Kedua-dua Antara Muka Gerbang Biasa (CGI) dan teknologi Java yang lebih moden boleh digunakan untuk membangunkan program ini.

    Perlu juga diperhatikan bahawa dalam sistem tiga peringkat, agak banyak maklumat dihantar melalui saluran komunikasi antara pelayan aplikasi dan pangkalan data. Walau bagaimanapun, ini tidak melambatkan pengiraan, kerana garisan yang lebih pantas boleh digunakan untuk menyambungkan elemen ini. Ini memerlukan usaha yang minimum kerana kedua-dua pelayan biasanya terletak di premis yang sama. Oleh itu, jumlah prestasi sistem meningkat - dua pelayan berbeza kini bekerja pada satu tugas, dan komunikasi antara mereka boleh dijalankan melalui talian terpantas dengan kos minima dana. Benar, terdapat masalah ketekalan pengiraan bersama, yang mana pengurus urus niaga - elemen baru sistem berbilang peringkat - diminta untuk menyelesaikannya.

    Pengurus Urus Niaga

    Ciri seni bina berbilang peringkat ialah penggunaan pengurus transaksi (MTs), yang membenarkan satu pelayan aplikasi berkomunikasi secara serentak dengan beberapa pelayan pangkalan data. Walaupun Pelayan Oracle mempunyai mekanisme untuk melaksanakan transaksi yang diedarkan, tetapi jika pengguna menyimpan sebahagian daripada maklumat dalam pangkalan data Oracle, sebahagian dalam pangkalan data Informix, dan sebahagian dalam fail teks, maka pengurus urus niaga adalah amat diperlukan. MT digunakan untuk mengurus operasi heterogen teragih dan menyelaraskan tindakan pelbagai komponen sistem informasi. Perlu diingatkan bahawa hampir semua perisian yang kompleks memerlukan penggunaan pengurus transaksi. Sebagai contoh, sistem perbankan mesti menjalankan pelbagai transformasi perwakilan dokumen, iaitu, berfungsi serentak dengan data yang disimpan dalam pangkalan data dan dalam fail biasa - ini adalah fungsi yang MT membantu melaksanakannya.

    Pengurus transaksi ialah program atau set program yang boleh digunakan untuk menyelaraskan operasi pelbagai komponen sistem maklumat. Secara logiknya, MT terbahagi kepada beberapa bahagian:

  • Pengurus Komunikasi mengawal pertukaran mesej antara komponen sistem maklumat;
  • Pengurus Kebenaran menyediakan pengesahan pengguna dan pengesahan hak akses mereka;
  • Pengurus Transaksi menguruskan operasi teragih;
  • Pengurus Log memantau pemulihan dan pemulangan semula operasi yang diedarkan;
  • Pengurus Kunci memastikan akses yang betul kepada data yang dikongsi.
  • Biasanya, pengurus komunikasi digabungkan dengan pengurus keizinan dan pengurus urus niaga bekerja bersama-sama dengan pengurus kunci dan kunci. rekod sistem. Lebih-lebih lagi, pengurus sedemikian jarang disertakan dalam pakej, kerana fungsinya (menyimpan rekod, mengagihkan sumber dan operasi mengawal) biasanya dilakukan oleh pangkalan data itu sendiri (contohnya, Oracle).

    Pengurus transaksi pertama muncul pada awal 70-an. (cth CICS); Sejak itu mereka telah berubah sedikit dari segi ideologi, tetapi sangat ketara - dari segi teknologi. Perubahan ideologi terbesar berlaku dalam pengurus komunikasi, kerana teknologi berorientasikan objek baharu (CORBA, DCOM, dll.) muncul di kawasan ini. Oleh kerana perkembangan pesat media komunikasi pada masa hadapan, kita boleh menjangkakan penggunaan meluas pelbagai jenis pengurus transaksi.

    Oleh itu, seni bina pelayan pelanggan berbilang peringkat boleh memudahkan pengkomputeran teragih dengan ketara, menjadikannya bukan sahaja lebih dipercayai, tetapi juga lebih mudah diakses. Kemunculan alat seperti Java memudahkan pelayan aplikasi untuk berkomunikasi dengan pelanggan, dan pengurus transaksi berorientasikan objek memastikan pelayan aplikasi berfungsi bersama dengan pangkalan data. Akibatnya, semua prasyarat dicipta untuk penciptaan sistem maklumat teragih kompleks yang menggunakan semua kelebihan teknologi moden dengan berkesan.

    Bahan untuk artikel ini disediakan oleh ASoft; tel. 261-5724. Valery Korzhov boleh dihubungi di .

    ]. Ini membolehkan anda memisahkan fungsi menyimpan, memproses dan mempersembahkan data untuk lebih banyak lagi penggunaan yang berkesan keupayaan pelayan dan pelanggan.

    Antara seni bina pelayan pelanggan berbilang peringkat, yang paling biasa ialah seni bina tiga peringkat ( seni bina tiga peringkat, tiga peringkat), yang menganggap kehadiran komponen aplikasi berikut: aplikasi klien (biasanya dipanggil "klien nipis" atau terminal) yang disambungkan kepada pelayan aplikasi, yang seterusnya disambungkan kepada pelayan pangkalan data [ , ].

    nasi. 5.4.


    nasi. 5.4. Perwakilan seni bina pelayan pelanggan berbilang peringkat

    • Terminal ialah komponen antara muka (biasanya grafik) yang mewakili tahap pertama, aplikasi sebenar, untuk pengguna akhir. Tahap pertama tidak sepatutnya mempunyai sambungan langsung dengan pangkalan data (atas sebab keselamatan), dimuatkan dengan logik perniagaan teras (atas sebab kebolehskalaan) dan menyimpan keadaan aplikasi (atas sebab kebolehpercayaan). Logik perniagaan yang paling mudah boleh, dan biasanya diletakkan pada tahap pertama: antara muka kebenaran, algoritma penyulitan, menyemak nilai yang dimasukkan untuk kesahihan dan pematuhan dengan format, operasi mudah (menyisih, mengumpulkan, mengira nilai) dengan data sudah dimuatkan pada terminal.
    • Pelayan aplikasi terletak di tingkat kedua. Tahap kedua mengandungi kebanyakan logik perniagaan. Di luarnya kekal serpihan yang dieksport ke terminal, serta prosedur tersimpan dan pencetus yang direndam dalam tahap ketiga.
    • Pelayan pangkalan data menyediakan storan data dan dipindahkan ke peringkat ketiga. Biasanya ini ialah DBMS perhubungan atau berorientasikan objek standard. Jika tahap ketiga ialah pangkalan data bersama dengan prosedur tersimpan, pencetus dan skema yang menerangkan aplikasi dalam istilah model hubungan, maka tahap kedua dibina sebagai antara muka perisian, yang memautkan komponen klien dengan logik aplikasi pangkalan data.

    Dalam konfigurasi paling mudah secara fizikal pelayan aplikasi boleh digabungkan dengan pelayan pangkalan data pada satu komputer yang mana satu atau lebih terminal disambungkan melalui rangkaian.

    Dalam konfigurasi "betul" (dari segi keselamatan, kebolehpercayaan, penskalaan). pelayan pangkalan data terletak pada komputer khusus (atau kelompok) yang satu atau lebih pelayan aplikasi, yang, seterusnya, terminal disambungkan melalui rangkaian.

    Kelebihan seni bina ini ialah [ , , , ]:

    • perisian klien tidak memerlukan pentadbiran;
    • kebolehskalaan;
    • kebolehkonfigurasian – pengasingan tahap antara satu sama lain membolehkan anda mengkonfigurasi semula sistem dengan cepat dan mudah apabila kegagalan berlaku atau semasa penyelenggaraan berjadual di salah satu peringkat;
    • keselamatan yang tinggi;
    • kebolehpercayaan yang tinggi;
    • keperluan rendah untuk kelajuan saluran (rangkaian) antara terminal dan pelayan aplikasi;
    • keperluan rendah untuk prestasi dan ciri teknikal terminal, mengakibatkan pengurangan kosnya.
    • kerumitan bahagian pelayan dan, akibatnya, kos pentadbiran dan penyelenggaraan semakin meningkat;
    • kerumitan yang lebih tinggi untuk mencipta aplikasi;
    • lebih sukar untuk digunakan dan ditadbir;
    • keperluan prestasi tinggi pelayan aplikasi Dan pelayan pangkalan data, dan, oleh itu, kos peralatan pelayan yang tinggi;
    • keperluan tinggi untuk saluran (rangkaian) kelajuan antara pelayan pangkalan data Dan pelayan aplikasi.
    1. Prestasi;
    2. Lapisan pembentangan;
    3. Tahap logik;
    4. Lapisan Data;
    5. Data.


    nasi. 5.5. Lima peringkat seni bina pelayan pelanggan berbilang peringkat

    Pembentangan termasuk semua maklumat yang dipaparkan terus kepada pengguna: halaman HTML yang dijana, helaian gaya, imej.

    Lapisan pembentangan merangkumi segala-galanya yang berkaitan dengan komunikasi pengguna dengan sistem. Fungsi utama lapisan pembentangan termasuk memaparkan maklumat dan mentafsir input pengguna dan menukarnya kepada operasi yang sesuai dalam konteks logik dan data.

    Tahap logik mengandungi fungsi utama sistem yang direka untuk mencapai matlamatnya. Fungsi ini termasuk pengiraan berdasarkan input dan data yang disimpan, mengesahkan semua elemen data dan perintah pemprosesan daripada lapisan pembentangan, dan menghantar maklumat ke lapisan data.

    Lapisan akses data ialah subset fungsi yang menyediakan interaksi dengan sistem pihak ketiga, yang melaksanakan tugas untuk manfaat aplikasi.

    Data sistem biasanya disimpan dalam pangkalan data.

    5.1.6. Senibina Sistem Teragih

    Sistem jenis ini lebih kompleks dari segi organisasi sistem. Intipatinya diedarkan sistem adalah untuk menyimpan salinan tempatan data penting.

    Secara skematik, seni bina sedemikian boleh diwakili seperti ditunjukkan dalam Rajah. 5.6.


    nasi. 5.6.

    Lebih daripada 95% data yang digunakan dalam pengurusan perusahaan boleh didapati pada satu komputer peribadi, memastikan kemungkinan kerja bebasnya. Aliran pembetulan dan penambahan yang dijana pada komputer ini boleh diabaikan berbanding dengan jumlah data yang digunakan. Oleh itu, jika anda menyimpan data yang digunakan secara berterusan pada komputer itu sendiri, dan mengatur pertukaran pembetulan dan penambahan kepada data yang disimpan di antara mereka, maka jumlah trafik yang dihantar akan berkurangan dengan mendadak. Ini memungkinkan untuk mengurangkan keperluan untuk saluran komunikasi antara komputer dan lebih kerap menggunakan komunikasi tak segerak, dan terima kasih kepada ini, mewujudkan sistem maklumat teragih yang berfungsi dengan pasti yang menggunakan komunikasi yang tidak stabil seperti Internet, komunikasi mudah alih, komersial. saluran satelit. Dan meminimumkan trafik antara elemen akan menjadikan kos pengendalian sambungan sedemikian agak berpatutan. Sudah tentu, pelaksanaan sistem sedemikian bukanlah asas, dan memerlukan penyelesaian beberapa masalah, salah satunya ialah penyegerakan data yang tepat pada masanya.

    Setiap stesen kerja adalah bebas, hanya mengandungi maklumat yang diperlukan untuk berfungsi, dan perkaitan data di seluruh sistem dipastikan melalui pertukaran mesej yang berterusan dengan stesen kerja lain. Pertukaran mesej antara stesen kerja boleh dilaksanakan cara yang berbeza, daripada menghantar data melalui e-mel sebelum data dihantar melalui rangkaian.