You are on page 1of 11

SISTEM TERDISTRIBUSI

3-Tier dan N-Tier Arsitektur

Oleh
Sri Handhina Y. : M0508021
Arif Rohmadi : M0508031
Retno Laila Arfiani : M0508065
Riky Bagus Muhajir : M0508117
Arief Adi Nugroho : M0507010

JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET SURAKARTA
2011
3-Tier dan N-Tier Arsitektur
A. 3-Tiers
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 diperusahaan
mereka. Karena yang terjadi saat ini dengan adanya internet maka dituntut agar aplikasi yang
digunakan di perusahaan 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.
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:
Arsitektur yang digunakan model three-tier client-server merupakan gabungan dari model
thin-client dan model fat-client dapat memberikan kualitas layanan dan kinerja yang
diinginkan seperti sekarang ini. Pembagian kerja nya :
 Membagi proses loading antara
1) komputer client menjalankan graphical user interface (GUI) logic
2) aplikasi server menjalankan business logic
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. Oleh karena bussiness logic dikerjakan oleh server, maka data
yang terkirimkan hanyalah data hasil pengolahan bussiness logic. Tentu saja dengan
demikian akan mengurangi padatnya lalu lintas jalur network yang ada. Teknologi yang dapat
digunakan untuk membangun model ini antara lain COM+, CORBA,CGI, ASP, dan
sebagainya.
Pembagian kerja ini adalah isu utama yang menjadikan perbedaan terbesar dalam
penentuan sukses tidaknya aplikasi yang berhubungan penyelesaian masalah mission-critical.

Arsitektur 3-tier :

Fitur tools arsitektur 3-tier :


Minimal ada tiga fitur umum yang harus dimiliki oleh tools yang akan digunakan untul
mengimplementasikan arsitektur three-tier, yaitu:
1. Partitioning (Kemampuan mempartisi), yaitu kemampuan untuk memecah sebuah
aplikasi menjadi komponen-komponen threetier. Kemampuan ini memungkinkan
pengembang untuk membagi sebuah aplikasi lengkap menjadi komponen-komponen
threetier sesuai dengan pertimbangan performansi dan kebutuhan lain yang menonjol.
2. Konkurensi dan seriability. Karena logika aplikasi dirancang untuk diakses oleh
banyak pemakai (multiuser) dengan banyak layanan, maka server aplikasi
membutuhkan kemampuan menangani banyak permintaan secara simultan pada saat
yang bersamaan dengan kecepatan respon yang memadai. Untuk itu diperlukan
adanya fasilitas yang berfungsi sebagai resource manager dan transaction monitor
untuk mengatur konkurensi. Untuk menjaga kebenaran data pada setiap saat,
diperlukan adanya mekanisme yang mengatur urutan pengaksesan data. Untuk itu
diperlukan pengaturan seriabilitas pengaksesan data. Untuk basis data diperlukan
mekanisme lock dan unlock yang biasanya langsung disediakan oleh RDBMS yang
dijadikan server basis data.
Bila kita menggunakan antarmuka, fasilitas ini juga biasanya disediakan pada API-
nya. Sedangkan untuk data yang di-share di memori di perlukan mekanisme lock dan
unlock yang pengendaliannya dapat dilakukan secara manual dalam program, atau
diatur secara otomatis oleh transaction monitor
3. ServicesTools juga harus menyediakan layanan-layanan tambahan sesuai dengan
kebutuhan pemakai maupun pengelola, seperti: security, logging, messaing, dll.
Dengan tersedianya fitur tersebut, memungkinkan pengembang berkonsentrasi pada
aspek dekomposisi dan penyebaran sehingga dapat memenuhi criteria performansi yang
diinginkan.
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 beberapa 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
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.
Kunci keberhasilan sebuah arsitektur three-tier adalah kemampuan menguraikan suatu
aplikasimenjadi elemen-elemen kecil yang tingkatketergantungannya satu sama lain
seminimal mungkin baik secara vertil maupun horizontal.
Dekomposisi vertikal, artinya menguraikan aplikasi menjadi tiga komponen, yaitu:
1. komponen presentasi, yang menangani userinterface dan input/output ke pemakai
2. komponen logika aplikasi, dimana semua task dan business rule diterapkan.
3. komponen manajemen basis data, yang mengelola data dan informasi mengenai
pemakai dan operasional aplikasi sesuai dengan layanan yane disediakan.
Dekomposisi horizontal dalam arti menguraikan masing-masing komponen vertikal
menjadi komponen-komponen kecil yang tingkat kebergantungannya minimal. Sebagai
contoh, adalah komponen logika aplikasi sebisa mungkin di dekomposisi menjadi satuan
satuan(unit) fungsional yang kecil satu komponen hanya melakukan satu pekerjaan
fungsional. Dengan cara seperti ini, tingkat fleksibilitas pengembangan dari perawatannya
sangat tinggi, karena perubahan/pengembangan suatu komponen memiliki pengaruh yang
kecil atau di usahakan tidak mengganggu komponen lain.

