MULTI TIER ARCHITECTURE

15
1 ARTIKEL MULTI-TIER ARCHITECTURE Disusun oleh kelompok 6: ANGGA SETIAWAN (1124011) BUDI GANTHANA (1124027) DIKA HARISWAN (1124019) ERIK ALFREDO GINTING (1124018) JURUSAN TEKNIK INFORMATIKA POLITEKNIK POS INDONESIA 2013/2014

description

Pengertian multitier (definition multitier), Model-model client server, dan SRS pada suatu paerusanaan

Transcript of MULTI TIER ARCHITECTURE

Page 1: MULTI TIER ARCHITECTURE

1

ARTIKEL

MULTI-TIER ARCHITECTURE

Disusun oleh kelompok 6:

ANGGA SETIAWAN (1124011)

BUDI GANTHANA (1124027)

DIKA HARISWAN (1124019)

ERIK ALFREDO GINTING (1124018)

JURUSAN TEKNIK INFORMATIKA

POLITEKNIK POS INDONESIA

2013/2014

Page 2: MULTI TIER ARCHITECTURE

2

DAFTAR ISI

Daftar Isi ............................................................................................................ 2

1. penegertian multi tier ................................................................................. 3

2. model-model client server ........................................................................ 3

2.1 two-tier ..................................................................................................... 3

2.1.1 model two-tier........................................................................................ 4

2.1.2 Kelebihan two-tier................................................................................ 4

2.1.3 kekurangan two tier............................................................................... 5

2.2 Three- tier....................................................................................................5

2.2.1 kelebihan three-tier.................................................................................. 6

2.2.2 kekurangan three-tier............................................................................... 7

2.3 aplikasi n-tier............................................................................................. 7

2.3.1 kelebiahan n-tier...................................................................................... 7

2.3.2 kekuranagn n-tier.................................................................................... 7

3. System Requirement Specification (SRS) pada suatu perusahaan............ 8

4. Teknologi Pendukung............................................................................. ....... 12

Kesimpulan ........................................................................................................... 14

Daftar Pustaka .................................................................................................... 15

Page 3: MULTI TIER ARCHITECTURE

3

1. Pengertian Multi tier

Multi tier application adalah pembagian arsitektur aplikasi ke dalam beberapa bagian

fungsional yang terisolasi. Biasanya, aplikasi multi tier memiliki pembagian yaitu client

tier, middle tier, dan data tier. Arsitektur seperti ini biasanya digunakan dalam

pengembangan aplikasi berskala enterprise. Client tier merupakan bagain dari aplikasi

yang melakukan request ke bagian middle tier. Pada implementasinya, client tier adalah

bagian yang diakses oleh end user. Sementara itu, middle tier adalah tempatnya business

process yang berfungsi menangani request dari client serta memproses data. Sedangkan

data sendiri adalah bagian dari data tier

2. Model-model Client Server

Model-model Client Server Dibawah ini dijelaskan 3 jenis model-model Client server,

diantaranya :

2.1 Two - tier

Two Tier Client Server - Dalam model two-tier, pemrosesan pada sebuah aplikasi

terjadi pada client dan server. Client/server adalah tipikal sebuah aplikasi two-tier

dengan banyak client dan sebuah server yang dihubungkan melalui sebuah jaringan.

Page 4: MULTI TIER ARCHITECTURE

4

Aplikasi ditempatkan pada komputer client dan mesin database dijalankan pada server

jarak-jauh. Aplikasi client mengeluarkan permintaan ke database yang mengirimkan

kembali data ke client-nya.

2.1.1 Model two-tier

Model Two-tier terdiri dari tiga komponen yang disusun menjadi dua lapisan : client

(yang meminta serice) dan server (yang menyediakan service). Tiga komponen tersebut

yaitu :

1. User Interface(Client). Adalah antar muka program aplikasi yang berhadapan dan

digunakan langsung oleh user.

2. Manajemen Proses(Jaringan).

3. Database (Server). Model ini memisahkan peranan user interface dan database

dengan jelas, sehingga terbentuk dua lapisan.

Dalam model client/server, pemrosesan pada sebuah aplikasi terjadi pada client dan

server. Client/server adalah tipikal sebuah aplikasi two-tier dengan banyak client dan

sebuah server yang dihubungkan melalui sebuah jaringan, seperti terlihat dalam gambar

1.2. Aplikasi ditempatkan pada komputer client dan mesin database dijalankan pada

server jarak-jauh. Aplikasi client mengeluarkan permintaan ke database yang

mengirimkan kembali data ke client-nya.

