Web Engineering dalam Konteks Web Science: Isu
            Terkini dan Tantangan
                     Bambang Purnomosidi D. P.
                Web Science and Technology Research Group
                            STMIK AKAKOM
               Jl. Raya Janti Karangjambe no. 143 Telepon: (0274) 486664
                        E-mail: mailto:bpurnomo@akakom.ac.id

                                   July 25, 2010


Abstraksi                                         1         Pendahuluan
                                                  1.1        Web Science
                                                  Seiring dengan perkembangan teknologi
Paper ini membahas tentang berbagi isu
                                                  serta perkembangan sosio-kultural, Web se-
terkini terkait dengan Web Engineering
                                                  makin masuk dan mempengaruhi berba-
dalam konteks kajian Web Science. Web
                                                  gai sisi kehidupan bermasyarakat. Sebagai
Science merupakan bidang kajian yang mu-
                                                  teknologi yang relatif baru (mungkin baru
lai berkembang setelah Web mulai men-
                                                  muncul sekitar tahun 1989/1990 1 dari pro-
jadi fenomena sosial. Kajian Web Sci-
                                                  posal Tim Berners-Lee [19]), Web meru-
ence ini bersifat multidisiplin. Untuk men-
                                                  pakan bagian dari teknologi Internet. Web
garah pada konteks Web Science, infras-
                                                  menggunakan infrastruktur Internet seba-
truktur aplikasi Web bisa dikatakan me-
                                                  gai tulang punggung aplikasi.
nuntut unsur sintaksis, semantik, dan prag-
                                                     Meskipun lebih kompleks, saat ini ap-
matik. Berbagai unsur tersebut memben-
                                                  likasi Web didefinisikan sebagai sistem soft-
tuk Syntactic Web, Semantic Web, dan
                                                  ware yang berbasis pada berbagai teknologi
Pragmatic Web. Selain itu, juga akan diba-
                                                  dan standar dari the World Wide Web Con-
has berbagai isu lain yang terkait dengan
                                                  sortium (W3C) yang menyediakan berba-
Web Engineering serta tantangan ke depan.
                                                  gai sumber daya spesifik seperti isi dan
Paper ini tidak mengklaim isu terkini serta
                                                  layanan melalui antarmuka, yaitu Web
tantangan Web Engineering selengkapnya,
                                                  browser [7]. Definisi ini keliatannya seder-
tetapi berusaha menampilkan berbagai isu
                                                  hana tetapi beberapa peneliti menyadari
dan tantangan yang setidaknya terkait den-
                                                      1
gan Web Science.                                          http://www.w3.org/History.html

                                              1
bahwa Web tidak sederhana dan memer-              dan berbagai isu penting lainnya tidak
lukan pendekatan multidisiplin dalam hal          dipelajari dalam kurikulum khusus.
rekayasa dan penggunaannya.        Hal ini
menyebabkan munculnya the Web Science
Trust [13]. The Web Science Trust muncul          1.2    Aplikasi Web
pada tahun 2006 sebagai “Web Science
                                                  Pada awalnya, Web terdiri atas beberapa
Research Initiatives” dan sampai saat ini
                                                  dokumen yang saling terhubung menggu-
masih meneruskan berbagai aktivitas un-
                                                  nakan hyperlink dan terkoneksi menggu-
tuk mendorong partisipasi yang luas dari
                                                  nakan arsitektur klien-server antara klien
pengembangan Web Science.
                                                  (Web browser ) dengan server (Web server )
   Web berkembang dengan tingkat ke-
                                                  menggunakan HTTP sebagai protokol. Era
cepatan yang tinggi dan semakin hari kita
                                                  tersebut dikenal dengan istilah “Syntactic
akan semakin memahami bahwa masa de-
                                                  Web” dan pada saat itu Web hanya bisa di-
pan umat manusia semakin terkait dengan
                                                  pahami oleh manusia karena tidak terdapat
Web. Tidak berlebihan jika kita seharus-
                                                  isi semantik di dalam halaman Web terse-
nya merasa bertanggungjawab terhadap
                                                  but. Generasi kedua dikenal dengan isti-
pengembangan Web sehingga Web di masa
                                                  lah “Semantic Web” yang dipicu oleh su-
ini dan masa yang akan datang tidak men-
                                                  atu artikel visioner dari Tim Berners-Lee di
datangkan kerugian bagi umat manusia.
                                                  majalah “Scientific American” tahun 2001.
Web Science berusaha mengantisipasi hal
                                                  Semantic Web memperkaya Web dengan
tersebut dengan cara mengkaji Web seba-
                                                  isi yang mengandung semantik sehingga
gai suatu kajian multidisiplin yang memu-
                                                  memungkinkan untuk “dipahami mesin”.
ngkinkan pengembangan Web yang lebih
                                                  Meskipun demikian, Semantic Web masih
baik di masa depan. Web saat ini masih
                                                  dirasakan mempunyai kekurangan yang
“hanya” dianggap sebagai suatu subset dari
                                                  berkaitan dengan tujuan dan kegunaan in-
dunia komputasi. Meskipun tidak bisa
                                                  formasi. Kekurangan ini memicu muncul-
dipungkiri bahwa perkembangan Web me-
                                                  nya “Pragmatic Web” yang juga menyer-
mang tidak bisa dilepaskan dari berba-
                                                  takan konteks dari informasi yang terdapat
gai inovasi di dunia komputasi, tetapi im-
                                                  pada halaman Web.
plikasinya terhadap masyarakat membuat
                                                     Sampai saat ini, aplikasi Web pada
Web seharusnya diperhitungkan sebagai ka-
                                                  umumnya dikategorikan menjadi Web 1.0
jian mandiri.
                                                  dan Web 2.0 dengan arah perubahan yang
   Sayangnya, sampai saat ini, kebanyakan
                                                  menuju ke Web 3.0. Banyak yang mengang-
sekolah atau universitas di seluruh dunia
                                                  gap penomoran ini sebagai sekedar buz-
hanya menyederhanakan Web ini dalam dua
                                                  zword 2 . Faktanya, hal ini menyebabkan
bagian saja yaitu perancangan Web (Web
                                                  situasi yang “chaos” karena tidak ada
Design) dan pemrograman Web (Web Pro-
                                                  badan atau organisasi di dunia ini yang
gramming). Pembahasan mendalam ten-
tang berbagai protokol, implikasi mesin             2
                                                     lihat wawancara dengan Tim Berners-Lee di
sosial di masyarakat, aspek organisasional,       http://www.ibm.com/developerworks/podcast/
pengelolaan proyek pengembangan Web,              dwi/cm-int082206txt.html

                                              2
mempunyai hak untuk mendefinisikan dan            lainnya yang tersembunyi dan kemungkinan
menstandarkan penomoran tersebut.                mengandung berbagai sumber daya. Shal-
   Dari sudut pandang teknologi, meskipun        low Web dan Deep Web pada umumnya
tetap tidak ada badan atau organiasi             saat ini dikenal dengan istilah Web 1.0.
yang berwenang, pada dasarnya kategori-          Wisdom Web mempunyai antarmuka yang
kategori tersebut dapat juga diidenti-           cerdas serta berbagai fasilitas built-in bagi
fikasikan sebagai Syntactic Web untuk Web         pemakai untuk menghasilkan dan mengedit
1.0, Syntactic Web dengan interaktivitas         isi yang dipresentasikan di Web sedemikian
yang lebih dengan pemakai serta bersi-           sehingga memperkaya isi dari Web. Mo-
fat sosial, lebih terkustomisasi, dan re-        bile Web merujuk pada penggunaan peranti
latif mempunyai intensitas multimedia yang       mobile untuk mengakses Web. Semantic
cukup untuk Web 2.0, dan Semantic Web            Web merujuk pada Web yang mempunyai
untuk Web 3.0 [21]. Sampai saat ini,             infrastruktur semantik formal yang memu-
belum ada identifikasi untuk Pragmatic            ngkinkan mesin untuk “mengerti” isi.
Web meskipun kita bisa juga menyebut
dengan istilah Web 4.0 untuk konsistensi         1.2.1   Syntactic Web
penomoran.
   Dari sudut pandang pemakai, pada              Syntactic Web juga dikenal sebagai Web
dasarnya kita bisa mendefinisikan aplikasi        1.0 dan merujuk pada aplikasi Web yang
Web berdasarkan fungsionalitasnya, se-           bersifat readable / bisa terbaca oleh mesin
bagai contoh, suatu groupware adalah             tetapi memerlukan manusia itu sendiri un-
software kolaborasi berbasis Web yang            tuk menginterpretasikan informasi yang
menolong orang-orang yang terlibat dalam         terkandung di dalamnya. Secara umum,
suatu tugas bersama untuk mencapai               Syntactic Web terdiri atas website berbasis
tujuan-tujuan tugas tersebut.       Pemba-       HTML (sebelum HTML5). Syntactic Web
gian berdasarkan fungsionalitas ini meng-        juga meliputi berbagai infrastruktur yang
hasilkan banyak kategori aplikasi Web,           mendukung HTML, seperti CSS (Cascad-
seperti misalnya CMS (Content Man-               ing Style Sheet), PNG (Portable Network
agement System), Recommender System,             Graphic serta berbagai format gambar lain-
Knowledge Management System, forum,              nya), dan JavaScript. Istilah “Web 2.0”
dan lain-lain.                                   sebenarnya masih termasuk dalam kategori
   Murugesan [8] juga menyatakan bahwa           ini karena dari sisi infrastruktur, Web 2.0