Kelebihan model 3-tier :


 Scalability: Manfaat kunci dari model 3-tier ini adalah meningkatkan skalabilitas
karena aplikasi server dapat dikembangkan di banyak mesin.Selain itu, database tidak
lagi memerlukan koneksi dari setiap client—hanya memerlukan koneksi dari
beberapa aplikasi server.Ditambah lagi,Tp monitor/ORB dapat digunakan untuk
menyeimbangkan beban dan secara dinamis mengatur jumlah dari aplikasi server
yang tersedia.
 Better Re-use: Logika yang sama dapat diinisiasi dari banyak klien atau aplikasi. Jika
standar objek seperti COM / DCOM atau CORBA digunakan (seperti dibahas dalam
ketergantungan alat), maka implementasi bahasa spesifik middle tier dapat dibuat
transparan.
 Peningkatan Integritas Data: karena semua update melalui middle tier, middle tier
dapat memastikan bahwa hanya data yang valid yang diperbolehkan untuk
diperbarui/diupdate dalam database dan resiko dari aplikasi client nakal yang dapat
merusak data dihapus.
 Peningkatan Keamanan: Keamanan meningkat karena dapat diimplementasikan di
berbagai tingkat (tidak hanya database). Keamanan dapat diberikan berdasarkan
service-by-service. Karena klien tidak memiliki akses langsung ke database, hal ini
akan sulit bagi klien untuk memperoleh data yang tidak sah. Business logic umumnya
lebih aman karena ditempatkan pada server pusat yang lebih aman.
 Mengurangi Distribusi: Perubahan ke business logic hanya perlu diupdate pada di
aplikasi servernya dan tidak harus didistribusikan kepada semua klien.
 Peningkatan Ketersediaan: aplikasi mission-critical dapat menggunakan server
aplikasi dan server database yang redundant. Server yang redundant, memungkinkan
arsitek aplikasi sehingga dapat pulih dari kegagalan jaringan atau server.
 Struktur Database Tersembunyi: karena struktur database yang sebenarnya
tersembunyi dari caller, hal ini memungkinkan banyak perubahan database yang dapat
dilakukan secara transparan. Oleh karena itu, layanan di middle tieryang menukar
informasi / data dengan aplikasi lain bisa mempertahankan interface aslinya ketika
struktur database disempurnakan selama rilis aplikasi baru.

Kekurangan dari model 3-tier ini diantaranya:


 Increased Complexity/Effort: Secara umum, lebih sulit untuk membangun aplikasi 3-
tier dibandingkan dengan aplikasi 2-tier. Titik komunikasinya dua kali lipat(client ke
middle tier ke server, bukan hanya dari client ke server) dan banyak produktivitas
perangkat tambahan yang disediakan oleh client tools (misalnya VisualBasic,
PowerBuilder, Delphi) sehingga membuat keuntungan mereka akan berkurang dengan
3-tier arsitektur.
 Fewer Tools: Ada banyak tool yang tersedia untuk model 2-tier (e.g. most reporting
tools).Sedangkan untuk model 3-tier, kemungkinan diperlukan programming effort
tambahan untuk mengelola task/pekerjaan yang dihandle oleh alat otomatis dalam
lingkungan 2-tier.

