PIBJ (PEMROGRAMAN INTERNET BERBASIS JAVA) PERTEMUAN III
Outline Arsitektur web app Konsep MVC
Container Servlet tidak punya main container Tomcat Web server app Web containerapp servlet
Web server app Web containerapp servlet
Dipanggil hanya sekali, kemungkinan dioverride Container dan servlet Dipanggil hanya sekali, kemungkinan dioverride Request masuk, container membuat thread dan memanggil service Service tidak dioverride, service memanggil doGet atau doPost yang dioverride
Fungsi web container Communication support Lifecycle management (loading, instantiate & initialize, invoke method, garbage collection) Multithreading support Security JSP support
Web application : paket aplikasi yang siap dideploy ke web container. Terdiri dari : Web component (servlet, JSP) File-file lain (gambar, suara dll) Helper class Libraries Deployment descriptor Web application dapat berupa : Hirarki file dan direktori – folder sudah standar *.war file – merepresentasikan hirarki yang sama
MVC (intro) Sebuah pola pengembangan aplikasi yang terbukti lebih efektif Memilah arsitektur aplikasi secara logic menjadi beberapa komponen View Model Controller
Motivasi Aplikasi apapun yang paling sering mengalami perubahan – tampilan (user interface) Penggabungan antara user interface dengan business logic akan mengakibatkan proses refractor aplikasi sangat kompleks Seorang desainer belum tentu seorang programmer dan sebaliknya Solusi MVC Apabila terjadi perubahan, tidak akan terlalu saling mempengaruhi, kecuali memang terjadi perubahan krusial
Browser 1 2 3 4 5 Application server Enterprise server/ Data source (Controller) Servlet Browser 2 3 (Model) Java Bean (View) JSP 4 5 Application server Enterprise server/ Data source
Model Merepresentasikan data yang digunakan oleh aplikasi Model dapat dipergunakan kembali oleh aplikasi lain yang memiliki kegunaan hampir sama (reusable)
View Implementasi dari user interface Menampilkan data pada user Bagian yang berinteraksi dengan user Memungkinkan untuk dibuat multiple interface (swing, web, console dll) tetapi inti dari aplikasi tetap sama
Controller Fungsi : Mengatur alur program (program mana yang akan dijalankan) Mengatur transisi layer view Melakukan update pada komponen model
Next .. Request dan response