Seni bina pelayan pelanggan membolehkan berbilang pengguna. Seni bina pelanggan-pelayan: ciri interaksi

Seni bina IS dua peringkat pelayan pelanggan

Perbezaan utama Seni bina pelayan-pelanggan daripada seni bina pelayan-fail ialah abstraksi daripada perwakilan dalaman data (skema data fizikal). Dengan seni bina ini, program pelanggan memanipulasi data pada tahap litar logik. Untuk melaksanakan seni bina pelayan pelanggan, DBMS berbilang pengguna biasanya digunakan, contohnya, Oracle atau Microsoft SQL pelayan.

Pelanggan-pelayan Sistem informasi terdiri daripada tiga komponen utama: perisian pelayan; perisian pengguna akhir; middleware (Rajah 1.7). Perisian pelayan, sebagai tambahan kepada pengurusan pangkalan data, menyediakan perkhidmatan pelanggan.

DBMS sedemikian menyediakan mekanisme penguncian dan kawalan akses berbilang pengguna yang melindungi data daripada risiko yang wujud dalam akses serentak. Selain itu, pelayan pangkalan data perlu melindungi data daripada capaian yang tidak dibenarkan, mengoptimumkan pertanyaan pangkalan data, memastikan integriti data dan mengawal penyiapan transaksi. DALAM organisasi pelanggan-pelayan pelanggan boleh menjadi cukup nipis, tetapi pelayan mesti cukup tebal untuk memenuhi keperluan semua pelanggan. Perisian pengguna akhir termasuk alat pembangunan aplikasi dan penjana laporan, termasuk hamparan Dan pemproses perkataan Menggunakan perisian ini, pengguna mewujudkan sambungan dengan pelayan, merumuskan pertanyaan yang dijana secara automatik ke dalam pertanyaan SQL dan dihantar ke pelayan. Pelayan menerima dan memproses permintaan, dan kemudian menghantar hasilnya kepada pelanggan. Middleware ialah sebahagian daripada sistem pelayan pelanggan yang menghubungkan perisian pengguna akhir ke pelayan.

Penggunaan seni bina pelayan pelanggan memungkinkan untuk mencipta sistem maklumat berbilang pengguna yang boleh dipercayai (dari segi integriti data) dengan pangkalan data berpusat, bebas daripada perkakasan (dan selalunya perisian) pelayan pangkalan data dan sokongan. GUI pengguna di stesen pelanggan yang disambungkan rangkaian tempatan. Selain itu, kos pembangunan aplikasi telah dikurangkan dengan ketara.

Seni bina ini mempunyai dua peringkat, ciri ciri iaitu program klien berfungsi dengan data melalui permintaan kepada perisian pelayan, dan fungsi asas aplikasi dibahagikan antara klien dan pelayan (Rajah 1.8).

Kelebihan seni bina ini termasuk:

· sokongan penuh kerja berbilang pengguna;

· memastikan integriti data.

Adalah dinasihatkan untuk menggunakan seni bina dua peringkat dalam perusahaan dengan beberapa dozen pengguna, kerana sistem pengendalian pelayan semasa penyelenggaraan Kuantiti yang besar Pelanggan terbeban dengan menguruskan berbilang sambungan ke pelayan.

Kelemahan seni bina pelayan pelanggan dua peringkat ialah:

· Logik perniagaan aplikasi kekal dalam perisian klien. Dengan sebarang perubahan dalam algoritma, adalah perlu untuk mengemas kini perisian pengguna pada setiap pelanggan.

· Keperluan tinggi untuk lebar jalur saluran komunikasi dengan pelayan, yang menghalang penggunaan stesen klien selain pada rangkaian tempatan.

· Perlindungan data yang lemah daripada penggodaman, terutamanya daripada pengguna sistem yang tidak bertanggungjawab.

· Kerumitan pentadbiran dan konfigurasi stesen kerja pengguna sistem yang tinggi.

· Keperluan untuk menggunakan PC berkuasa di tapak pelanggan.

· Kerumitan pembangunan sistem yang tinggi kerana keperluan untuk melaksanakan logik perniagaan dan menyediakan antaramuka pengguna dalam satu program.