B. N-Tier
N-tier struktur dibentuk berdasarkan arsitektur 3-tier. N-Tier umumnya merujuk ke
aplikasi web yang selanjutnya meneruskan request-requestnya ke layanan enterprise lain.
Tipe aplikasi ini paling bertanggungjawab bagi kesuksesan application server. 3-tier
arsitektur logika aplikasi dari manajemen sumber data (database) dan klien dipisahkan. Di
satu sisi itu membuat klien hanya peduli dengan visualisasi data dan informasi masukan
pengguna, kata koleksi, yang mengurangi kompleksitas program klien, program klien lebih
kompak, fleksibel, dan mengurangi persyaratan perangkat keras komputer klien . Di sisi lain,
karena logika aplikasi pada server aplikasi, yang memfasilitasi penerapan logika manajemen
dan modifikasi, penyesuaian.
Struktur N-tier memiliki semua kelebihan arsitektur 3-tier, N-tier mengunakan browser
sebagai antarmuka klien, yang pada gilirannya membuat sistem aplikasi sangat sederhan
ketika digunakan dan dapat mencapai tujuan dari nol overhead distribution.
Dalam struktur N-tier, klien pada sistem komunikasi jaringan menggunakan protokol
HTTP Web. Sistem web untuk distribusi informasi.Struktur N-tier dari empat adalah
Presentasi Tier (lapisan), Web Server Tier (lapisan Web server), Application Server Tier
(Application Server Layer) dan Data Tier (lapisan data)
Gambar arsitektur N-tier

Kelebihan N-tier
Kelebihan aplikasi N-tier adalah sistem yang lengkap untuk aplikasi enterprise.
Dibandingkan dengan arsitektur aplikasi sistem tradisional, yang memiliki keunggulan
berikut:
1. Informasi Engine Arsitektur
Informasi mesin adalah yang paling penting dalam aplikasi inti sistem server. Informasi
database mesin sistem membuat rincian aplikasi transparan, sementara juga menyediakan
sebuah antarmuka standar untuk mengimpor informasi, yang membuat dengan sistem lama,
kombinasi sistem pihak ketiga lebih mudah, dan tidak akan mempengaruhi seluruh sistem.
Seluruh sistem ini memiliki fleksibilitas yang sangat baik. Di sisi lain, informasi mesin
komunikasi dibangun di atas protokol TCP Internet, protokol TCP itu sendiri sangat baik
untuk berkomunikasi data untuk menyediakan keandalan dan toleransi kesalahan, mesin
informasi pada lapisan komunikasi juga menyediakan data enkripsi antarmuka, modul ini
dengan menyediakan enkripsi data dalam keamanan sistem informasi memiliki perlindungan
yang sangat kuat.
2. Sebuah Internet komprehensif berorientasi
Pengguna antarmuka klien menggunakan browser, antarmuka GUI operasi standar, klien
dapat mencapai tujuan dari nol overhead penyebaran. Sistem sepenuhnya menggunakan
perjanjian protokol HTTP, yang paling populer di Internet dan banyak digunakan adalah
protokol HTTP, dan HTTP di masa mendatang akan terus digunakan secara luas di Internet.
3. Kinerja Sistem dapat skala
Kinerja dari sistem dapat skala diperlukan untuk aplikasi perusahaan, yang aplikasi juga
dapat menggunakan faktor kunci jangka panjang.
4. Sistem fitur skala besar
arsitektur Engine untuk mendistribusikan penggunaan informasi yang diberikan oleh
sistem, yang memungkinkan aplikasi dan dapat digunakan kembali, untuk bekerja sama
untuk membentuk kelompok software besar-besaran sistem.
5. Sistem yang mudah untuk mempertahankan
Sebagai aplikasi dari logika aplikasi sepenuhnya pada tingkat server aplikasi untuk
mencapai klien menggunakan browser standar, yang untuk penyebaran sistem, pemeliharaan
dan upgrade yang sangat nyaman.
6. Sistem kekuatan. Dengan aplikasi perusahaan
Sebagai sistem yang dikembangkan banyak pilihan alat pengembangan yang serius, C +
+, Java dan sebagainya. Ini kekuatan dari aplikasi perusahaan untuk sistem untuk
memberikan perlindungan solid.

Kekurangan N-tier
Membagi-bagi sebuah aplikasi menjadi lapisan-lapisan akan menyebabkan:
 Perancangan aplikasi N-Tier akan lebih sulit.

 Penggunaan memori komputer lebih besar.

Beberapa contoh teknologi yang umum dipergunakan untuk mendukung N-tier:


1. Component Object
Umumnya merupakan model object oriented dimana dapat dipergunakan oleh aplikasi
yang berbeda dan penggunaan ulang komponen. Contohnya adalah COM/DCOM. Aplikasi
yang ditulis dengan bahasa pemrograman yang berbeda dapat saling berkomunikasi dengan
menggunakan Component Object. Component Object itu sendiri dapat ditulis dengan bahasa
pemrograman yang berbeda-beda. Pada prinsipnya komponen tersebut terdiri dari class yang
memiliki sekumpulan method.
2. Microsoft Transaction Server
MTS atau Microsoft Transaction Server merupakan software yang dikembangkan oleh
Microsoft untuk keperluan monitoring transaksi pada aplikasi terdistribusi. MTS beroperasi
pada middle-tier dan menyediakan control transaksi. Sebagai contoh, jika Anda
mengembangkan sistem 3-tier yang mana menempatkan business object pada middle-tier,
maka Anda dapat membuat ActiveX DLL sebagai business objectnya, dan melakukan
instalasi didalam lingkungan MTS pada middle-tier. MTS akan bertanggung-jawab dalam
menangani akses multi-client pada busines object tersebut. MTS menyediakan fasilitas
seperti transaksi rollback, commit dan deadlock pada middle-tier.
3. HTTP/Web Server.
Untuk aplikasi n-tier pada aplikasi Internet/Intranet, Anda mutlak memerlukan Web Server.
Terdapat cukup banyak web server yang umum digunakan seperti Apache Web Server atau
Internet Information Server (IIS). Anda dapat menggunakan web server sebagai middle-tier
untuk menangani permintaan dari browser komputer client.
4. Microsoft Message Queue Server.
MMQS atau Microsoft Message Queue Server merupakan teknologi yang dikembangkan
oleh Microsoft yang berjalan pada middle-tier dan berfungsi untuk mengelola antrian
permintaan.Hal ini dilatarbelakangi karena didalam jaringan yang besar, tidak semua
komputer yang terkoneksi berfungsi pada saat yang diperlukan, sehingga diperlukan sebuah
aplikasi yang dapat mengelola antrian request dari client dan response dari server yang akan
dikirimkan lagi ketika komputer tujuan telah berfungsi. Satu keuntungannya lagi, jika client-
client meminta request yang melebihi kapasitas sebuah server, maka MMQS dapat
menyimpannya untuk kemudian mendelegasikannya pada server yang tidak sibuk. Untuk
kebutuhan ini diperlukan aplikasi pada server yang berfungsi sebagai listener atau referral.
5. Database Management System.
Database Management System atau dikenal dengan singkatan DBMS merupakan sumber
penyimpanan data dan tentu saja memegang peranan vital dalam keseluruhan sistem. Untuk
arsitektur 2-tier dan n-tier, diperlukan aplikasi DBMS yang mampu bekerja pada lingkungan
tersebut, beberapa contohnya adalah MySQL, Microsoft SQL Server dan Oracle. Jika pada
DBMS yang dipergunakan terdapat fasilitas stored procedure, maka dimungkinkan untuk
menyimpan business logic didalam stored procedure yang akan diakses oleh client.

Secara umum perbandingan kekurangan dan kelebihan berbagai arsitektur tier sebagai
berikut:

Architecture Advantage Disadvantage

One tier Sederhana, Tidak ada jaringan-tidak dapat


Kinerja tinggi, mengakses layanan remote
Lengkap

Two tiers Bersih, Harus


Sedikit network traffic, merancang/mengimplementasikan
Algoritma yang aman, protokol, Harus merancang
Dapat memisahkan user interface /mengimplementasikan
dengan business logic penyimpanan data yang dapat
diandalkan
Three tiers Dapat memisahkan User Interface, Perlu membeli produk DB
logic dan storage dapat diandalkan, Perlu menyewaDBA
data dapat direplikasi. Perlu belajar SQL
Data access via transaksi dapat Pemetaan relasional Obyek-sulit
bersamaan.
Data akses yang efisien.
N tiers Mendukung beberapa aplikasi yang Kurang efisien
lebih mudah, common protocol/API HarusbelajarAPI(CORBA, RMI,
dll)
Produk mahal
Lebihkompleks, lebih banyak
kesalahan
Load balancingyang susah.
Kesimpulan :
Pada akhirnya, saat ini akan sangat mudah dan aman bagi kita untuk
mengimplementasikan arsitektur 3-tier/n-tier client/server khususnya jika kita memiliki
infrastruktur yang solid untuk itu. Dalam era intranet dan aplikasi internet sekarang ini,
arsitektur 3-tier/n-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.

Referensi
Http://digilib.unsri.ac.id
http://www.dotnetspider.com/forum/32149-advantages-disadvantages-ree-tier-archit.aspx
wahid,fatul.PENERAPAN ARSITEKTUR THREE-TIER DENGAN COM+DALAM PORTAL
JURNAL-fti.uii.ac.id

You might also like