aplikasi dan sistem Web dapat dikate-            masih belum terkonsentrasi pada ketersedi-
gorikan menjadi Shallow Web (Static Web),        aan infrastruktur semantik dan lebih ter-
Deep Web (Dynamic Web), Wisdom Web               fokus pada interaktivitas.
(Web 2.0), Mobile Web, dan Semantic Web.
Shallow Web terutama merupakan kumpu-            1.2.2   Semantic Web
lan dari halaman-halaman statis HTML.
Deep Web merujuk pada Web dinamis yang           Secara sederhana, bisa dikatakan bahwa
mampu menghasilkan halaman Web secara            Semantic Web adalah Web yang memu-
on-the-fly serta berbagai infrastruktur Web       ngkinkan mesin untuk “memahami” infor-

                                             3
masi yang terdapat di dalamnya. Seman-            1.3   Web Engineering
tic Web merupakan visi yang dilontarkan
oleh Berners-Lee et al [20].      Saat ini,Web Engineering sebagai suatu disi-
banyak standar dan spesifikasi yang dibuat  plin yang independen dimunculkan
oleh The World Wide Web Consortium         oleh Murugesan, Deshpande, Hansen
yang memungkinkan terrealisasinya Seman-   and Ginige [16, 22]. Murugesan, et.al
tic Web dengan cara memberikan seman-      mendefinisikan Web Engineering sebagai
tik formal ke data yang bisa diakses: RDF, penggunaan yang sesuai dari berbagai
OWL, SPARQL, RDFa, SKOS, RDFS,             prinsip ilmiah, rekayasa, dan manajemen,
GRDDL, POWDER, RIF, dan SAWSDL.3           serta berbagai pendekatan yang sistematik
Menurut Lassila, deployment dari Seman-    dan berdisiplin untuk kesuksesan pengem-
tic Web dapat meringankan beban kerja      bangan, deployment, dan pemeliharaan
umat manusia jika tujuan aplikasi terse-   dari sistem dan aplikasi berbasis Web [16].
but adalah otomatisasi dari berbagai tu-   Disiplin Web Engineering berkaitan den-
gas sekaligus memungkinkan komputer un-    gan proses untuk membangun aplikasi
tuk melakukan hal-hal tersebut atas nama   sistem dan aplikasi Web. Esensi dari Web
manusia [14].                              Engineering adalah mengelola berbagai
                                           keragaman serta kompleksitas pengem-
                                           bangan aplikasi Web untuk menghindari
                                           berbagai kegagalan potensial yang bisa
1.2.3 Pragmatic Web
                                           mempunyai implikasi serius [1]. Secara
                                           konseptual,     pendekatan     multidisipin
Meskipun masih dalam tahap awal, Prag-
                                           dari Web Engineering bisa dilihat pada
matic Web mulai memperoleh lebih banyak
                                           gambar 1 [16].
perhatian sejak Semantic Web mendap-
atkan tantangan yang signifikan terutama
dalam hal untuk mengantisipasi kebutuhan
yang kritis untuk mengakomodasi konteks.
Untuk mengatasi tantangan tersebut, perlu
perubahan dari arah semantik ke arah
pragmatik [12]. Visi dari Pragmatic Web
adalah visi untuk efektivitas kolaborasi
umat manusia dengan menggunakan berba-
gai teknologi yang sesuai. Dalam pandan-
gan ini, Pragmatic Web melengkapi Seman-
tic Web dengan cara meningkatkan kualitas
dan legitimasi dari kolaborasi dalam komu-
nitas [9].                                 Gambar 1: Pendekatan multidisiplin untuk
                                                  Web Engineering
  3
   http://www.w3.org/2001/sw/wiki/Main_
Page


                                              4
2       Berbagai Isu Terkini               tersedianya peranti pengembangan yang
                                           mengakomodasi infrastruktur untuk linked
        dan Tantangan                      data dengan memanfaatkan engine RDF
                                           serta OWL semaksimal mungkin. Peranti
2.1 Basis Data RDF dan En- pengembangan yang mengakomodasi RDF,
         gine untuk SPARQL                 OWL, serta SPARQL juga menjadi bagian
RDF data memerlukan mesin penyim- dari tantangan tersebut.
pan tersendiri yang tidak cocok diban-
gun dengan basis data relasional meskipun 2.2 Architectural Patterns
ada usaha untuk menggunakan basis
data relasional untuk menyimpan RDF Suatu pattern didefinisikan sebagai “su-
pada basis data relational seperti misal- atu ide yang (telah terbukti) berman-
nya yang dilakukan oleh Brian McBride, faat pada suatu konteks praktik tertentu
Jonas Liljegren, Sergey Melnik, dan Eric dan mungkin akan bermanfaat untuk lain-
Miller4 .   Proyek OpenJena juga mem- nya” [10]. Architectural Patterns mengek-
bangun SDB (http://jena.sourceforge. spresikan organisasi atau skema struktu-
net/SDB/) yang merupakan media penyim- ral yang fundamental untuk suatu sistem
pan dan query RDF dataset menggunakan sofware [4]. Ada beberapa Architectural
backend basis data relasional, diantaranya Patterns untuk aplikasi Web yang sampai
adalah PostgreSQL, MySQL, HSQLDB, saat ini merupakan best practices dalam
Apache Derby, Microsoft SQL Server, Or- Web Engineering. Berbagai Architectural
acle 10g, IBM DB2, dan H2.                 Patterns tersebut dipengaruhi oleh arsitek-
  Saat ini terdapat beberapa proyek tur multi-tier suatu aplikasi.
