Kamis, 14 November 2013

Arsitektur Networking Client

Computer Network atau jaringan komputer, merupakan sekumpulan komputer yang dihubungkan melalui media fisik dan software yang memfasilitasi komunikasi antara komputer-komputer tersebut. Arsitektur jaringan Client Server merupakan model konektivitas pada jaringan yang membedakan fungsi komputer sebagai Client dan Server. Arsitektur ini menempatkan sebuah komputer sebagai Server. Nah Server ini yang bertugas memberikan pelayanan kepada terminal-terminal lainnya tang terhubung dalam system jaringan atau yang kita sebut Clientnya. Server juga dapat bertugas untuk memberikan layanan berbagi pakai berkas (file server), printer (printer server), jalur komunikasi (server komunikasi).
Pada model arsitektur ini, Client tidak dapat berfungsi sebagai server tetapi server dapat berfungsi menjadi Client. Prinsip kerja pada arsitektur ini sangat sederhana dimana server akan menunggu permintaan dari Client, memproses dan memberikan hasil kepada Client, sedangkan Client akan mengirimkan permintaan ke Server, menunggu proses dan melihat visualisasi hasil prosesnya.
Sistem Client Server ini tidak hanya diperuntukkan bagi pembangunan jaringan komputer skala luas. Sistem ini menggunakan protokol utama Transmision Control Protocol/Internet Protocol (TCP/IP), sedangkan sistem operasi yang digunakan antara lain Unix, Linux dan Windows NT.Lingkungan Database Client/Server di Internet

  • Menggunakan LAN untuk mendukung jaringan PC
  • Masing-masing PC memiliki penyimpan tersendiri
  • Berbagi hardware atau software

 

Model-model Client Server ada 3 jenis model diantaranya : 

1. Client/Server (two tier)

Two Tier Client Server. 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. Aplikasi ditempatkan pada komputer client dan mesin database dijalankan pada server jarak jauh. Aplikasi client mengeluarkan permintaan ke database yang mengirimkan kembali data ke clientnya. 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 (Client). Adalah antar muka program aplikasi yang berhadapan dan digunakan langsung oleh user.
  • Manajemen Proses(Jaringan).
  • 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. Aplikasi ditempatkan pada komputer client dan mesin database dijalankan pada server jarak-jauh. Aplikasi client mengeluarkan permintaan ke database yang mengirimkan kembali data ke clientnya.

2. Three-Tier / Multi-Tier

Three Tier Client Server. 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. Konsep model three tier adalah model yang membagi fungsionalitas ke dalam lapisan-lapisan, aplikasi aplikasi mendapatkan skalabilitas, keterbaharuan, dan keamanan. Arsitektur Three Tier merupakan inovasi dari arsitektur. 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 dikembangkan 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. Pada saat komputer client melakukan inputan data maka data tersebut dikirimkan ke application server dan diolah berdasarkan business prosesnya. Selanjutnya application server akan melakukan komunikasi dengan database server. Biasanya implementasi arsitektur three tier terkendala dengan network bandwidth, karena aplikasinya berbasiskan web maka Application Server selalu mengirimkan Web Applicationnya ke komputer Client. Jika kita memiliki banyak sekali client, maka bandwidth yang harus disiapkan akan cukup besar, Sedangkan network bandwidth biasanya memiliki limitasi. Oleh karena itu biasanya untuk mengatasi masalah ini, Application Server ditempatkan pada sisi client dan hanya mengirimkan data ke dalam database server. Konsep model three-tier adalah model yang membagi fungsionalitas ke dalam lapisan-lapisan, aplikasi mendapatkan skalabilitas, keterbaharuan, dan keamanan.

3. Aplikasi N-tier
Aplikasi N-Tier Stored procedure ternyata tidak mencukupi untuk sistem dimana database disimpan pada lebih dari satu server, karena bisa jadi terdapat client yang tidak dapat mengakses procedure tersebut. Mungkin Anda bertanya, apa perlunya menyimpan database lebih dari satu server? Tentu saja Anda juga menginginkan perusahaan yang menggunakan aplikasi Anda dapat berkembang, bukan? Penggunaan lebih dari satu database sangat memungkinkan saat sebuah perusahaan telah memiliki divisi yang cukup besar dimana harus memiliki database tersendiri. Dalam kasus penggunaan lebih dari satu server database, Anda perlu mengimplementasikan strategi development yang berbeda, pendekatan yang baik adalah dengan menggunakan model n-tier. 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. Untuk menggambarkannya, Anda dapat membayangkan skema disain aplikasi two-tier yang mengimplementasikan business logic pada stored procedure seperti yang telah diterangkan diatas, kemudian melakukan improvisasi disain dengan menambahkan sebuah tingkatan (tier) sebagai middle tier sebagai business object, arsitektur inilah yang dikenal dengan 3-tier. Perbedaan nyata dengan 2-tier adalah, business object pada 3-tier terpisah dari aplikasi client dan elemen database. Sehingga dapat digambarkan bahwa sistem 3-tier secara umum terbentuk dari tingkatan client, business dan database.

Untuk membayangkan penerapan 3-tier dalam kehidupan sehari-hari yang mungkin paling sering Anda temui adalah penerapan Internet ataupun Intranet. Pada aplikasi Internet/Intranet, terdapat client yang menjalankan browser dan meminta informasi dari middle-tier yang berupa HTTP Server. Middle-tier akan meminta data pada server database, kemudian mengirimkannya kembali kepada HTTP Server. HTTP Server akan mengirimkan kepada browser dalam bentuk page/halaman web. Sebuah sistem 3-tier menyediakan support multi-user yang stabil, bahkan saat pada client menjalankan aplikasi yang berbeda, juga dapat mendayagunakan beberapa database yang digunakan secara bersamaan.

Teknologi pendukung
Beberapa contoh teknologi yang umum dipergunakan untuk mendukung n-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.
Untuk aplikasi n-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 ketik 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.

Kelebihan dari model client/server :
  • Menangani Database Server secara khusus 
  • Relatif lebih sederhana untuk di develop dan diimplementasikan. 
  • Lebih cocok diterapkan untuk bisnis kecil.
Kekurangan dari model client/server :
  • Kurangnya skalabilitas 
  • Koneksi database dijaga 
  • Tidak ada keterbaharuan kode 
  • Tidak ada tingkat menengah untuk menangani keamanan dan transaksi skala kecil.  
  • Lebih mahal.

Kesimpulan

Jadi arsitektur networking client merupakan suatu bentuk sistem jaringan yang membedakan adanya komputer klien dan komputer server. Terdapat tiga model untuk networking client ini yaitu two tier,  three tier, dan n tier yang digunakan sesuai dengan kebutuhan masing-masing. Sistem ini menggunakan TCP/IP dan sistem operasi yang digunakan yaitu Unix, Linux dan Windows NT.

Referensi :


Tidak ada komentar:

Posting Komentar