Dalam client/server, client-client yang cerdas bertanggung jawab untuk bagian dari

aplikasi yang berinteraksi dengan user, termasuk logika bisnis dan komunikasi dengan

server database.

2.1.2 Kelebihan dari model Two-tier :

Menangani Database Server secara khusus

Relatif lebih sederhana untuk di develop dan diimplementasikan.

Lebih cocok diterapkan untuk bisnis kecil.

Server database berisi mesin database, termasuk tabel, prosedur tersimpan, dan

trigger (yang juga berisi aturan bisnis). Dalam system client/server, sebagian besar

logika bisnis biasanya diterapkan dalam database.

Server database manangani :

Page 5: MULTI TIER ARCHITECTURE

5

Manajemen data

Keamanan

Query, trigger, prosedur tersimpan

Penangan kesalahan

2.1.3 Kekurangan dari model Two - tier :

Kurangnya skalabilitas

Koneksi database dijaga

Tidak ada keterbaharuan kode

Tidak ada tingkat menengah untuk menangani keamanan dan transaksi skala

kecil.

Susah di amankan.

Lebih mahal.

2.2 Three-Tier

Three Tier Client Server - Model three-tier dikembangkan untuk menjawab

keterbatasan pada arsitektur two-tier . Dalam model ini, pemrosesan disebarkan di

dalam tiga lapisan (atau lebih jika diterapkan arsitektur multitier). Lapisan ketiga

dalam arsitektur ini masing-masing menjumlahkan fungsionalitas khusus. Yaitu :

Layanan presentasi (tingkat client)

Layanan bisnis (tingkat menengah)

Layanan data (tingkat sumber data)

Page 6: MULTI TIER ARCHITECTURE

6

Layanan presentasi atau logika antarmuka pengguna ditempatkan pada mesin client.

Logika bisnis dikeluarkan dari kode client dan ditempatkan dalam tingkat

menengah. Lapisan layanan data berisi server database. Setiap tingkatan dalam

model three-tier berada pada komputer tersendiri.

Konsep model three-tier adalah model yang membagi fungsionalitas ke dalam

lapisan-lapisan, aplikasiaplikasi mendapatkan skalabilitas, keterbaharuan, dan

keamanan.

Arsitektur Three Tier merupakan inovasi dari arsitektur Client Server. Pada

arsitektur Three Tier ini terdapat Application Server yang berdiri di antara Client

dan Database Server. Contoh dari Application server adalah IIS, WebSphere, dan

sebagainya. Application Server umumnya berupa business process layer, dimana

bisa didevelop menggunakan PHP, ASP.Net, maupun Java. Sehingga kita

menempatkan beberapa business logic kita pada tier tersebut. Arsitektur Three Tier

ini banyak sekali diimplementasikan dengan menggunakan Web Application.

Karena dengan menggunakan Web Application, Client Side (Komputer Client)

hanya akan melakukan instalasi Web Browser.

2.2.1 Kelebihan dan keuntungan arsitektur Three Tier :

Segala sesuatu mengenai database terinstalasikan pada sisi server, begitu pula

dengan pengkonfigurasiannya. Hal ini membuat harga yang harus dibayar lebih

kecil.

Apabila terjadi kesalahan pada salah satu lapisan tidak akan menyebabkan lapisan

lain ikut salah.

Perubahan pada salah satu lapisan tidak perlu menginstalasi ulang pada lapisan

yang lainnya dalam hal ini sisi server ataupun sisi client.

Keamanan dibelakang firewall.Transfer informasi antara web server dan server

database optimal.

Komunikasi antara system-sistem tidak harus didasarkan pada standart internet,

tetapi dapat menggunakan protocol komunikasi yang lebvih cepat dan berada

pada tingkat yang lebih rendah.

Penggunaan middleware mendukung efisiensi query database dalam SQL di

pakai untuk menangani pengambilan informasi dari database.

Beberapa Keuntungan Arsitektur Three-Tier :

Page 7: MULTI TIER ARCHITECTURE

7

Keluwesan teknologi.

Mudah untuk mengubah DBMS engine

Kemungkinkan pula middle tier ke platform yang berbeda

Biaya jangka panjang yang rendah.

Perubahan-perubahan cukup dilakukan pada middle tier daripada pada aplikasi

keseluruhan.

Keunggulan kompetitif.

Kemampuan untuk bereaksi terhadap perubahan bisnis dengan cepat, dengan cara

mengubah modul kode daripada mengubah keseluruhan aplikasi

2.2.2 Kekurangan arsitekture Three Tier :

