Oktober 01, 2013

Introspeksi Untuk Rekayasa Web: Aplikasi Web atau Sistem Web?

Selama ini kita cenderung menyebut istilah software yang ada di Internet dan menggunakan infrastruktur dari W3C untuk antarmuka dengan manusia melalui browser sebagai aplikasi Web. Istilah ini mempunyai konotasi sendirian dan hanya dimaksudkan untuk berinteraksi dengan manusia saja. Secara normal, kondisi ini seperti kondisi manusia yang egois: "ini yang saya punyai, silahkan kalau kamu mau berkomunikasi dengan saya, sesuaikan dengan kondisi saya". Tentu tidak se-ekstrim itu, tetapi secara konsep memang demikian. Perhatikan, selama ini saat kita melakukan rekayasa, yang kita pikirkan adalah software itu sendiri serta bagaimana software tersebut bisa dibaca dan mempermudah navigasi manusia saat menggunakan software tersebut. Hasil dari ini bisa ditebak:
  1. Standarisasi komponen antarmuka Web di browser: HTML, CSS, PNG, dll
  2. Masalah kesesuaian browser dengan standar tersebut (para desainer antarmuka Web pasti ingat dengan sulitnya membuat antarmuka Web mereka bisa bekerja lintas browser, dan muncullah berbagai macam kutukan terutama terhadap salah satu browser dari perusahaan besar).
  3. JavaScript overkill: merancang dan mengimplementasikan halaman Web yang dinamis tentu tidak bisa menggunakan HTML (saja), tetapi memerlukan JavaScript. Jaman dahulu (sekitar tahun 2000-an), jauh lebih parah lagi karena ada masalah standarisasi JavaScript sehingga akhirnya diserahkan ke ECMA dan dibuat spesifikasi menjadi ECMAScript. Saat itu ada JavaScript (Netscape) dan JScript (Microsoft), belum lagi setelah itu Microsoft juga membuat VBScript. Ini masa-masa gelap untuk para perancang halaman Web. Meski sekarang tidak seperti itu lagi, hanya ada JavaScript, masalah standarisasi ini juga masih menjadi masalah turunan (belum termasuk Google yang mengeluarkan Dart, meski bisa dikompilasi ke JavaScript). Buka kode sumber dari halaman Web, biasanya akan muncul banyak sekali snippet JavaScript.
Sebenarnya kita perlu berpikir lebih sederhana, bahwa software di Web adalah software yang digunakan untuk mendukung interaksi sosial manusia (silahkan baca kembali note saya sebelum ini). Dengan menggunakan pola pikir seperti itu, maka kita seharusnya mulai mencurahkan pemikiran ke bagaimana membuat software tersebut bisa membantu interaksi sosial manusia. Domain ini yang sekarang dikenal dengan istilah Pragmatic Web.

Pada domain Pragmatic Web, tidak ada lagi (hanya) aplikasi Web. Mengapa? Sederhana saja, software yang akan dikembangkan merupakan software untuk mendukung interaksi sosial manusia sehingga harus bersifat kontekstual, atau context-aware Web. Dalam konteks ini, kita harus membedakan antara web services dengan services. Web services berada pada ruang lingkup lapisan informasi sedangkan services berada pada ruang lingkup kehidupan nyata. Dalam kondisi seperti ini, rekayasa software di Web tidak mungkin hanya berada pada sisi penyedia (server), tetapi juga harus memikirkan bagaimana software agent di sisi klien bisa berkomunikasi dengan software agent di sisi penyedia.

Menggeser paradigma software di Web dari software yang egois menjadi suatu sistem adalah salah satu kunci untuk mengurai benang kusut di ranah rekayasa Web yang sudah terlalu banyak menghabiskan waktu di sisi (hanya) aplikasi Web.  Semoga.

0 comments:

Posting Komentar