open source untuk membangun basis data       Aplikasi Web cenderung mempunyai be-
RDF serta engine SPARQL. Beberapa di- berapa tier atau lapisan dan sering disebut
antaranya adalah sebagai berikut:          sebagai multi-tier application, meskipun
                                           lebih sering terdiri atas 3 lapisan sehingga
  • Mulgara (http://www.mulgara.org) sering disebut three-tier architecture. Tiga
                                           lapisan tersebut bisa dilihat pada gambar 25
  • Sesame (http://www.openrdf.org)

    • TDB dari Jena (http://openjena. 2.2.1           MVC                (Model-View-
      org/TDB/)                                       Controller)

  • Virtuoso         (http://virtuoso. MVC pertama kali dideskripsikan oleh
    openlinksw.com/dataspace/dav/        Trygve Reenskaug pada tahun 1979 untuk
    wiki/Main/Main.VOSIndex)             keperluan pembuatan aplikasi GUI meng-
                                         gunakan Smalltalk6 . MVC pada pengem-
  Tantangan untuk Web Engineering
                                           5
berkaitan dengan hal ini terutama adalah     http://www.linuxjournal.com/article/
                                              3508
    4                                            6
   http://infolab.stanford.edu/~melnik/            http://heim.ifi.uio.no/~trygver/
rdf/db.html                                   themes/mvc/mvc-index.html

                                          5
Gambar 2: Three-tier architecture                Gambar 3: Arsitektur MVC


bangan aplikasi Web membagi komponen 2.2.2             MVP                  (Model-View-
aplikasi menjadi 3 bagian:                             Presenter)
                                               MVP merupakan turunan dari MVC dan
  • Model, berkaitan dengan basis data.        mulai diadaptasi sekitar awal tahun 1990
    Suatu tabel dipetakan dalam suatu          oleh perusahaan Taligent untuk lingkungan
    kelas. kebanyakan framework MVC            CommonPoint C++. MVP mulai menda-
    saat ini menggunakan ORM (Object-          patkan perhatian setelah adopsi MVP ke
    Relational Mapping) untuk keperluan        Java oleh Mike Potel dan setelah Microsoft
    ini.                                       mengadopsi MVP untuk .NET framework
                                               pada tahun 20068 . MVP terbagi men-
  • View, berkaitan dengan penampi-            jadi dua kategori yaitu MVP Passive View
    lan antarmuka Web tersebut di Web          dan MVP Supervising Controller. Diagram
    browser.                                   pada gambar 49 menggambarkan pattern
                                               MVP.
   • Controller, merupakan bagian yang
     akan memproses action yang dim- 2.3 Teknologi                   Presentation
     inta pemakai aplikasi serta meneruskan        Layer
     hasilnya ke view untuk ditampilkan.
                                            Salah satu unsur dari arsitektur multi-
                                            tier adalah lapisan presentasi (presenta-
   Secara konseptual, MVC bisa dideskrip-
                                            tion layer / logic). Teknologi lapisan pre-
sikan pada gambar 37
                                                 8
                                                    http://msdn.microsoft.com/en-us/
  7
   http://www.learnaholic.me/wp-content/       library/cc304760.aspx
                                                  9
uploads/2009/08/mvc-architecture.gif                http://i.msdn.microsoft.com/dynimg/IC281772.png

                                           6
Pada sisi klien, AJAX juga telah menuju
                                               standarisasi oleh W3C. Standar serta spesi-
                                               fikasi untuk bagian ini dikerjakan oleh We-
                                               bApps Working Group (http://www.w3.
                                               org/2008/webapps/)


                                               2.4      Internationalisasi
                                          Internasionalisasi merupakan isu yang pent-
                                          ing sehingga W3C membentuk Activity
                                          sendiri, yaitu Internationalization (i18n
         Gambar 4: Arsitektur MVP
                                          Activity 11 . Sampai saat ini, W3C telah
                                          menghasilkan 3 rekomendasi berkaitan den-
sentasi ini mempunyai implikasi yang kuat
                                          gan masalah internasionalisasi ini, yaitu:
terhadap aplikasi Web dan sering disebut
dengan istilah Rich Internet Applications   • Ruby      Annotation    (http://www.
atau RIA. Beberapa perkembangan yang           w3.org/TR/ruby/), digunakan untuk
signifikan untuk teknologi lapisan presen-      menampilkan tulisan Ruby yang sering
tasi ini antara lain adalah:                   digunakan di kalimat dan huruf-huruf
  • HTML5                                             Jepang, China, dan Korea. Menjadi
                                                      rekomendasi pada 31 Mei 2001.
  • JavaFX
  • Adobe Flash serta berbagai framework         • Character Model (http://www.w3.
    pendukungnya (OpenLaszlo, Adobe                org/TR/charmod/), digunakan untuk
    Flex)                                          mendefinisikan berbagai karakter yang
                                                   digunakan di dunia ini.     Menjadi
  • Microsoft Silverlight                          rekomendasi pada 15 Februari 2005.
  • JavaScript serta berbagai framework          • ITS - Internationalization Tag Set
    pendukungnya (Google Web Toolkit,              (http://www.w3.org/TR/its/), digu-
    Vaadin, ZK, Lively Kernel, dan lain-           nakan untuk mendefinisikan tag yang
    lain)                                          bisa menandai bahasa yang terdapat
  HTML5 merupakan perkembangan yang                dalam isi tag tersebut.
sangat signifikan karena memungkinkan un-
tuk membangun aplikasi yang lebih inter-         Sampai saat ini, berbagai framework
aktif (dulunya hanya bisa dibangun meng-       untuk pengembangan aplikasi Web masih
gunakan plugin dari Web browser dan            menggunakan konvensi serta aturan dan
JavaScript). Spesifikasi HTML5 diharap-         pustaka tersendiri untuk keperluan i18n ini.
kan mencapai tahap Candidate Recommen-         Sebagai contoh, beberapa framework sudah
dation pada tahun 201210 .                     mempunyai fasilitas i18n:
 10                                             11
      http://wiki.whatwg.org/wiki/FAQ                http://www.w3.org/International/

                                           7
• Kohana Framework, Yii, CodeIgniter,      Dari sisi security, tantangan untuk Web
     CakePHP (PHP)                         Engineering adalah ketersediaan framework
                                           yang sudah mengantisipasi berbagai kemu-
   • Ruby on Rails (Ruby)                  ngkinan masalah security, setidaknya dari
                                           sisi Web, seperti misalnya dengan menyedi-
   • Apache Wicket, Struts, Spring (Java)
                                           akan pustaka untuk sanitasi masukan serta
   • Django, TurboGears (Python)           ACL (Access Control List) yang berlapis
                                           (misalnya menggunakan mekanisme Role-
   Tantangan ke depan untuk masalah i18n based Authentication.
ini adalah mengintegrasikan berbagai stan-
dar i18n ke dalam berbagai framework yang     Privacy berkaitan dengan kemampuan
mempunyai implementasi i18n tersendiri.    untuk mengendalikan informasi tentang diri
                                           pemakai aplikasi Web, sejauh mana infor-
                                           masi diri tersebut ditampilkan dan siapa
2.5 Security dan Privacy                   saja yang bisa mengakses. Dari sisi privacy,
Security dan privacy adalah dua hal yang W3C telah mengembangkan P3P (Plat-
                                                                                    12
sangat kompleks dan memerlukan perha- form for Privacy Preferences Project) .
tian khusus.       Dari sisi security, Web P3P memungkinkan Web untuk mengek-
merupakan media yang biasanya menjadi spresikan praktik yang berkaitan dengan
sasaran penyerangan. Pada dasarnya ada privacy deangan menggunakan format stan-
dua hal yang harus diperhatikan:           dar yang bisa di-retrieve secara otomatis
                                           dan diterjemahkan dengan mudah oleh user
   • sisi organisasional / non teknis      agents 13 .

  • sisi teknis                                         Dari sisi privacy, tantangan untuk Web
                                                     Engineering adalah ketersediaan peranti
   Tanpa mengesampingkan sisi teknis, se-            pengembangan untuk mengakomodasi P3P
harusnya sisi non teknis dan organisas-              ini sehingga memungkinkan user agents
ional mendapatkan pembenahan terlebih                menginformasikan ke pemakai tentang
dahulu. Mulai dari security awareness sam-           praktik privacy di Web yang bersangku-
pai dengan implementasi framework kea-               tan (dalam format yang terbaca mesin
manan sistem informasi harus dibenahi                maupun manusia) serta untuk mengotoma-
terlebih dahulu.      Secara teknis, sebe-           tiskan pengambilan keputusan oleh pe-
narnya masalah security di Web tidak bisa            makai berdasarkan praktik tersebut. Den-
dilepaskan dari Internet security, dalam arti        gan demikian, pemakai tidak perlu lagi
keamanan Web tidak hanya ditentukan oleh             membaca privacy policy untuk setiap Web
Web itu sendiri (misalnya dari sisi SQL In-          yang dikunjungi.
jection, XSS, dan lain-lain), tetapi juga dari
sisi infrastruktur dan bahkan dari sisi social
engineering. Hal yang selalu menjadi best
practices untuk masalah ini adalah security           12
                                                           http://www.w3.org/P3P/
                                                      13
watch dan mekanisme patch.                                 http://www.w3.org/TR/P3P/

                                                 8
2.6   Peranti  Pengembangan dunia Web Engineering semakin kompleks.
      dan   Web Application Beberapa bahasa pemrograman serta com-
                            piler/interpreter nya yang dulu sama sekali
      Framework
                                            tidak pernah dipakai untuk pengembangan
                                            aplikasi Web, sekarang muncul dan cen-
Suatu framework, dalam konteks Web
                                            derung makin banyak. Sebagai contoh, Er-
Engineering atau Software Engineering,
                                            lang yang dulu sama sekali tidak digunakan
adalah sekumpulan pustaka kelas, konfig-
                                            untuk pemrograman Web, saat ini mem-
urasi, aturan-aturan, serta konvensi yang
                                            punyai framework untuk keperluan itu (Zo-
digunakan untuk mengembangkan suatu
                                            tonic, Chicagoboss, ErlangWeb, dan lain-
software. Biasanya framework ini diran-
                                            lain). Contoh lainnya adalah Ruby den-
cang untuk mempermudah serta meny-
                                            gan Ruby on Rails, Python dengan Django,
eragamkan pekerjaan pengembangan soft-
                                            Scala dengan Lift, Haskell dengan Snap,
awre dengan menyediakan abstraksi berupa
                                            dan masih banyak lagi.
API serta berbagai komponen-komponen
lainnya untuk mempermudah pengemban-
gan aplikasi, misalnya scaffolding di Ruby 2.7 Cross-browsers Develop-
on Rails dan hampir semua framework un-
                                                   ment
tuk pengembangan aplikasi Web (Grails,
Django, Seam Framework).                    Cross-browsers development sebenarnya
   Perkembangan saat ini menunjukkan menunjuk pada suatu aktivitas pengemban-
bahwa kebanyakan compiler/interpreter gan aplikasi Web yang hasilnya bisa diakses
bahasa pemrograman tertentu mempunyai dengan baik di semua Web browser. Seperti
framework untuk pengembangan aplikasi diketahui, saat ini banyak terdapat soft-
Web.     Beberapa kelebihan penggunaan ware Web browser yang digunakan oleh pe-
                                                            14
framework ini terutama berkaitan dengan makai. Gambar 5 menunjukkan berbagai
kemudahan serta fasilitas pustaka kelas software web browsers yang digunakan oleh
dan keseragaman pengembangan aplikasi. para pemakai.
Dalam hal pengelolaan tim, penggunaan         Permasalahan yang dihadapi oleh
framework ini akan sangat mengurangi para pengembang Web adalah masalah
tingkat ketidakpastian dalam tim yang kepatuhan dengan standar. Setiap web
bersangkutan. Meskipun demikian, peng- browser mempunyai tingkat kepatuhan
gunakan framework ini juga menuntut sendiri-sendiri         sehingga    menyulitkan
proses belajar dan adaptasi yang seringkali pengembang untuk membuat aplikasi
bukan merupakan hal yang mudah.             Web yang bisa ditampilkan di semua Web
   Kondisi untuk Web Engineering saat browser.
ini dan kemungkinan di masa yang akan         Tantangan untuk Web Engineering
datang akan semakin kompleks meskipun berkaitan dengan hal ini adalah kemam-
banyak juga unsur-unsur yang memper-     14
                                            http://static.arstechnica.
mudah. Tingkat ketersediaan tools yang com/assets/2010/05/browser_share_
tinggi dan sangat heterogen membuat 0410-thumb-640xauto-13777.png

                                        9
puan untuk mengakomodasi perbedaan-         Web Engineering.
perbedaan antar web browser, misalnya          Pressman et al. [15] menyatakan bahwa
dengan menggunakan CSS yang berlainan       aplikasi Web mempunyai beberapa karak-
untuk masing-masing browser, atau dengan    teristik yang membedakan dan menun-
menggunakan suatu lapisan kompatibilitas    tut berbagai pemikiran dan pertimbangan
untuk JavaScript.                           khusus agar terhindar dari masalah usabil-
                                            ity, maintainability, kualitas dan reliabili-
                                            tas.
                                               Mendes et al. [3] menyatakan bahwa
                                            pengembangan Web lain dengan pengem-
                                            bangan software lainnya pada beberapa
                                            area permasalahan. Meskipun demikian,
                                            ada tiga area permasalahan yang paling
                                            membedakan dan sangat mempengaruhi
                                            proses pengembangan aplikasi Web dan
                                            proses pemeliharaan: sumber daya manusia
                                            yang terlibat dalam pengembangan, karak-
                                            teristik intrinsik dari aplikasi Web, serta pe-
                                            makai yang akan menjadi tujuan pengem-
                                            bangan aplikasi Web tersebut.
Gambar 5: Market share Web browser bu-         Sampai saat ini, komunitas pengem-
lan april 2010                              bang menggunakan metodologi pengem-
                                            bangan aplikasi Web yang merupakan hasil
                                            modifikasi dari metodologi Software En-
                                            gineering. Tantangan ke depan adalah
2.8    Software           Engineering       metodologi Web Engineering yang relatif
       dan Web                              lengkap, meliputi Syntactic Web, Seman-
                                            tic Web, dan Pragmatic Web dengan tetap
Saat aplikasi Web masih di era awal, tidak  mengakomodasi interaktivitas dengan pe-
diperlukan suatu kajian khusus.        Web, makai. Beberapa metodologi yang sudah
seperti halnya jenis software lain, hanya di-
                                            muncul saat ini bisa dijadikan pijakan awal,
anggap berbeda dari sudut antarmuka pe-     seperti WebML [18], OOHDM (Object-
makai, yaitu menggunakan Web browser        Oriented Hypermedia Design Method ) serta
untuk menampilkan dan menggunakan ap-       penerusnya (SHDM - Semantic Hypermedia
likasi tersebut. Metodologi pengembangan    Design Method 15 , dan SWM (Simple Web
aplikasi Web juga sama dengan metodologi    Method ) [6].
pengembangan aplikasi dengan antarmuka         Tantangan besar untuk Web Engineer-
GUI atau TUI lainnya. Seiring dengan se-    ing dalam konteks Web Science ini adalah
makin matang dan memasyarakatnya Web
(dan Internet), perlu dikaji apakah prinsip   15
                                                 http://www.tecweb.inf.puc-rio.br/
software engineering bisa diaplikasikan ke oohdm/space/start

                                          10
metodologi pengembangan aplikasi Web           Web.
yang meliputi unsur Syntactic Web, Se-            Suatu DSL merupakan bahasa yang
mantic Web, dan Pragmatic Web serta            diciptakan secara spesifik untuk keperluan
mengakomodasi interaktivitas aplikasi Web      memecahkan masalah pada suatu domain
seperti halnya RIA.                            tertentu (meskipun tidak menutup kemu-
                                               ngkinan bisa juga di domain lain). DSL
                                               merupakan lawan dari General Purpose
2.9    Software Agent, Domain-                 Language yang relatif merupakan bahasa
       Specific Language (DSL)                  yang bisa digunakan untuk berbagai do-
       dan Pragmatic Web                       main.
                                                  Dengan landasan teoritis perspektif Lan-
Pragmatic Web mempunyai akar dari per-         guage/Action, DSL bisa dimungkinkan di-
spektif Language/Action. Perspektif ini        gunakan untuk menjadi komponen dari
pertama kali dikenalkan oleh Flores dan        Pragmatic Web. Beberapa peneliti yang
Ludlow [5]. Dalam paper mereka, mereka         mulai berusaha mengintegrasikan DSL un-
mempertanyakan hal konvensional selama         tuk Web Engineering diantaranya adalah
ini bahwa komunikasi sebenarnya hanya          [2, 11]. Pada dasarnya, DSL bisa kita kate-
sekedar transmisi dari informasi atau sim-     gorikan menjadi 2 tipe:
bol. Flores dan Ludlow berargumentasi
bahwa manusia adalah makhluk “bahasa”
dan menggunakan bahasa untuk menger-
                                                 • DSL internal, yaitu DSL yang diimple-
jakan suatu tindakan. Web itu sendiri
                                                   mentasikan untuk “menyederhanakan”
sebenarnya bisa dipandang sebagai suatu
                                                   API dengan cara membuat abstraksi
sistem simbolis. Penggunaan perspektif
                                                   dari API.
Language/Action sebagai landasan teori-
tis memungkinkan kita untuk mengako-
modasi konteks dari pemakai aplikasi Web         • DSL eksternal, yaitu DSL yang mem-
dan pada akhirnya bisa merealisasikan visi         punyai sintaksis tersendiri dan memer-
Pragmatic Web.                                     lukan full parser untuk memprosesnya.
   Software Agent merupakan software yang
bertindak atas nama pemakai atau pro-
gram lain. Suatu Software Agent mem-              Gambaran umum dari implementasi DSL
punyai karakteristik tertentu, yaitu ber-      ini kurang lebih nanti adalah penggunaan
reaksi terhadap lingkungan, otonomi, goal-     DSL untuk domain aplikasi Web dengan
orientation, dan persistence [17]. Dalam       menggunakan sintaksis yang mudah di-
konteks Web Engineering, Software Agent        pahami pemakai atau mendekati bahasa
seharusnya diakomodasi antara lain untuk       “sehari-hari” untuk keperluan information
crawling data semantik serta membangun         retrieval system yang telah disediakan in-
keterkaitan antar data (( linked data)). Hal   frastruktur semantiknya melalui Software
ini akan memberikan infrastruktur yang         Agent. Tentu saja, untuk keperluan ini,
memadai bagi pengembangan Pragmatic            akan digunakan DSL eksternal.

                                           11
Daftar Pustaka                                [7] Gerti Kappel, Birgit Proll, Siegfried
                                                  Reich, Werner Retschitzegger (eds),
[1] Athula Ginige and San Murugesan,              Web Engineering - The Discipline of
    Introduction: The Essence of Web              Systematic Development of Web Appli-
    Engineering—Managing the Diversity            cations, John Wiley and Sons, 2003.
    and Complexity of Web Application
    Development, IEEE MultiMedia, vol.        [8] Gustavo Rossi, Oscar Pastor, Daniel
    8, no. 2, pp. 22-25, Apr.-June 2001,          Schwabe, and Luis Olsina, (edi-
    doi:10.1109/MMUL.2001.917968                  tors), Web Engineering: Modelling
                                                  and Implementing Web Applications,
[2] Demetrius A. Nunes, Daniel Schwabe,           Springer-Verlag, London, 2008.
    Rapid Prototyping of Web Applications
    Combining Domain Specific Languages        [9] Mareike Schoop, Aldo de Moor, and
    and Model Driven Design, Proceedings          Jan L. G. Dietz, The pragmatic web:
    of the 6th International Conference on        a manifesto, Communications of the
    Web Engineering, ACM, 2006.                   ACM, Volume 49, Number 5, pp 75-
                                                  76, 2006.
[3] Emilia Mendes and Nile Mosley
    (Eds.), Web Engineering, Springer- [10] Martin Fowler, Analysis Patterns:
    Verlag, Berlin, Heidelberg, 2006.       Reusable Object Models, Addison-
                                            Wesley, 1996.
[4] F. Buschmann, R. Meunier, H. Rohn-
                                         [11] Martin Nussbaumer, Patrick Freuden-
    ert, P.Sommerlad, and M. Stal,
                                              stein, Martin Gaedke, Towards DSL-
    Pattern-Oriented Software Architec-
                                              based web engineering, Proceedings of
    ture: A System of Patterns, John Wi-
                                              the 15th international conference on
    ley and Sons, 1996.
                                              World Wide Web, ACM, 2006.
[5] Fernando Flores and Juan Ludlow, Do- [12] Munindar P. Singh, The Pragmatic
    ing and Speaking in the Office, in De-      Web: Preliminary thoughts. Proceed-
    cision Support Systems: Issues and        ings of the NSF-OntoWeb Workshop
    Challenges, G. Fick and R.H. Sprague      on Database and Information Systems
    (eds.), Pergamon Press, New York,         Research for Semantic Web and Enter-
    1980, pp. 95-118.                         prises, (Apr. 2002), 82–90.

[6] Gary Griffiths, Barry D. Hebbron, [13] Nigel Shadbolt, Tim Berners-Lee, Web
    Mike A. Lockyer, Briony J. Oates, A         Science Emerges, Scientific American,
    Simple Method and Tool for Web En-          October 2008.
    gineering, Proceedings of the 14th in-
    ternational conference on Software en- [14] Ora Lassila, Using the Semantic Web
    gineering and knowledge engineering,        in Mobile and Ubiquitous Computing,
    ACM, 2002.                                  Proceedings of the 1st IFIP WG 12.5

                                         12
Working Conference on Industrial Ap-       the-semantic-web&print=true, May
    plications of Semantic Web, 2005.          17, 2001.

[15] Roger S. Pressman, Ted Lewis, Ben [21] Victoria      Shannen,       A     ’more
     Adida, Ellen Ullman, Tom DeMarco,        revolutionary’     Web,         http:
     Thomas Gilb, Brent Gorda, Watts          //www.nytimes.com/2006/05/23/
     Humphrey, and Ray Johnson, Can           technology/23iht-web.html?_r=1,
     Internet-Based Applications Be En-       accessed on Jan 4, 2009, 09:40AM.
     gineered?, IEEE Software, vol. 15,
     no. 5, pp. 104-110, Sep./Oct. 1998, [22] Yogesh Deshpande and Steve Hansen,
     doi:10.1109/MS.1998.714869               Web Engineering: Creating a Disci-
                                              pline among Discipline, IEEE Multi-
[16] San Murugesan, Yogesh Deshpande,         Media, vol. 8, no. 2, pp. 82-87, Apr.-
     Steve Hansen and Athula Ginige, Web      June 2001, doi:10.1109/93.917974
     Engineering: A New Discipline for
     Development of Web-based Systems,
     Proceedings of the First International
     Conference of Software Engineering
     (ICSE) Workshop on Web Engineer-
     ing, Los Angeles, USA, 1999.

[17] Stan Franklin, Art Graesser, Is it an
     Agent, or Just a Program?: A Taxon-
     omy for Autonomous Agents, Proceed-
     ings of the Third International Work-
     shop on Agent Theories, Architectures,
     and Languages, Springer-Verlag, 1996.

[18] Stefano Ceri, Piero Fraternali, and
     Aldo Bongio, Web Modeling Language
     (WebML): a Modeling Language for
     Designing Web Sites. WWW9 Confer-
     ence, Amsterdam, May 2000.

[19] Tim     Berners-Lee,     Informa-
     tion Management:     A Proposal,
     http://www.w3.org/History/1989/
     proposal.html

[20] Tim Berners-Lee, James Hendler
     and Ora Lassila, The Semantic Web,
     Scientific American Magazine, http:
     //www.sciam.com/article.cfm?id=

                                          13

Web Engineering dalam Konteks Web Science - Keynote Speech SRITI 2010

  • 1.
    Web Engineering dalamKonteks Web Science: Isu Terkini dan Tantangan Bambang Purnomosidi D. P. Web Science and Technology Research Group STMIK AKAKOM Jl. Raya Janti Karangjambe no. 143 Telepon: (0274) 486664 E-mail: mailto:bpurnomo@akakom.ac.id July 25, 2010 Abstraksi 1 Pendahuluan 1.1 Web Science Seiring dengan perkembangan teknologi Paper ini membahas tentang berbagi isu serta perkembangan sosio-kultural, Web se- terkini terkait dengan Web Engineering makin masuk dan mempengaruhi berba- dalam konteks kajian Web Science. Web gai sisi kehidupan bermasyarakat. Sebagai Science merupakan bidang kajian yang mu- teknologi yang relatif baru (mungkin baru lai berkembang setelah Web mulai men- muncul sekitar tahun 1989/1990 1 dari pro- jadi fenomena sosial. Kajian Web Sci- posal Tim Berners-Lee [19]), Web meru- ence ini bersifat multidisiplin. Untuk men- pakan bagian dari teknologi Internet. Web garah pada konteks Web Science, infras- menggunakan infrastruktur Internet seba- truktur aplikasi Web bisa dikatakan me- gai tulang punggung aplikasi. nuntut unsur sintaksis, semantik, dan prag- Meskipun lebih kompleks, saat ini ap- matik. Berbagai unsur tersebut memben- likasi Web didefinisikan sebagai sistem soft- tuk Syntactic Web, Semantic Web, dan ware yang berbasis pada berbagai teknologi Pragmatic Web. Selain itu, juga akan diba- dan standar dari the World Wide Web Con- has berbagai isu lain yang terkait dengan sortium (W3C) yang menyediakan berba- Web Engineering serta tantangan ke depan. gai sumber daya spesifik seperti isi dan Paper ini tidak mengklaim isu terkini serta layanan melalui antarmuka, yaitu Web tantangan Web Engineering selengkapnya, browser [7]. Definisi ini keliatannya seder- tetapi berusaha menampilkan berbagai isu hana tetapi beberapa peneliti menyadari dan tantangan yang setidaknya terkait den- 1 gan Web Science. http://www.w3.org/History.html 1
  • 2.
    bahwa Web tidaksederhana dan memer- dan berbagai isu penting lainnya tidak lukan pendekatan multidisiplin dalam hal dipelajari dalam kurikulum khusus. rekayasa dan penggunaannya. Hal ini menyebabkan munculnya the Web Science Trust [13]. The Web Science Trust muncul 1.2 Aplikasi Web pada tahun 2006 sebagai “Web Science Pada awalnya, Web terdiri atas beberapa Research Initiatives” dan sampai saat ini dokumen yang saling terhubung menggu- masih meneruskan berbagai aktivitas un- nakan hyperlink dan terkoneksi menggu- tuk mendorong partisipasi yang luas dari nakan arsitektur klien-server antara klien pengembangan Web Science. (Web browser ) dengan server (Web server ) Web berkembang dengan tingkat ke- menggunakan HTTP sebagai protokol. Era cepatan yang tinggi dan semakin hari kita tersebut dikenal dengan istilah “Syntactic akan semakin memahami bahwa masa de- Web” dan pada saat itu Web hanya bisa di- pan umat manusia semakin terkait dengan pahami oleh manusia karena tidak terdapat Web. Tidak berlebihan jika kita seharus- isi semantik di dalam halaman Web terse- nya merasa bertanggungjawab terhadap but. Generasi kedua dikenal dengan isti- pengembangan Web sehingga Web di masa lah “Semantic Web” yang dipicu oleh su- ini dan masa yang akan datang tidak men- atu artikel visioner dari Tim Berners-Lee di datangkan kerugian bagi umat manusia. majalah “Scientific American” tahun 2001. Web Science berusaha mengantisipasi hal Semantic Web memperkaya Web dengan tersebut dengan cara mengkaji Web seba- isi yang mengandung semantik sehingga gai suatu kajian multidisiplin yang memu- memungkinkan untuk “dipahami mesin”. ngkinkan pengembangan Web yang lebih Meskipun demikian, Semantic Web masih baik di masa depan. Web saat ini masih dirasakan mempunyai kekurangan yang “hanya” dianggap sebagai suatu subset dari berkaitan dengan tujuan dan kegunaan in- dunia komputasi. Meskipun tidak bisa formasi. Kekurangan ini memicu muncul- dipungkiri bahwa perkembangan Web me- nya “Pragmatic Web” yang juga menyer- mang tidak bisa dilepaskan dari berba- takan konteks dari informasi yang terdapat gai inovasi di dunia komputasi, tetapi im- pada halaman Web. plikasinya terhadap masyarakat membuat Sampai saat ini, aplikasi Web pada Web seharusnya diperhitungkan sebagai ka- umumnya dikategorikan menjadi Web 1.0 jian mandiri. dan Web 2.0 dengan arah perubahan yang Sayangnya, sampai saat ini, kebanyakan menuju ke Web 3.0. Banyak yang mengang- sekolah atau universitas di seluruh dunia gap penomoran ini sebagai sekedar buz- hanya menyederhanakan Web ini dalam dua zword 2 . Faktanya, hal ini menyebabkan bagian saja yaitu perancangan Web (Web situasi yang “chaos” karena tidak ada Design) dan pemrograman Web (Web Pro- badan atau organisasi di dunia ini yang gramming). Pembahasan mendalam ten- tang berbagai protokol, implikasi mesin 2 lihat wawancara dengan Tim Berners-Lee di sosial di masyarakat, aspek organisasional, http://www.ibm.com/developerworks/podcast/ pengelolaan proyek pengembangan Web, dwi/cm-int082206txt.html 2
  • 3.
    mempunyai hak untukmendefinisikan dan lainnya yang tersembunyi dan kemungkinan menstandarkan penomoran tersebut. mengandung berbagai sumber daya. Shal- Dari sudut pandang teknologi, meskipun low Web dan Deep Web pada umumnya tetap tidak ada badan atau organiasi saat ini dikenal dengan istilah Web 1.0. yang berwenang, pada dasarnya kategori- Wisdom Web mempunyai antarmuka yang kategori tersebut dapat juga diidenti- cerdas serta berbagai fasilitas built-in bagi fikasikan sebagai Syntactic Web untuk Web pemakai untuk menghasilkan dan mengedit 1.0, Syntactic Web dengan interaktivitas isi yang dipresentasikan di Web sedemikian yang lebih dengan pemakai serta bersi- sehingga memperkaya isi dari Web. Mo- fat sosial, lebih terkustomisasi, dan re- bile Web merujuk pada penggunaan peranti latif mempunyai intensitas multimedia yang mobile untuk mengakses Web. Semantic cukup untuk Web 2.0, dan Semantic Web Web merujuk pada Web yang mempunyai untuk Web 3.0 [21]. Sampai saat ini, infrastruktur semantik formal yang memu- belum ada identifikasi untuk Pragmatic ngkinkan mesin untuk “mengerti” isi. Web meskipun kita bisa juga menyebut dengan istilah Web 4.0 untuk konsistensi 1.2.1 Syntactic Web penomoran. Dari sudut pandang pemakai, pada Syntactic Web juga dikenal sebagai Web dasarnya kita bisa mendefinisikan aplikasi 1.0 dan merujuk pada aplikasi Web yang Web berdasarkan fungsionalitasnya, se- bersifat readable / bisa terbaca oleh mesin bagai contoh, suatu groupware adalah tetapi memerlukan manusia itu sendiri un- software kolaborasi berbasis Web yang tuk menginterpretasikan informasi yang menolong orang-orang yang terlibat dalam terkandung di dalamnya. Secara umum, suatu tugas bersama untuk mencapai Syntactic Web terdiri atas website berbasis tujuan-tujuan tugas tersebut. Pemba- HTML (sebelum HTML5). Syntactic Web gian berdasarkan fungsionalitas ini meng- juga meliputi berbagai infrastruktur yang hasilkan banyak kategori aplikasi Web, mendukung HTML, seperti CSS (Cascad- seperti misalnya CMS (Content Man- ing Style Sheet), PNG (Portable Network agement System), Recommender System, Graphic serta berbagai format gambar lain- Knowledge Management System, forum, nya), dan JavaScript. Istilah “Web 2.0” dan lain-lain. sebenarnya masih termasuk dalam kategori Murugesan [8] juga menyatakan bahwa ini karena dari sisi infrastruktur, Web 2.0 aplikasi dan sistem Web dapat dikate- masih belum terkonsentrasi pada ketersedi- gorikan menjadi Shallow Web (Static Web), aan infrastruktur semantik dan lebih ter- Deep Web (Dynamic Web), Wisdom Web fokus pada interaktivitas. (Web 2.0), Mobile Web, dan Semantic Web. Shallow Web terutama merupakan kumpu- 1.2.2 Semantic Web lan dari halaman-halaman statis HTML. Deep Web merujuk pada Web dinamis yang Secara sederhana, bisa dikatakan bahwa mampu menghasilkan halaman Web secara Semantic Web adalah Web yang memu- on-the-fly serta berbagai infrastruktur Web ngkinkan mesin untuk “memahami” infor- 3
  • 4.
    masi yang terdapatdi dalamnya. Seman- 1.3 Web Engineering tic Web merupakan visi yang dilontarkan oleh Berners-Lee et al [20]. Saat ini,Web Engineering sebagai suatu disi- banyak standar dan spesifikasi yang dibuat plin yang independen dimunculkan oleh The World Wide Web Consortium oleh Murugesan, Deshpande, Hansen yang memungkinkan terrealisasinya Seman- and Ginige [16, 22]. Murugesan, et.al tic Web dengan cara memberikan seman- mendefinisikan Web Engineering sebagai tik formal ke data yang bisa diakses: RDF, penggunaan yang sesuai dari berbagai OWL, SPARQL, RDFa, SKOS, RDFS, prinsip ilmiah, rekayasa, dan manajemen, GRDDL, POWDER, RIF, dan SAWSDL.3 serta berbagai pendekatan yang sistematik Menurut Lassila, deployment dari Seman- dan berdisiplin untuk kesuksesan pengem- tic Web dapat meringankan beban kerja bangan, deployment, dan pemeliharaan umat manusia jika tujuan aplikasi terse- dari sistem dan aplikasi berbasis Web [16]. but adalah otomatisasi dari berbagai tu- Disiplin Web Engineering berkaitan den- gas sekaligus memungkinkan komputer un- gan proses untuk membangun aplikasi tuk melakukan hal-hal tersebut atas nama sistem dan aplikasi Web. Esensi dari Web manusia [14]. Engineering adalah mengelola berbagai keragaman serta kompleksitas pengem- bangan aplikasi Web untuk menghindari berbagai kegagalan potensial yang bisa 1.2.3 Pragmatic Web mempunyai implikasi serius [1]. Secara konseptual, pendekatan multidisipin Meskipun masih dalam tahap awal, Prag- dari Web Engineering bisa dilihat pada matic Web mulai memperoleh lebih banyak gambar 1 [16]. perhatian sejak Semantic Web mendap- atkan tantangan yang signifikan terutama dalam hal untuk mengantisipasi kebutuhan yang kritis untuk mengakomodasi konteks. Untuk mengatasi tantangan tersebut, perlu perubahan dari arah semantik ke arah pragmatik [12]. Visi dari Pragmatic Web adalah visi untuk efektivitas kolaborasi umat manusia dengan menggunakan berba- gai teknologi yang sesuai. Dalam pandan- gan ini, Pragmatic Web melengkapi Seman- tic Web dengan cara meningkatkan kualitas dan legitimasi dari kolaborasi dalam komu- nitas [9]. Gambar 1: Pendekatan multidisiplin untuk Web Engineering 3 http://www.w3.org/2001/sw/wiki/Main_ Page 4
  • 5.
    2 Berbagai Isu Terkini tersedianya peranti pengembangan yang mengakomodasi infrastruktur untuk linked dan Tantangan data dengan memanfaatkan engine RDF serta OWL semaksimal mungkin. Peranti 2.1 Basis Data RDF dan En- pengembangan yang mengakomodasi RDF, gine untuk SPARQL OWL, serta SPARQL juga menjadi bagian RDF data memerlukan mesin penyim- dari tantangan tersebut. pan tersendiri yang tidak cocok diban- gun dengan basis data relasional meskipun 2.2 Architectural Patterns ada usaha untuk menggunakan basis data relasional untuk menyimpan RDF Suatu pattern didefinisikan sebagai “su- pada basis data relational seperti misal- atu ide yang (telah terbukti) berman- nya yang dilakukan oleh Brian McBride, faat pada suatu konteks praktik tertentu Jonas Liljegren, Sergey Melnik, dan Eric dan mungkin akan bermanfaat untuk lain- Miller4 . Proyek OpenJena juga mem- nya” [10]. Architectural Patterns mengek- bangun SDB (http://jena.sourceforge. spresikan organisasi atau skema struktu- net/SDB/) yang merupakan media penyim- ral yang fundamental untuk suatu sistem pan dan query RDF dataset menggunakan sofware [4]. Ada beberapa Architectural backend basis data relasional, diantaranya Patterns untuk aplikasi Web yang sampai adalah PostgreSQL, MySQL, HSQLDB, saat ini merupakan best practices dalam Apache Derby, Microsoft SQL Server, Or- Web Engineering. Berbagai Architectural acle 10g, IBM DB2, dan H2. Patterns tersebut dipengaruhi oleh arsitek- Saat ini terdapat beberapa proyek tur multi-tier suatu aplikasi. open source untuk membangun basis data Aplikasi Web cenderung mempunyai be- RDF serta engine SPARQL. Beberapa di- berapa tier atau lapisan dan sering disebut antaranya adalah sebagai berikut: sebagai multi-tier application, meskipun lebih sering terdiri atas 3 lapisan sehingga • Mulgara (http://www.mulgara.org) sering disebut three-tier architecture. Tiga lapisan tersebut bisa dilihat pada gambar 25 • Sesame (http://www.openrdf.org) • TDB dari Jena (http://openjena. 2.2.1 MVC (Model-View- org/TDB/) Controller) • Virtuoso (http://virtuoso. MVC pertama kali dideskripsikan oleh openlinksw.com/dataspace/dav/ Trygve Reenskaug pada tahun 1979 untuk wiki/Main/Main.VOSIndex) keperluan pembuatan aplikasi GUI meng- gunakan Smalltalk6 . MVC pada pengem- Tantangan untuk Web Engineering 5 berkaitan dengan hal ini terutama adalah http://www.linuxjournal.com/article/ 3508 4 6 http://infolab.stanford.edu/~melnik/ http://heim.ifi.uio.no/~trygver/ rdf/db.html themes/mvc/mvc-index.html 5
  • 6.
    Gambar 2: Three-tierarchitecture Gambar 3: Arsitektur MVC bangan aplikasi Web membagi komponen 2.2.2 MVP (Model-View- aplikasi menjadi 3 bagian: Presenter) MVP merupakan turunan dari MVC dan • Model, berkaitan dengan basis data. mulai diadaptasi sekitar awal tahun 1990 Suatu tabel dipetakan dalam suatu oleh perusahaan Taligent untuk lingkungan kelas. kebanyakan framework MVC CommonPoint C++. MVP mulai menda- saat ini menggunakan ORM (Object- patkan perhatian setelah adopsi MVP ke Relational Mapping) untuk keperluan Java oleh Mike Potel dan setelah Microsoft ini. mengadopsi MVP untuk .NET framework pada tahun 20068 . MVP terbagi men- • View, berkaitan dengan penampi- jadi dua kategori yaitu MVP Passive View lan antarmuka Web tersebut di Web dan MVP Supervising Controller. Diagram browser. pada gambar 49 menggambarkan pattern MVP. • Controller, merupakan bagian yang akan memproses action yang dim- 2.3 Teknologi Presentation inta pemakai aplikasi serta meneruskan Layer hasilnya ke view untuk ditampilkan. Salah satu unsur dari arsitektur multi- tier adalah lapisan presentasi (presenta- Secara konseptual, MVC bisa dideskrip- tion layer / logic). Teknologi lapisan pre- sikan pada gambar 37 8 http://msdn.microsoft.com/en-us/ 7 http://www.learnaholic.me/wp-content/ library/cc304760.aspx 9 uploads/2009/08/mvc-architecture.gif http://i.msdn.microsoft.com/dynimg/IC281772.png 6
  • 7.
    Pada sisi klien,AJAX juga telah menuju standarisasi oleh W3C. Standar serta spesi- fikasi untuk bagian ini dikerjakan oleh We- bApps Working Group (http://www.w3. org/2008/webapps/) 2.4 Internationalisasi Internasionalisasi merupakan isu yang pent- ing sehingga W3C membentuk Activity sendiri, yaitu Internationalization (i18n Gambar 4: Arsitektur MVP Activity 11 . Sampai saat ini, W3C telah menghasilkan 3 rekomendasi berkaitan den- sentasi ini mempunyai implikasi yang kuat gan masalah internasionalisasi ini, yaitu: terhadap aplikasi Web dan sering disebut dengan istilah Rich Internet Applications • Ruby Annotation (http://www. atau RIA. Beberapa perkembangan yang w3.org/TR/ruby/), digunakan untuk signifikan untuk teknologi lapisan presen- menampilkan tulisan Ruby yang sering tasi ini antara lain adalah: digunakan di kalimat dan huruf-huruf • HTML5 Jepang, China, dan Korea. Menjadi rekomendasi pada 31 Mei 2001. • JavaFX • Adobe Flash serta berbagai framework • Character Model (http://www.w3. pendukungnya (OpenLaszlo, Adobe org/TR/charmod/), digunakan untuk Flex) mendefinisikan berbagai karakter yang digunakan di dunia ini. Menjadi • Microsoft Silverlight rekomendasi pada 15 Februari 2005. • JavaScript serta berbagai framework • ITS - Internationalization Tag Set pendukungnya (Google Web Toolkit, (http://www.w3.org/TR/its/), digu- Vaadin, ZK, Lively Kernel, dan lain- nakan untuk mendefinisikan tag yang lain) bisa menandai bahasa yang terdapat HTML5 merupakan perkembangan yang dalam isi tag tersebut. sangat signifikan karena memungkinkan un- tuk membangun aplikasi yang lebih inter- Sampai saat ini, berbagai framework aktif (dulunya hanya bisa dibangun meng- untuk pengembangan aplikasi Web masih gunakan plugin dari Web browser dan menggunakan konvensi serta aturan dan JavaScript). Spesifikasi HTML5 diharap- pustaka tersendiri untuk keperluan i18n ini. kan mencapai tahap Candidate Recommen- Sebagai contoh, beberapa framework sudah dation pada tahun 201210 . mempunyai fasilitas i18n: 10 11 http://wiki.whatwg.org/wiki/FAQ http://www.w3.org/International/ 7
  • 8.
    • Kohana Framework,Yii, CodeIgniter, Dari sisi security, tantangan untuk Web CakePHP (PHP) Engineering adalah ketersediaan framework yang sudah mengantisipasi berbagai kemu- • Ruby on Rails (Ruby) ngkinan masalah security, setidaknya dari sisi Web, seperti misalnya dengan menyedi- • Apache Wicket, Struts, Spring (Java) akan pustaka untuk sanitasi masukan serta • Django, TurboGears (Python) ACL (Access Control List) yang berlapis (misalnya menggunakan mekanisme Role- Tantangan ke depan untuk masalah i18n based Authentication. ini adalah mengintegrasikan berbagai stan- dar i18n ke dalam berbagai framework yang Privacy berkaitan dengan kemampuan mempunyai implementasi i18n tersendiri. untuk mengendalikan informasi tentang diri pemakai aplikasi Web, sejauh mana infor- masi diri tersebut ditampilkan dan siapa 2.5 Security dan Privacy saja yang bisa mengakses. Dari sisi privacy, Security dan privacy adalah dua hal yang W3C telah mengembangkan P3P (Plat- 12 sangat kompleks dan memerlukan perha- form for Privacy Preferences Project) . tian khusus. Dari sisi security, Web P3P memungkinkan Web untuk mengek- merupakan media yang biasanya menjadi spresikan praktik yang berkaitan dengan sasaran penyerangan. Pada dasarnya ada privacy deangan menggunakan format stan- dua hal yang harus diperhatikan: dar yang bisa di-retrieve secara otomatis dan diterjemahkan dengan mudah oleh user • sisi organisasional / non teknis agents 13 . • sisi teknis Dari sisi privacy, tantangan untuk Web Engineering adalah ketersediaan peranti Tanpa mengesampingkan sisi teknis, se- pengembangan untuk mengakomodasi P3P harusnya sisi non teknis dan organisas- ini sehingga memungkinkan user agents ional mendapatkan pembenahan terlebih menginformasikan ke pemakai tentang dahulu. Mulai dari security awareness sam- praktik privacy di Web yang bersangku- pai dengan implementasi framework kea- tan (dalam format yang terbaca mesin manan sistem informasi harus dibenahi maupun manusia) serta untuk mengotoma- terlebih dahulu. Secara teknis, sebe- tiskan pengambilan keputusan oleh pe- narnya masalah security di Web tidak bisa makai berdasarkan praktik tersebut. Den- dilepaskan dari Internet security, dalam arti gan demikian, pemakai tidak perlu lagi keamanan Web tidak hanya ditentukan oleh membaca privacy policy untuk setiap Web Web itu sendiri (misalnya dari sisi SQL In- yang dikunjungi. jection, XSS, dan lain-lain), tetapi juga dari sisi infrastruktur dan bahkan dari sisi social engineering. Hal yang selalu menjadi best practices untuk masalah ini adalah security 12 http://www.w3.org/P3P/ 13 watch dan mekanisme patch. http://www.w3.org/TR/P3P/ 8
  • 9.
    2.6 Peranti Pengembangan dunia Web Engineering semakin kompleks. dan Web Application Beberapa bahasa pemrograman serta com- piler/interpreter nya yang dulu sama sekali Framework tidak pernah dipakai untuk pengembangan aplikasi Web, sekarang muncul dan cen- Suatu framework, dalam konteks Web derung makin banyak. Sebagai contoh, Er- Engineering atau Software Engineering, lang yang dulu sama sekali tidak digunakan adalah sekumpulan pustaka kelas, konfig- untuk pemrograman Web, saat ini mem- urasi, aturan-aturan, serta konvensi yang punyai framework untuk keperluan itu (Zo- digunakan untuk mengembangkan suatu tonic, Chicagoboss, ErlangWeb, dan lain- software. Biasanya framework ini diran- lain). Contoh lainnya adalah Ruby den- cang untuk mempermudah serta meny- gan Ruby on Rails, Python dengan Django, eragamkan pekerjaan pengembangan soft- Scala dengan Lift, Haskell dengan Snap, awre dengan menyediakan abstraksi berupa dan masih banyak lagi. API serta berbagai komponen-komponen lainnya untuk mempermudah pengemban- gan aplikasi, misalnya scaffolding di Ruby 2.7 Cross-browsers Develop- on Rails dan hampir semua framework un- ment tuk pengembangan aplikasi Web (Grails, Django, Seam Framework). Cross-browsers development sebenarnya Perkembangan saat ini menunjukkan menunjuk pada suatu aktivitas pengemban- bahwa kebanyakan compiler/interpreter gan aplikasi Web yang hasilnya bisa diakses bahasa pemrograman tertentu mempunyai dengan baik di semua Web browser. Seperti framework untuk pengembangan aplikasi diketahui, saat ini banyak terdapat soft- Web. Beberapa kelebihan penggunaan ware Web browser yang digunakan oleh pe- 14 framework ini terutama berkaitan dengan makai. Gambar 5 menunjukkan berbagai kemudahan serta fasilitas pustaka kelas software web browsers yang digunakan oleh dan keseragaman pengembangan aplikasi. para pemakai. Dalam hal pengelolaan tim, penggunaan Permasalahan yang dihadapi oleh framework ini akan sangat mengurangi para pengembang Web adalah masalah tingkat ketidakpastian dalam tim yang kepatuhan dengan standar. Setiap web bersangkutan. Meskipun demikian, peng- browser mempunyai tingkat kepatuhan gunakan framework ini juga menuntut sendiri-sendiri sehingga menyulitkan proses belajar dan adaptasi yang seringkali pengembang untuk membuat aplikasi bukan merupakan hal yang mudah. Web yang bisa ditampilkan di semua Web Kondisi untuk Web Engineering saat browser. ini dan kemungkinan di masa yang akan Tantangan untuk Web Engineering datang akan semakin kompleks meskipun berkaitan dengan hal ini adalah kemam- banyak juga unsur-unsur yang memper- 14 http://static.arstechnica. mudah. Tingkat ketersediaan tools yang com/assets/2010/05/browser_share_ tinggi dan sangat heterogen membuat 0410-thumb-640xauto-13777.png 9
  • 10.
    puan untuk mengakomodasiperbedaan- Web Engineering. perbedaan antar web browser, misalnya Pressman et al. [15] menyatakan bahwa dengan menggunakan CSS yang berlainan aplikasi Web mempunyai beberapa karak- untuk masing-masing browser, atau dengan teristik yang membedakan dan menun- menggunakan suatu lapisan kompatibilitas tut berbagai pemikiran dan pertimbangan untuk JavaScript. khusus agar terhindar dari masalah usabil- ity, maintainability, kualitas dan reliabili- tas. Mendes et al. [3] menyatakan bahwa pengembangan Web lain dengan pengem- bangan software lainnya pada beberapa area permasalahan. Meskipun demikian, ada tiga area permasalahan yang paling membedakan dan sangat mempengaruhi proses pengembangan aplikasi Web dan proses pemeliharaan: sumber daya manusia yang terlibat dalam pengembangan, karak- teristik intrinsik dari aplikasi Web, serta pe- makai yang akan menjadi tujuan pengem- bangan aplikasi Web tersebut. Gambar 5: Market share Web browser bu- Sampai saat ini, komunitas pengem- lan april 2010 bang menggunakan metodologi pengem- bangan aplikasi Web yang merupakan hasil modifikasi dari metodologi Software En- gineering. Tantangan ke depan adalah 2.8 Software Engineering metodologi Web Engineering yang relatif dan Web lengkap, meliputi Syntactic Web, Seman- tic Web, dan Pragmatic Web dengan tetap Saat aplikasi Web masih di era awal, tidak mengakomodasi interaktivitas dengan pe- diperlukan suatu kajian khusus. Web, makai. Beberapa metodologi yang sudah seperti halnya jenis software lain, hanya di- muncul saat ini bisa dijadikan pijakan awal, anggap berbeda dari sudut antarmuka pe- seperti WebML [18], OOHDM (Object- makai, yaitu menggunakan Web browser Oriented Hypermedia Design Method ) serta untuk menampilkan dan menggunakan ap- penerusnya (SHDM - Semantic Hypermedia likasi tersebut. Metodologi pengembangan Design Method 15 , dan SWM (Simple Web aplikasi Web juga sama dengan metodologi Method ) [6]. pengembangan aplikasi dengan antarmuka Tantangan besar untuk Web Engineer- GUI atau TUI lainnya. Seiring dengan se- ing dalam konteks Web Science ini adalah makin matang dan memasyarakatnya Web (dan Internet), perlu dikaji apakah prinsip 15 http://www.tecweb.inf.puc-rio.br/ software engineering bisa diaplikasikan ke oohdm/space/start 10
  • 11.
    metodologi pengembangan aplikasiWeb Web. yang meliputi unsur Syntactic Web, Se- Suatu DSL merupakan bahasa yang mantic Web, dan Pragmatic Web serta diciptakan secara spesifik untuk keperluan mengakomodasi interaktivitas aplikasi Web memecahkan masalah pada suatu domain seperti halnya RIA. tertentu (meskipun tidak menutup kemu- ngkinan bisa juga di domain lain). DSL merupakan lawan dari General Purpose 2.9 Software Agent, Domain- Language yang relatif merupakan bahasa Specific Language (DSL) yang bisa digunakan untuk berbagai do- dan Pragmatic Web main. Dengan landasan teoritis perspektif Lan- Pragmatic Web mempunyai akar dari per- guage/Action, DSL bisa dimungkinkan di- spektif Language/Action. Perspektif ini gunakan untuk menjadi komponen dari pertama kali dikenalkan oleh Flores dan Pragmatic Web. Beberapa peneliti yang Ludlow [5]. Dalam paper mereka, mereka mulai berusaha mengintegrasikan DSL un- mempertanyakan hal konvensional selama tuk Web Engineering diantaranya adalah ini bahwa komunikasi sebenarnya hanya [2, 11]. Pada dasarnya, DSL bisa kita kate- sekedar transmisi dari informasi atau sim- gorikan menjadi 2 tipe: bol. Flores dan Ludlow berargumentasi bahwa manusia adalah makhluk “bahasa” dan menggunakan bahasa untuk menger- • DSL internal, yaitu DSL yang diimple- jakan suatu tindakan. Web itu sendiri mentasikan untuk “menyederhanakan” sebenarnya bisa dipandang sebagai suatu API dengan cara membuat abstraksi sistem simbolis. Penggunaan perspektif dari API. Language/Action sebagai landasan teori- tis memungkinkan kita untuk mengako- modasi konteks dari pemakai aplikasi Web • DSL eksternal, yaitu DSL yang mem- dan pada akhirnya bisa merealisasikan visi punyai sintaksis tersendiri dan memer- Pragmatic Web. lukan full parser untuk memprosesnya. Software Agent merupakan software yang bertindak atas nama pemakai atau pro- gram lain. Suatu Software Agent mem- Gambaran umum dari implementasi DSL punyai karakteristik tertentu, yaitu ber- ini kurang lebih nanti adalah penggunaan reaksi terhadap lingkungan, otonomi, goal- DSL untuk domain aplikasi Web dengan orientation, dan persistence [17]. Dalam menggunakan sintaksis yang mudah di- konteks Web Engineering, Software Agent pahami pemakai atau mendekati bahasa seharusnya diakomodasi antara lain untuk “sehari-hari” untuk keperluan information crawling data semantik serta membangun retrieval system yang telah disediakan in- keterkaitan antar data (( linked data)). Hal frastruktur semantiknya melalui Software ini akan memberikan infrastruktur yang Agent. Tentu saja, untuk keperluan ini, memadai bagi pengembangan Pragmatic akan digunakan DSL eksternal. 11
  • 12.
    Daftar Pustaka [7] Gerti Kappel, Birgit Proll, Siegfried Reich, Werner Retschitzegger (eds), [1] Athula Ginige and San Murugesan, Web Engineering - The Discipline of Introduction: The Essence of Web Systematic Development of Web Appli- Engineering—Managing the Diversity cations, John Wiley and Sons, 2003. and Complexity of Web Application Development, IEEE MultiMedia, vol. [8] Gustavo Rossi, Oscar Pastor, Daniel 8, no. 2, pp. 22-25, Apr.-June 2001, Schwabe, and Luis Olsina, (edi- doi:10.1109/MMUL.2001.917968 tors), Web Engineering: Modelling and Implementing Web Applications, [2] Demetrius A. Nunes, Daniel Schwabe, Springer-Verlag, London, 2008. Rapid Prototyping of Web Applications Combining Domain Specific Languages [9] Mareike Schoop, Aldo de Moor, and and Model Driven Design, Proceedings Jan L. G. Dietz, The pragmatic web: of the 6th International Conference on a manifesto, Communications of the Web Engineering, ACM, 2006. ACM, Volume 49, Number 5, pp 75- 76, 2006. [3] Emilia Mendes and Nile Mosley (Eds.), Web Engineering, Springer- [10] Martin Fowler, Analysis Patterns: Verlag, Berlin, Heidelberg, 2006. Reusable Object Models, Addison- Wesley, 1996. [4] F. Buschmann, R. Meunier, H. Rohn- [11] Martin Nussbaumer, Patrick Freuden- ert, P.Sommerlad, and M. Stal, stein, Martin Gaedke, Towards DSL- Pattern-Oriented Software Architec- based web engineering, Proceedings of ture: A System of Patterns, John Wi- the 15th international conference on ley and Sons, 1996. World Wide Web, ACM, 2006. [5] Fernando Flores and Juan Ludlow, Do- [12] Munindar P. Singh, The Pragmatic ing and Speaking in the Office, in De- Web: Preliminary thoughts. Proceed- cision Support Systems: Issues and ings of the NSF-OntoWeb Workshop Challenges, G. Fick and R.H. Sprague on Database and Information Systems (eds.), Pergamon Press, New York, Research for Semantic Web and Enter- 1980, pp. 95-118. prises, (Apr. 2002), 82–90. [6] Gary Griffiths, Barry D. Hebbron, [13] Nigel Shadbolt, Tim Berners-Lee, Web Mike A. Lockyer, Briony J. Oates, A Science Emerges, Scientific American, Simple Method and Tool for Web En- October 2008. gineering, Proceedings of the 14th in- ternational conference on Software en- [14] Ora Lassila, Using the Semantic Web gineering and knowledge engineering, in Mobile and Ubiquitous Computing, ACM, 2002. Proceedings of the 1st IFIP WG 12.5 12
  • 13.
    Working Conference onIndustrial Ap- the-semantic-web&print=true, May plications of Semantic Web, 2005. 17, 2001. [15] Roger S. Pressman, Ted Lewis, Ben [21] Victoria Shannen, A ’more Adida, Ellen Ullman, Tom DeMarco, revolutionary’ Web, http: Thomas Gilb, Brent Gorda, Watts //www.nytimes.com/2006/05/23/ Humphrey, and Ray Johnson, Can technology/23iht-web.html?_r=1, Internet-Based Applications Be En- accessed on Jan 4, 2009, 09:40AM. gineered?, IEEE Software, vol. 15, no. 5, pp. 104-110, Sep./Oct. 1998, [22] Yogesh Deshpande and Steve Hansen, doi:10.1109/MS.1998.714869 Web Engineering: Creating a Disci- pline among Discipline, IEEE Multi- [16] San Murugesan, Yogesh Deshpande, Media, vol. 8, no. 2, pp. 82-87, Apr.- Steve Hansen and Athula Ginige, Web June 2001, doi:10.1109/93.917974 Engineering: A New Discipline for Development of Web-based Systems, Proceedings of the First International Conference of Software Engineering (ICSE) Workshop on Web Engineer- ing, Los Angeles, USA, 1999. [17] Stan Franklin, Art Graesser, Is it an Agent, or Just a Program?: A Taxon- omy for Autonomous Agents, Proceed- ings of the Third International Work- shop on Agent Theories, Architectures, and Languages, Springer-Verlag, 1996. [18] Stefano Ceri, Piero Fraternali, and Aldo Bongio, Web Modeling Language (WebML): a Modeling Language for Designing Web Sites. WWW9 Confer- ence, Amsterdam, May 2000. [19] Tim Berners-Lee, Informa- tion Management: A Proposal, http://www.w3.org/History/1989/ proposal.html [20] Tim Berners-Lee, James Hendler and Ora Lassila, The Semantic Web, Scientific American Magazine, http: //www.sciam.com/article.cfm?id= 13