Teknologi pelayan pelanggan dianggap sebagai salah satu "paus" dunia moden jaringan komputer. Tetapi masalah yang telah dibangunkan menjadi perkara yang lepas. Tugas dan teknologi baharu memerlukan pemikiran semula prinsip sistem pelayan pelanggan. Salah satu daripada teknologi ini Dunia Wide Web. Teknologi web ialah pembangunan seni bina pelayan-pelanggan, i.e. Dengan satu pelanggan anda boleh menyambung ke banyak pelayan. Sistem maklumat, sebagai tambahan kepada antara muka, mesti mempunyai tahap pemprosesan dan penyimpanan data. Masalah pembangun internet ialah penyelarasan Kerja web dengan elemen lain sistem, seperti pangkalan data. Salah satu cara yang menjanjikan untuk menyelesaikan masalah ini ialah sistem pelayan pelanggan berbilang peringkat.

Sistem klasik pelayan-pelanggan berfungsi mengikut skema permintaan-tindak balas (seni bina dua peringkat). Pelanggan melakukan fungsi aktif (permintaan), pelayan bertindak balas kepada mereka secara pasif.


Mana-mana sistem maklumat mesti mempunyai sekurang-kurangnya tiga bahagian berfungsi - modul untuk penyimpanan data, pemprosesan data dan antara muka pengguna.

Setiap bahagian ini boleh dilaksanakan secara bebas daripada dua yang lain.

Sebagai contoh . 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 dengan menukar algoritma carian teks penuh. Tanpa menukar atur cara untuk mempersembahkan dan memproses data, anda boleh menukar perisian untuk menyimpan data dengan menukar kepada sistem fail yang berbeza.

Dalam seni bina pelayan pelanggan klasik, tiga bahagian utama aplikasi diedarkan merentasi dua modul fizikal. Biasanya, perisian storan data terletak pada pelayan (/: pelayan pangkalan data), antara muka pengguna berada di sebelah klien, tetapi pemprosesan data perlu diedarkan antara klien dan bahagian pelayan. Ini adalah kelemahan utama seni bina ini. Membahagikan algoritma pemprosesan data memerlukan penyegerakan tindakan kedua-dua bahagian sistem. Untuk mengelakkan ketidakkonsistenan pelbagai elemen seni bina cuba melakukan pemprosesan data pada salah satu daripada dua bahagian - sama ada pada bahagian klien (klien tebal) atau pada pelayan (klien nipis, atau pelayan pelanggan 2.5 peringkat). Setiap pendekatan mempunyai kelemahannya: Dalam kes pertama rangkaian tidak wajar terlebih beban, kerana data mentah (berlebihan) dihantar melaluinya, sokongan dan pengubahsuaian sistem menjadi lebih rumit, kerana menggantikan algoritma pengiraan atau membetulkan ralat memerlukan serentak penggantian lengkap semua program antara muka, jika tidak, ketidakkonsistenan data akan menyusul; dalam kes kedua, apabila semua pemprosesan maklumat dilakukan pada pelayan, masalah untuk menerangkan prosedur terbina dalam dan penyahpepijatannya timbul (huraian adalah deklaratif dan tidak membenarkan penyahpepijatan langkah demi langkah). Di samping itu, sistem dengan pemprosesan maklumat pada pelayan adalah mustahil untuk dipindahkan ke platform lain.

Majoriti cara moden pembangunan aplikasi pesat (RAD), yang berfungsi dengan pelbagai pangkalan data, melaksanakan model pertama (pelanggan "tebal"), menyediakan antara muka dengan pelayan pangkalan data melalui bahasa SQL. Pilihan ini, sebagai tambahan kepada kelemahan yang disenaraikan di atas, mempunyai Level rendah keselamatan.

Sebagai contoh. DALAM sistem perbankan semua pengendali mempunyai hak tulis ke jadual utama sistem perakaunan. selain itu, sistem ini Hampir mustahil untuk dipindahkan ke teknologi Web, kerana perisian klien khusus digunakan untuk mengakses pelayan pangkalan data.

Kelemahan model yang dibincangkan di atas:

1. Pelanggan "Gemuk".

F kerumitan pentadbiran;

F kesukaran dalam mengemas kini perisian, kerana penggantiannya mesti dilakukan serentak di seluruh sistem;

F kerumitan dalam pengagihan kuasa, kerana akses tidak terhad oleh tindakan, tetapi oleh jadual;

F kesesakan rangkaian akibat penghantaran data yang tidak diproses;

F perlindungan data yang lemah.

2. Pelayan "Gemuk".

ð pelaksanaan menjadi lebih rumit, kerana bahasa PL/SQL tidak sesuai untuk membangunkan perisian tersebut dan tiada alat penyahpepijatan;

