1. Pendahuluan
Arsitektur aplikasi merupakan suatu desain
aplikasi yang terdiri dari komponen-komponen yang saling berinteraksi satu sama
lain. Biasanya juga disebut dengan infrastruktur aplikasi. Cara komunikasi
komponen-komponen tersebut melalui network atau jaringan yang saling terhubung.
Terdapat beberapa macam arsitektur aplikasi, di antaranya Stand Alone, Client
Server (Two Tier), dan Three Tier. Selain ketiga arsitektur tersebut,
Clustering dan DRC (Disaster Recovery Center) merupakan suatu metode tambahan
pada arsitektur aplikasi yang lazim digunakan untuk menjaga availability suatu
sistem.
2. Macam Arsitektur
2.1 Arsitektur Stand Alone
Dengan menggunakan Arsitektur Stand Alone,
maka proses yang dilakukan terjadi pada komputer itu sendiri. Pada arsitektur
Stand Alone, biasanya juga terdapat aplikasi dan database pada komputer yang
sama. Saat ini, komputer yang menggunakan arsitektur Stand Alone hanya berupa
PC User yang memaintain data pada komputer itu sendiri. Tetapi arsitektur Stand
Alone sebenarnya juga masih dipakai terutama untuk Server Mainframe seperti
UNIX, AS400, dan sebagainya.
Client yang ada pada user merupakan dump
terminal yang digunakan untuk mengakses server tersebut. Dan semua proses yang
terjadi ada pada server Mainframe dan bukan pada terminal.
2.2 Arsitektur Client Server (Two Tier)
Client Server disebut juga dengan Two Tier
karena arsitektur ini hanya memiliki dua tingkatan, yaitu satu sebagai Client
dan satu lagi sebagai Server. Arsitektur ini memungkinkan aplikasi pada
komputer Client berinteraksi dengan Server melalui jaringan. Umumnya, aplikasi
Client Server merupakan aplikasi desktop, dimana aplikasi terinstal di
masing-masing PC, dan mengambil data pada satu Server. Server ini merupakan
Database Server, dimana dijadikan sebagai pusat data dari aplikasi. Pada
arsitektur Client Server ini, proses yang terjadi bisa pada Client maupun pada
Server. Aplikasi-aplikasi yang ada Client bisa dipergunakan sebagai proses
bisnis maupun hanya merupakan suatu User Interface aplikasi. Untuk membuat
suatu proses bisnis pada Client, maka kebanyakan aplikasi menggunakan suatu
metode berupa Class yang terbungkus di dalam suatu object. Proses bisnis juga
bisa ditempatkan pada Server. Server pada Client Server biasanya digunakan
untuk Database, seperti Oracle dan SQL Server, menggunakan Stored Procedure
sehingga bisa mengurangi bandwidth jaringan.
2.3 Arsitektur Three Tier
Arsitektur Three Tier merupakan inovasi dari
arsitektur Client Server. Pada arsitektur Three Tier ini terdapat Application
Server yang berdiri di antara Client dan Database Server. Contoh dari
Application server adalah IIS, WebSphere, dan sebagainya.
Application Server umumnya berupa business
process layer, dimana bisa didevelop menggunakan PHP, ASP.Net, maupun Java.
Sehingga kita menempatkan beberapa business logic kita pada tier tersebut.
Arsitektur Three Tier ini banyak sekali diimplementasikan dengan menggunakan
Web Application. Karena dengan menggunakan Web Application, Client Side
(Komputer Client) hanya akan melakukan instalasi Web Browser. Dan saat komputer
client melakukan inputan data, maka data tersebut dikirimkan ke Application
Server dan diolah berdasarkan business process-nya. Selanjutnya Application
Server akan melakukan komunikasi dengan database server. Biasanya, implementasi
arsitektur Three Tier terkendala dengan network bandwidth. Karena aplikasinya
berbasiskan web, maka Application Server selalu mengirimkan Web Application-nya
ke computer Client. Jika kita memiliki banyak sekali client, maka bandwidth
yang harus disiapkan akan cukup besar, Sedangkan network bandwidth biasanya
memiliki limitasi. Oleh karena itu biasanya, untuk mengatasi masalah ini,
Application Server ditempatkan pada sisi client dan hanya mengirimkan data ke
dalam database server.
2.4 Arsitektur Multi Tier
Arsitektur Multi Tier adalah suatu metode yang
sangat mirip dengan Three Tier. Bedanya, pada Multi Tier akan diperjelas bagian
UI (User Interface) dan Data Processing. Yang membedakan arsitektur ini adalah
dengan adanya Business Logic Server. Database Server dan Bussines Logic Server
merupakan bagian dari Data Processing, sedangkan Application Server dan
Client/Terminal merupakan bagian dari UI. Business Logic Server biasanya masih
menggunakan bahasa pemrograman terdahulu, seperti COBOL. Karena sampai saat
ini, bahasa pemrograman tersebut masih sangat mumpuni sebagai business process.
3. Clustering dan DRC
Clustering merupakan salah satu metode untuk
menjamin availability dari suatu system. Dengan menggunakan Clustering, maka
kita membuat dua sistem dimana satu server bersifat aktif dan satu server
lainnya merupakan mirror dari sistem tersebut. Clustering bisa
diimplementasikan pada database level (Database Server) maupun pada application
level (Application Server).
Sebaiknya memang saat implementasi Clustering
ini dilakukan pada kedua server tersebut. Tetapi, untuk menerapkannya
membutuhkan biaya tambahan yang biasanya tidak murah. DRC dibuat juga memiliki
tujuan yang sama dengan Clustering. Tetapi pada DRC ini, biaya yang dibutuhkan
jauh lebih besar, karena DRC berarti kita membuat satu system bayangan (di
tempat yang berbeda), untuk menjaga availability dari sistem. Pada Clustering
biasanya ditempatkan pada daerah yang sama, dimana digunakan untuk availability
saat primary sistemnya (Database dan Application Server) sedang rusak.
Sedangkan pada DRC biasanya digunakan untuk availability saat tempat dimana
Database Server dan Application Server sudah tidak bias digunakan lagi karena
bencana (seperti banjir, gempa bumi, kebakaran, dan sebagainya).