2-Tier VS 3-Tier Client Server

2-Tier VS 3-Tier Client Server
Abstraction
Since published about 15th years ago Client/ Server concepts has grown out from its
origin concept. As we know when it published client/ server consists of two main
components which are minicomputer as a client and mainframe as a server that can
serve the process requested from client and stored the data on its database. That’s
why we called it 2-tier client/ server. When internet and networking grown up there are
some critical mission that can not be solved with 2-tier client/ server approached. So,
we need a new giant method for solving this problem. 3-tier client/ server then
introduced as the next generation of client/ server system in the internet era.
Key word : client/ server, 2-tier, 3-tier, stored procedur.

15 tahun sejak diperkenalkan client/ server telah menjadi pilihan dalam arsitektur
aplikasi. Client/ server diaplikasikan pada aplikasi mainframe yang sangat besar
untuk membagi beban proses loading antara client dan server. Sebagai dampaknya
client/ server telah mengubah cara/ pola pikir kita dalam men-desain dan
membangun aplikasi. Dan ini sangat membantu end-user dalam peng-harapan
tentang “the look and feel” dari multiuser software.

Dalam perkembangannya, client/ server dikembangkan oleh dominasi perusahaanperusahaan
software besar yaitu Baan, Informix, Lotus, Microsoft, Novell, Oracle,
PeopleSoft, SAP, Sun, dan Sybase. Perusahaan-perusahaan ini adalah superstar
pada era pertama dimunculkannya konsep client/ server. Saat ini perusahaanperusahaan
ini telah menjadi perusahaan komputer yang stabil dan besar.

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 terjadisekarang 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).
Berikut ini perbandingan antara 2-tier dan 3-tier client/ server :
2-tier 3-tier
System administration Complex
(more logic on the client to manage)
Less complex
(aplikasi dapat di-manage secara
terpusat di server-program aplikasi
dibuat sesuai standar system
management tools)
Security Low
(data-level security)
High
(fine-tuned pada layanan atau level
method)
Encapsulation of Data Low
(tabel data dapat dilihat)
High
(cthe client invokes services or
methods)
Performance Poor
(many SQL statements are sent
over the network; selected data
must be downloaded for analisys on
the client)
Good
(only service requests and responses
are sent between the client and
server)
Scale Poor
(limited management of client
communication links)
Excellent
(concentrates incoming sessions; can
distribute loads across multiple
servers)
Application reuse Poor
(monolithic application on client)
Excellent
(can reuse services and objects)
Ease of development High Getting better
(standard tools can be used to create
the clients, and tools are emerging
that you can use to develop both the
client and server sides of the
application)
Server-to-server
Infrastructure
No Yes
(via server-side middleware)
Internet support Poor
(internet bandwidth limitations make
it harder to download fat clients and
exacerbate the already noted
limitations)
Excellent
(thin clients are easier to download
as applets or beans; remote service
invocations distribute the application
load to the server)
Heterogeneous
database support
No Yes
(3-tier applications can use multiple
databases within the same business
transaction)
Hardware architecture
flexibility
Limited
(you have a client and a server)
Excellent
(all three tiers may reside on different
computers, or the second and third
tiers may both reside on the same
computer; with component-based
environments, you can distribute the
second tier across multiple servers as
well)
Availability Poor
(can’t fail over to a backup server)
Excellent
(can restart the middle tier
components on other servers)

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.
Daftar Pustaka
3-tier client/ server at work by Jeri Edwards John Wiley & Sons, Inc

0 comentários:

My Instagram

E-mail: liridwan85@gmail.com | Phone: +62 812 387 011 47