Web Engineering dalam Konteks Web Science - Keynote Speech SRITI 2010
Paper ini membahas berbagai isu terkini dan tantangan dalam Web Engineering dalam konteks Web Science, termasuk basis data RDF, engine SPARQL, dan pola arsitektur aplikasi Web."
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