Web 2.0 and RESTful Web Services

Download Report

Transcript Web 2.0 and RESTful Web Services

Web Engineering 2010
Pertemuan ke-04
Perancangan Aplikasi
dengan WebML
Husni
[email protected]
Husni.trunojoyo.ac.id
Komputasi.wordpress.com
1
Outline
• Pendahuluan
• Mengenal WebML
• Rangkuman
• Materi dalam presentasi ini diambil dari webml.org.
2
Pendahuluan
• Mengapa WebML?
3
Tujuan WebML
• WebML bermaksudf menyediakan suatu pendekatan
terstruktur untuk perancangan situs web yang
bersifat Data-intensive.
• Sehimpunan model terintegrasi yang akan
membantu designer dalam produksi situs web highquality.
• Semua aspek desain web akan ditangani
• Pemanfaatan metodologi tua atau membingungkan
menjadi “menyusahkan”
4
Target dari WebML
• Target: Situs web yang data-intensive
– Jumlah datanya besar
– Interface diarahkan untuk masyarakat umum
• Exploratory (berhubungan dengan penjelahan)
• Berorientasi Browsing
• Terpersonalkan (1 ke 1)
– Isi, struktur, navigasi dan presentasi bersifat Volatile
(mudah berubah)
• WebML bukanlah pendekatan yang tepat untuk:
– Situs web kecil (Homepage, …)
5
– Situs web statis.
Apa Itu WebML?
• WebML
– Suatu bahasa konseptual untuk perancangan highlevel dari situs web.
6
Model WebML
• Model Structure – organisasi data
• Model Derivation – definisi data redundant
Derivasi merupakan proses penambahan informasi
redundant ke model struktur, dalam rangka
memperkuat ekspresinya dan mendefinisikan view
dan grouping berbeda dari data yang sama.
• Model Composition – Definisi dari halaman-halaman
situs sebagai himpunan (set) dari subhalamansubhalaman dan unit-unit publikasi elementer.
• Model Navigation : definisi hubungan (link) antar
halaman dan antar unit
• Model Presentation : penentuan posisi unit di dalam
halaman dan definisi tampilan grafis
7
Konsep WebML
Site = Structure + Composition + Navigation + Presentation
entities,
relationships
structure
units, pages,
links
navigation +
composition
site views
user models
styles
presentation
Model Struktur
• Pertanyaan
– Obyek-obyek apa yang dipublikasikan dalam situs dan
bagaimana mereka terhubung?
• Jawaban
–
–
–
–
Entity: suatu tipe obyek dalam domain aplikasi tersebut
Attribute: properti skalar dari suatu entitas
Relationship: koneksi antar entitas
IS-A hierarchy: klasifikasi dan pengelomponan (grouping)
• Kompatibel dengan diagram Entity-Relationship dan
kelas UML
9
Model Struktur
• Model Entity-Relationship
disederhanakan
– Keterkaitan biner antar
entitas
Author
– Hirarki IS-A
– Atribut-atribut bertipe
sederhana dalam entitas
– Model derivasi dapat
diterapkan terhadap data
redundant
BestSeller
Genre
Book
10
Model Derivasi
• Data redundant dapat dengan mudah ditetapkan
menggunakan WebML-OQL (Object Query
Language).
Author
Book
BestSeller
• Contoh
– BestSeller := Book dimana Book.Sales > 50,000
– Author.BooksNumber = count(self.Author2Book)
11
Model Hypertext
• Q1: Informasi apa yang dipublikasikan dalam nodenode hypertext?
• Q2: Bagaimana node-node hypertext dihubungkan?
• Q3: Bagaimana hypertext dibagi ke dalam halamanhalaman yang disajikan kepada pengguna?
• A1: Unit-unit isi (content) (Composition)
• A2: Link-link (Navigation)
• A3: Halaman-halaman (Composition)
12
Komposisi:
Contoh Deskripsi Unit Content
DATAUNIT
Untuk mempublikasikan
informasi tentang obyek
TUNGGAL
(Misal: AuthorDetail)
content
INDEXUNIT
Untuk mempublikasikan
daftar obyek
(Misal: IndexOfAuthors)
content
13
Komposisi:
Contoh rendering unit Content
DATAUNIT
Author
first name:XXX
last name:YYY
photo:
Author
INDEXUNIT
Index of Authors
•S. Ceri
•P. Fraternali
•O.Versand
Author
14
Model Navigasi: Link
AuthorID
dikirimkan
entity:
author
Book
[ author2book ]
Semantik dari link:
1. Menggerakkan dari satu tempat ke tempat lain
2. Mengangkut informasi dari satu tempat ke tempat
lain (konteks navigasi)
3. Mengaktifkan suatu komputasi (efek samping)
15
Komposisi: Halaman (Pages)
• Halaman adalah suatu container terstruktur dari
unit-unit dan link-link
– Mungkin distrukturkan dalam subhalaman-subhalaman
– Abstraksi dari screen, frame, card, deck...
– Boleh mengclusterkan informasi terkait untuk komunikasi
yang lebih efisien.
• Contoh
index dari authors dan
author terpilih
diperlihatkan
bersama-sama dalam
halaman yang sama
Author
Author
16
Tipe Link
• Contextual links
– Antar unit
– Context dikirimkan
• Non-contextual links
Voyages
Books
– Antar halaman
– Tak ada content dikirim
17
Akses Write: Operasi WebML
• Beberapa operasi predefined disediakan
• Operasi Customized dapat didefinisikan
Create
Op. X
• Contoh: menghapus (delete) Author
Delete
Author
Author
18
Siteviews
• Siteview adalah sehimpunan halaman yang
pengguna dapat pengalaman sebagai suatu
situs web keseluruhan
• site views berbeda dapat didefinisikan untuk
perangkat berbeda dan kelompok pengguna
berbeda
• Access control dan multi-devices delivery
dicapai melalui Siteviews
19
Rangkuman
• WebML adalah Domain Specific Language (DSL)
– Bukan UML atau MDA
– Tetapi…
• WebML adalah mengenai Perancangan dan Pengembangan
Model Driven
– Fokus pada aplikasi web data-intensive
– Pembangkitan kode otomatis dari aplikasi web
• Satu model untuk setiap layer
– Content
– Navigation
– Presentation
• Dukungan Tool!
20
Referensi
• Bacaan utama
– M. Brambilla, S. Comai, P. Fraternali, M. Matera.
"Designing Web Applications with WebML and WebRatio".
In book: G. Rossi, O. Pastor, D. Schwabe, L. Olsina (Eds.).
Web Engineering: Modelling and Implementing Web
Applications. Springer, 2007, ISBN: 978-1846289224
• http://webml.org/webml/upload/ent5/1/Chapter 9 - WebML.pdf
• Mengenai content web
– www.webratio.com
– www.webml.org
21
Pertanyaan?
22