Lebih susah untuk merancang

Lebih susah untuk mengatur

Lebih mahal

2.3 Aplikasi N-tier

Aplikasi N-Tier model n-tier padadsar nya 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 3

atau lebih tingkatan logical, umumnya aplikasi n-tier saat ini menggunakan 3-tier.

2.3.1 Keuntungan n-tier

Diantara keuntungan-keuntungan yang dapat diperoleh dari arsitektur n-tier (atau 3-

tier pada umumnya), yang terutama adalah:

1. Kemudahan perubahan business logic di masa yang akan datang

2. Business logic yang mudah diimplementasi dan dipelihara

3. Aplikasi client dapat mengakses berbagai tipe DBMS yang berbeda-beda secara

transparan.

2.3.2 Kerugian n-tier

sistem n-tier relatif mahal untuk development dan instalasinya. Hal ini dikarenakan

perencanaan software pada 3-tier bisa jadi sangat kompleks. Bahkan pada awal tahap

perencanaan, Anda telah harus mempertimbangkan potensi pengembangan

Page 8: MULTI TIER ARCHITECTURE

8

perusahaan pada masa yang akan datang. Kompleksitas dalam hal ini meliputi seluruh

aspek, baik infrastruktur maupun pembuatan software secara keseluruhan.

Sementara dalam suatu perusahaan, semakin besar perubahan sistem yang dilakukan,

maka akan semakin memerlukan adaptasi yang semakin luas ruang lingkupnya.

Karena itu secara otomatis memerlukan rentang waktu relatif lebih lama.

3. IMPLEMENTASI MULTI TIER PADA UNIVERSITAS

Permasalahan akan timbul dalam konsep ini :

Digunakan pada skala yang besar.

Server akan berada pada kondisi overloaded, jika diakses oleh jumlah

client (penggunaa) dalam keadaan skala besar. Hal ini dapat terajdi karena

permintaan akan proses yang dibutuhkan oleh client menjadi bertumpuk di sisi

server.

Jika terjadi perubahan proses yang dilakukan di server, maka akan

mengakibatkan tenaga yang dikeluarkan untuk menggadakan perubahan

proses tersebut ke setiap client yang ada. Hal ini dapat dilakukan jika

pengguna berada dalam jumlah yang sedikit, namun jika pengguna

berjumlah besar, tentunya hal ini menjadi masalah yang harus dihadapi.

Keamanan data

Dengan menggunakan konsep two-tier ini, client langsung mengakses

database. Hal ini dapat mengakibatkan data menjadi berkurang, karena

pengguna dapat langsung mengakses database server.

Pada suatu universitas dalam setiap semesternya melakukan proses registrasi.

Dalam proses registrasi tersebut, terdapat beberapa tahap proses yang perlu

dilakukan. Antara lain persiapan cara mahasiswa untuk melakukan registrasi.

Misalnya universitas tersebut menyediakan 2 cara online yang dapat dilakukan

oleh mahasiswa, melalui Telepon yang dikenal dengan Phone Service (PS) dan

melalui Internet (web) yang dikenal dengan KRS Online.Dalam proses registrasi ini

mahasiswa dapat menyusun jadwal kuliahnya sendiri beserta hari, jam dan mata kuliah

yang ingin diikuti. Setiap kelas mempunyai keterbatasan kapasitas yang dapat

ditampung.

Page 9: MULTI TIER ARCHITECTURE

9

Dalam suatu mata kuliah juga mempunyai prasyarat yang harus dipenuhi terlebih

dahulu sebelum mata kuliah tersebut dapat diambil. Setiap mahasiswa dibatasi jumlah

maksimal mata kuliah yang dapat diambil berdasarkan jumlah SKS.

Pengisian dapat dilakukan baik melalui PS atau Web, namun tidak boleh dilakukan

melalui kedua cara tersebut pada waktu bersamaan, dan kedua cara tersebut harus

dapat saling berkomunikasi melalui

database. Konsep yang digunakan menggunakan two-Tier.

Berikut ini arsitektur dari masing-masing media yang ada :

Arsitektur phone servis

Mahasiswa dapat menelpon nomor telephone yang telah ditentukan sebelumnya oleh

universitas, maka mahasiswa tersebut akan disambungkan ke telephone server yang

telah mempunyai aplikasi telephony.Input yang dilakukan oleh mahasiswa akan

diterima oleh telephony server dan akan diproses oleh telephony server. Jika

Telephony server membutuhkan data, maka akan dilakukan koneksi ke database server

dan data akan diambil dan diproses lebih lanjut di telephony server. Hal ini akan cukup

