RESUME WEB ENGINERING 2010 “Technology

advertisement
RESUME
WEB ENGINERING 2010
“Technology-aware Web Application Design”
“Perancangan Aplikasi Web”
BY
NURRACHMAT
070411100126
UNIVERSITAS TRUNOJOYO
FAKULTAS TEKNIK
INFORMATIKA
2010
Technology-aware Web Application Design “Perancangan Aplikasi Web”
Pendahuluan
Web muncul sebagai suatu sistem hypertext yang sangat sederhana yang mendukung konsep global yang
menghubungkan. Sebuah " simplicity " adalah resep untuk sukses dan alat untuk hypertext / hypermedia ke hari saat ini.
XML adalah teknologi pertama untuk membuat sistem hypertext " fully grown " memungkinkan, tetapi itu jauh dari
adat. Selain itu, dalam sejarah yang relatif singkat fokus Web telah di koneksi dengan database dan dengan desain
informasi. Namun, desain informasi hanya sebagian dapat digunakan untuk desain aplikasi Web. Integrasi modul
perangkat lunak yang luas di klien dan server dan teknik perangkat lunak sehingga berorientasi objek telah lama
penting dalam " Web melting pot ".
Tiga lapisan tersebut sebagai berikut:
(1) desain presentasi, di mana desain tampilan dan nuansa, dan di mana user interface multi-modal ikut bermain, (2)
desain interaksi, di mana desain navigasi dengan menggunakan anchors, dan dialog khusus dengan menggunakan
komponen, dan (3) desain fungsional, yang menentukan "inti" dari aplikasi Web.
5.1 Introduction
Sebagai pendekatan umum untuk desain aplikasi Web, dianjurkan untuk mencakup semua enam bagian seperti
disorot dalam Gambar 5-1, dan untuk mengamati aspek-aspek berikut:
Latar belakang budaya dari semua pengembang harus terwakili dalam tim, dan perawatan harus diambil untuk
integrasi.
Ada beberapa model independen, metode, dan alat untuk desain dan implementasi di masing-masing enam
bagian layer, tapi sangat berbeda, tergantung pada kategori aplikasi Web.
Pemilihan disebutkan di atas tidak hanya harus mempertimbangkan direncanakan kategori aplikasi Web,
tetapi juga teknologi yang direncanakan.
Sebuah proses desain yang komprehensif sebagai jalan melalui enam bagian ditunjukkan dalam Gambar 5-1
tidak dapat secara umum direkomendasikan.
5.2 Web Design from an Evolutionary Perspective
5.2.1 Latar Belakang (Background)
Salah satu karakteristik utama atau latar belakang aplikasi web adalah kebutuhan sumber dokumentasi, yaitu
pentingya informasi yang dibutuhkan dalam suatu website dibandingkan dengan perangkat lunak atau software. Hal ini
dibuktikan oleh tim Berners-Lee yang ingin mengembangkan aplikasi Web yang sederhana walaupun berbasis hipertext
melalui via internet, dan juga hanya fokus dalam tulisan teks dalam suatu informasi website itu sendiri. Jadi intinya
suatu aplikasi web yang bagus adalah seberapa besar informasi yang dikembangkan untuk dapat memberikan manfaat
bagi setiap penggunanya dan juga merasa nyaman dengan tampilan atau fitur-fitur tampilan yang disajikan dalam
aplikasi website tersebut jika memungkinkan.
5.2.2 Information Design: An Authoring Activity
Dapat disimpulkan hipertext pastinya lebih tua dari HTML, dari segi pengembangan. Hal ini terbukti dari dasar
pemikiran oleh Vannevar Bush pada akhir era Perang Dunia II dimana saat itu sangat besar pengaruh jasa teknisi yang
menyampaikan informasi maupun yang proses pengolahannya. Karena, informasi sangatlah penting pada masa itu maka
dibutuhkan teknisi yang dapat mengolah informasi sebaik mungkin yang dapat diterima dan diolah kembali. Dan
komposisi dari hipertext itu sendiri terdiri dari :
Nodes, links dan anchors
Meshes dan aggregate yang lain, Meshes dibentuk untuk node-node koheren dan link yang sebelumnya
dikenal dengan dokumen hypertext sebelum ditemukannya aplikasi web yang baru. Sedangkan aggregate yang
lain seperti : tipe pengguna ( mahir atau pemula), path-path atau petunjuk (urutan dokumen, atau kategori) dan
meta-nodes (meshes yang tertanam dalam node-node dokumen).
Web yang popular adalah karena kesederhanaan dan ketersediaan informasi yang gratis dalam aplikasi web tersebut.
Dan berikut adalah kelemahan yang sering ditemui dalam HTML :
HTML dapat dipahami sebagai bahasa pemrograman yang kuno (classic) karena dokumen atau informasi
dimasukkan pada node-node tag atau kode program HTML itu sendiri.
HTML adalah gabungan dari aspek orthogonal seperti struktur hypertext (via tags for links an anchors),
struktur dokumen (headers, body, list,etc.), dan tampilan atau interface (background color, italic, tipe font,
etc.).
HTML adalah berbasis teks, media lain seperti gambar, video dan suara hanya sebatas link-page.
Identifikasi beberapa aturan dasar untuk desain aplikasi web berbasis dokumen, yaitu, untuk aspek authoring, dari
pembahasan di atas:
Meshes harus membentuk pusat desain informasi.
Dokumen konvensional harus dipecah menjadi node-node atom atau kecil.
Aspek-aspek seperti tata letak dan konten, simpul dan mesh, dll, harus dipisahkan konseptual.
Teknologi yang dipilih harus mendukung konsep maju, misalnya, manajemen link pusat, setidaknya dalam
desain, idealnya juga dalam sistem manajemen konten (disembunyikan dari pengguna akhir), dan di intranet
bahkan dalam implementasi teknologi itu sendiri. solusi berbasis XML harus diberi preferensi atas pendekatan
proprietary.
5.2.3 Software Design: A Programming Activity
Mampu Memprogram Web (Programmable Web)
Script atau program harus menawarkan struktur data yang telah ditetapkan dan operasi untuk dapat membuat
elemen halaman HTML yang khas, seperti header dari tingkat yang berbeda, paragraf, daftar, dan hal-hal lain, mengisi
body dengan content, dan meletakkannya bersama-sama (sebagai struktur tipe tree dari elemen tersebut). Serupa dengan
dokumen HTML, (applet) user interface sebuah program akan muncul di jendela browser. Dengan demikian, fokus
utama ditempatkan pada aspek keamanan untuk mencegah applet pihak ketiga dari melaksanakan operasi yang tidak
diinginkan pada mesin end-user. Selain script dan applet, browser menjalankan program terutama untuk representasi
dinamis pada presentasi multimedia, misalnya yang dikembangkan dengan Macromedia Flash.
Pemograman Terdistribusi (Distributed Programming)
Jenis pemrograman berorientasi obyek terdistribusi telah terjebak dalam tahap akademik sampai hari ini.
Sebaliknya, komunikasi berdasarkan aktivitas atau event-based communication (EBC untuk jarak pendek), dan
mempublikasikan / berlangganan arsitektur-tectures telah menjadi semakin penting. Dalam EBC pencipta informasi
menentukan kapan berkomunikasi ("when a new event occurs ") menggunakan prinsip push di con-trast dengan prinsip
menarik di mana pengguna memulai komunikasi.
5.2.4 Merging Information Design and Software Design (Penggabungan Desain Informasi
dan Desain Perangkat Lunak)
Kemudian untuk merancang aplikasi Web dari unsur-unsur (object–node hermaphrodites) dan link-link (which
could also be method call relationships). Berikut alternatif yang sangat sederhana harus diperhatikan:
•
Elemen dapat diimplementasikan, halaman statis yang dihasilkan klien (misalnya, JavaScript), atau sebagai
halaman server- generated seperti (ASP, JSP).
•
Link berdiri untuk URL dalam HTML, atau untuk XLinks dalam XML, jika target adalah informasi daripada
sebuah program, dan jika baik isi dan alamat diketahui pada saat pelaksanaan (HTML biasa) atau pada saat
presentasi (HTML dinamis)
5.2.5 Problems and Restrictions in Integrated Web Design (Masalah dan Pembatasan dalam
Desain Web Terpadu)
Contoh beberapa masalah hambatan teknologi lebih mudah untuk melihat secara lebih rinci:
Desain halaman web dalam arti desain informasi dan desain perangkat lunak dan fase perkembangan
selanjutnya biasanya tidak didukung oleh teknologi yang tersedia di pasar.
Transisi dari bentuk berbasis user interface interaktif untuk perangkat lunak dengan antarmuka pengguna grafis
biasanya merupakan perubahan teknologi yang dramatis, karena Java applet tidak memperoleh space banyak di
dunia produksi industri perangkat lunak, meskipun Java sebagai bahasa pemrograman jauh lebih umum "
programming language for the Web"dari yang diharapkan, misalnya, dalam bentuk Java Server Pages (JSPS).
Tidak ada teknologi yang tepat untuk beberapa varian yang diinginkan dari dua konsep desain, yaitu unsurunsur dan link. Sebagai contoh, HTML tidak memiliki cara untuk menghitung tujuan link pada waktu navigasi
(jika diklik), kecuali dengan menggunakan proxy menengah, yang agak rumit.
Campuran fine-grained dari aspek authoring dan pemrograman dalam elemen atau link tidak cukup didukung
oleh teknologi. Sebagai contoh, jika kita ingin mendukung navigasi canggih di mesh, kita harus menerapkan
lapisan navigasi perangkat lunak terpisah dalam HTML atau XML dan memperkenalkan di atas mesh.
5.2.6 A Proposed Structural Approach (Usulan Pendekatan Struktural)
Cara membedakan antara desain hypertext, desain informasi, dan desain perangkat lunak dapat disebut pada
daftar di bawah ini, masing-masing dengan sisi komponen dan sisi mesh:
•
Presentasi Desain: desain ini memiliki output dokumen, media, dan data (dalam arti sistem informasi, atau
dalam arti data aplikasi komponen perangkat lunak) pada sisi komponennya.
•
Desain Interaksi: Bagian ini berkaitan dengan aliran kontrol interaksi pengguna dengan aplikasi Web. Di sisi
mesh, navigasi istilah telah menjadi adat, sedangkan istilah dialog digunakan pada sisi komponen.
•
Desain Fungsional: Bagian 5.5 memperkenalkan desain inti dari komponen dan jerat, menekankan perspektif
pengembang perangkat lunak, karena ini penting untuk kategori terbaru dari aplikasi Web.
5.3 Presentation Design
Dalam desain presentasi, "media designers" mendefinisikan tampilan dan - sampai batas tertentu - struktur
tentang bagaimana isi multimedia disajikan. Isi dari hasil aplikasi Web dari komposisi konten multimedia secara
eksplisit dikembangkan pada sisi komponen dan isi implisit didefinisikan di sisi mesh. Ini berarti bahwa desain
presentasi yang baik memungkinkan kita untuk fleksibel beradaptasi dalam presentasi untuk kebutuhan budaya,
teknologi, dan berbagai kontekstual.
Alat yang tersedia untuk membuat aplikasi Web dapat dikelompokkan menjadi dua kategori oleh bagaimana cara
mendukung desain presentasi: conventional page editors and more advanced content management systems.
5.3.1 Presentation of Nodes and Meshes
Sebuah Halaman Web konten hasil dari komposisi isi multimedia secara eksplisit dikembangkan pada sisi
komponen dan isi implisit didefinisikan di sisi mesh (misalnya, pilihan navigasi).
5.3.2 Device-independent Development Approaches
Spektrum perangkat Web-enabled mencakup hampir semua kelas dibayangkan perangkat mobile, dari telepon
seluler sangat kecil dengan browser WAP, melalui telepon pintar dan untuk tablet PC dengan menampilkan sentuhan
yang sensitif. Ketika melihat fitur-fitur teknis dari perangkat mobile, set sangat berbeda dari hasil presentasi dan
interaksi pilihan untuk digunakan dalam aplikasi Web.
5.4 Interaction Design
Interaksi desain menyangkut persimpangan dari unsur-unsur visual, dinamis, fungsional, dan teknis dari
aplikasi Web. Tujuan utamanya adalah untuk menggabungkan unsur-unsur dan konflik halus, dalam rangka untuk
menawarkan pengguna yang menarik dan serta pengalaman yang konsisten dan mudah dipahami. Bagian ini
menunjukkan pendekatan sistematis yang membagi interaksi aplikasi Web menjadi empat aspek: user interaction, user
interface organization, navigation, and user activities.
5.4.1 User Interaction
Sebuah aplikasi web menjadi lebih canggih, semakin banyak peran itu digabungkan ke dalam HTML:
transportasi informasi, tata letak, interaksi pengguna, navigasi, proses (sebagai produk sampingan dari traversal link
berikutnya), dan akses langsung ke konten digital.
Berikut akan diuraikan kriteria untuk membantu mengatur keputusan pembangunan yang akan dilakukan
dengan kembali ke sifat inti dari sebuah aplikasi perangkat lunak: maintainability, reusability, scalability, sustainability
and expandability (Carnegie Mellon Software Engineering Institute 2005) (see Table 5-1).
•
Maintainability mengacu pada rata-rata upaya untuk mencari dan memperbaiki kegagalan perangkat lunak, dan
biasanya diukur dengan kesederhanaan, keringkasan, modularitas dan self-descriptiveness.
•
Reusability mengacu pada kemungkinan keluar kode aplikasi tertentu untuk digunakan dalam aplikasi lain tanpa
(banyak) perubahan.
•
Skalabilitas tidak hanya merujuk pada kemampuan mempertahankan jumlah besar pengguna tetapi juga, dari
sudut pandang pembangunan, dengan kemampuan cerdas kegiatan pembangunan yang berbeda yang dapat
dilakukan secara paralel oleh tim pengembangan.
5.4.2 User Interface Organization
Masalah sering terjadi ketika sebuah node berisi informasi dari sesuai pada layar. Ketika mencoba untuk
menimbang aspek desain presentasi terhadap aspek interaksi desain. Maka dapat dibedakan pada pendekatan berikut
(lihat Tabel 5-2):
1.
Seluruh node dikirim ke pengguna sebagai HTML. Halaman HTML mencakup baik script atau kebiasaan teknologi plug-in untuk membiarkan subset akses informasi pengguna.
2.
Seluruh node dikirim ke pengguna sebagai salah satu halaman HTML besar tanpa script. Pengguna memilih
link relatif pada halaman untuk menelusuri halaman.
3.
Pandangan parsial ke node dikirim ke pengguna. Halaman ini menampilkan arti diatur dalam subkumpulan
informasi. Pengguna dapat menavigasi ke halaman lain untuk sepenuhnya membaca informasi yang
diinginkan.
5.4.3 Navigation Design
Hasil dari desain navigasi adalah dua kali lipat: elemen pengguna dapat mengakses di satu sisi, dan struktur
navigasi di sisi lain. Elemen menjadi node dalam kasus yang paling sederhana. Struktur mendefinisikan hubungan
antara node. Hubungan ini nantinya akan menjadi struktur link yang terlihat di user interface. Desain interaksi
mendefinisikan aspek-aspek yang diperlukan untuk navigasi itu sendiri (anchor and URL), dan unsur-unsur yang
dibutuhkan bagi pengguna untuk menyesuaikan diri.
5.4.4 Designing a Link Representation: The Anchor
Anchors adalah terlihat sebagai korespondensi dari URL dan dengan demikian, harus menyampaikan baik
motivasi bagi pengguna untuk mengaktifkan dan konsekuensi yang mungkin terjadi. Karena implementasi HTML
berbasis Web campuran dengan konsep anchor dan konsep link ke satu elemen searah tunggal. Ini adalah alasan
mengapa pengguna tidak bisa memastikan apa konsekuensi yang mungkin akan terjadi ketika mengikuti link (lihat
Tabel 5-3).
Teks dari anchor idealnya harus cukup jelas (W3C 2001c). Hal ini juga berguna untuk mengelompokkan link
berdasarkan kategori. Selain itu, ikon dapat digunakan di dalam anchors untuk memvisualisasikan link. Sementara anchors tersebut dan ikon bisa ditentukan secara statis, sifat yang berubah secara dinamis (misalnya, apakah atau tidak jenis
media tertentu dapat dibuka) harus ditandai dengan menggunakan script tertanam di halaman tersebut.
5.4.5 Designing Link Internals: The URL
Proses navigasi dipicu dengan mengaktifkan anchors di user interface. Anchors merupakan link (URL dalam
HTML) yang menetapkan tujuan proses navigasi harus mengarah juga. Anchors harus bisa, oleh karena itu, menjadi
jelas, ringkas, berumur panjang, dan alamat harus absolut.
Pengenalan XML berarti langkah progresif besar untuk link dan anchors. Gabungan XML standar seperti XPath,
XPointer, dan XLink, menawarkan fungsionalitas hypermedia infrastruktur untuk umum, mencapai jauh melampaui
link HTML. Sebagai contoh, link multi disebut dapat digunakan untuk menghubungkan dokumen XML dengan
beberapa sumber daya.
5.4.6 Navigation and Orientation
Alat atau tool navigasi harus dapat membantu untuk membatasi stres kognitif bagi pengguna. Dan mengidentifikasi
tiga strategi dasar untuk mencapai tujuan yaitu:
•
Navigation organization: Strategi ini menentukan struktur navigasi keseluruhan.
•
Orientation aid: Strategi ini membahas pertanyaan dan "Di mana aku?" dan "Mana aku?" Dalam aspek-aspek
interaksi dari desain presentasi.
•
Link perception: Strategi ini terutama menyangkut isu-isu yang berkaitan dengan asosiasi link ke motivasi dan
konsekuensi.
5.4.7 Structured Dialog for Complex Activities
Masalah
ini
menunjukkan
bahwa,
dari
interaksi
perspektif,
Proses
karakteristik
bisnis
sangat berbeda dari aplikasi hypertext. Tabel 5-4 meringkas karakteristik tersebut.
5.4.8 Interplay with Technology and Architecture
Bahwa desain, arsitektur, dan teknologi yang erat terkait dalam pengembangan aplikasi Web. Transisi ini
berdampak pada arsitektur teknologi dan perangkat lunak pilihan, kadang-kadang menjadi keras transisi ke arsitektur
yang lebih kompleks dan teknologi berperforma lebih baik sebagai aplikasi web yang berkembang. Tentu, seperti
transisi memiliki dampak pada desain.
Mengambil informasi dapat dilaksanakan dengan sederhana "membangun struktur arsitektur 3-layer-", yang
menggunakan template untuk menghasilkan output HTML yang sesuai permintaan klien (misalnya, berdasarkan
ASP.NET, JSP, atau PHP). Dalam arsitektur sederhana seperti, pengendalian aplikasi dan logika aplikasi yang tertanam
dalam kode sumber script dari template.
5.5 Functional Design
Rancangan fungsional juga harus mempertimbangkan aspek-aspek teknologi yang memiliki dampak yang kuat
dalam pengembangan pada aplikasi Web.
5.5.1 Integration
Kita dapat mengintegrasikan sistem pada tiga tingkatan, yang harus ditafsirkan sebagai sub-tingkat desain
fungsional: tingkat data, tingkat aplikasi, dan tingkat proses.
5.5.2 Communication Paradigms and Middleware
Middleware telah disebutkan di atas sebagai teknologi untuk menghubungkan aplikasi. pendekatan yang ada
sangat berbeda dalam kompleksitas dan tujuan, di mana sudah secara singkat dijelaskan Inter-Process Communication
(IPC), Remote Procedure Call (RPC), Event Berbasis Komunikasi (EBC), pesan- Oriented Middleware (MOM), dan
pendekatan berorientasi objek terdistribusi.
5.5.3 Distributed Cross-corporate Web Applications
Gambar 5-3 memberikan gambaran tentang bagaimana protokol ini bergantung satu sama lain.
Web Services Transaksi Spesifikasi (WS-Transaction) menggambarkan kerangka extensible untuk mengkoordinasikan
tindakan dalam aplikasi terdistribusi (WS-Koordinasi) dan jenis koordinasi khusus untuk transaksi atom dan transaksi
bisnis (IBM 2005a). Pendekatan ini sangat cocok terutama untuk merangkum format proprietary dari sistem transaksi
yang berorientasi saat ini. Kegiatan usaha dalam kontras dimaksudkan untuk tindakan jangka panjang, karena tidak
memblokir sumber daya selama periode waktu yang panjang.
5.6 Outlook
Pada Era pasca-PC yang disebut tidak lagi didominasi oleh satu kelas satu perangkat (PC), tetapi ditandai
dengan sejumlah besar perangkat yang berbeda. Selama beberapa tahun mendatang, ponsel akan sangat penting. Oleh
karena itu, untuk menjadi berkelanjutan, aplikasi web harus siap untuk tren hari ini, yaitu dengan mempertimbangkan
dua konsep penting, yaitu, context awareness and device independence.
5.6.1 Context-aware Applications
Sebuah aplikasi context-aware adalah sebuah aplikasi yang membutuhkan pengetahuan pengguna tertentu konteks pengguna - untuk menyesuaikan secara optimal baik interaksi dan fungsinya. Selain itu, kesadaran konteks
yang mengarah pada jenis baru dari aplikasi, misalnya, Location-Based Services (LBSs), untuk menyebutkan salah satu
contoh. Tergantung pada lokasi, kita bisa, misalnya, menampilkan informasi yang disesuaikan oleh kebutuhan.
5.6.2 Device-independent Applications
Produsen alat Web Teknik telah lama memahami masalah aplikasi perangkat-independen namun mereka telah
menyarankan terlalu optimis bahwa masalahnya bisa diselesaikan dengan mengubah presentasi generik (XML-based)
ke bahasa markup yang digunakan oleh perangkat (HTML, WML, dll). Seperti contoh: sebagian implementasi lengkap
dan berbeda versi HTML, sejauh yang berbeda elemen antarmuka pengguna yang tersedia (misalnya, kotak daftar,
tombol radio), ukuran layar dan orientasi, dan daya komputasi terbatas atau bandwidth jaringan. Pembatasan ini telah
menyebabkan beberapa proposal, termasuk WML sebagai bahasa markup tertentu untuk perangkat mobile.
Download