Would you like to make this site your homepage? It's fast and easy...
Yes, Please make this my home page!
Tinjauan Sekilas Aplikasi pada Sistem
Terdistribusi budi
susanto
Fakultas Teknik Jurusan Teknik Informatika
Universitas Kristen Duta Wacana Yogyakarta
Yang perlu kita sadari saat ini adalah perkembangan dalam industri
perangkat lunak yang semakin hari semakin menuju pada aplikasi yang
mendukung sistem terdistribusi. Idealisme yang ingin diwujudkan dengan adanya
sistem terdistribusi ini adalah apapun platform yang digunakan tetap dapat
mendukung suatu logika kesatuan sistem.
Sistem terdistribusi merupakan suatu bentuk arsitektur sistem dimana
komputer-komputer yang berdiri secara otonom dapat saling berkomunikasi dan
berbagi resource tanpa mempedulikan dimana komputer itu berada dan
platform yang digunakan. Secara logika, walaupun terpisah dan berbeda namun
tetap satu. (boleh dech jika disamain dengan Bhinneka Tunggal Ika :) )
Lalu bagaimana untuk
mewujudkannya?
Tidak perlu dikuatirkan untuk menjawab pertanyaan tersebut. Saat ini sudah
banyak teknologi yang dapat digunakan untuk membantu dalam pembangunan suatu
sistem yang terdistribusi. Yang perlu dipahami adalah sistem terdistribusi
tanpa didukung suatu sistem jaringan tidak akan berfungsi.
Peran dari pengetahuan akan Jaringan Komputer dalam membangun sistem
terdistribusi ini adalah menganalisa, merancang dan membangun suatu
infrastruktur network dengan tujuan utama adalah agar semua komputer yang
terhubung dapat saling berkomunikasi dan berbagi resource. Banyak hal yang
perlu diketahui di sini, antara lain konsep stack OSI dari ISO adalah mutlak,
pengetahuan akan protokol yang akan digunakan, pengetahuan akan cabling,
bridge, routing.
Berangkat dari infrastruktur network yang ada, salah satu pertimbangan utama
yang sangat mendukung dalam pengembangan suatu sistem terdistribusi adalah
protokol yang bersifat open system. Saat ini protokol yang mendukung
sifat tersebut adalah TCP/IP (Transmission Control Protocol/Internet
Protocol). Pengetahuan untuk protokol ini saat ini adalah MUTLAK.
Setelah infrastruktur network telah selesai, lalu apakah itu sudah
membentuk suatu sistem terdistribusi? Sudah! Tapi tidak memiliki suatu fungsi
yang dapat digunakan secara maksimal. Kalau hanya bisa komunikasi dan berbagi
resource untuk apa?
Selanjutnya pada titik inilah peran dari Sistem informasi memegang kendali.
Hasil Analisa dan Rancangan infrastruktur dari sistem yang akan
dikembangkan akan menentukan apakah sistem yang akan jadi nantinya
betul-betul telah membentuk suatu sistem yang terdistribusi.
Model client/server
Salah satu bentuk implementasinya nanti adalah penerapan model
client/server pada Sistem Informasi yang akan dikembangkan. Prinsip
utama dari model client/server ini adalah suatu proses dapat dipisahkan
menjadi 2, yaitu pada proses client dan proses server, dimana kedua proses
tersebut menggunakan suatu protokol tertentu agar dapat berkomunikasi dan
mengontrol. Model client/server ini dikenal pula sebagai suatu bentuk
arsitektur aplikasi. Arsitektur yang lama telah ada adalah arsitektur
monolithic, contoh yang sederhana adalah kita membangun suatu
aplikasi Sistem Informasi yang stand alone, kita membangun aplikasi dimana
model file server menjadi dominan. (Sebagai catatan : File server sebenarnya
lebih mengarah pada suatu layanan yang disediakan pada level Sistem Operasi
bukan pada level aplikasi yang dikembangkan itu sendiri.)
Berangkat dari itu, muncul model client/server 2-tier. Contohnya adalah
pemakaian Database Server (contoh SQL Server, Oracle Server, Sybase, mySQL,
ProgresSQL, dsb). Dengan penerapan Database server ini, mau tidak mau proses
akan terbagi menjadi dua, yaitu untuk pemrosesan database dilakukan oleh
Database server, sedangkan untuk antar muka pemakainya diproses pada client
(mis. Form di Win95, Form di X Window, dsb.)
Gambar 1. Model Client/Server 2-tier
Untuk membangun aplikasi dengan
model client/server 2-tier ini dari tiap database server telah menyediakan
suatu API yang memudahkan pemrogramannya. Jika anda merupakan kerabat setia
Microsoft, banyak teknologi yang dapat digunakan antara lain ADO, RDO, ODBC.
Sedangkan bagi anda yang berkecimpung dalam dunia Unix/Linux, jangan kuatir,
karena dari mySQL, PostgreSQL maupun Oracle telah menyediakan suatu antar muka
untuk mendukung pemrogramman client/server untuk dapat mengakses database
server tersebut.
Kita ambil contoh dengan teknologi ADO, RDO ataupun ODBC. Komponen tersebut
harus melekat pada aplikasi client dan jika suatu permintaan dikirimkan ke
database server, tentu saja semua hasil akan dikirimkan ke client, untuk
kemudian client akan melakukan proses terhadap data tersebut dengan
bussiness logicnya. Di sini, dengan model client/server 2 tier,
bottleneck terjadi pada trafik jaringannya, walaupun trafiknya lebih sepi
dibanding dengan file server.
Dengan acuan tersebut, muncul model client/server 3-tier, dimana
bussiness logic dipisahkan ke server. Jadi sekarang dengan model 3-tier
ini, server menjadi semakin gemuk (banyak makanan yang diberikan padanya...:)
). Oleh karena bussiness logic dikerjakan oleh server, maka data yang terkirimkan
hanyalah data hasil pengolahan bussiness logic (tidak seperti pada model 2-tier).
Tentu saja dengan demikian akan mengurangi padatnya lalu lintas jalur network yang ada.
Teknologi yang dapat digunakan untuk membangun model ini antara lain MTS,
DCOM, CORBA, CGI, ASP, dan sebagainya.
Gambar 2. Model Client/Server 3-tier
Arah paradigma pengembangan
perangkat lunak
Dari beberapa bentuk teknologi seperti yang disebutkan di atas, mau tidak mau
arah paradigma pengembangan perangkat lunak harus bergeser, yang semula adalah
prosedural ataupun sequence, harus diganti dengan object oriented serta multithreading (tidak mutlak.
Contoh yang nyata menyangkut pemrograman multithreading ini adalah pemrograman pada Windows maupun XWindows). Teknologi seperti
Active X ADO, RDO, COM dan CORBA, semuanya berbasiskan pada object. Di sini
pegangan akan pengetahuan object oriented programming menjadi kuncinya.
©1999, budi susanto