membebani Telephony server, karena hampir semua proses dilakukan di server

tersebut, dari proses input sampai dengan business rules yang ada. Validasi juga

mencakup kapasitas kelas, jika kapasitas sudah habis maka langsung akan ada pesan

penolakan terhadap kelas tersebut. Semua ini dilakukan secara online.

Page 10: MULTI TIER ARCHITECTURE

10

Untuk mengurangi beban tersebut, sebagian validasi database dilakukan pada

database server, namun validasi tersebut hanya sebagian kecil dari proses registrasi.

Arsitektur KRS Online

Mahasiswa dapat melakukan proses registrasi dengan cara masuk ke web site

universitas dan mengisi mata kuliah yang ingin diambil. Jika ada penolakkan mata

kuliah, maka akan ada pesan kesalahan kemudian mahasiswa dapat memperbaiki dan

mengirimkannya kembali ke server. Setelah server menerima paket data yang

dikirimkan oleh mahasiswa melalui aplikasi web, maka paket data

tersebut akan diproses pada aplication server. Jika proses tersebut berhasil, maka

akan dilakukan penyimpanan data ke database, jika ternyata ada penolakan, maka

akan ada pesan kesalahan kepada user melalui internet dan server akan kembali

menerima paket data dan memprosesnya kembali.

Jika mempunyai 2 cara untuk melakukan proses registrasi dan masing-masing dari

kedua cara tersebut melakukan proses validasinya sendiri-sendiri, ada kemungkinan

dimana melalui PS diterima tetapi melalui web bisa ditolak, atau juga kondisi

sebaliknya. Hal ini dikarenakan pada PS proses validasi dilakukan pada Telephony

Server tetapi pada Web validasi dilakukan di Application server. Hal seperti ini

Page 11: MULTI TIER ARCHITECTURE

11

mempersulit pengupdatean validasi. Jika ada perubahan, maka harus dilakukan

pada dua tempat yang berbeda.

Setelah melakukan analisa terhadap permasalahan yang ada, maka diperlukan adanya

perubahan arsitektur pada PS dan KRS Online untuk mendukung proses registrasi

menjadi lebih efisien. Setelah dilakukan tahapan disain, maka berikut ini adalah

arsitektur PS dan KRS Online yang baru dengan menggunakan konsep three-tier :

Dengan arsitektur yang baru ini, semua validasi baik itu untuk PS maupun untuk

KRS Online dilakukan pada server yang sama, yaitu pada application server

(middle-tier). Telephony server dan IIS sebagai client bagi Application Server yang

nantinya akan melakukan koneksi ke database server. Pada saat mahasiswa

melakukan proses registrasi melalui PS, maka Telephony Server akan menerima

semua input dan melakukan proses validasi. Proses ini dilakukan pada Application

Server (yang berfungsi sebagai middle-tier), setelah diproses maka akan ada hasil

dari proses tersebut. Hasil ini akan dikirimkan kembali ke Telephony Server dan hasil

ini yang akan diberikan kepada mahasiswa. Pada saat mahasiswa melakukan input

berupa mata kuliah yang ingin diambil, maka telephony server akan memanggil

validasi yang ada pada application server beserta nim dan mata kuliah yang

diambil. Selanjutnya Application Server akan melakukan pengecekan terhadap mata

kuliah tersebut. Pengecekan ini meliput banyak hal, antara lain hak sks yang masih

diperbolehkan untuk diambil, kapasitas kelas, jadwal kuliah dan lain sebagainya. Jika

terdapat kesalahan dalam penginputan tersebut, maka application server akan

Page 12: MULTI TIER ARCHITECTURE

12

memberikan kode error yang akan dibaca oleh telephony server dan akhirnya akan

diberikan kepada mahasiswa.

Proses yang hampir sama kan dialami oleh mahasiswa yang melakukan prose

registrasi melalui internet (KRS Online). Paket data yang dikirimkan tersebut akan

diproses melalui application server dan melakukan validasi yang sama dengan PS dan

jika ada kesalahan maka akan dikeluarkan kode error yang akan diproses oleh browser

pada client (mahasiswa), mahasiswa dapat kembali memperbaiki kesalahan tersebut

dan mengirimkannya kembali dan diproses ulang seperti sebelumnya. Jika pada proses

selanjutnya ada perubahan validasi untuk proses registrasi, maka cukup hanya

merubah validasi yang ada di application server, dengan demikian pada PS dan

KRS Online akan mengikuti rules yang telah direvisi tersebut.

4. Teknologi pendukung

