Thursday, 9 October 2014
A. Pendahuluan
Istilah arsitektur dapat diartikan sebagai struktur
desain komputer dan semua rinciannya, seperti sistem sirkuit, chip, bus untuk
ekspansi slot, BIOS dan sebagainya. Tiga elemen utama sebuah arsitektur,
masing-masing sering dianggap sebagai arsitektur, adalah:
- Arsitektur sistem pemrosesan, menentukan standar teknis untuk hardware, lingkungan sistem operasi, dan software aplikasi, yang diperlukan untuk menangani persyaratan pemrosesan informasi perusahaan dalam spektrum yang lengkap. Standar merupakan format, prosedur, dan antar muka, yang menjamin bahwa perlengkapan dan software dari sekumpulan penyalur akan bekerja sama.
- Arsitektur telekomunikasi dan jaringan, menentukan kaitan di antara fasilitas komunikasi perusahaan, yang melaluinya informasi bergerak dalam organisasi dan ke peserta dari organisasi lain, dan hal ini juga tergantung dari standar yang berlaku.
- Arsitektur data, sejauh ini merupakan yang paling rumit diantara ketiga arsitektur di atas, dan termasuk yang relatif sulit dalam implementasinya, menentukan organisasi data untuk tujuan referensi silang dan penyesuaian ulang, serta untuk penciptaan sumber informasi yang dapat diakses oleh aplikasi bisnis dalam lingkup luas.
Dengan kemajuan teknologi telekomunikasi dan
teknologi informasi atau lebih dikenal dikenal dengan istilah Telematika atau
dalam istilah asingnya ICT (Information and Communication Technology)
menawarkan sesuatu yang pada awal perkembangan komputer sangatlah mahal yaitu
mini komputer, workstation dan personal komputer yang memiliki kemampuan setara
mainframe dengan harga yang jauh lebih murah. Hal itu mendorong munculnya
paradigma baru dalam pemrosesan data yaitu apa yang disebut Distributed
Processing dimana sejumlah komputer mini komputer, workstation atau personal
komputer menangani semua proses yang didistribusikan secara phisik melalui
jalur jaringan komunikasi.
Salah satu bentuk dari distributed processing adalah
arsitektur client-server. Menurut Wikipedia, klien-server atau client-server
merupakan sebuah paradigma dalam teknologi informasi yang merujuk kepada cara
untuk mendistribusikan aplikasi ke dalam dua pihak: pihak klien dan pihak
server. Dalam model klien/server, sebuah aplikasi dibagi menjadi dua bagian
yang terpisah, tapi masih merupakan sebuah kesatuan yakni komponen klien dan
komponen server. Komponen client juga sering disebut sebagai front-end,
sementara komponen server disebut sebagai back-end. Komponen client dari
aplikasi tersebut dijalankan dalam sebuah workstation dan menerima masukan data
dari pengguna. Komponen client tersebut akan menyiapkan data yang dimasukkan
oleh pengguna dengan menggunakan teknologi pemrosesan tertentu dan
mengirimkannya kepada komponen server yang dijalankan di atas mesin server,
umumnya dalam bentuk request terhadap beberapa layanan yang dimiliki oleh
server. Komponen server akan menerima request dari clinet, dan langsung
memprosesnya dan mengembalikan hasil pemrosesan tersebut kepada client. Client
pun menerima informasi hasil pemrosesan data yang dilakukan server dan menampilkannya
kepada pengguna, dengan menggunakan aplikasi yang berinteraksi dengan pengguna.
B. Beberapa Model Arsitektur Client-Server:
1. Arsitektur Mainframe
Pada arsitektur ini, terdapat sebuah komputer pusat
(host) yang memiliki sumber daya yang sangat besar, baik memori, processor
maupun media penyimpanan. Mainframe menyediakan sedikit waktu dan sebagian
memorinya untuk setiap pemakai (user), kemudian berpindah lagi kepada pemakain
lain, lalu kembali kepemakai yang pertama. Perpindahan ini tidak dirasakan oleh
pemakai, seolah-olah tidak ada apa-apa. Jenis komputer ini memiliki suatu
Central Processing Unit, Storage Device yang agak besar (kira-kira sebesar 2
lemari pakaian) dan ditempatkan pada tempat tersendiri. Peralatan CPU dan
Storage tersebut dihubungkan dengan banyak terminal yang terdiri dari keyboard
dan monitor saja. Melalui komputer terminal, pengguna mengakses sumber daya
tersebut. Komputer terminal hanya memiliki monitor/keyboard dan tidak memiliki
CPU. Semua sumber daya yang diperlukan terminal dilayani oleh komputer host.
Model ini berkembang pada akhir tahun 1980-an.
2. Arsitektur File Sharing
Pada arsitektur ini komputer server menyediakan
file-file yang tersimpan di media penyimpanan server yang dapat diakses oleh
pengguna. Arsitektur file sharing memiliki keterbatasan, terutama jika jumlah
pengakses semakin banyak serta ukuran file yang di shaing sangat besar. Hal ini
dapat mengakibatkan transfer data menjadi lambat. Model ini populer pada tahun
1990-an.
3. Arsitektur Client/Server
Karena keterbatasan sistem file sharing,
dikembangkanlah arsitektur client/server. Dengan arsitektur ini, query data ke
server dapat terlayani dengan lebih cepat karena yang ditransfer bukanlah file,
tetapi hanyalah hasil dari query tersebut. RPC (Remote Procedure Calls) memegang
peranan penting pada arsitektur client/server. Arsitektur Client-Server
Telematika terdiri dari 2 buah arsitektur yakni, arsitektur sisi client dan
sisi server-nya.
Arsitektur Sisi Client
Istilah ini merujuk pada pelaksanaan atau penyimpanan
data pada browser (koneksi HTPP atau client) sisi koneksi HTTP. JavaScript
adalah sebuah contoh dari sisi eksekusi client dan Cookie adalah contoh dari
sisi penyimpanan pada Client. Lihat Cookie, Server Side.
Karakteristik Client
- Selalu memulai permintaan ke server.
- Menunggu balasan.
- Menerima balasan.
- Biasanya terhubung ke sejumlah kecil dari server pada satu waktu.
- Biasanya berinteraksi langsung dengan pengguna akhir dengan menggunakan antarmuka pengguna seperti antarmuka pengguna grafis.
- Khusus jenis klien mencakup: web browser, e-mail klien, dan online chat klien
Arsitektur Sisi Server
Sebuah eksekusi sisi server adalah server Web khusus
eksekusi yang melampaui standar metode HTTP itu harus mendukung. Sebagai
contoh, penggunaan CGI script sisi server khusus tag tertanam di halaman HTML;
tag ini memicu tindakan terjadi atau program untuk mengeksekusi.
Karakteristik Server
- Selalu menunggu permintaan dari salah satu klien.
- Melayani klien permintaan kemudian menjawab dengan data yang diminta ke klien.
- Sebuah server dapat berkomunikasi dengan server lain untuk melayani permintaan klien.
- Jenis server khusus mencakup: web server, FTP server, database server, E-mail server, file server, print server. Kebanyakan web layanan ini juga jenis server.
Jadi, secara umum Arsitektur Client-Server atau
jaringan komputer adalah sebuah aplikasi terdistribusi arsitektur yang partisi
tugas atau beban kerja antara penyedia layanan (server) dan pelayanan pemohon,
disebut klien. Sering kali klien dan server beroperasi melalui jaringan
komputer pada hardware terpisah. Sebuah mesin server adalah performa tinggi
host yang menjalankan satu atau lebih program server yang berbagi sumber daya
dengan klien. Seorang klien tidak berbagi apapun dari sumber daya, tetapi
meminta server layanan konten atau fungsi. Oleh karena itu klien memulai sesi
komunikasi dengan server yang menunggu (mendengarkan) masuk permintaan.
Dalam perkembangannya, client/server dikembangkan
oleh dominasi perusahaan software besar yaitu Baan, Informix, Lotus, Microsoft,
Novell, Oracle, PeopleSoft, SAP, Sun, dan Sybase. Perusahaan-perusahaan ini
adalah superstar pada era pertama dimunculkannya konsep client/ server. Saat
ini perusahaanperusahaan ini telah menjadi perusahaan komputer yang stabil dan
besar.
C. Kolaborasi Client-Server
Berikut ini adalah penjelasan mengenai beberapa
kolaborasi arsitektur sisi client dan sisi server :
Arsitektur Single- Tier (Stand Alone)
Definisi satu-tier arsitektur adalah semua komponen
produksi dari sistem dijalankan pada komputer yang sama. Ini adalah sederhana
dan paling mahal alternatif. Ada kurang perlengkapan untuk membeli dan
mempertahankan. Kelemahan dari jenis ini pelaksanaan keamanan lebih rendah dan
kurangnya skalabilitas. Sebuah arsitektur skalabel ketika dapat dengan mudah
diperluas atau ditambah untuk memenuhi kebutuhan peningkatan kinerja.
Setelah semua komponen utama situs dan data di satu komputer di belakang
firewall daun domain situs lebih rentan terhadap serangan berbahaya.
Menjalankan semua komponen situs pada sebuah komputer juga membatasi ekspansi
dan optimalisasi kemungkinan. Anda hanya dapat menambahkan begitu banyak memori
atau begitu banyak CPU untuk sebuah server tunggal.
Arsitektur Two-tier (client/server)
Dalam dua lapis client / server arsitektur, antarmuka
pengguna pengguna ditempatkan di lingkungan desktop dan sistem manajemen
database jasa biasanya dalam sebuah server yang lebih kuat merupakan mesin yang
menyediakan layanan bagi banyak klien. Pengolahan informasi dibagi antara
sistem user interface lingkungan dan lingkungan server manajemen
database. Manajemen database server mendukung untuk disimpan prosedur dan
pemicu.. Vendor perangkat lunak menyediakan alat-alat untuk menyederhanakan
pengembangan aplikasi untuk dua lapis client / server arsitektur.
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.
Arsitektur two-tier lebih aman dan terukur daripada
pendekatan single-tier. Pilihan ini bergerak Database Server ke mesin terpisah
di belakang firewall yang kedua. Ini menambah keamanan tambahan dengan
menghapus data pelanggan sensitif dari DMZ. Memiliki database pada komputer
yang terpisah meningkatkan kinerja keseluruhan situs. Kelemahan dari opsi ini
adalah biaya yang mahal dan kompleksitas arsitektur.
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 :
- User Interface. Adalah antar muka program aplikasi yang berhadapan dan digunakan langsung oleh user.
- Manajemen Proses.
- Database.
- Model ini memisahkan peranan user interface dan database dengan jelas, sehingga terbentuk dua lapisan
Pada gambar tersebut, user interface yang merupakan
bagian dari program aplikasi melayani input dari user. Input tersebut diproses
oleh Manajemen Proses dan melakukan query data ke database (dalam bentuk
perintah SQL). Pada database server juga bisa memiliki Manajemen Proses untuk
melayani query tersebut, biasanya ditulis ke dalam bentuk Stored Procedure.
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. Tipe-tipe tugas
yang terjadi pada client adalah :
- Antarmuka pengguna
- Interaksi database
- Pengambilan dan modifikasi data
- Sejumlah aturan bisnis
- Penanganan kesalahan
Server database berisi mesin database, termasuk
tabel, prosedur tersimpan, dan trigger (yang juga berisi aturan bisnis). Dalam
sistem client/server, sebagian besar logika bisnis biasanya diterapkan dalam
database. Server database manangani :
- Manajemen data
- Keamanan
- Query, trigger, prosedur tersimpan
- Penangan kesalahan
Arsitektur client/server merupakan sebuah langkah
maju karena mengurangi beban pemrosesan dari komputer sentral ke komputer
client. Ini berarti semakin banyak user bertambah pada aplikasi client/server,
kinerja server file tidak akan menurun dengan cepat. Dengan client/server user
dair berbagai lokasi dapat mengakses data yang sama dengan sedikit beban pada
sebuah mesin tunggal. Namun masih terdapat kelemahan pada model ini. Selain
menjalankan tugas-tugas tertentu, kinerja dan skalabilitas merupakan tujuan nyata
dari sebagian besar aplikasi. Model client/server memiliki sejumlah keterbatasan
:
- Kurangnya skalabilitas
- Koneksi database dijaga
- Tidak ada keterbaharuan kode
- Tidak ada tingkat menengah untuk menangani keamanan dan transaksi
Aplikasi-aplikasi berbasis client/server memiliki
kekurangan pada skalabilitas. Skalabilitas adalah seberapa besar aplikasi bisa
menangani suatu kebutuhan yang meningkat – misalnya, 50 user tambahan yang
mengakses aplikasi tersebut. Walaupun model client/server lebih terukur daripada
model berbasis host, masih banyak pemrosesan yang terjadi pada server. Dalam
model client/server semakin banyak client yang menggunakan suatu aplikasi,
semakin banyak beban pada server.
Koneksi database harus dijaga untuk masing-masing
client. Koneksi menghabiskan sumber daya server yang berharga dan masing-masing
client tambahan diterjemahkan ke dalam satu atau beberapa koneksi. Logika kode
tidak bisa didaur ulang karena kode aplikasi ada dalam sebuah pelaksanaan
executable monolitik pada client. Ini juga menjadikan modifikasi pada kode
sumber sulit. Penyusunan ulang perubahan itu ke semua komputer client juga
membuat sakit kepala.
Keamanan dan transaksi juga harus dikodekan sebagai
pengganti penanganan oleh COM+/MTS. Bukan berarti model client/server bukanlah
merupakan model yang layak bagi aplikasi-aplikasi. Banyak aplikasi yang lebih
kecil dengan jumlah user terbatas bekerja sempurna dengan model ini. Kemudahan
pengembangan aplikasi client/server turut menjadikannya sebuah solusi menarik
bagi perusahaan.
Pengembangan umumnya jauh lebih cepat dengan tipe
sistem ini. Siklus pengembangan yang lebih cepat ini tidak hanya menjadikan aplikasi
meningkat dan berjalan dengan cepat namun juga lebih hemat biaya.
Arsitektur Three-tier / Multi-Trier
Arsitektur Three-Tier diperkenalkan untuk mengatasi
kelemahan dari arsitektur two-tier. Di tiga tingkatan arsitektur, sebuah
middleware digunakan antara sistem user interface lingkungan klien dan server
manajemen database lingkungan. Middleware ini diimplementasikan dalam berbagai
cara seperti pengolahan transaksi monitor, pesan server atau aplikasi server.
The middleware menjalankan fungsi dari antrian, eksekusi aplikasi dan database
pementasan. Di samping itu middleware menambahkan penjadwalan dan
prioritas untuk bekerja di kemajuan. Three-tier klien / server arsitektur
digunakan untuk meningkatkan performa untuk jumlah pengguna yang besar dan juga
meningkatkan fleksibilitas ketika dibandingkan dengan pendekatan dua tingkat.
Model three-tier atau multi-tier dikembangkan untuk
menjawab keterbatasan pada arsitektur client/server. 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)
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,
seperti pada gambar 1.3.
Konsep model three-tier adalah model yang membagi
fungsionalitas ke dalam lapisan-lapisan, aplikasi-aplikasi mendapatkan
skalabilitas, keterbaharuan, dan keamanan. Pada model ini disisipkan satu layer
tambahan diantara user interface tier dan database tier. Tier tersebut
dinamakan middle-tier. Middle-Tier terdiri dari bussiness logic dan
rules yang menjembatani query user dan database, sehingga program aplikasi
tidak bisa mengquery langsung ke database server, tetapi harus memanggil
prosedur-prosedur yang telah dibuat dan disimpan pada middle-tier. Dengan
adanya server middle-tier ini, beban database server berkurang. Jika query
semakin banyak dan/atau jumlah pengguna bertambah, maka server-server ini dapat
ditambah, tanpa merubah struktur yang sudah ada. Ada berbagai macam software
yang dapat digunakan sebagai server middle-tier. Contohnya MTS (Microsoft
Transaction Server) dan MIDAS.
Kekurangan dari tiga tingkatan arsitektur adalah
bahwa lingkungan pengembangan lebih sulit untuk digunakan daripada pengembangan
aplikasi dari dua lapis.
- Three tier dengan pesan server
Pada arsitektur ini, pesan akan diproses dan
diprioritaskan asynchronously. Header pesan memiliki prioritas yang mencakup
informasi, alamat dan nomor identifikasi. Server pesan link ke relasional
DBMS dan sumber data lainnya. . Pesan sistem alternatif untuk infrastruktur
nirkabel.
- Three tier dengan server aplikasi
Arsitektur ini memungkinkan tubuh utama untuk
menjalankan sebuah aplikasi pada tuan rumah bersama bukan di sistem user interface
lingkungan klien. Server aplikasi logika bisnis saham, perhitungan dan
pengambilan data mesin. . Dalam aplikasi arsitektur ini lebih terukur dan biaya
instalasi kurang pada satu server dibandingkan mempertahankan masing-masing
pada klien desktop.
Arsitektur three-tier, ditunjukkan pada gambar di
atas, memisahkan Web Server ke mesin yang terpisah di DMZ. Pilihan ini,
sementara ini adalah yang paling mahal, adalah yang paling aman dan terukur
dari tiga pilihan. Masing-masing dari tiga server kini dapat dioptimalkan untuk
puncak efisiensi operasi. Fungsi utama Web Server jaringan I / O, Perdagangan
Server CPU-intensif dan Database Server disk I / O intensif.
Arsitektur three-tier, ditunjukkan pada gambar di
atas, memisahkan Web Server ke mesin yang terpisah di DMZ. Pilihan ini,
sementara ini adalah yang paling mahal, adalah yang paling aman dan terukur
dari tiga pilihan. Masing-masing dari tiga server kini dapat dioptimalkan untuk
puncak efisiensi operasi. Fungsi utama Web Server jaringan I / O, Perdagangan
Server CPU intensif dan Database Server disk I / O intensif.
Beberapa Kuntungan Arsitektur Three-Tier
- Keluwesan teknologi
- Mudah untuk mengubah DBMS engine
- Memungkinkan 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
Commerce Server yang telah dipindahkan di belakang
firewall yang kedua. Ini mengurangi resiko keamanan. Memisahkan Web Server dari
Commerce Server memungkinkan horizontal scaling. Seperti di situs penggunaan
tumbuh, Commerce Server tambahan dapat ditambahkan dan aplikasi dapat akan di
kloning di beberapa komputer. Perhatikan bahwa WebSphere Commerce Professional
atau Enterprise diperlukan untuk mendukung horizontal scaling dan Cloning.
Subscribe to:
Post Comments
(Atom)
terimakasih sudah share infonya
ReplyDeletesolder uap