SISTEM INFORMASI TERDISTRIBUSI SERI 1 (TEORI & KONSEP DASAR) Oleh : Muhammad Fadly Email :
[email protected] Website : http://mufarsta.neratek.co.id
Kata kunci : Distributed online system, DOS, Software architecture Sasaran : Corporate (perusahaan), Universitas, sekolah Referensi : http://dsonline.computer.org CORBA DISTRIBUTED SYSTEM WIKIPEDIA CANGKUPAN ARTIKEL SERI 1 : √ PENGENALAN SISTEM INFORMASI TERDISTRIBUSI √ BAGIAN INFRASTRUKTUR DARI SISTEM INFORMASI TERDISTRIBUSI √ PENERAPAN SISTEM DENGAN FILE TERDISTRIBUSI √ PENERAPAN SISTEM DENGAN DATABASE TERDISTRIBUSI √ MENGGABUNGKAN FILE DENGAN DATABASE MENJADI SATU SOLUSI TOTAL SISTEM INFORMASI TERDISTRUBISI Artikel yang anda baca dari website ini adalah artikel riset penulis dan dapat dipublikasikan bebas tanpa syarat maupun biaya asal mencantumkan nama penulis, karena dibuat sebagai proyek “ISI OTAK” yang merupakan proyek pribadi dengan tujuan mengisi otak anak bangsa dengan sumber bacaan yang bermutu, orisinal dan anti terhadap penduplikasian konten.
PENGENALAN SISTEM TERDISTRIBUSI DIFINISI
"A system in which hardware or software components located at networked computers communicate and coordinate their actions only by message passing." [Coulouris] "A system that consists of a collection of two or more independent computers which coordinate their processing through the exchange of synchronous or asynchronous message passing." "A distributed system is a collection of independent computers that appear to the users of the system as a single computer." [Tanenbaum] "A distributed system is a collection of autonomous computers linked by a network with software designed to produce an integrated computing facility."
Jadi secara umum bisa dikatakan bahwa : Sistem komputer terdistribusi adalah sebuah sistem Yang memungkinkan aplikasi komputer beroperasi secara terintegrasi pada lebih dari satu lingkungan yang terpisah secara fisis. (Lukito Eddi) Lalu sekarang akan timbul pertanyaan mengapa harus terdistribusi ? Bukannya terintegrasi akan lebih baik ? Sebelum saya menjawab, mungkin akan lebih baik jika kita simak pernyataan hanysanj berikut : Kalau Anda sedang menerapkan proyek TI, Anda harus waspada pada hal-hal berikut ini. Tahukah Anda berapa persen kegagalan implementasi software ERP, SCM, CRM di seluruh dunia? Rata-rata survei menghasilkan lebih dari 50%, bahkan sampai 70% tingkat kegagalan implementasi. Dalam banyak tulisan, angka 70% dapat dikatakan “standar” kegagalan yang telah diterima bersama dalam berbagai proyek TI. Standish Group menyatakan hanya 10% perusahaan yang berhasil menerapkan ERP, sedangkan sisanya? 35% proyek dibatalkan dan 55% mengalami keterlambatan. Meta Group menyatakan 55% - 75% proyek CRM gagal. CRM Forum menyatakan lebih dari 50% proyek CRM di US serta lebih dari 85% di Eropa dianggap gagal. Walaupun demikian, survei dari Morgan Stanley terhadap 225 CIO di awal tahun ini menunjukkan bahwa 80% dari mereka tetap merencanakan proyek TI baru di tahun 2002 dan banyak yang memprioritaskan CRM. ABN AMRO memprediksikan pangsa pasar CRM akan mencapai US$ 3,36 milyar di tahun 2003, naik 25.8% dari tahun 2002. Sumber : http://hannysanjs.multiply.com
Terus terang saya sangat setuju dengan pernyataan diatas yang menerangkan bahwa 70 % kegagalan suatu software adalah implementasi, dan jika kita analisa lebih lanjut, ternyata ada banyak sekali faktor yang terdapat dalam implementasi, dan salah satu faktor yang menarik perhatian saya adalah masalah response time dan bandwidth capability (kemampuan bandwidth) yang ternyata sudah menjadi masalah umum di lingkungan perusahaan dan instansi-instansi masyarakat. Dan oleh karena itu saya sangat berharap bukan hanya saya saja yang memikirkan masalah ini, dan saya juga berharap artikel ini dapat memberikan inspirasi bagi para developer lain agar dapat bereksperimen, memperbaiki kelemahan dan membundle-nya lagi ke dalam suatu solusi yang robust.
Komponen dasar sistem terdistribusi
Selain jaringan, Ada 3 komponen dasar dalam satu model sistem terdistrubusi : 1. Webserver : server pengelola sistem / tempat menaruh source code program yang merupakan otak dari sistem itu sendiri. 2. Database server : Mesin yang digunakan sebagai server untuk menyimpan database 3. File server : Mesin yang digunakan sebagai server untuk menyimpan file/konten yang berhubungan dengan sister. Mengapa komponen tersebut harus terdistribusi ? Karena ada 3 alasan utama yang paling mendasar yaitu : 1. Distribusi fungsi : Karena komputer memiliki kemampuan fungsi yang berbeda (distribusi fungsi), contoh : fungsi utama file server yang menitikberatkan pada space harddrive tentu berbeda dengan fungsi utama webserver yang mengutamakan kecepatan prosesor dan kemampuan memori yang besar. 2. Distribusi beban keseimbangan : Pemberian tugas ke prosesor secukupnya sehingga unjuk kerja seluruh sistem teroptimasi. 3. Distribusi fisik : sistem yang menggantungkan pada fakta bahwa komputer secara fisik terpisah (e.g., untukmencapai kehandalan). Saya juga akan memberikan 3 alasan mengapa anda harus mulai menerapkan sistem ini di perusahaan : 1. Penambahan Quota bukan merupakan solusi total untuk mengatasi masalah bandwidth.Contoh : apakah dengan melebarkan jalan akan menuntaskan masalah kemacetan dijakarta, atau hanya mengurangi ? 2. Fakta bahwa kebutuhan informasi internal (cabang/jobsite) tidak harus tersentralisasi. 3. Peningkatan jumlah aplikasi berbanding lurus dengan penambahan quota bandwidth, sehingga harus ada solusi pintar untuk mengoptimalkan pemakaian bandwidth.
Selain itu saya juga akan memberikan 3 kendala utama (konsekuensi) yang mungkin terjadi dalam penerapan sistem terdistribusi : 1. Kompleksitas dalam perancangan arsitektur software. 2. Sistem terdistribusi sangat tergantung pada jaringan. 3. Pendistribusian data memunculkan masalah keamanan (security). Dan tentu saja saya juga akan memberikan 3 solusi yang saya gunakan untuk mengatasi kendala diatas : 1. Yang kita butuhkan untuk mengatasi masalah ini adalah tools, banyak sekali tools yang dapat anda gunakan, dan karena penulis bekerja di lingkungan windows maka tool saat ini yang penulis gunakan adalah adalah MS.Visual Studio Team System (VSTS). 2. Scheduler update agar data tetap tersentalisasi 3. Selain trik-trik dalam pemrograman, Policy ISMS (http://id.wikipedia.org/wiki/ISMS) juga wajib diterapkan. OK, Sekarang apa yang akan distribusikan dalam sistem anda ?, sebagai seorang system analyst anda tentu dapat menganalisa dan memetakan serta mengkombinasikan antara kebutuhan user dengan kemampuan dari lingkungan infrastruktur IT sendiri. Tidak selalu kita harus mendistribusikan Fileserver bersama dengan Database server, dan tentu saja saya tidak akan bicara panjang lebar tentang bagaimana cara anda melakukannya. Saya hanya akan membagi ini menjadi 3 model pendistribusian dan teknik bagaimana cara melakukannya pada artikel berikutnya (seri 2). DISTRIBUSI FILE
Distribusi file adalah bagian dari sistem informasi terdistribusi dimana konten-konten (file berupa fisik) yang terdapat dalam sistem, terdistribusikan di setiap fileserver lokal. Beberapa hal yang harus diperhatikan dalam sistem distribusi konten :
1. Asumsikan growth file yang mungkin akan tersimpan dalam kurun waktu tertentu, dan kompilasikan dengan kemampuan space pada file server lokal. Cara yang paling gampang adalah dengan mengalikan jumlah asumsi maksimal pengguna sistem perhari dengan batas maksimal besar file yang boleh diupload. Contoh kita asumsikan jumlah klik/hari adalah 50 user dan maksimal upload dokumen adalah 500Kb maka growth spacenya adalah 50 x 500 = 25000Kb = 25 Mb/hari. 2. Sistem yang dikembangkan sebaiknya friendly terhadap modifikasi besar maksimal file yang bisa di upload per lokal server. Contoh : seorang admin di server lokal bisa memodifikasi sendiri batas maksimal file yang boleh diuplaod ke server lokal. 3. Perhatikan model pengelolaan data dari konten itu sendiri. Contoh : Data terus berkembang dan disimpan dalam tape atau akan secara otomatis terhapus dalam kurun waktu tertentu. 4. Perhatikan pula hirarki direktori dalam pengorganisasian file. 5. Perhatikan juga kemampuan server lokal, server lokal yang digunakan merupakan dedicated server atau bukan. DISTRIBUSI DATABASE (MULTI DATABASE)
Distribusi database adalah bagian dari sistem informasi terdistribusi dimana arsitektur databasenya dirancang sedemikian rupa sehingga data yang berupa record dapat terdistribusikan di setiap database server lokal dan dapat bekerja secara terintegrasi dan simultan.
Karena memang cukup kompleks, terus terang, sampai pada saat saya menulis artikel ini, konsep dari distribusi database ini belum teraktualisasi, namun kira-kira inilah prinsip kerja distribusi database :
Dan hal yang perlu diperhatikan adalah bagaimana sistem dirancang untuk membaca alamat IP user/client dan mentransformasikannya menjadi suatu connection string database. DISTRIBUSI FILE & DATABASE
Model pendistribusian ini adalah gabungan dari 2 model distribusi yang telah dijelaskan diatas, dan tentu saja hal-hal yang perlu diperhatikan dalam mensimulasikan model pendsitribusian ini adalah gabungan dari keduanya. PENUTUP Karena keterbatasan waktu experimen, maka saya rasa cukup sampai disini dulu artikel ini. Saya akan terus riset dan mengembangkan konsep ini sehingga menjadi suatu solusi yang pintar & robust dalam mengoptimalkan penggunaan bandwidth, khususnya ditempat saya bekerja, ok c ya..