Beberapa contoh teknologi yang umum dipergunakan untuk mendukung multi-tier:

Component Object

Umumnya merupakan model object oriented dimana dapat dipergunakan oleh aplikasi

yang berbeda dan penggunaan ulang komponen. Contohnya adalah COM/DCOM.

Aplikasi yang ditulis dengan bahasa pemrograman yang berbeda dapat saling

berkomunikasi dengan menggunakan Component Object. Component Object itu

sendiri dapat ditulis dengan bahasa pemrograman yang berbeda-beda. Pada prinsipnya

komponen tersebut terdiri dari class yang memiliki sekumpulan method.

Microsoft Transaction Server

MTS atau Microsoft Transaction Server merupakan software yang dikembangkan

oleh Microsoft untuk keperluan monitoring transaksi pada aplikasi terdistribusi. MTS

beroperasi pada middle-tier dan menyediakan control transaksi. Sebagai contoh, jika

Anda mengembangkan sistem 3-tier yang mana menempatkan business object pada

middle-tier, maka Anda dapat membuat ActiveX DLL sebagai business objectnya,

dan melakukan instalasi didalam lingkungan MTS pada middle-tier. MTS akan

bertanggung-jawab dalam menangani akses multi-client pada busines object tersebut.

MTS menyediakan fasilitas seperti transaksi rollback, commit dan deadlock pada

middle-tier.

HTTP/Web Server.

Page 13: MULTI TIER ARCHITECTURE

13

Untuk aplikasi multi-tier pada aplikasi Internet/Intranet, Anda mutlak memerlukan

Web Server. Terdapat cukup banyak web server yang umum digunakan seperti

Apache Web Server atau Internet Information Server (IIS). Anda dapat menggunakan

web server sebagai middle-tier untuk menangani permintaan dari browser komputer

client.

Microsoft Message Queue Server.

MMQS atau Microsoft Message Queue Server merupakan teknologi yang

dikembangkan oleh Microsoft yang berjalan pada middle-tier dan berfungsi untuk

mengelola antrian permintaan.

Hal ini dilatarbelakangi karena didalam jaringan yang besar, tidak semua komputer

yang terkoneksi berfungsi pada saat yang diperlukan, sehingga diperlukan sebuah

aplikasi yang dapat mengelola antrian request dari client dan response dari server

yang akan dikirimkan lagi ketika komputer tujuan telah berfungsi. Satu

keuntungannya lagi, jika client-client meminta request yang melebihi kapasitas

sebuah server, maka MMQS dapat menyimpannya untuk kemudian

mendelegasikannya pada server yang tidak sibuk. Untuk kebutuhan ini diperlukan

aplikasi pada server yang berfungsi sebagai listener atau referral.

Database Management System.

Database Management System atau dikenal dengan singkatan DBMS merupakan

sumber penyimpanan data dan tentu saja memegang peranan vital dalam keseluruhan

sistem. Untuk arsitektur 2-tier dan n-tier, diperlukan aplikasi DBMS yang mampu

bekerja pada lingkungan tersebut, beberapa contohnya adalah MySQL, Microsoft

SQL Server dan Oracle. Jika pada DBMS yang dipergunakan terdapat fasilitas stored

procedure, maka dimungkinkan untuk menyimpan business logic didalam stored

procedure yang akan diakses oleh client.

Page 14: MULTI TIER ARCHITECTURE

14

5. Kesimpulan

Simpulan dari implementasi multi tier ini adalah sebagai berikut :

Penerapan konsep three-tier sangat membantu untuk aplikai yang banyak

menggunakan transaksi serta dalam jumlah user yang banyak pada saat

bersamaan.

Penggunaan konsep three-tier ini tidak dapat langsung diterapkan pada sistem

sistem aplikasi yang ada, tetapi melihat kebutuhan akan sistem itu sendiri.

Peningkatan performance, security serta kemudahan dalam maintenance

menjadi hal pokok dalam konsep three-tier.

Investasi yang diperlukan untuk konsep three-tier menjadi lebih besar jika

dibandingkan dengan two-tier, tetapi manfaat yang diperoleh lebih besar jika

dibandingkan dengan biaya yang harus dikeluarkan.

Page 15: MULTI TIER ARCHITECTURE

15

DAFTAR PUSTAKA

http://en.wikipedia.org/wiki/Multitier_architecture

http://www.slideshare.net/juniardoanwihardono/paper-ntier-architecture

http://imachubby.blogspot.com/2010/05/client-server.html

http://www.fararainside.net/2012/03/arsitektur-aplikasi-multi-tier.html