BAGAIMANA MEMILIHMERANCANG ARSITEKTUR SUATU APLIKASI MOBILE Model Layout
BAGAIMANA MEMILIH/MERANCANG ARSITEKTUR SUATU APLIKASI MOBILE ? Model Layout - Software - Hardware
ARSITEKTUR • Ada dua arsitektur aplikasi yang paling umum digunakan dalam aplikasi mobile yaitu client-server dan peer-to-peer. • Terdapat 1/lebih piranti mobile yang meminta layanan ke 1/lebih server CLIENT (C) Request Response SERVER (S)
• Ada berbagai macam model arsitektur Client-Server Dinyatakan dalam istilah - LAYER, - TIER, - Komunikasi antara LAYER dan TIER
LAYER • ”Layering” : Pemecahan program aplikasi ke dalam kelompok-kelompok kode program berdasarkan fungsinya sehingga memudahkan kode-kode program digunakan lagi untuk aplikasi lain • Dalam 1 program aplikasi terdapat modul-modul program yang secara khusus difungsikan untuk - user-system interface (View) - logika aturan bisnis aplikasi (Control) - interaksi dengan Database (Model) • Secara fisik, ”Layer” : modul-modul kode program yang disimpan dalam folder yang berbeda pada Client/Server.
Macam-macam LAYER • Layer 0 : tidak memiliki kode aplikasi sama sekali • Layer 1 : kode aplikasi untuk user-system interface disebut ”PRESENTATION” layer • Layer 2 : kode aplikasi untuk mengelola logika aturan bisnis disebut ”BUSINESS” layer • Layer 3 : kode aplikasi untuk interaksi aplikasi dengan database disebut ”DATA ACCESS” layer CLIENT: Dimungkinkan memiliki Layer 0 – 3 Client yang hanya memiliki Layer 0 : tidak terdapat sama sekali kode aplikasi yg diinstall di Client (semua kode aplikasi ditangani dan disimpan di Server) disebut ”THIN CLIENT” Client yang memiliki Layer 1 – 3 ”FAT CLIENT” SERVER: Tidak mungkin Layer 0 Layer 1 – 3
TIER • Pengelompokkan kode-kode program aplikasi berdasarkan fungsinya dengan menempatkannya pada 1/lebih mesin yang berbeda • ”Tiering” : menempatkan modul-modul program ke dalam mesin yang berbeda sesuai fungsinya sehingga program aplikasi yang telah dibangun berdasarkan Layer akan lebih mudah untuk di Tiering
Macam-macam TIER 1. PRESENTATION Tier (first tier): aplikasi user-system interface 2. APPLICATION Tier (second tier): aplikasi pemrosesan Logika Bisnis & Logika Akses Database 3. DATABASE Tier (third tier): DBMS & Datasource lainnya
Merancang Arsitektur Aplikasi Mobile Menentukan : 1. Arsitektur piranti di CLIENT ? 2. Arsitektur di SERVER ? 3. Jenis KONEKTIVITAS-nya ?
A. CLIENT Smart. Phone, PDA, Tablet PC, Palmtop, dll Macam-macam (Pilihan) Arsitektur Client dibedakan berdasarkan LAYERING-nya 1. THIN Clients 2. FAT Clients 3. WEB PAGE HOSTING
A. 1. THIN Client tidak diinstal aplikasi yang dibangun, Client sepenuhnya tergantung dari koneksi Server Client diinstal - Web Browser (Microsoft Pocket Internet Explorer, Microsoft Internet Explorer, Netscape Navigator) - WAP Browser Kelebihan Thin Client : Lebih mudah dan murah dalam perawatan software client (tidak perlu ada updating & distribusi aplikasi client) Kelemahan Thin Client: Fungsi client sangat tergantung dari kualitas koneksi client-server
A. 2. FAT Client Hanya ada 1 Aplikasi yang mencakup kode-kode fungsi : -PRESENTATION (Form) - BUSINESS - DATA ACCESS DB FAT Client – One Layer PRESENTATION (Form) BUSINESS DATA ACCESS DB FAT Client – Two Layer DATA ACCESS DB FAT Client – Three Layer
Lanjutan FAT Client • Client dapat memiliki 1 hingga 3 layer aplikasi • Tiap layer aplikasi dapat bekerja secara independen terhadap Server • Jenis FAT Client cocok untuk : Situasi dimana koneksi Client – Server tidak dapat dijamin kualitasnya, padahal frekuensi kebutuhan update data cukup tinggi • FAT Client dapat menyimpan hasil update data ”sementara” di Database Lokal piranti Mobile namun saat koneksi ke Server tercapai data dapat di upload Kelemahan FAT Client: -Bergantung pada spesifikasi piranti dan Sistem Operasi tertentu -Lebih sulit dan mahal dalam perawatan aplikasi client (perlu ada pembuatan/update & distribusi aplikasi client, aplikasi harus support banyak ragam piranti)
A. 3. WEB PAGE HOSTING Menampilkan & memproses web page secara mandiri dalam Mobile Device Menginstal ”mini” web server dalam mobile device (Ms. HTTP Server) 1 Aplikasi Mencakup kode-kode Fungsi: -PRESENTATION (web) - BUSINESS - DATA ACCESS DB PRESENTATION (web) BUSINESS DATA ACCESS DB Web Page Hosting – Three Layer Web Page Hosting – One Layer Web Page Hosting – Two Layer
B. SERVER Macam-macam (Pilihan) Arsitektur Server dibedakan berdasarkan TIERING-nya 1. Arsitektur One-Tier 2. Arsitektur Two-Tier 3. Arsitektur Three-Tier
B. 1. Arsitektur One-Tier Request Response +: 1. PRESENTATION server 2. APPLICATION server (Business & Data Access) 3. DB Server (DBMS) Mudah dan cepat dalam pengembangan kode aplikasi dalam 1 Server -: Sulit mengukur seberapa besar aplikasi (campur jd 1) sehinga keamanan data kurang terjamin.
B. 2. Arsitektur Two-Tier 3. DB Server (DBMS) +: Request Response 1. PRESENTATION server 2. APPLICATION server (Business & Data Access) Mudah dan cepat dalam pengembangan kode aplikasi dalam dua server Memiliki DBMS server khusus sehingga beban server lebih ringan -: Sulit mengukur seberapa besar aplikasi (campur jadi satu). Keamanan data kurang terjamin karena (Aplikasi masih menyatu dengan Presentation). Lebih Mahal.
B. 3. Arsitektur Three-Tier 3. DB Server (DBMS) Request Response +: -: 2. APPLICATION server (Business & Data Access) 1. PRESENTATION server mudah diukur (scalable) Aman (Aplikasi dan DBMS [Intranet zone] terpisah dari Presentation [Demilitarized Zone]) DBMS server khusus (beban server lebih ringan, cepat) Terlalu banyak alat (mahal), pengelolaan dan pengembangan sulit dilakukan
JENIS KONEKSI 1. Selalu Terkoneksi 2. Terkoneksi secara Periodik (Parsial) 3. Tidak Pernah Terkoneksi (misal: game, jam) CLIENT (C) Request Response SERVER (S)
SINKRONISASI = proses updating data dilakukan pada piranti mobile di Sistem Back-End 1. Komunikasi terus-menerus (continuous) - Synchronous - Asynchronous 2. Store-and-forward
SINKRONISASI = proses updating data di piranti mobile dengan di Sistem Back-End 1. a. Komunikasi Synchronous SIMPAN ya ! CLIENT SERVER Server MENYIMPAN data Data TELAH DISIMPAN lho & User-Interface dpt digunakan lagi 1. b. Komunikasi Asynchronous CLIENT SIMPAN ya ! Data SEDANG DISIMPAN Ttp User-Interface sdh dpt Digunakan lagi Data SELESAI DISIMPAN KONEKSI Server MENYIMPAN data
2. Komunikasi STORE-and-FORWARD CLIENT SERVER SIMPAN Data KONEKSI SERVER
JADI ADA BERAPA KEMUNGKINAN ARSITEKTUR APLIKASI MOBILE CLIENT-SERVER? • Terdapat 36 Kemungkinan Kombinasi dari pilihan: Client : Layer 0/1/2/3) Server : Tier 1/2/3) Konektivitas : Terus. Menerus/Parsial/Never (Table 3 -1)
Mana Arsitektur yang relatif SEDERHANA tetapi HANDAL? • Layer 0, Tier-3, Terkoneksi terus-menerus PRESENTATION server hanya BROWSER Ter. KONEKSI Terus DB Server (DBMS) APPLICATION server (Business & Data Access)
Mana Arsitektur yang IDEAL tetapi KOMPLEKS? • Layer 3, Tier-3, Terkoneksi Parsial PRESENTATION server Ter. KONEKSI Parsial DB Server (DBMS) Diinstal APlikasi 1. Presentation (View/Form Interface) 2. Business (Perhitungan/Analisis) 3. Data Access (Model DBMS) APPLICATION server (Business & Data Access)
Bagaimana Kriteria Disain Arsitektur yang ideal ? 1. Memenuhi Kebutuhan User 2. Compatible/Independent secara teknologi 3. Dapat digunakan kapan saja secara mudah dan handal 4. Mudah dikembangkan (hardware/software) 5. Dapat diakses sebanyak mungkin user
- Slides: 25