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:
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.
- Standarisasi komponen antarmuka Web di browser: HTML, CSS, PNG, dll
- 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).
- 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.
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.
Introspeksi Untuk Rekayasa Web: Aplikasi Web atau Sistem Web?