Rekayasa Web #4
Arsitektur Aplikasi Web Oleh:
Nurwahyu Alamsyah @wahyualam | wahyualam.com|
[email protected] Teknik Informatika – Universitas Trunojoyo Madura
Outline • • • • •
Pendahuluan Metode dan Pendekatan Seluk beluk Arsitektur Web Komponen dasar dari Arsitektur MVC, Struts, OOHDM
Pendahuluan Pertimbangkan besarnya dari kebutuhan (requirements) dan batasan (constraints) Meliputi: o Kebutuhan fungsional: pemesanan produk berbasis web o Kebutuhan kualitas: kinerja, ketersediaan o Integrasi dengan sistem yang telah ada
Apa itu Arsitektur? (dari perangkat lunak)
Apa itu Arsitektur? (dari perangkat lunak)
Arsitektur dari sistem perangkat lunak (software) terdiri dari strukturnya, dekomposisinya ke dalam komponenkomponen, dan interface dan hubungannya. ~ Bassetal (1998)
Apa itu Arsitektur? (dari perangkat lunak)
“Arsitektur menjelaskan aspek statis dan dinamis dari sistem software sehingga dapat diperkirakan rancangan bangunan (building design) dan diagram alir (flowchart) bagi suatu produk software”.
Apa itu Arsitektur? (dari perangkat lunak)
Arsitektur membentuk transisi dari analisis ke implementasi: Saat membuat arsitektur, kita mencoba untuk memecah kebutuhan fungsional dan kebutuhan kualitas ke dalam komponenkomponen software dan relationship dan interfacenya dalam pendekatan iteratif Proses ini didukung oleh sejumlah pendekatan, seperti Unified Process (Baca Bab 10)
Pengembangan Arsitektur
Pengembangan Arsitektur Kembangkan dengan cara berulang Buatlah resiko (kemungkinan rugi) sebagai hasil dari kebutuhan tidak aman. Mengapa? Tentukan batasan yang dapat diperhitungkan (calculateable) dan dapat dikendalikan (controlable )
Pola (Patterns) Menjelaskan masalah rancangan berulang. Berupa konteks rancangan spesifik dan menawarkan satu atau lebih solusi. Pattern memungkinkan kita menggunakan ulang pengetahuan rancangan gabungan dan telah terbukti (terjamin)
Framework Framework adalah sistem software yang dapat digunakan ulang (reusable) dengan fungsi umum yang telah diimplementasikan. Harus mempertimbangkan kekurangannya Perlunya training (mungkin mahal dan sulit) Tak ada (atau kurang) standard
Kategori Arsitektur Aspek Layering: Sistem Software distrukturkan dalam beberapa tier (deretan bertingkat) untuk mengimplementasikan prinsip “pemisahan urusan (konsen)” Aspek Data: Data dapat berupa: Structured (Terstruktur) o Relational DB o XML Non-structured (Tak-Terstruktur) o Konten Multimedia o Gambar, audio, video
Komponen Arsitektur Aplikasi Web Dasar
Arsitektur 2-Layer
Arsitektur N-Layer
JSP Model 2 Berbasis Arsitektur MVC (Model View Controller)
Struts Dikembangkan oleh Struts open source dari Apache Software Foundation (http://struts.apache.org) Berguna untuk penanganan error Kontrol dari pemrosesan mengalir dalam pola MVC untuk men-fasilitasi pemrosesan dari request client Content dapat disajikan secara lebih fleksibel
Struts
OOHDM Java 2
Berbasis pada arsitektur MVC (Model View Controller) Komponen navigasi eksplisit User interface diperkaya dengan aspek-aspek navigasi
Arsitektur Integrasi Sistem yang ada dapat diintegrasikan pada 3 level o Presentation o Application logic o Content
Istilah kunci: Enterprise Application Integration Fokus pada integrasi sistem lama (legacy)
Arsitektur Aspek Data o Data terstruktur dan sejenis ditangani dalam database o Dokumen dan sejenis digunakan dalam document management system o Data multimedia dan sejenis ditangani dalam media server
Arsitektur Centric Database o Integrasikan DB ke dalam aplikasi Web o Diakses secara langsung dalam ekstensi Web server atau application server. o JDBC o ODBC
Arsitektur Manajemen Dokumen Web o Arsitektur Manajemen Content o Integrasikan dokumen dari sumber berbeda o Sediakan mekanisme untuk mengintegrasikan content ke dalam Web
Arsitektur Data Multimedia (poin-to-point) Lamban untuk menampilkan data multimedia Streaming Client dapat mulai memutarkan audio beberapa detik setelah ia mulai menerima file dari server Bandwitdh yang sesuai, jitternya rendah, videonya juga
TENTANG ARSITEKTUR APLIKASI WEB 1. Jelaskan perbedaan antara Pattern dan Framework! 2. Jelaskan tentang MVC dan Struts! 3. Jelaskan arsitektur dari CodeIgniter , sertakan gambar! 4. Jelaskan tentang Integrasi Sistem dan SOA, sertakan gambar! TUGAS! : Jelaskan dengan detail! | posting di blog masing-masing |URL kirim ke email | maksimal 18 Oktober Pukul 23.59 WIB #RekWeb2012 - @wahyualam | wahyualam.com |
[email protected]
TUGAS: For Next Week 1. 2. 3. 4. 5. 6.
Baca Bab 5: Desain Teknologi Aplikasi Web Boleh ditambah dari referensi yang berbeda Rangkum dalam bentuk presentasi Sertakan gambar dan video yang menarik Dipresentasikan minggu depan (8/10) 2 presenter dan dipilih secara acak
Keep moving on and be prepared, guys!
#RekWeb2012 - @wahyualam | wahyualam.com |
[email protected]
Thanks