ð prestasi program dalam bahasa PL/SQL adalah lebih rendah berbanding bahasa lain, yang penting untuk sistem yang kompleks;

ð program yang ditulis dalam bahasa DBMS tidak berfungsi dengan pasti, yang boleh menyebabkan kegagalan keseluruhan pelayan pangkalan data;

ð program yang dibuat dengan cara ini tidak boleh dialihkan sepenuhnya ke sistem dan platform lain.



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

Seni bina pelayan pelanggan berbilang peringkat - mengedarkan modul pemprosesan data dengan lebih bijak yang dijalankan pada satu atau lebih pelayan berasingan.

Ini modul perisian melaksanakan fungsi pelayan untuk antara muka dengan pengguna dan pelanggan- 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 akses hanya kepada fungsinya yang boleh diakses secara umum. Sistem sedemikian lebih mudah untuk menyesuaikan diri dengan Web, kerana Lebih mudah untuk membangunkan borang HTML untuk akses pengguna kepada fungsi pangkalan data tertentu daripada semua data.

Dalam model tiga peringkat, klien nipis tidak dibebani dengan fungsi pemprosesan data, tetapi memainkan peranan utama sistem untuk menyampaikan maklumat yang datang dari pelayan aplikasi. (Antara muka ini dilaksanakan menggunakan cara standard Teknologi web - penyemak imbas, CGI dan Java). Ini mengurangkan jumlah data yang dipindahkan antara klien dan pelayan aplikasi, membolehkan pelanggan dengan talian telefon perlahan untuk menyambung.

Model pelayan pelanggan tiga peringkat membolehkan anda memberikan kebenaran pengguna dengan lebih tepat, kerana mereka menerima hak bukan untuk pangkalan data itu sendiri, tetapi untuk fungsi tertentu pelayan aplikasi, yang meningkatkan keselamatan sistem.

Pelbagai peringkat sistem pelanggan-pelayan boleh dengan mudah dipindahkan ke teknologi Web - untuk melakukan ini, ganti sahaja bahagian klien pelayar sejagat, dan menambah pelayan aplikasi dengan pelayan Web dan program panggilan prosedur pelayan kecil. Dalam sistem tiga peringkat, banyak maklumat dihantar melalui saluran komunikasi antara pelayan aplikasi dan pangkalan data, tetapi pengiraan tidak menjadi perlahan, kerana komunikasi elemen yang ditentukan talian lebih pantas digunakan. Ini memerlukan kos yang lebih rendah kerana kedua-dua pelayan terletak di premis yang sama. Tetapi ini menimbulkan masalah ketekalan pengiraan bersama, yang mana pengurus urus niaga - elemen baru sistem berbilang peringkat - diminta untuk menyelesaikannya.

Pengurus Urus Niaga

MT - 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 anda tidak boleh melakukannya tanpa MT. MT digunakan untuk mengurus operasi heterogen teragih dan menyelaraskan tindakan pelbagai komponen sistem informasi. Mana-mana perisian yang kompleks memerlukan penggunaan MT.

Sebagai contoh. Sistem perbankan mesti melaksanakan pelbagai transformasi perwakilan dokumen, i.e. berfungsi serentak dengan data yang disimpan dalam pangkalan data dan dalam fail biasa, - ini adalah fungsi yang MT bantu lakukan.

MT 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 transaksi (menguruskan operasi teragih);

· pengurus log (memantau pemulihan dan pemulangan semula operasi yang diedarkan);

· pengurus kunci (menyediakan akses yang betul kepada data yang dikongsi).

Biasanya M-communication digabungkan dengan M-authorization, dan M-transactions digabungkan dengan M-locks dan rekod sistem. Lebih-lebih lagi, M seperti itu jarang disertakan dalam pakej penghantaran, kerana fungsinya (menyimpan rekod, mengagihkan sumber dan operasi mengawal) biasanya dilakukan oleh pangkalan data itu sendiri (contohnya, Oracle).

Perubahan terbesar berlaku dalam komunikasi-M, kerana teknologi berorientasikan objek baharu (CORBA, DCOM, dll.) muncul di kawasan ini. Model pelbagai peringkat pelayan pelanggan membolehkan anda memudahkan pengkomputeran teragih dengan ketara, menjadikannya bukan sahaja lebih dipercayai, tetapi juga lebih mudah diakses.

4.4. Sistem mel teknologi ­ -

ia adalah penyampaian maklumat yang terjamin dan cara untuk penyepaduan aplikasi

