Saat ini, dengan pesatnya perkembangan industri informasi, persaingan antar perusahaan akan menjadi semakin ketat. Dengan perluasan skala yang berkelanjutan dan pembaruan bisnis yang berkelanjutan, perusahaan sangat membutuhkan solusi terdistribusi yang lengkap untuk mengelola lingkungan heterogen yang kompleks dan mencapai integrasi lengkap antara berbagai perangkat keras, sistem perangkat lunak, lingkungan jaringan, dan sistem basis data.
Sepanjang sejarah perkembangan komputer manusia, industri informasi akan mengalami perubahan siklus setiap sepuluh hingga lima belas tahun. Dari tahun 1950 hingga 1970, perusahaan terutama mengadopsi arsitektur terminal mainframe, sementara sistem aplikasi perusahaan mengadopsi menyediakan layanan berbagi sumber daya kepada pengguna dalam satu kesatuan. , cara terpusat. Pada awal tahun 1980an, sistem terbuka dan sistem manajemen basis data relasional diadopsi secara luas oleh perusahaan. Tidak seperti sistem terpusat, logika aplikasi tersebar antara ujung master dan ujung budak. Dengan popularitas Windows, tahun 1990-an adalah era aplikasi grafis, dan arsitektur Client/Server juga diadopsi secara luas. Pada akhir 1990-an, teknologi objek terdistribusi muncul di industri informasi. Aplikasi dapat didistribusikan pada platform sistem yang berbeda, dan komunikasi timbal balik antara objek antara platform heterogen dapat dicapai melalui teknologi terdistribusi. Mengintegrasikan sistem perusahaan yang ada ke dalam sistem terdistribusi dapat meningkatkan skalabilitas sistem aplikasi perusahaan. Munculnya aplikasi terdistribusi multi-tier pada akhir tahun 1990an menunjukkan jalan bagi perusahaan untuk lebih menyederhanakan pengembangan sistem aplikasi.
Dalam struktur Klien/Server tradisional, logika aplikasi biasanya didistribusikan antara klien dan server. Klien mengeluarkan permintaan akses sumber daya data, dan server mengembalikan hasilnya ke klien. Kelemahan dari struktur Client/Server adalah ketika jumlah klien bertambah maka kinerja server akan sangat berkurang karena loadbalancing tidak dapat dilakukan. Ketika persyaratan aplikasi berubah, aplikasi klien dan server perlu dimodifikasi, yang menyebabkan ketidaknyamanan besar pada pemeliharaan dan peningkatan aplikasi, dan transmisi data dalam jumlah besar juga meningkatkan beban pada jaringan. Untuk mengatasi masalah Klien/Server, perusahaan hanya dapat bertransformasi ke aplikasi terdistribusi multi-layer.
Dalam aplikasi terdistribusi multi-tier, satu atau lebih lapisan program layanan aplikasi dapat ditambahkan antara klien dan server. Program ini disebut "Server Aplikasi". Pengembang dapat menempatkan logika bisnis aplikasi perusahaan di server tingkat menengah alih-alih klien, sehingga mengisolasi logika bisnis aplikasi dari antarmuka pengguna dan menyediakan aplikasi tipis (tipis) kepada pengguna sambil memastikan fungsionalitas klien. ) antarmuka. Artinya, jika kode aplikasi perlu diubah, hal itu dapat dilakukan di satu tempat (di server tingkat menengah) daripada di ribuan aplikasi klien. Hal ini memungkinkan pengembang untuk fokus pada analisis, desain, dan pengembangan logika bisnis inti sistem aplikasi, menyederhanakan pengembangan, pembaruan, dan peningkatan sistem perusahaan, serta sangat meningkatkan skalabilitas dan fleksibilitas aplikasi perusahaan.
Ketika perusahaan perlu membangun sistem aplikasi komersial berbasis Web, arsitektur terdistribusi multi-layer juga memberikan keuntungan yang kuat, menyediakan arsitektur "thin client" untuk aplikasi komersial berbasis Web, memungkinkan pelanggan berbasis browser untuk berkomunikasi dengan sumber daya intranet secara efektif interaksi tanpa memerlukan pekerjaan konfigurasi aplikasi yang rumit di sisi klien. Solusi terdistribusi multi-tingkat membangun jembatan antara platform heterogen dan memungkinkan aplikasi bisnis berbasis web diintegrasikan dengan sistem perusahaan yang ada.
Saat ini, sejumlah besar perusahaan di negara kita masih mengadopsi arsitektur Klien/Server, sementara di negara-negara maju di Barat, transformasi perusahaan dari sistem aplikasi tradisional ke sistem aplikasi terdistribusi multi-layer telah menjadi arus utama dalam industri. Sistem terdistribusi multi-layer diyakini akan lebih banyak digunakan di negara kita.
Tantangan yang dibawa oleh aplikasi terdistribusi multi-tingkat
Meskipun arsitektur terdistribusi multi-layer memberikan keuntungan besar bagi perusahaan, mengembangkan aplikasi terdistribusi multi-layer lebih sulit dibandingkan pendekatan Klien/Server tradisional, yang membawa tantangan teknis baru bagi pengembang. Ini terutama mencakup tiga aspek berikut:
1. Diversifikasi standar objek terdistribusi
Jika perusahaan ingin membangun sistem terdistribusi multi-lapis, mereka harus mengikuti standar industri terdistribusi. Standar yang menjadi dasar secara langsung mempengaruhi keterbukaan dan skalabilitas sistem aplikasi perusahaan. Saat ini ada tiga standar utama untuk objek terdistribusi: DCOM Microsoft, Enterprise JavaBeans/RMI dari Sun Microsystems, dan CORBA (Common Object Request Broker Architecture) dari OMG (Object Management Group). DCOM adalah standar objek terdistribusi berdasarkan lingkungan Windows, sehingga jenis platform yang didukung terbatas. RMI dan Enterprise JavaBean adalah arsitektur objek terdistribusi berdasarkan bahasa Java, yang sesuai untuk kebutuhan lintas platform perusahaan besar. Namun, lingkungan sistem aplikasi sebenarnya umumnya dibuat oleh beberapa bahasa pemrograman yang berbeda dan hanya bergantung pada satu bahasa pemrograman . Aplikasi perusahaan jarang terjadi. CORBA adalah standar objek terdistribusi yang dikembangkan oleh organisasi OMG dengan partisipasi lebih dari 800 perusahaan perangkat lunak dan perangkat keras besar. Ini didukung oleh perusahaan besar seperti IBM, Sun Microsystems, Oracle, Sybase, Novell, dan Netscape integrasi antara platform yang berbeda. Komunikasi dan interoperabilitas objek. Selama vendor perangkat lunak mengikuti IDL (Interface Definition Language) untuk komunikasi antara objek aplikasi dan ORB, mereka dapat menyediakan atau memperoleh layanan dalam bentuk objek menghilangkan kebutuhan untuk mempertimbangkan platform yang heterogen, protokol komunikasi yang berbeda atau bahasa pemrograman yang berbeda menyebabkan perbedaan, dan fokus pada pengembangan logika aplikasi. Terlihat bahwa CORBA menyediakan standar terdistribusi yang terbuka dan fleksibel, yang cocok bagi perusahaan untuk membangun sistem aplikasi terdistribusi multi-layer.
2. Perkembangan aplikasi terdistribusi multi-tier sangat kompleks
Jika aplikasi terdistribusi multi-layer dikembangkan dengan cara tradisional, pengembang harus memiliki pengetahuan tingkat sistem komputer yang mendalam dan menguasai pengetahuan dalam berbagai aspek seperti konkurensi, keamanan, skalabilitas, dan pemrosesan transaksi. Selain itu, penting untuk mencapai pengelolaan akses yang efektif ke sumber daya sistem, seperti pengelolaan thread, memori, koneksi database, dan koneksi jaringan. Tugas-tugas kompleks ini sangat menghabiskan energi pengembang dan membatasi kemajuan pekerjaan pengembangan. Pengembangan sistem aplikasi perusahaan mengharuskan pengembang untuk lebih fokus pada pengembangan logika bisnis daripada membuang lebih banyak waktu pada pengembangan tingkat sistem.
3. Distribusi dan pengelolaan aplikasi terdistribusi juga merupakan tantangan
Sebagian besar aplikasi terdistribusi terdiri dari ratusan atau ribuan komponen, dan setiap komponen memiliki properti yang perlu dikonfigurasi selama distribusi. Biasanya, cara Anda mengonfigurasi properti komponen bergantung pada platform tempat komponen berada. Oleh karena itu, setelah aplikasi didistribusikan, bagaimana mengelola komponen yang didistribusikan akan menjadi sebuah tantangan. Manajer perlu memastikan bahwa komponen aplikasi dapat berjalan dengan benar, dapat ditempatkan di mesin mana pun dalam jaringan perusahaan, dan dapat mendeteksi kesalahan pemrosesan (termasuk kesalahan sistem, gangguan jaringan, kesalahan aplikasi, dll.) secara tepat waktu.
Dalam pengertian tradisional, manajemen sistem jaringan (seperti SNMP) hanya dapat memperoleh status aplikasi yang berjalan dengan menganalisis status host. Namun, untuk sistem aplikasi terdistribusi, suatu aplikasi tidak berjalan pada host tertentu Status seluruh jaringan perlu dikelola, sehingga memerlukan dukungan alat yang tepat.
Persyaratan untuk aplikasi terdistribusi multi-tingkat
Mengembangkan aplikasi terdistribusi multi-tingkat perusahaan biasanya memerlukan hal-hal berikut:
Mudah untuk dikembangkan
Meskipun arsitektur terdistribusi multi-layer memerlukan pengetahuan tingkat sistem komputer yang mendalam sebagai landasan (misalnya: database, pemrosesan transaksi, keamanan jaringan, teknologi CORBA, dll.), bagi pengembang TI, hal tersebut tidak memerlukan pemahaman mendalam tentang hal yang mendasarinya. kompleksitas sistem. Dengan teknologi, sistem aplikasi terdistribusi multi-layer yang kuat dapat dikembangkan dengan cepat dan mudah dalam lingkungan pengembangan terintegrasi visual (IDE) yang ramah.
Menyederhanakan pekerjaan distribusi dan manajemen
Pengembang memerlukan kemampuan untuk menguji dan memodifikasi aplikasi terdistribusi dalam lingkungan pengembangan terintegrasi untuk meningkatkan kinerja aplikasi, dan untuk mencapai distribusi dan pengelolaan aplikasi di lingkungan yang sama. Karena banyak aplikasi mencakup ribuan komponen yang didistribusikan ke seluruh perusahaan, alat manajemen terpusat diperlukan untuk mengelola dan mengontrol aplikasi terdistribusi serta mengimplementasikan fungsi deteksi dan koreksi kesalahan.
Persyaratan Kekokohan untuk Aplikasi Perusahaan
Aplikasi multi-tingkat terdistribusi perusahaan yang lengkap harus memenuhi persyaratan pemrosesan transaksi, manajemen keamanan, toleransi kesalahan, penyeimbangan beban, skalabilitas, dan kinerja tinggi.
Menampilkan arsitektur terbuka dan berbasis standar industri
Yang dibutuhkan perusahaan adalah solusi terbuka dan berbasis standar industri yang dapat berinteraksi dengan sistem lain yang memenuhi standar.
Dapat diintegrasikan dengan berbagai database dan sistem yang ada
Aplikasi terdistribusi perusahaan harus dapat mengakses sumber daya data perusahaan, dan data perusahaan biasanya disimpan di database berskala besar yang populer saat ini (seperti Oracle, Sybase, dll.), atau diakses melalui TP Monitor (seperti: IBM CICS, BEA Tuxedo ), sehingga diperlukan sistem terdistribusi perusahaan yang dapat terintegrasi dengan database dan sistem yang sudah ada.
Mendukung lingkungan platform yang berbeda
Aplikasi terdistribusi multi-tingkat perusahaan perlu mendukung lingkungan platform yang berbeda. Sisi server harus mendukung platform Windows NT atau UNIX, dan pelanggan pada platform berbeda dapat mengakses aplikasi di server, termasuk: HTML, applet Java, aplikasi Java, HTML Dinamis, C++. Aplikasi dll.
Server Aplikasi Perusahaan
Berdasarkan alasan di atas, ketika perusahaan bertransformasi ke aplikasi terdistribusi multi-tier, mereka memerlukan dukungan server aplikasi, sehingga teknologi aplikasi yang berbeda dapat diintegrasikan bersama, sehingga memudahkan pengembangan, distribusi, dan pengelolaan aplikasi terdistribusi multi-tier. Lebih mudah. Banyak perusahaan kini telah menggunakan teknologi server aplikasi, yang telah meningkatkan kinerja aplikasi perusahaan secara signifikan. Namun, teknologi server aplikasi yang saat ini digunakan di negara saya tidak dapat sepenuhnya memenuhi kebutuhan perusahaan untuk membangun aplikasi terdistribusi multi-layer. Server aplikasi ini terutama dibagi menjadi dua kategori berikut:
Server aplikasi berbasis web
Server aplikasi berbasis web umumnya menyediakan lingkungan pengembangan untuk aplikasi Internet berbasis Web dan cocok untuk membangun sistem aplikasi Klien/Server berbasis Web. Dalam sistem ini, server aplikasi Web biasanya berjalan di Server Web untuk menangani permintaan klien. ODBC dan JDBC biasanya digunakan untuk terhubung ke database. Server aplikasi jenis ini umumnya mudah digunakan dan mendukung pengembangan aplikasi server berbasis EJB (Enterprise JavaBeans). Namun kekurangan dari server aplikasi semacam ini antara lain: tidak mendukung pemrosesan transaksi, memiliki keamanan yang buruk, terbatasnya dukungan terhadap sistem perdagangan yang ada, dan memiliki kinerja yang rendah.
Server aplikasi berbasis middleware
Server aplikasi berbasis middleware dapat memberi perusahaan fungsi yang lebih kuat dengan berintegrasi dengan sistem yang ada (seperti TP Monitor), termasuk: pemrosesan transaksi, manajemen keamanan, toleransi kesalahan, penyeimbangan beban, dll., namun sebagian besar solusi didasarkan pada Klien/Server arsitektur, atau terbatas pada arsitektur tiga tingkat, tidak cocok untuk membangun aplikasi Web terdistribusi, dan tidak memiliki lingkungan pengembangan dan manajemen yang efektif.
Catatan: Load Balancing adalah sekumpulan server yang terdiri dari beberapa server secara simetris. Setiap server memiliki status yang sama dan dapat menyediakan layanan eksternal secara mandiri tanpa bantuan server lain. Melalui semacam teknologi pembagian beban, permintaan yang dikirim dari luar didistribusikan secara merata ke server tertentu dalam struktur simetris, dan server yang menerima permintaan tersebut merespons permintaan pelanggan secara mandiri. Beban seimbang dapat mendistribusikan permintaan pelanggan secara merata ke susunan server, sehingga menyediakan akses cepat ke data penting dan memecahkan masalah sejumlah besar layanan akses bersamaan. Teknologi cluster ini dapat mencapai kinerja yang mendekati mainframe dengan investasi minimal. Keuntungan dari penyeimbangan beban jaringan: Pertama, teknologi penyeimbangan beban jaringan memastikan bahwa server dapat merespons dengan cepat bahkan di bawah beban berat. Kedua, penyeimbangan beban jaringan hanya perlu memberikan alamat IP (atau nama domain) ke dunia luar; atau beberapa server dalam penyeimbangan beban jaringan tidak tersedia, layanan tidak akan terganggu. Network Load Balancing secara otomatis mendeteksi ketika server tidak tersedia dan dapat dengan cepat mendistribusikan ulang lalu lintas klien di antara server yang tersisa. Tindakan perlindungan ini dapat membantu Anda menyediakan layanan tanpa gangguan untuk program bisnis utama, dan dapat meningkatkan jumlah server penyeimbang beban jaringan sesuai dengan peningkatan akses jaringan. Keempat, penyeimbangan beban jaringan dapat diterapkan pada komputer biasa.
Artikel ini berasal dari blog CSDN. Harap sebutkan sumbernya saat mencetak ulang: http://blog.csdn.net/deantry119/archive/2009/12/28/5089598.aspx