Dasar arsitektur merupakan pertimbangan besarnya dari kebutuhan (requirements) dan batasan (constraint). Dasar arsitektur meliputi:
- Kebutuhan fungsional
- Kebutuhan kualitas
- Integrasi dengan sistem yang telah ada
- Aspek layering: Sistem software distrukturkan dalam beberapa tier (deretan bertingkat) untuk mengimplementasikan prinsip "pemisahan urusan (konsen)".
- Aspek data: Dapat berupa structured (terstruktur) dan non-structured (tidak terstruktur).
Komponen Arsitektur Aplikasi Web
- Client: Biasanya browser dan dikendalikan oleh pengguna untuk mengoperasikan aplikasi web.
- Firewall: Bagian dari software yang mengatur komunikasi jaringan antara jaringan tak-aman dan jaringan aman, difilter oleh aturan akses.
- Proxy: Digunakan untuk menyimpan halaman-halaman web dalam suatu cache secara temporer.
- Web server: Bagian dari software yang mendukung berbagai protokol web.
- Database server: Menyediakan data dalam bentuk terstruktur.
- Media server: Digunakan untuk content streaming dari data besar yang tidak terstruktur.
- Content management sever: Menangani content untuk melayani aplikasi.
- Application server: Melayani permintaan akses dari computer client.
3-tier
--> Konsep pemrograman yang biasa disebut dengan konsep client, server dan programming.
Layer pada 3-tier:
- Client layer: komponen yang berjalan pada komputer user dan sebagai interface user.
- Server layer: komponen yang berfungsi sebagai penghubung antara client dengan database.
- RDBMS layer: kumpulam dari database dan data resource manager.
Kelebihan 3-Tier:
- Perubahan cukup dilakukan pada middle tier daripada pada aplikasi keseluruhan.
- Kemampuan untuk bereaksi terhadap perubahan bisnis dengan cepat.
- Biaya jangka panjang yang rendah.
- Lebih susah untuk merancang
- Lebih susah untuk mengatur
- Lebih mahal
--> arsitektur aplikasi yang terdiri dari banyak tier didalamnya.
Komponen yang ada pada n-tier:
- Presentation layer: Layer yang berada pada tingkat paling atas (interface). Berfungsi sebagai penterjemah tugas dan hasil yang telah dikerjakan oleh layer sebelumnya.
- Bisnis logic layer/application layer: koordinat dari aplikasi,memproses perintah, membuat keputusan logic dan evaluasi serta memperhitungkan performa. Fungsinya memindahkan dan memproses data antara 2 layer lainnya.
- Data layer: tempat penyimpanan informasi dan mengolah data.

Keuntungan n-tier:
- Dari segi skalabilitas, dapat dikembangkan tanpa perlu banyak mengubah inti dari program tersebut.
- Dari segi portabilitas, dapat berjalan pada banyak sistem tanpa harus banyak mengubah program tersebut.
- Mahal.
- Memerlukan adaptasi yang semakin luas ruang lingkupnya.
- Memerlukan waktu yang relatif lama.
- Penggunaan memori komputer yang lebih besar.
--> Metode untuk membuat sebuah aplikasi dengan memisahkan data(model) dari tampilan (view) dan cara memprosesnya (controller).
Model
- Berhubungan langsung dengan database untuk memanipulasi data.
- Dapat menangani validasi dari bagian controller, tapi tidak bisa berhubungan langsung dengan view.
- Bagian yang menangani presentation logic.
- Berfungsi untuk menerima dn merepresentasikan data.
- Bagian yang menjembatani model dan view.
- Berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.
- pengolah request user dikembalikan dalam bentuk view kepada user.
- Server side MVC
- Mixed client slide and server slide MVC
- Rich internet application MVC
- Kode lebih maintainable.
- Mempermudah debugging
- Adanya peningkatan kompleksifitas.
Tidak ada komentar:
Posting Komentar