Reka bentuk sistem maklumat berhadapan dengan penganalisis sistem dengan keputusan masalah berikut:

ð sistem teragih;

ð integrasi pelbagai aplikasi;

ð memudahkan pentadbiran.

Komputer moden kebanyakannya diedarkan, jadi masalah timbul untuk memilih kaedah interaksi antara bahagian individu sistem tersebut. Penggabungan beberapa sistem maklumat memerlukan penyelesaian untuk menyepadukan sejumlah besar aplikasi heterogen. Sistem (bersepadu) sedemikian mesti mempunyai semua fungsi subsistem gabungan dan mengekalkan kesederhanaan dan kemudahan penggunaan. Masalah ini boleh diselesaikan menggunakan sistem mel teknologi(STP).

Istilah "mel teknologi" digunakan untuk menandakan interaksi antara aplikasi ("mel elektronik" ialah interaksi antara orang), maklumat yang dihantar adalah teknologi; pembentukan dan penghantarannya boleh dilakukan tanpa/atau dengan penyertaan manusia yang minimum.

Sistem mel teknologi merangkumi dua cara yang berbeza interaksi yang digunakan dalam sistem teragih moden.

Salah satunya adalah berdasarkan konsep sambungan (Rajah 1), dan yang lain berdasarkan idea pemesejan.

1


Rajah 1. Mekanisme interaksi berorientasikan sambungan

Proses interaksi antara aplikasi dan penggunaan penubuhan sambungan boleh dibahagikan kepada tiga fasa:

1. penubuhan sambungan;

2. pemindahan maklumat;

3. menutup sambungan.

Interaksi sedemikian memerlukan kehadiran sambungan ketiga-tiga fasa dan kerja serentak aplikasi, yang tidak selalu mungkin.

Sistem yang dibina berdasarkan prinsip pemesejan menggunakan teknologi baris gilir mesej semasa interaksi (Rajah 2).



Rajah.2. Komunikasi aplikasi menggunakan teknologi baris beratur mesej

Aplikasi yang bertukar maklumat tidak menanganinya secara terus antara satu sama lain, tetapi kepada baris gilir mesej yang berkaitan dengan aplikasi. Sambungan antara aplikasi dan baris gilir berlaku, sebagai peraturan, dalam mod dalam talian, yang mengelakkan masa yang dihabiskan untuk mewujudkan sambungan. Perisian kawalan boleh didapati sama ada pada mesin yang sama dengan aplikasi atau pada pelayan khusus. Sistem yang menggunakan teknologi baris gilir mesej, tidak seperti sistem penubuhan sambungan, tidak memerlukan sama ada sambungan kekal semasa proses interaksi atau operasi serentak aplikasi berinteraksi. Ciri-ciri ini menjadikannya fleksibel dan sesuai untuk pelbagai aplikasi.

