Minggu, 10 Mei 2015

Web Arsitektur (3-tier, n-tier, MVC)

Dasar arsitektur merupakan pertimbangan besarnya dari kebutuhan (requirements) dan batasan (constraint). Dasar arsitektur meliputi:
  • Kebutuhan fungsional
  • Kebutuhan kualitas
  • Integrasi dengan sistem yang telah ada
Ada 3 kategori arsitektur web, yaitu:
  • 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).
Aspek data terstruktur (structured) berupa relational DB dan XML. Sedangkan non-structured berupa konten multimedia seperti gambar,video dan audio.

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.
Framework & Pattern
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.
Kekurangan 3-tier:
  • Lebih susah untuk merancang
  • Lebih susah untuk mengatur
  • Lebih mahal
N-Tier
--> 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.
Kerugian n-tier:
  • Mahal.
  • Memerlukan adaptasi yang semakin luas ruang lingkupnya.
  • Memerlukan waktu yang relatif lama.
  • Penggunaan memori komputer yang lebih besar.
MVC
--> 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.
View
  • Bagian yang menangani presentation logic.
  • Berfungsi untuk menerima dn merepresentasikan data.
Controller
  • 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.
Jenis MVC pada website
  1. Server side MVC
  2. Mixed client slide and server slide MVC
  3. Rich internet application MVC
Keuntungan MVC
  • Kode lebih maintainable.
  • Mempermudah debugging
Kekurangan MVC
  • Adanya peningkatan kompleksifitas.

Tidak ada komentar:

Posting Komentar