Monday 4 May 2015

Web Arsitektur ( TIER vs MVC )

Assalamu'alaikum sahabat yang budiman,,
Jumpa lagi di catatan Mata Kuliah Pemrograman Web 1 saya. Kali ini saya menjelaskan mengenai Web Arsitektur (Tier dan MVC) yang saya padukan dari berbagai sumber. 
Silakan dibaca..

Arsitektur Website adalah suatu pendekatan terhadap desain dan perencanaan situs yang, seperti arsitektur itu sendiri, melibatkan teknis, kriteria estetis dan fungsional. Seperti dalam arsitektur tradisional, fokusnya adalah benar pada pengguna dan kebutuhan pengguna. Hal ini memerlukan perhatian khusus pada konten web, rencana bisnis, kegunaan, desain interaksi, informasi dan desain arsitektur web. Untuk optimasi mesin pencari yang efektif perlu memiliki apresiasi tentang bagaimana sebuah situs Web terkait dengan World Wide Web.

A. TIER

1. 1-Tier


Semua 3 lapisan berada pada mesin yang sama dimana semua kode dan pengolahan disimpan pada mesin tunggal.
Presentasi, Logika, lapisan data tersebut terhubung dengan erat
  • Skalabilitas: prosesor tunggal sulit untuk meningkatkan volume pengolahan
  • Portabilitas: Pindah ke mesin baru bisa berarti menulis ulang semuanya
  • Pemeliharaan: Mengubah satu lapisan membutuhkan perubahan lapisan lainnya

 2. 2-Tier

 

Database berjalan pada Server yang terpisah dari klien dan sudah akan beralih ke database yang berbeda
Presentasi dan logika lapisan masih terhubung erat,
  • Terjadinya beban berat pada server
  • Potensi kemacetan pada jaringan
  • Presentasi masih terikat logika bisnis

3. 3-Tier


Setiap lapisan berpotensi dapat berjalan pada mesin yang berbeda.
Prinsip arsitektur  3-tier
  • arsitektur Client-Server
  • Setiap lapis (Presentasi,Logika, data) harus independen dan tidak boleh mengekspos dependensi terkait dengan implementasi
  • Tier yang tidak terhubung tidak bisa berkomunikasi
  • Perubahan platform hanya mempengaruhi lapisan yang berjalan pada platform tertentu

4. N-Tier
Model n-tier pada dasarnya memiliki penegertian yaitu Huruf “n”.
Pada n-tier menunjukkan variabel numerik yang dapat berisi angka sebanyak apapun,misalnya 3-tier, 4-tier dan seterusnya. Karena itu sebuah aplikasi n-tier memiliki 3atau lebih tingkatan logical, umumnya aplikasi n-tier saat ini menggunakan 3-tier.


B. MVC (Model View Controller)

Model-View-Controller atau MVC adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller). Dalam implementasinya kebanyakan framework dalam aplikasiwebsite adalah berbasis arsitektur MVC. MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi web.


Bagian dari MVC :
  1. Model, Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu seseorang dalam pengelolaanbasis data seperti memasukkan data ke basis data, pembaruan data dan lain-lain.
  2. View, View adalah bagian yang mengatur tampilan ke pengguna. Bisa di katakan berupa halaman web.
  3. Controller, Controller merupakan bagian yang menjembatani model dan view. Controller berisi perintah-perintah yang berfungsi untuk memproses suatu data dan mengirimkannya ke halaman web.

Dengan menggunakan metode MVC maka aplikasi akan lebih mudah untuk dirawat dan dikembangkan. Untuk memahami metode pengembangan aplikasi menggunakan MVC diperlukan pengetahuan tentang pemrograman berorientasi objek (Object Oriented Programming).

Jenis MVC pada website 
  • Server Side MVC, Server Side MVC biasa terjadi pada aplikasi web tradisional, yang tidak melibatkan client side sepertiJavascript, Java applet, Flash, dan lain-lain. Server Side MVC menyerahkan keseluruhan proses bisnis pada server, aplikasi pada sisi pengguna hanya dapat menerima. MVC jenis ini kadang-kadang disebut juga dengan nama Thin Client.
  • Mixed Client Side and Server Side MVC, Pada Mixed Client Side and Server Side MVC 1 client tidak menggunakan model sebagai jembatan untuk melakukan komunikasi pada server, dibandingkan dengan Server Side MVC, arsitektur ini memiliki tingkat kompleksitas yang lebih tinggi karena lebih banyak komponen yang terlibat. Untuk selanjutnya arsitektur ini disebut, dengan Mixed MVC 1. Pada Mixed Client Side and Server Side MVC 2, client menggunakan model sebagai jembatan untuk melakukan komunikasi pada server, dibandingkan dengan arsitektur MVC yang lain, arsitektur ini memiliki tingkat kompleksitas yang paling tinggi karena lebih banyak komponen yang terlibat, sehingga membutuhkan sumber daya yang lebih besar pula. Untuk selanjutnya arsitektur ini disebut dengan Mixed MVC 2.
  • Rich Internet Application MVC, Application MVC Rich Internet Application (RIA) disebut juga dengan nama Fat Client, merupakan aplikasi web yang memiliki kemampuan dan fungsi hampir seperti aplikasi desktop. RIA pada sisi client, memilikimesin untuk mengambil data yang berada pada server, sehingga pada client terdapat bagian MVC sendiri dan hanya membutuhkan bagian model pada sisi server.

3-tier Arsitektur vs MVC Arsitektur
  • Komunikasi
    -> 3-tier : Lapisan presentasi tidak pernah berkomunikasi langsung dengan lapisan data, hanya melalui lapisan logika (lineartopologi)
    -> MVC : Semua lapisan berkomunikasi langsung (topologi segitiga)
  • Penggunaan
    -> 3-tier : Terutama digunakan dalam aplikasi web, dimana klien, middleware dan data tingkatan berlari pada fisik platform terpisah
    -> MVC : Secara historis digunakan pada aplikasi yang berjalan pada satu workstation grafis (diterapkan untuk platform terpisahModel 2)
  • Biaya
    -> 3-tier : membutuhkan biaya yang mahal untuk tiap tier karena masing-komponennya terpisah.
    -> MVC : tidak membutuhkan biaya yang terlalu mahal karena semua komponen bedara pada satu platform.

Demikianlah catatan saya kali ini, semoga bermanfaat..
Wassalamu'alaikum ;)


referensi :
http://www.scribd.com/doc/185420373/MULTI-TIER-ARCHITECTURE#scribd

No comments:

Post a Comment