Senin, 11 April 2011

 
Sering orang bingung tatkala membedakan antara Sistem Tersebar alias Distributed System dengan Jaringan Komputer. Lalu juga dengan Paralel Computing yang sering dikaitkan sama dengan Clustering ato Cluster Network. Juga dengan Pemrograman Jaringan. Juga dengan Grid Computing. Hmm.. pertama kali saya dapet mandat untuk mengajar mata kuliah ini pun, saya sempet bingung juga. Sebab klo saya coba mengacu ke beberapa referensi baik dari buku maupun internet, memang berkesan campur2 antara Jaringan Komputer, Paralel Computing, Clustering, Pemrograman Jaringan, Grid (yang juga beririsan dengan masalah Clustering). Akhirnya jadi bikin bingung, yang bener yang mana ya? Malah ada pula suatu sumber yang cukup “strik” yang pembahasannya lebih kepada Java RMI dan CORBA. Mungkin daripada ngajar na puyeng kali ya saking bingung ngasi batasan Sistem Tersebar. Selidik punya selidik akhirnya saya mencoba menyimpulkan, bahwa pembahasan untuk Mata Kuliah Sistem Tersebar adalah menyangkut .. Network Operating System (NOS), Distributed Operating System (DOS), middleware, agent. Terkait teknologi baru (yang mana blon masuk di buku referensinya), bisa dimasukan mengenai Sistem Dokumen Tersebar (sering menggunakan XML meski ada format lain seperti ASN), lalu juga ada Web Service. Namun pembahasan Web Service di sini tidak hanya menyangkut integrasi data saja, namun bisa mengarah pada penggunaan resource di level bawah seperti yang digunakan pada Grid Portal. Itulah sebabnya bilamana permasalahan Grid ini dimasukan pula ke dalam Sistem Tersebar, saya tidak bermaksud membahas masalah penggunaan “Computing”-nya. Sama seperti pada DOS, saya tidak bermaksud membahas masalah komputasinya sebab akan bentrok dengan Paralel Computing maupun Clustering nantinya. Tapi lebih membahas bagaimana fitur servlet, pada Sistem Grid, bisa mengaktifkan resource di level bawah yang “pengaturan”-nya bisa dipilih oleh user. Jadi dalam hal ini Grid Portal menjadi lebih canggih ketimbang middleware maupun agent yang mana pengaturan resource-na diatur oleh sistem itu sendiri tanpa campur tangan user, alias user jadi gak bisa “pilih2″ seperti yang bisa ia lakukan via Grid Portal. User, bisa memilih fitur2 tertentu untuk mengaktifkan resource di level bawah pada Grid Portal.. adalah berkat teknologi yang dinamakan.. Web Service.
Sekarang malahan udah ada pula istilah baru yang dinamakan Cloud Computing. Di sini sekali lagi, saya lebih menekankan pada bagaimana interaksi antara modul2 yang membangun sistem tersebut dan bukan pada masalah komputasinya, bila.. Cloud Computing trsebut dimasukkan pula ke dalam pembahasan Sistem Tersebar.
Contoh dari NOS misalnya terkait File Servis. Lainnya lagi terkait skalabilitas bisa memasukkan DNS. Lalu LDAP. Farm Web Server menggunakan Load Balance di layer Transport. Bicara mengenai skalabilitas sendiri sekarang sudah ada teknologi baru yang dinamakan GeoIP. Apakah GeoIP sendiri akan dapat mengungguli DNS? Ya silakan dipelajari deh. Soale saya baru denger juga.
DOS sendiri sebenernya hampir bisa dikatakan mirip2 dengan NOS. Cuma hubungan komunikasi antar modul yang membentuk sistemnya lebih “erat” lagi. Kalo Farm Server di NOS menggunakan layer Transport, pada DOS, komunikasinya sudah di level “di atas sedikit” dari Kernel. Jadi sudah di layer bawah dari OS na.
Middleware, yang ini sebenarnya sudah level perangkat lunak yang berjalan secara terdistribusi di modul2 pembangun Sistem Tersebar. Pembahasannya lebih kepada object dan bukan layer, sehingga bila mencoba menganalisa middleware, mindset-nya adalah bagaimana membuat object yang menggunakan resource sekecil-kecilnya. Seperti yang saya katakan, ada suatu sumber yang “strik” dalam pengajarannya mengenai Sistem Tersebar lebih kepada Java RMI dan CORBA. Memang wajar saja sebab tatkala saya selidiki, lembaga pendidikannya lebih kepada jenjang profesional setingkat D3 ato akademi. Saya berharap tidak “strik” semacam itu mengingat.. terdapat pula varian dari middleware ini, yaitu agent.
Untuk agent sendiri, mindset yang digunakan sama halnya seperti middleware. Cuma canggihnya agent, ia mengambil resource secara lokal di mesin tempat object dari agent ini berproses, dan yang dikirimkan ke mesin utamanya hanyalah “hasil” dari proses tersebut sehingga dari sisi komunikasi antar modul pembangun Sistem Tersebar menjadi lebih ringan alias tidak banyak memakan bandwidth.
Sebenernya baik middleware maupun agent masih terdapat kelemahan di mana seakan user “tidak memiliki kekuasaan” untuk mengatur task apa yang hendak dieksekusi, namun mesinlah yang mengatur itu semua. Hal ini kemudian diperbaiki pada Sistem Grid. Yang paling jelas terlihat adalah Grid Portal ini di mana task di level hardware, melalui API yang terhubung dengan servlet bisa seakan-akan “dipilih” sesuai kemauan user. Sehingga bisa hemat object, juga hemat dalam hal komunikasinya. Komunikasinya sendiri sudah dapat melalui Proxy dengan mnggunakan fasilitas Grid Proxy. Hal ini menyebabkan “daerah jangkauan” dari Sistem Grid bisa lebih luas dari middleware maupun agent.
Apakah akan ada lagi teknologi terbaru yang bisa dimasukkan dalam lingkup Sistem Tersebar.

