Arsitektur Client Server
Penjelasan Singkat
Di era globalisasi ini, dimana segala sesuatunya itu berjalan dengan cepat, kemajuan teknologi semakin memudahkan manusia untuk berkomunikasi dan saling bertukar informasi. Semua orang di zaman sekarang ini hampir setiap individu sudah memiliki komputer.
Client merupakan sembarang sistem atau proses yang melakukan suatu permintaan data atau layanan ke server sedangkan server ialah, sistem atau proses yang menyediakan data atau layanan yang diminta oleh client. Client-Server adalah pembagian kerja antara server dan client yg mengakses server dalam suatu jaringan. Jadi arsitektur client-server adalah desain sebuah aplikasi terdiri dari client dan server yang saling berkomunikasi ketika mengakses server dalam suatu jaringan.
• Arsitektur Client
Dalam model klien/server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah, tapi masih merupakan sebuah kesatuan yakni komponen klien dan komponen server. Komponen klien juga sering disebut sebagai front-end, sementara komponen server disebut sebagai back-end. Komponen klien dari aplikasi tersebut dijalankan dalam sebuah workstation dan menerima masukan data dari pengguna. Komponen klien tersebut akan menyiapkan data yang dimasukkan oleh pengguna dengan menggunakan teknologi pemrosesan tertentu dan mengirimkannya kepada komponen server yang dijalankan di atas mesin server, umumnya dalam bentuk request terhadap beberapa layanan yang dimiliki oleh server. Dalam sistem secara umum server proses pada DBMS, komponen server akan menerima request dari klien, dan langsung memprosesnya dan mengembalikan hasil pemrosesan tersebut kepada klien. Klien pun menerima informasi hasil pemrosesan data yang dilakukan server dan menampilkannya kepada pengguna, dengan menggunakan aplikasi yang berinteraksi dengan pengguna. Sebuah contoh dari aplikasi client/server sederhana adalah aplikasi web yang didesain dengan menggunakan Active Server Pages (ASP) atau PHP. Skrip PHP atau ASP akan dijalankan di dalam web server (Apache atau Internet Information Services), sementara skrip yang berjalan di pihak klien akan dijalankan oleh web browser pada komputer klien. Klien-server merupakan penyelesaian masalah pada software yang menggunakan database sehingga setiap komputer tidak perlu diinstall database, dengan metode klien-server database dapat diinstal pada suatu komputer sebagai server dan aplikasinya diinstal pada client.
Dibawah ini merupakan struktur dari arsitektur client :
• Menggunakan LAN untuk mendukung jaringan PC.
• Masing-masing PC memiliki penyimpan tersendiri.
• Berbagi hardware atau software.
Komponen dasar Client Server
Pada dasarnya Client Server terdiri dari 3 komponen pembentuk dasar, yaitu Client, Middleware, dan Server. Gubungan dari ketiganya dapat digambarkan sebagai berikut:
Contoh pada GSM modem
• Arsitektur Server
Lingkungan klien/server menggunakan Local Area Network (LAN) untuk menjalankan personal komputer yang mana data akan tersimpan pada masing-masing PC dan akan terhubung dengan common devices (hard disk atau printer) dan software (DBMS). Modul LAN pada DBMS secara bersamaan mengendalikan, mengamankan, dan merupakan query atau translation-queuing management untuk mendukung akses bersamaan dari beberapa pengguna dalam menghubungkan database. Arsitektur klien/server berkembang yang memiliki penampilan yang berbeda dari komponen aplikasi logik antara klien dan server. Ada tiga komponen dari komponen aplikasi logik, yaitu :
1. Presentation Logic, komponen ini bertanggung jawab dalam memformat dan mempresenting data pada pengguna atau alat keluaran dan mengendalikan masukan pengguna dari keybor atau alat input lainnya.
2. Processing Logic, komponen ini berguna untuk menangani logika pemprosesan data (data processing logic) , logika aturan bisnis (business rule logic), dan logika manajemen data (data management logic). Proses data logic merupakan aktifitas untuk memvalidasi data dan mengindentifikasi proses eror pada data. Business rule tidak mempunyai kode pada DSMS, tetapi mempunyai kode pada komponen pemprosesan. Data management logicmengindentifikasikan data yang diperlukan/penting untuk memprosesan transaksi atau query.
3. Storage Logic, komponen ini bertanggung jawab pada penyimpanan data dan perbaikan data dari alat penyimpan yang bekerja dengan aplikasi
Komponen aplikasi logik:
Gambar komponen aplikasi logik
File Server Architectures
Arsitektur klien/server merupakan pengembangan file server yang pertama. Dalam lingkungan file server (lihat gambar), semua manipulasi data bekerja pada workstation pada saat data diminta oleh pengguna, Klien menangani presentation logic, processing logic, dan storage logic (yang berhubungan dengan DBMS). File server bertindak sebagai pengelola file, kemudian akan mengubungkan pada masing-masing PC klien dengan menggunakan jaringan dan memungkinkan klien untuk mengakses file tersebut.
• Model pertama Client/Server
• Semua pemrosesan dilakukan pada sisi workstation
• Satu atau beberapa server terhubungkan dalam jaringan
• Server bertindak sebagai file server
• File server bertindak sebagai pengelola file dan memungkinkan klien mengakses file tersebut
• Setiap klien dilengkapi DBMS tersendiri
• DBMS berinteraksi dengan data yang tersimpan dalam bentuk file pada server
• Aktivitas pada klien:
*Meminta data
*Meminta penguncian data
*Tanggapan dari klien
*Memberikan data dan Mengunci data dan memberikan statusnya
Gambar Arsitektur File Server
Batasan File Server :
•Beban jaringan tinggi karena tabel yang diminta akan diserahkan oleh file server ke klien melalui jaringan
•Setiap klien harus memasang DBMS sehingga mengurangi memori
•Klien harus mempunyai kemampuan proses tinggi untuk mendapatkan response time yang bagus
•Salinan DBMS pada setiap klien harus menjaga integritas databasse yang dipakai secara bersama-sama ð tanggung jawab diserahkan kepada programmer.
Arsitektur Database Server
•Klien bertanggung jawab dalam mengelola antar muka pemakai (mencakup logika penyajian data, logika pemrosesan data, logika aturan bisnis)
•Database server bertanggung jawab pada penyimpana, pengaksesan, dan pemrosesan database
•Database serverlah yang dituntut memiliki kemampuan pemrosesan yang tinggi
•Beban jaringan menjadi berkurang
•Otentikasi pemakai, pemeriksaan integrasi, pemeliharaan data dictionary dilakukan pada database server
•Database server merupakan implementasi dari two-tier architecture
2-Tier VS 3-Tier Client Server
Saat ini telah terjadi perubahan besar dari konsep client/ server itu sendiri. Awalnya pengertian client/ server yaitu sebuah sistem yang saling berhubungan dalam sebuah jaringan yang memiliki dua komponen utama yang satu berfungsi sebagai client dan satunya lagi sebagai server atau biasa disebut 2-Tier. Dengan adanya internet dan jaringan maka konsep 2-tier ini mulai bergeser dan berkembang menjadi 3-tier.
Apa yang dimaksud dengan Tier?
Awal 1980-an, vendor-vendor minicomputer memperkenalkan pola 3-tier (sebagai arsitektur 3-tier) untuk menjelaskan pembagian secara fisik dari sebuah aplikasi yang
melalui terminal (tier ke-1), minicomputer (tier ke-2), dan mainframe (tier ke-3). Ini memberikan kesempatan pada vendor-vendor ini untuk menjual komputer level menengah (mid-range) mereka sebagai front-end untuk mainframe. Hari ini, kita menggunakan istilah tier untuk menjelaskan pembagian sebuah aplikasi yang melalui client dan server. Pembagian proses kerja adalah bagian uatama dari konsep client/ server saat ini. Jadi saat ini pembagian kerja pada client dan server telah diatur secara lebih spesifik.
•2-tier. Membagi proses load kedalam dua bagian. Aplikasi utama secara logika dijalankan/ berjalan pada sisi client yang biasanya mengirimkan request dalam bentuk sintaks SQL ke sebuah database server yang berfungsi sebagai media penyimpanan data. Kita bisa juga menyebutnya dengan arsitektur fat client karena bagian terbesar atau yang utama dari aplikasi berjalan pada sisi client/ komputer client.
•3-tier. Membagi proses loading antara 1) komputer client menjalankan graphical user interface (GUI) logic, 2) aplikasi server menjalankan business logic, dan 3) database dan/ atau legacy application. Karena 3-tier memindahkan application logic ke server sehingga sering juga disebut sebagai arsitektur fat server.
Dari semua definisi diatas, semua aplikasi client/ server haruslah memiliki paling tidak 2-tier : user interface pada sisi client dan data terdistribusi yang disimpan pada sisi server. Pembagian kerja ini adalah isu utama yang menjadikan perbedaan terbesar dalam penentuan sukses tidaknya aplikasi yang berhubungan penyelesaian masalah mission-critical.
Keuntungan dan keterbatasan aplikasi 2-tier
Pada sistem 2-tier client/ server, aplikasi logic ditempatkan pada sisi client dengan
GUI. GUI dijalankan pada client yang akan mengirimkan SQL, file system calls, atau
perintah HTTP melalui jaringan ke server. Kemudian server akan mem-proses
request dari client dan mengembalikan hasil proses tersebut kembali ke komputer client. untuk meng-akses datanya, komputer client harus mengetahui bagaimana data
tersebut diatur dan kemudian disimpan pada sisi server. Variasi pada pendekatan 2-
tier adalah dengan menggunakan stored procedures untuk meng-off-load beberapa
proses pada sisi server. Walaupun pengiriman request SQL melalui jaringan, stored procedures membolehkan kita untuk menjalankan sebuah fungsi yang berjalan tanpa
sebuah database. Kesederhanaan adalah faktor utama yang mengantarkan 2-tier client/ server menjadi populer. 2-tier sangat ideal digunakan jika kita ingin membangun sebuah aplikasi dengan cepat dengan menggunakan bantuan visual builder tools seperti Delphi, VB, dll. Biasanya, hanya aplikasi yang berskala departemen/ bagian-bagian kecil yang menggunakan konsep 2-tier ini seperti sistem pengambilan keputusan (DSS) atau aplikasi berbasis web sederhana.
Mengapa 3-Tier Client/ Server?
Apa yang terjadi sekarang dengan perkembangan internet dan jaringan yang begitu
pesat tidak memungkinkan lagi diselesaikan dengan metode 2-tier client/ server
sehingga perlu satu perubahan besar untuk menangani masalah ini. Saat ini kita
telah mengembangkan aplikasi client/ server berskala luas dan E-Commerce berbasis internet. Konsekuensinya, kita harus meninggalkan dunia tradisional 2-tier client/ server. Sekarang kita sedang menghadapi masalah dunia yang kompleks dimana aplikasi-aplikasi dibagi menjadi beberapa komponen-komponen dan didistribusikan melalui multi prosesor. Yaitu dunia aplikasi 3-tier (dan N-tier). Saat ini perusahaan-perusahaan besar yang sudah menggunakan client/ server mulai merasakan 2-tier client/ server sudah tidak relevan lagi untuk diimplementasikan di perusahaan mereka. Karena yang terjadi saat ini dengan adanya internet maka dituntut agar aplikasi yang digunakan diperusahaan mereka harus dapat mendukung internet dan semua komponennya, aplikasi tersebut harus dapat melayani ribuan komputer client dimana aplikasi ini seringkali berjalan pada banyak server dan terdiri dari ratusan komponen-komponen software didalamnya. Dengan adanya internet, server dapat melayani request dari mana saja dengan PC yang terhubung ke internet. Dalam era internet saat ini, transaksi dapat berasal dari konsumen (melalui aplikasi internet), dari suplier atau distributor ( melalui perusahaan internet – ekstranet).
Kapan kita menggunakan 3-tier?
Saat ini 3-tier menjadi sangat populer dibanding 2-tier arsitektur tapi 2-tier tidak akan bisa ditinggalkan. Masih terdapat banyak aplikasi yang ideal menggunakan arsitektur 2-tier. Lalu bagaimana kita mengetahui model apa yang cocok untuk aplikasi kita dan sesuai dengan karakteristik perusahaan? Berikut ini adalah beberapa kriteria yang bisa digunakan untuk menentukan kapan sebuah aplikasi menggunakan model arsitektur 3-tier client/ server :
•Banyaknya layanan atau class aplikasi lebih dari 50
•Program aplikasi di buat atau ditulis dalam beebrapa bahasa pemrograman
yang berbeda untuk masing-masing organisasi.
•Dua atau lebih data source yang heterogen seperti dua DBMs yang berbeda
atau DBMs dan file system
•Suatu aplikasi akan digunakan lebih dari 3 tahun. Apalgi jika kita akan
merencanakan banyak modifikasi atau penambahan
•Beban kerja yang sangat tinggi. Lebih dari 50000 transaksi perhari atau lebih
dari 300 user yang mengakses ke sistem yang sama pada database yang sama
dalam waktu bersamaan
•Ekspektasi bahwa aplikasi akan terus berkembang sepanjang waktu
Conclusion
Pada akhirnya, saat ini akan sangat mudah dan aman bagi kita untuk mengimplementasikan arsitektur 3-tier client/ server khususnya jika kita memiliki
infrastruktur yang solid untuk itu. Dalam era intranet dan aplikasi internet sekarang
ini, arsitektur 3-tier client/ server menjadi arsitektur paling favorit yang digunakan. 3- tier memberikan kita keleluasaan untuk mengembangkan aplikasi kita mulai dari sistem yang paling kecil hingga kita mengembangkannya menjadi sebuah aplikasi berskala enterprise.
Beberapa Keuntungan Arsitektur Three-Tier
* Keluwesan teknologi
* Mudah untuk mengubah DBMS engine
* Memungkinkan pula middle tier ke platform yang berbeda
* Biaya jangka panjang yang rendah
* Perubahan-perubahan cukup dilakukan pada middle tier daripada pada aplikasi
keseluruhan
* Keunggulan kompetitif
* Kekampuan untuk bereaksi thd perubahan bisnis dengan cepat, dengan cara
mengubah modul kode daripada mengubah keseluruhan aplikasi
Contoh Two-Tier Architecture
Pada gambar tersebut, user interface yang merupakan bagian dari program aplikasi melayani input dari user. Input tersebut diproses oleh Manajemen Proses dan melakukan query data ke database (dalam bentuk perintah SQL). Pada database server juga bisa memiliki Manajemen Proses untuk melayani query tersebut, biasanya ditulis ke dalam bentuk Stored Procedure.
Contoh Three-tier Architecture
Sumber :
http://asep10106240.wordpress.com/2009/12/04/arsitektur-client-server/
http://achmad89.wordpress.com/2010/07/11/arsitektur-client-server/
http://slametridwan.wordpress.com/arsitektur-client-server/
http://wartawarga.gunadarma.ac.id/2009/12/arsitektur-clientserver/
digilib.unsri.ac.id/download/2tier%20VS%203tier14082009.pdf
Di era globalisasi ini, dimana segala sesuatunya itu berjalan dengan cepat, kemajuan teknologi semakin memudahkan manusia untuk berkomunikasi dan saling bertukar informasi. Semua orang di zaman sekarang ini hampir setiap individu sudah memiliki komputer.
Client merupakan sembarang sistem atau proses yang melakukan suatu permintaan data atau layanan ke server sedangkan server ialah, sistem atau proses yang menyediakan data atau layanan yang diminta oleh client. Client-Server adalah pembagian kerja antara server dan client yg mengakses server dalam suatu jaringan. Jadi arsitektur client-server adalah desain sebuah aplikasi terdiri dari client dan server yang saling berkomunikasi ketika mengakses server dalam suatu jaringan.
• Arsitektur Client
Dalam model klien/server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah, tapi masih merupakan sebuah kesatuan yakni komponen klien dan komponen server. Komponen klien juga sering disebut sebagai front-end, sementara komponen server disebut sebagai back-end. Komponen klien dari aplikasi tersebut dijalankan dalam sebuah workstation dan menerima masukan data dari pengguna. Komponen klien tersebut akan menyiapkan data yang dimasukkan oleh pengguna dengan menggunakan teknologi pemrosesan tertentu dan mengirimkannya kepada komponen server yang dijalankan di atas mesin server, umumnya dalam bentuk request terhadap beberapa layanan yang dimiliki oleh server. Dalam sistem secara umum server proses pada DBMS, komponen server akan menerima request dari klien, dan langsung memprosesnya dan mengembalikan hasil pemrosesan tersebut kepada klien. Klien pun menerima informasi hasil pemrosesan data yang dilakukan server dan menampilkannya kepada pengguna, dengan menggunakan aplikasi yang berinteraksi dengan pengguna. Sebuah contoh dari aplikasi client/server sederhana adalah aplikasi web yang didesain dengan menggunakan Active Server Pages (ASP) atau PHP. Skrip PHP atau ASP akan dijalankan di dalam web server (Apache atau Internet Information Services), sementara skrip yang berjalan di pihak klien akan dijalankan oleh web browser pada komputer klien. Klien-server merupakan penyelesaian masalah pada software yang menggunakan database sehingga setiap komputer tidak perlu diinstall database, dengan metode klien-server database dapat diinstal pada suatu komputer sebagai server dan aplikasinya diinstal pada client.
Dibawah ini merupakan struktur dari arsitektur client :
• Menggunakan LAN untuk mendukung jaringan PC.
• Masing-masing PC memiliki penyimpan tersendiri.
• Berbagi hardware atau software.
Komponen dasar Client Server
Pada dasarnya Client Server terdiri dari 3 komponen pembentuk dasar, yaitu Client, Middleware, dan Server. Gubungan dari ketiganya dapat digambarkan sebagai berikut:
Contoh pada GSM modem
• Arsitektur Server
Lingkungan klien/server menggunakan Local Area Network (LAN) untuk menjalankan personal komputer yang mana data akan tersimpan pada masing-masing PC dan akan terhubung dengan common devices (hard disk atau printer) dan software (DBMS). Modul LAN pada DBMS secara bersamaan mengendalikan, mengamankan, dan merupakan query atau translation-queuing management untuk mendukung akses bersamaan dari beberapa pengguna dalam menghubungkan database. Arsitektur klien/server berkembang yang memiliki penampilan yang berbeda dari komponen aplikasi logik antara klien dan server. Ada tiga komponen dari komponen aplikasi logik, yaitu :
1. Presentation Logic, komponen ini bertanggung jawab dalam memformat dan mempresenting data pada pengguna atau alat keluaran dan mengendalikan masukan pengguna dari keybor atau alat input lainnya.
2. Processing Logic, komponen ini berguna untuk menangani logika pemprosesan data (data processing logic) , logika aturan bisnis (business rule logic), dan logika manajemen data (data management logic). Proses data logic merupakan aktifitas untuk memvalidasi data dan mengindentifikasi proses eror pada data. Business rule tidak mempunyai kode pada DSMS, tetapi mempunyai kode pada komponen pemprosesan. Data management logicmengindentifikasikan data yang diperlukan/penting untuk memprosesan transaksi atau query.
3. Storage Logic, komponen ini bertanggung jawab pada penyimpanan data dan perbaikan data dari alat penyimpan yang bekerja dengan aplikasi
Komponen aplikasi logik:
Gambar komponen aplikasi logik
File Server Architectures
Arsitektur klien/server merupakan pengembangan file server yang pertama. Dalam lingkungan file server (lihat gambar), semua manipulasi data bekerja pada workstation pada saat data diminta oleh pengguna, Klien menangani presentation logic, processing logic, dan storage logic (yang berhubungan dengan DBMS). File server bertindak sebagai pengelola file, kemudian akan mengubungkan pada masing-masing PC klien dengan menggunakan jaringan dan memungkinkan klien untuk mengakses file tersebut.
• Model pertama Client/Server
• Semua pemrosesan dilakukan pada sisi workstation
• Satu atau beberapa server terhubungkan dalam jaringan
• Server bertindak sebagai file server
• File server bertindak sebagai pengelola file dan memungkinkan klien mengakses file tersebut
• Setiap klien dilengkapi DBMS tersendiri
• DBMS berinteraksi dengan data yang tersimpan dalam bentuk file pada server
• Aktivitas pada klien:
*Meminta data
*Meminta penguncian data
*Tanggapan dari klien
*Memberikan data dan Mengunci data dan memberikan statusnya
Gambar Arsitektur File Server
Batasan File Server :
•Beban jaringan tinggi karena tabel yang diminta akan diserahkan oleh file server ke klien melalui jaringan
•Setiap klien harus memasang DBMS sehingga mengurangi memori
•Klien harus mempunyai kemampuan proses tinggi untuk mendapatkan response time yang bagus
•Salinan DBMS pada setiap klien harus menjaga integritas databasse yang dipakai secara bersama-sama ð tanggung jawab diserahkan kepada programmer.
Arsitektur Database Server
•Klien bertanggung jawab dalam mengelola antar muka pemakai (mencakup logika penyajian data, logika pemrosesan data, logika aturan bisnis)
•Database server bertanggung jawab pada penyimpana, pengaksesan, dan pemrosesan database
•Database serverlah yang dituntut memiliki kemampuan pemrosesan yang tinggi
•Beban jaringan menjadi berkurang
•Otentikasi pemakai, pemeriksaan integrasi, pemeliharaan data dictionary dilakukan pada database server
•Database server merupakan implementasi dari two-tier architecture
2-Tier VS 3-Tier Client Server
Saat ini telah terjadi perubahan besar dari konsep client/ server itu sendiri. Awalnya pengertian client/ server yaitu sebuah sistem yang saling berhubungan dalam sebuah jaringan yang memiliki dua komponen utama yang satu berfungsi sebagai client dan satunya lagi sebagai server atau biasa disebut 2-Tier. Dengan adanya internet dan jaringan maka konsep 2-tier ini mulai bergeser dan berkembang menjadi 3-tier.
Apa yang dimaksud dengan Tier?
Awal 1980-an, vendor-vendor minicomputer memperkenalkan pola 3-tier (sebagai arsitektur 3-tier) untuk menjelaskan pembagian secara fisik dari sebuah aplikasi yang
melalui terminal (tier ke-1), minicomputer (tier ke-2), dan mainframe (tier ke-3). Ini memberikan kesempatan pada vendor-vendor ini untuk menjual komputer level menengah (mid-range) mereka sebagai front-end untuk mainframe. Hari ini, kita menggunakan istilah tier untuk menjelaskan pembagian sebuah aplikasi yang melalui client dan server. Pembagian proses kerja adalah bagian uatama dari konsep client/ server saat ini. Jadi saat ini pembagian kerja pada client dan server telah diatur secara lebih spesifik.
•2-tier. Membagi proses load kedalam dua bagian. Aplikasi utama secara logika dijalankan/ berjalan pada sisi client yang biasanya mengirimkan request dalam bentuk sintaks SQL ke sebuah database server yang berfungsi sebagai media penyimpanan data. Kita bisa juga menyebutnya dengan arsitektur fat client karena bagian terbesar atau yang utama dari aplikasi berjalan pada sisi client/ komputer client.
•3-tier. Membagi proses loading antara 1) komputer client menjalankan graphical user interface (GUI) logic, 2) aplikasi server menjalankan business logic, dan 3) database dan/ atau legacy application. Karena 3-tier memindahkan application logic ke server sehingga sering juga disebut sebagai arsitektur fat server.
Dari semua definisi diatas, semua aplikasi client/ server haruslah memiliki paling tidak 2-tier : user interface pada sisi client dan data terdistribusi yang disimpan pada sisi server. Pembagian kerja ini adalah isu utama yang menjadikan perbedaan terbesar dalam penentuan sukses tidaknya aplikasi yang berhubungan penyelesaian masalah mission-critical.
Keuntungan dan keterbatasan aplikasi 2-tier
Pada sistem 2-tier client/ server, aplikasi logic ditempatkan pada sisi client dengan
GUI. GUI dijalankan pada client yang akan mengirimkan SQL, file system calls, atau
perintah HTTP melalui jaringan ke server. Kemudian server akan mem-proses
request dari client dan mengembalikan hasil proses tersebut kembali ke komputer client. untuk meng-akses datanya, komputer client harus mengetahui bagaimana data
tersebut diatur dan kemudian disimpan pada sisi server. Variasi pada pendekatan 2-
tier adalah dengan menggunakan stored procedures untuk meng-off-load beberapa
proses pada sisi server. Walaupun pengiriman request SQL melalui jaringan, stored procedures membolehkan kita untuk menjalankan sebuah fungsi yang berjalan tanpa
sebuah database. Kesederhanaan adalah faktor utama yang mengantarkan 2-tier client/ server menjadi populer. 2-tier sangat ideal digunakan jika kita ingin membangun sebuah aplikasi dengan cepat dengan menggunakan bantuan visual builder tools seperti Delphi, VB, dll. Biasanya, hanya aplikasi yang berskala departemen/ bagian-bagian kecil yang menggunakan konsep 2-tier ini seperti sistem pengambilan keputusan (DSS) atau aplikasi berbasis web sederhana.
Mengapa 3-Tier Client/ Server?
Apa yang terjadi sekarang dengan perkembangan internet dan jaringan yang begitu
pesat tidak memungkinkan lagi diselesaikan dengan metode 2-tier client/ server
sehingga perlu satu perubahan besar untuk menangani masalah ini. Saat ini kita
telah mengembangkan aplikasi client/ server berskala luas dan E-Commerce berbasis internet. Konsekuensinya, kita harus meninggalkan dunia tradisional 2-tier client/ server. Sekarang kita sedang menghadapi masalah dunia yang kompleks dimana aplikasi-aplikasi dibagi menjadi beberapa komponen-komponen dan didistribusikan melalui multi prosesor. Yaitu dunia aplikasi 3-tier (dan N-tier). Saat ini perusahaan-perusahaan besar yang sudah menggunakan client/ server mulai merasakan 2-tier client/ server sudah tidak relevan lagi untuk diimplementasikan di perusahaan mereka. Karena yang terjadi saat ini dengan adanya internet maka dituntut agar aplikasi yang digunakan diperusahaan mereka harus dapat mendukung internet dan semua komponennya, aplikasi tersebut harus dapat melayani ribuan komputer client dimana aplikasi ini seringkali berjalan pada banyak server dan terdiri dari ratusan komponen-komponen software didalamnya. Dengan adanya internet, server dapat melayani request dari mana saja dengan PC yang terhubung ke internet. Dalam era internet saat ini, transaksi dapat berasal dari konsumen (melalui aplikasi internet), dari suplier atau distributor ( melalui perusahaan internet – ekstranet).
Kapan kita menggunakan 3-tier?
Saat ini 3-tier menjadi sangat populer dibanding 2-tier arsitektur tapi 2-tier tidak akan bisa ditinggalkan. Masih terdapat banyak aplikasi yang ideal menggunakan arsitektur 2-tier. Lalu bagaimana kita mengetahui model apa yang cocok untuk aplikasi kita dan sesuai dengan karakteristik perusahaan? Berikut ini adalah beberapa kriteria yang bisa digunakan untuk menentukan kapan sebuah aplikasi menggunakan model arsitektur 3-tier client/ server :
•Banyaknya layanan atau class aplikasi lebih dari 50
•Program aplikasi di buat atau ditulis dalam beebrapa bahasa pemrograman
yang berbeda untuk masing-masing organisasi.
•Dua atau lebih data source yang heterogen seperti dua DBMs yang berbeda
atau DBMs dan file system
•Suatu aplikasi akan digunakan lebih dari 3 tahun. Apalgi jika kita akan
merencanakan banyak modifikasi atau penambahan
•Beban kerja yang sangat tinggi. Lebih dari 50000 transaksi perhari atau lebih
dari 300 user yang mengakses ke sistem yang sama pada database yang sama
dalam waktu bersamaan
•Ekspektasi bahwa aplikasi akan terus berkembang sepanjang waktu
Conclusion
Pada akhirnya, saat ini akan sangat mudah dan aman bagi kita untuk mengimplementasikan arsitektur 3-tier client/ server khususnya jika kita memiliki
infrastruktur yang solid untuk itu. Dalam era intranet dan aplikasi internet sekarang
ini, arsitektur 3-tier client/ server menjadi arsitektur paling favorit yang digunakan. 3- tier memberikan kita keleluasaan untuk mengembangkan aplikasi kita mulai dari sistem yang paling kecil hingga kita mengembangkannya menjadi sebuah aplikasi berskala enterprise.
Beberapa Keuntungan Arsitektur Three-Tier
* Keluwesan teknologi
* Mudah untuk mengubah DBMS engine
* Memungkinkan pula middle tier ke platform yang berbeda
* Biaya jangka panjang yang rendah
* Perubahan-perubahan cukup dilakukan pada middle tier daripada pada aplikasi
keseluruhan
* Keunggulan kompetitif
* Kekampuan untuk bereaksi thd perubahan bisnis dengan cepat, dengan cara
mengubah modul kode daripada mengubah keseluruhan aplikasi
Contoh Two-Tier Architecture
Pada gambar tersebut, user interface yang merupakan bagian dari program aplikasi melayani input dari user. Input tersebut diproses oleh Manajemen Proses dan melakukan query data ke database (dalam bentuk perintah SQL). Pada database server juga bisa memiliki Manajemen Proses untuk melayani query tersebut, biasanya ditulis ke dalam bentuk Stored Procedure.
Contoh Three-tier Architecture
Sumber :
http://asep10106240.wordpress.com/2009/12/04/arsitektur-client-server/
http://achmad89.wordpress.com/2010/07/11/arsitektur-client-server/
http://slametridwan.wordpress.com/arsitektur-client-server/
http://wartawarga.gunadarma.ac.id/2009/12/arsitektur-clientserver/
digilib.unsri.ac.id/download/2tier%20VS%203tier14082009.pdf