Kepelbagaian sistem mel teknologi membolehkan mereka berfungsi heterogen (pelbagai platform perisian dan perkakasan di mana ia berfungsi komponen individu STP, serta pelbagai kaedah sambungan dan protokol interaksi yang digunakan dalam struktur sistem. Heterogeniti dicapai dengan mengasingkan bahagian pelayan dan klien STP. Bahagian pelanggan mempunyai sedikit fungsi dan boleh dipindahkan ke pelbagai platform. Oleh itu, untuk operasi STP tiada kos untuk peralatan pilihan- sistem menyesuaikan diri dengan cara sedia ada(kedua-dua perkakasan dan perisian, dan kepada saluran penghantaran data sedia ada) dan tidak memerlukan penggantiannya.

Kelebihan menggunakan STP:

Ø Penghantaran mesej terjamin. Pelayan Beratur Mesej

tentukan bagaimana untuk memastikan penghantaran sekiranya berlaku kegagalan bahagian individu sistem: hantar semula, cari laluan alternatif atau gunakan kaedah lain. Memandangkan STP menyediakan pertukaran maklumat antara aplikasi, fakta bahawa mesej tidak dihantar mesti dijejaki dan diproses (berbanding dengan E-mel, di mana sekiranya mesej tidak dihantar, pengguna mesti mengambil sebarang tindakan pembetulan);

Ø Tiada sekatan permohonan semasa pemindahan maklumat, kerana Teknologi baris gilir mesej disediakan, dan bahagian pelayan sistem TP diperuntukkan, yang bertanggungjawab untuk penghantaran mesej. Kekurangan penyekatan mengurangkan masa henti aplikasi;

Ø Keupayaan untuk menetapkan keutamaan dan pilihan mesej semasa menghantar. Keutamaan membolehkan anda melaksanakan beberapa sistem selari penghantaran mesej. Dalam kes ini, mesej dengan keutamaan yang lebih rendah tidak akan memberi kesan kepada penyampaian mesej dengan keutamaan yang lebih tinggi. keutamaan yang tinggi. Ini mempunyai kesan positif apabila mereka bentuk dan mengkonfigurasi sistem yang besar, serta dalam pentadbiran sistem;

Ø Kemungkinan pertukaran maklumat dalam persekitaran yang heterogen, di mana pemodenan kedua-dua perkakasan dan perisian adalah mungkin.


Seni bina pelayan pelanggan klasik

Istilah "pelayan pelanggan" merujuk kepada seni bina ini pakej perisian, di mana bahagian fungsinya berinteraksi mengikut skema permintaan-tindak balas. 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, yang diikuti oleh beberapa orang 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 ada maklumat penuh O 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. Hakikatnya 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 dengan pelbagai pangkalan data melaksanakan strategi pertama, iaitu klien tebal menyediakan antara muka kepada 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 "Tebal":
# kerumitan pentadbiran;
# mengemas kini perisian menjadi lebih sukar, kerana ia mesti diganti secara serentak di seluruh sistem;
# pengagihan kuasa menjadi lebih rumit, kerana akses dihadkan bukan oleh tindakan, tetapi oleh jadual;
# rangkaian terlebih beban kerana penghantaran data yang tidak diproses;
# perlindungan data yang lemah, kerana sukar untuk mengagihkan kuasa dengan betul.

2. Pelayan "Gemuk":
# pelaksanaan menjadi lebih rumit, kerana bahasa seperti PL/SQL tidak sesuai untuk membangunkan perisian tersebut dan tiada dana yang baik penyahpepijatan;
# prestasi program yang ditulis dalam bahasa seperti PL/SQL adalah jauh lebih rendah daripada yang dibuat dalam bahasa lain, yang mempunyai 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 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. Mari kita anggap bahawa pemaju telah menerima versi baharu sistem, untuk pemasangan yang dalam seni bina dua peringkat adalah perlu untuk menukar semua secara serentak modul sistem. 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 sistem lama, mereka 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, 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 orang kini bekerja pada satu tugas. pelayan yang berbeza, dan komunikasi antara mereka boleh dilakukan 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.

Terjemahan daripada bahasa Inggeris: Chernobay Yu. A.

Pembangunan sistem pelanggan-pelayan

Seni bina sistem komputer telah berkembang seiring dengan keupayaan perkakasan untuk menggunakan aplikasi yang dijalankannya. Yang paling mudah (dan terawal) adalah "Seni Bina Kerangka Utama", di mana semua operasi dan fungsi dijalankan dalam komputer pelayan (atau "hos"). Pengguna berinteraksi dengan pelayan melalui terminal "bodoh", yang menghantar arahan dengan menangkap ketukan kekunci ke pelayan dan memaparkan hasil arahan kepada pengguna. Aplikasi sedemikian adalah bersifat tipikal dan, walaupun kuasa pengkomputeran komputer pelayan yang agak besar, secara amnya agak perlahan dan menyusahkan untuk digunakan, kerana keperluan untuk menghantar setiap ketukan kekunci ke pelayan.

Pengenalan dan penggunaan meluas PC, dengan sendiri kuasa pengkomputeran dan antara muka pengguna grafik membolehkan aplikasi menjadi lebih kompleks, dan pengembangan sistem rangkaian membawa kepada jenis seni bina sistem utama kedua, "Pembahagian Fail". Dalam seni bina PC ini (atau " stesen kerja") memuat turun fail daripada "pelayan fail" khusus dan kemudian mengurus aplikasi (termasuk data) secara setempat. Ini berfungsi dengan baik apabila penggunaan data dikongsi, kemas kini data dan jumlah data yang akan dipindahkan adalah kecil. Walau bagaimanapun, ia tidak lama lagi menjadi jelas bahawa perkongsian fail lebih menyumbat rangkaian, dan aplikasi menjadi lebih kompleks dan memerlukan semua orang Kuantiti yang besar data telah dipindahkan ke kedua-dua arah.

Masalah yang berkaitan dengan aplikasi memproses data melalui fail yang dikongsi melalui rangkaian membawa kepada pembangunan seni bina pelayan-pelanggan pada awal 1980-an. Dalam pendekatan ini, pelayan fail digantikan oleh pelayan pangkalan data, yang, bukannya hanya menghantar dan menyimpan fail ke stesen kerja yang disambungkan (pelanggan), menerima dan sebenarnya melaksanakan permintaan untuk data, hanya mengembalikan hasil yang diminta oleh klien. Dengan menghantar hanya data yang diminta oleh pelanggan dan bukannya keseluruhan fail, seni bina ini mengurangkan beban rangkaian dengan ketara. Ini memungkinkan untuk mencipta sistem di mana berbilang pengguna boleh mengemas kini data melalui antara muka GUI yang dipautkan ke pangkalan data kongsi tunggal.

Biasanya, sama ada Structured Query Language (SQL) atau Remote Procedure Call (RPCs) digunakan untuk bertukar-tukar data antara klien dan pelayan. Beberapa pilihan asas untuk mengatur seni bina pelayan-pelanggan diterangkan di bawah.

Dalam seni bina dua peringkat, beban dikongsi antara pelayan (yang menempatkan pangkalan data) dan klien (yang menempatkan antara muka pengguna). Sebagai peraturan, mereka terletak pada berbeza mesin fizikal, tetapi ini bukan keperluan wajib. Dengan syarat bahawa lapisan dipisahkan secara logik, ia boleh diletakkan (contohnya, untuk pembangunan dan ujian) pada komputer yang sama (Gamb. 1).

Rajah 1: Seni bina dua peringkat

Pengagihan logik aplikasi dan pemprosesan data dalam model ini adalah dan masih bermasalah. Jika pelanggan "pintar" dan melakukan pemprosesan utama data, maka masalah timbul yang berkaitan dengan pengedaran, pemasangan dan penyelenggaraan aplikasi, kerana setiap pelanggan memerlukan salinan perisian tempatannya sendiri. Jika pelanggan "bodoh" logik dan pemprosesan aplikasi mesti dilaksanakan dalam pangkalan data, dan oleh itu ia bergantung sepenuhnya pada DBMS khusus yang digunakan. Walau apa pun, setiap pelanggan mesti mendaftar dan, bergantung pada hak akses yang diterimanya, melaksanakan fungsi tertentu. Walau bagaimanapun, seni bina pelayan pelanggan dua peringkat adalah keputusan yang baik, apabila bilangan pengguna agak kecil (sehingga kira-kira 100 pengguna serentak), tetapi dengan pertumbuhan pengguna datang beberapa sekatan ke atas penggunaan seni bina ini.

Prestasi: Apabila bilangan pengguna bertambah, prestasi mula merosot. Kemerosotan prestasi adalah berkadar terus dengan bilangan pengguna, yang masing-masing mempunyai sambungan sendiri kepada pelayan, yang bermaksud bahawa pelayan mesti mengekalkan semua sambungan ini (menggunakan mesej "Keep-Alive"), walaupun apabila pangkalan data tidak diakses.

Keselamatan: Setiap pengguna mesti mempunyai sendiri akses individu kepada pangkalan data, dan mempunyai hak yang diberikan untuk mengendalikan aplikasi. Untuk melakukan ini, adalah perlu untuk menyimpan hak akses untuk setiap pengguna dalam pangkalan data. Apabila anda perlu menambah fungsi pada aplikasi dan anda perlu mengemas kini hak pengguna.

Kefungsian: Tidak kira jenis klien yang digunakan, kebanyakan pemprosesan data mesti berada dalam pangkalan data, bermakna ia bergantung sepenuhnya pada keupayaan yang disediakan dalam pangkalan data oleh pengeluar. Ini serius boleh mengehadkan kefungsian aplikasi kerana pelbagai asas pemproses data menyokong fungsi yang berbeza, menggunakan bahasa pengaturcaraan yang berbeza, dan juga melaksanakan ciri asas seperti pencetus dengan cara yang berbeza.

Kemudahalihan: Seni bina dua peringkat sangat bergantung pada pelaksanaan pangkalan data khusus sehingga mudah alih aplikasi sedia ada untuk pelbagai DBMS, menjadi masalah yang serius. Ini benar terutamanya untuk aplikasi dalam pasaran menegak di mana pilihan DBMS tidak ditentukan oleh vendor.

Tetapi walaupun ini, seni bina dua peringkat ditemui kehidupan baru pada zaman Internet. Ia boleh berfungsi dengan baik dalam keadaan terputus persekitaran, di mana UI adalah "bodoh" (cth penyemak imbas). Walau bagaimanapun, dalam banyak cara pelaksanaan ini mewakili kembali kepada seni bina kerangka utama asal.

Dalam usaha untuk mengatasi batasan seni bina dua peringkat yang diterangkan garis besar umum di atas, tahap tambahan telah diperkenalkan. Seni bina ini adalah model standard pelayan pelanggan dengan seni bina tiga peringkat. Tujuan lapisan tambahan (biasanya dipanggil lapisan "tengah" atau "peraturan") adalah untuk mengurus pelaksanaan aplikasi dan pengurusan pangkalan data. Seperti model dua peringkat, tahap boleh terletak sama ada pada pelbagai komputer(Rajah 2), atau pada satu komputer dalam mod ujian.

Rajah 2: Seni bina tiga peringkat

Dengan memasuki barisan tengah, batasan seni bina dua peringkat telah dihapuskan sebahagian besarnya, menghasilkan sistem yang lebih fleksibel dan berskala. Memandangkan pelanggan kini hanya menyambung ke pelayan aplikasi dan bukan terus ke pelayan data, beban mengekalkan sambungan dibuang, begitu juga dengan keperluan untuk melaksanakan logik aplikasi dalam pangkalan data. Pangkalan data kini hanya boleh melaksanakan fungsi menyimpan dan mendapatkan semula data, dan tugas menerima dan memproses aplikasi boleh dilakukan oleh tahap purata seni bina tiga peringkat. Pembangunan sistem operasi, yang merangkumi elemen seperti pengumpulan sambungan, baris gilir dan pemprosesan transaksi teragih, mengukuhkan (dan memudahkan) pembangunan peringkat pertengahan.

Sila ambil perhatian bahawa dalam model ini, pelayan aplikasi tidak mengawal antara muka pengguna, dan tidak juga pengguna sebenarnya menanyakan pangkalan data secara langsung. Sebaliknya, ia membenarkan berbilang pelanggan berkongsi logik perniagaan, pengiraan dan akses kepada enjin carian data. Kelebihan utama ialah pelanggan memerlukan kurang perisian dan tidak lagi memerlukan sambungan langsung ke pangkalan data, yang meningkatkan keselamatan. Akibatnya, aplikasi lebih berskala, kos sokongan dan pemasangan pada satu pelayan adalah jauh lebih rendah daripada untuk menyelenggara aplikasi secara langsung pada komputer pelanggan atau bahkan pada seni bina dua peringkat.

Terdapat banyak variasi model tiga peringkat asas yang direka untuk dilaksanakan pelbagai fungsi. Ini termasuk pemprosesan transaksi teragih (di mana berbilang DBMS dikemas kini dalam protokol yang sama), aplikasi berasaskan mesej (di mana aplikasi tidak berkomunikasi dalam masa nyata) dan keserasian merentas platform (Objek Minta Broker atau aplikasi "ORB").

Seni bina berbilang peringkat atau seni bina N-peringkat

Dengan pembangunan aplikasi Internet dengan latar belakang peningkatan umum dalam bilangan pengguna, model asas pelayan pelanggan tiga peringkat telah diperluaskan dengan memperkenalkan tahap tambahan. Seni bina sedemikian dipanggil "berbilang peringkat" dan biasanya terdiri daripada empat lapisan (Rajah 3), di mana pelayan dalam rangkaian bertanggungjawab untuk mengendalikan sambungan antara klien pelayar dan pelayan aplikasi. Faedahnya ialah berbilang pelayan web boleh menyambung kepada pelayan aplikasi tunggal, dengan itu meningkatkan pemprosesan lebih pengguna yang disambungkan secara serentak.

Rajah 3: Seni bina peringkat N

Tahap lwn Lapisan

Istilah ini (malangnya) sering keliru. Walau bagaimanapun, terdapat perbezaan yang besar antara mereka dan mereka mempunyai makna tertentu. Perbezaan utama ialah tahapnya tahap fizikal, dan lapisan berada pada logik. Dalam erti kata lain, tahap, secara teori, boleh digunakan secara bebas pada komputer berasingan, dan lapisan pemisahan logik di dalam aras (Rajah 4). Model tiga lapisan biasa yang diterangkan di atas biasanya mengandungi sekurang-kurangnya tujuh lapisan, dipisahkan merentas ketiga-tiga peringkat.

Perkara utama yang perlu diingat tentang seni bina berlapis ialah permintaan dan respons daripada setiap utas dalam satu arah merentasi semua lapisan, dan lapisan itu tidak boleh dilangkau. Oleh itu, dalam model yang ditunjukkan dalam Rajah 4, satu-satunya lapisan yang boleh mengakses lapisan "E" (lapisan capaian data) ialah lapisan "D" (lapisan peraturan). Begitu juga, lapisan "C" (lapisan pengesahan aplikasi) hanya boleh bertindak balas kepada permintaan daripada lapisan "B" (lapisan pengendalian ralat).

Rajah 4: Baris dibahagikan kepada lapisan logik

Seni bina pelayan pelanggan berbilang peringkat

Seni bina pelayan-pelanggan berbilang peringkat ialah sejenis seni bina pelayan-pelanggan di mana fungsi pemprosesan data dijalankan pada satu atau lebih pelayan yang berasingan. Ini membolehkan anda memisahkan fungsi menyimpan, memproses dan mempersembahkan data untuk lebih banyak lagi penggunaan yang berkesan keupayaan pelayan dan pelanggan.

Kes khas seni bina pelbagai peringkat:

· Seni bina tiga peringkat

· Rangkaian pelayan khusus

· Rangkaian dengan pelayan khusus (rangkaian Klien/Pelayan Bahasa Inggeris) adalah tempatan rangkaian komputer(LAN), di mana peranti rangkaian dipusatkan dan diuruskan oleh satu atau lebih pelayan. Stesen kerja atau pelanggan individu (seperti PC) mesti mengakses sumber rangkaian melalui pelayan.

Sistem pengendalian rangkaian- sistem pengendalian dengan keupayaan terbina dalam untuk bekerja dalam jaringan komputer. Peluang tersebut termasuk:

· sokongan peralatan rangkaian

· sokongan protokol rangkaian

· sokongan untuk protokol penghalaan

· sokongan penapisan trafik rangkaian

· sokongan untuk akses kepada sumber jauh seperti pencetak, cakera, dsb. melalui rangkaian

Ketersediaan dalam sistem perkhidmatan rangkaian membenarkan pengguna jauh menggunakan sumber komputer

Contoh sistem pengendalian rangkaian:

Novell NetWare

· Microsoft Windows(95, NT, XP, Vista, Tujuh)

· Pelbagai sistem UNIX, seperti Solaris, FreeBSD

· Pelbagai sistem GNU/Linux

ZyNOS daripada ZyXEL

Sistem pengendalian rangkaian moden (UNIX, WIN2000, NOWELL NW) melaksanakan susunan protokol penuh model OSI. Oleh itu, UNIX menyokong susunan protokol (TCP/IP, NW LINK, NET BIOS). Nowell NW menyokong timbunan protokol IPX/SPX. Apple Mac menggunakan set protokolnya sendiri.

Tanpa mengira pengilang, semua sistem pengendalian rangkaian dilaksanakan fungsi berikut:

1. Pengagihan fungsi antara nod rangkaian (pelanggan dan pelayan);

2. Sokongan protokol komunikasi;

3. Sokongan untuk sistem fail rangkaian;

4. Perlindungan data.

Semua sistem pengendalian rangkaian boleh dibahagikan kepada 2 jenis:

1. Rangkaian peer-to-peer atau peer-to-peer (setiap satu). Contoh Windows 9x;

2. Rangkaian berdasarkan pelayan khusus.

K1. Dalam rangkaian peer-to-peer, semua PC mempunyai hak yang sama, tetapi terdapat juga pelanggan dan pelayan dalam rangkaian. Biasanya, setiap PC boleh ditukar kepada mod pelayan jika pengguna mahukannya (sumber dikongsi diperuntukkan).

OS rangkaian peer-to-peer tidak mempunyai prestasi dan keselamatan yang boleh dipercayai. Digunakan pada rangkaian apabila terdapat 10-15 pcs. Contoh rangkaian peer-to-peer ialah Win94/98/OS/2/LANtastic

K2. Dalam rangkaian ini sentiasa ada PC utama - pelayan, yang dioptimumkan khas untuknya pemprosesan cepat permintaan daripada ramai pelanggan (kira-kira -100) dan untuk menguruskan perlindungan fail dan direktori. DALAM rangkaian yang besar menonjol pelayan berasingan Untuk aplikasi individu(WEB – pelayan, Fail – pelayan, Cetak – pelayan, pelayan DB dan pelayan mel)

Perisian pelayan sangat canggih, boleh dipercayai dan berprestasi. Ia boleh berfungsi pada platform yang berbeza.