Sabtu, 09 April 2011

Sistem tesebar

Mari kita bayangkan masa depan, saat hampir semua aktivitas manusia memanfaatkan komputer sebagai sarana utamanya. Berbagai basis data berskala besar telah disimpan dalam format elektronis. Demikian pula berbagai aplikasi yang mendasarkan pada basis data telah dikomputerisasi dalam sebuah lingkungan jaringan komputer yang meliputi berbagai instansi dan perusahaan. Pada saat itu dimensi ruang benar-benar telah berkontraksi sedemikian rupa sehingga dunia maya seakan-akan telah menjadi dunia nyata dan berbagai aspek kehidupan manusia terhubung melalui suatu jaring-jaring yang amat kompleks.

Ilustrasi berikut ini bisa menggambarkannya. Misalnya si A sakit dan pergi ke dokter langganannya. Jika hasil diagnosa mengharuskan si A harus masuk ke rumah sakit, maka pemilihan RS dan pemesanan tempat dapat dilakukan pada saat itu juga melalui komputer di tempat praktek dokter. Selanjutnya komputer di RS dapat mengontak komputer perusahaan asuransi kesehatan untuk pengurusan pembayaran biayanya. Jika si A memerlukan obat atau peralatan khusus, maka komputer si dokter dapat memberitahu di apotik mana obat atau peralatan tersebut tersedia. Cerita ini dapat diperpanjang, tapi intinya adalah bahwa satu aksi dapat memicu berbagai aktivitas lain yang saling berhubungan.

Ilustrasi di atas nampaknya tidak lagi jauh dari kenyataan yang ada saat ini. Sesungguhnya dapat dikatakan bahwa teknologi untuk menuju ke sana saat ini sudah dimiliki manusia. Selain teknologi mikroelektronik dan telekomunikasi, maka teknologi lain yang berperanan penting adalah teknologi sistem komputer terdistribusi (distributed computer systems).

Sistem komputer terdistribusi adalah sebuah sistem yang memungkinkan aplikasi komputer beroperasi secara terintegrasi pada lebih dari satu lingkungan yang terpisah secara fisis. Sistem informasi kesehatan yang diilustrasikan di atas menunjukkan komponen-komponen aplikasi yang terdistribusi (di tempat praktek dokter, di rumah sakit, di apotik, dan di perusahaan asuransi kesehatan). Ciri khas sistem komputer terdistribusi adalah heterogenitas dalam berbagai hal: perangkat keras, sistem operasi, dan bahasa pemrograman. Adalah tidak mungkin untuk mengembangkan sistem terdistribusi yang homogen secara paksaan, karena secara alamiah sistem komputer terdistribusi tumbuh dari lingkungan yang heterogen. Kata kunci dalam menjembatani perbedaan-perbedaan yang muncul adalah interoperabilitas (interoperability).