Client/Server Software Engineering, oleh M Rizky R [5105 100 135]

Pendahuluan
Arsitektur Client Server mendominasi sistem komputer kebanyakan hari ini .Semua , dari ATM sampai internet ada karena software yang berada di satu komputer – client , meminta servis atau data dari komputer lainnya – server . Arsitektur Client/Server , menggabungkan prinsip konvensional , konsep dan metode dari Object-Oriented dan Component based Software engineering .

Kenapa Client/Server Software Engineering begitu penting ? Dampak dari sistem client/server (c/s) pada pemerintahan , bisnis , komersial , dan lingkunan sains sangat terasa . Dan perkembangan teknologi Software Engineering ( Component based – Software development , object request broker , java ,dsb) merubah jalan untuk mengembangkan sistem c/s . Proses Software Engineering yang solid harus diaplikasikan terhadap konstruksi sistem c/s .

Langkah – langkah yang harus diambil untuk mengembangkan sistem c/s mirip dengan langkah – langkah yang diterapkan pada Object Oriented dan Component-Based software engineering . Model Proses nya evolusioner , dimulai dengan pemilihan requirement . Fungsionalitas di alokasikan ke subsistem dari komponen yang nantinya akan diterapakan baik ke client ataupun ke server dari arsitektur c/s
Struktur dari Sistem Client/Server

Di dalam sturktur Client/Server , komputer yang berada di atas komputer lainnya itu disebut server ,dan komputer – komputer yang berada di bawah komputer server di sebut client .
rizky1


Struktur yang digambarkan pada gambar di atas tidaklah paten , dapat dirubah – rubah sesuai dengan kebutuhan , asalkan masih tetap dalam konteks arsitektur yang digambarkan di atas
Komponen Software untuk sistem c/s

Arsitektur Client/Server tidak mengimplementasikan suatu software sebagai suatu aplikasi monolitik yang hanya diterapkan pada satu mesin , sehingga arsitektur c/s membutuhkan lebih dari satu mesin untuk diterapkan . Arsitektur c/s juga memiliki beberapa subsistem yang berbeda yang dapat dialokasikan ke client , ke server ataupun ke kedua mesin :
User Interaction / Presentation Subsistem .
Subsistem ini mengimplemetasikan semua fungsi yang tergabung dalam Graphical User Interface , Gunanya untuk berinteraksi dengan user dan terletak di client .
Application subsystem
Subsistem ini mengimplementasikan requirement yang didefiniskan aplikasi dengan konteks dari domain dimana aplikasi tersebut beroperasi . Contohnya , aplikasi bisnis bisnis memproduksi berbagai macam laporan cetak yang berdasarkan input numeric , kalkulasi , informsai database dan sumber – sumber yang lainnya . Contoh lain adalah Sebuah aplikasi groupware dapat menyediakan fasilitas bulletin board atau e-mail . dimana pada kedua kasus , software aplikasi dapat dipartisi menjadi komponen yang berada baik di server ataupun di client .
Database Management Subsistem
Subsistem ini melakukan pemanipulasian data dan manajemen yang harus di lakukan oleh sebuah aplikasi . Manipulasi data dan manajemen mungkin semudah pencatatan sebuah baris , dan mungkin dapat sekompleks memproses transaksi SQL yang rumit .
Distribusi dari Komponen Software
Setelah requirement dari aplikasi c/s ditentukan , maka Perancang Software harus menentukan bagaimana pendistribusian komponen software yang dibutuhkan oleh client dan server secara tepat .
Saat semua fungsi dari ketiga subsistem di atas dibebankan kepada server ,maka sebuah fat server design terbentuk . sebaliknya , jika client mengimplementasikan banyak dari user interaction / presentation , application , dan database komponen , maka sebuah fat client terbentuk .
Fat Client biasa nya dapat ditemukan saat arsitektur file server dan database server diterapkan . Pada kasus ini , server menyediakan manajemen data , tetapi aplikasi lainnnya dan GUI terletak pada client .
Fat Server biasanya ditemukan pada desain sebuah sistem transaksi dan groupware . Server menyediakan dukungan aplikasi yang diperlukan untuk melakukan transaksi dan komunikasi dilakukan dari client . Software di client hanya fokus kepada GUI dan manajemen komunikasi .
Distributed Presentation . Pada pendekatan client/server , logika database dan logika aplikasi berada pada server , biasanya sebuah mainframe . Server juga berisi aplikasi untuk menyiapkan tampilan informasi . Contohnya adalah Virtual Class , Semua aplikasi baik database , tampilan ataupun logika aplikasi terletak di server , client hanya membutuhkan sebuah browser untuk menampilkan GUI yang disediakan oleh server .
Remote Presentation . Adalah sebuah extensi dari pendekatan distributed presentation , primary database dan logika aplikasi terletak di server , dan data akan dikirimkan ke client untuk ditampilkan menggunkan GUI yang berada di client .
Distributed Logic . Client memiliki semua fungsi user presentation dan sebuah fungsi yang berkaitan dengan data entry . Seperti field-level validation , server query formula (SQL) , dan server update information . Server hanya menjalankan pekerjaan dan proses yang diberikan oleh client query , Server file updates , client version control , dan aplikasi yang berkaitan tentang itu .
Remote data management . Aplikasi yang berada di server membuat sebuah data sourcedengan format data yang telah di extrak dari tempat lain (contohnya dari corporate level source) . Aplikasi di alokasikan di client digunakan untuk mengevaluasi data yang telah di format oleh server . Decission support system termasuk ke dalam kategori ini .
Pedoman untuk Mendistribusikan Subsistem dari Aplikasi
Presentation / Interaction subsitem terletak di client . Ketersediaan PC , lingkungan windows dan kekuatan kopmuter dibutuhkan oleh gui untuk membuat pendekatan ini efektif dalam hal biaya .
Jika database di share oleh beberapa user yang terhubung dengan LAN , maka database ditaruh di server . DBMS dan kemampuan akses database juga ditaruh di server bersamaan dengan fisik database
Data statis yang digunakan sebagai referensi terletak di client . Peletakan data dekat dengan user meminimalisir trafik jaringan yang tidak perlu.
Analisis Pemodelan
Kebutuhan aktifitas pemodelan untuk sistem c/s sedikit berbeda dari metode pemodelan yang diaplikasikan ke arsitektur komputer konvensional .Oleh karena itu prinsip dasar analaisis dan metodologi pemodelan dapat diterapkan di software c/s . Dengan catatan , bahwa kebanyakan sistem c/s yang modern menggunakan komponen yang reusable .
Karena analisis pemodelan menghindari spesifikasi dari detail implementasi , maka isu – isu yang berkaitan dengan alokasi komponen ke klien dan server hanya berupa desain .
Desain arsitektur untuk sistem client/server
Desain arsitektur dari c/s seringkali dinyatakan sebagai communicating processes style :
Tujuannya adalah untuk mencapai qualitas kestabilan . Sebuah server ada untuk melayani satu atau lebih client untuk kebutuhan penyediaan data . Yang mana terletak di jaringan . Client mengorganisasi panggilan ke server , yang bekerja secara asynchronous ataupun synchronous . Jika server bekerja secara synchronous , maka akan ia akan mengembalikan control ke client bersamaan dengan dengan pengembailan data . Jika server bekerja secara asynchronously , maka hanya akan mengembalikan data (Tanpa kontrol ) ke Client .
Pendekatan Desain Konvensional untuk software Aplikasi
Di sistem c/s , DFD dapat digunakan untuk membangun system scope , mengidentifikasi fungsi high-level , menentukan area data , membolehkan dekomposisi dari high-level function . tetapi , biarbagaimanapun dekomposisi hanya berhenti pada proses bisnis awal , dan tidak berlanjut sampe ke level proses yang lebih kecil .
Di konteks c/s , sebuah Elementary business process (EBP) – Proses bisnis awal , didefinisikan sebagai satu set tugas yang di lakukan tanpa henti oleh satu user pada client . Tugas tersebut dilakukan sekaligus atau tidak sama sekali .
ERD juga bias digunakan untuk memperluas role . ERD dapat digunakan untuk mendokompisi subject data area ( data stores) lebih lanjit dari DFD untuk membangun high-level view dari database yang akan diimplemtasikan dengan RDBMS .
Desain Database
Sebuah RDBMS dapat dijadikan sebagai solusi untuk desain database . RDBMS dapat mendistribusikan data dengan mudah lewat SQL . keuntungan SQL dsebagai aristektur c/s adalah “nonnavigational” . Di dalam RDBMS , tipe data dapat dispesifikan dengan menggunakan SQL , tanpa menggunakan informasi navigational . implikasi dari hal ini adlah RDMBS harus handal dalam memilihara lokasi dari data dan kapabel dalam mendefinisikan jalur terbaik untuk hal itu . Dalam database system yang kurang handal , request untuk data , harus mengindikasikan apa yang harus diakses , dan dimana harus mengakses data tersebut . Harus dicatat , bahwa distribusi data dan teknik memanaje tersedia untuk desainer , antara lain :
· Manual extract : User diperbolehkan untuk mengcopy secara manual data yang diinginkan dari server ke client . Pendekatan ini sangat berguna apabila data statis diperlukan dan kontrol dari pengekstrakan dapat dihandle oleh user .
· Snapshot : teknik ini mengotomatisasi manual extract dengan menentukan sebuah “snapshot” dari data yang harus di transfer dari server ke client pada interval yang telah ditentukan . Pendekatan ini sangat berguna untuk mendistribusikan data statis yang jarang diupdate .
· Replication : teknik ini dapat digunakan apabila banyak kopi dari data harus dijaga pada situs yang berbeda (contoh : antara server yang berbeda atau antara client dan server) , disini level kompleksitas meningkat karena konsistensi data , update , keamanan , dan pemrosean harus di koordinasi pada banyak situs .
· Fragmentation : Pada pendekatan ini , sistem database di fragmentasi lewat beberapa mesin . Walaupun sangat menggiurkan dalam teori , namun fragmentation sangat sulit diimplementasikan dan jarang ditemui .
Overview dari pendekatan desain
Langkah untuk mendesain sebuah proses bisni s awal (EBP – Elementary Business Process) yang mengombinasikan elemen dari desain konvesional dengan element dari object oriented desain . Dengan asumsi bahwa requirement model yang mendefinisikan objek bisnis telah dibuat dan diperbaharui lebih dulu dari pendesainan EBP .
Langkah – langkah berikut ini untuk membuat desain :
1. Untuk setiap proses bisnis , identifikasikan file yang akan dibuat , di update , dan direferensi , atau dihapus
2. Gunakan file yang didapat dari langkah 1 sebagai basis untuk mendefinisikan komponen atau objek
3. Untuk setiap komponen , gunanakan business rule an informasi objek bisnis lain yang telah di buat untuk file yang bersangkutan .
4. Tentukan rule yang relevan dengan proses dan dekomposisi rule tersebut ke level method .
5. Jika diperlukan , tentukan komponen tambahan lainnya yang dibutuhkan untuk mengimplementasikan method yang akan di buat di pada step 4
Iterasi proses desain
Desain yang digunakan untuk merepresentasikan business object juga digunakan untuk merepresentasikan interface, application , dan database object :
· Methods menjelaskan bagaiman business rule diimplementasikan
· Elementary proses mendefinisikan business proses yang di identifikasikan di model analisis
· Process mengidentifikasikankomponenyang membuat solusi untuk Elementary Business Process
· Component mendeskripsikan komponen yang tertera di structure chat
· Business Rule mengidentifikasikan komponen yang siginfikan terhadap implementasi dari business rule yang diberikan

1 Response to “Client/Server Software Engineering, oleh M Rizky R [5105 100 135]”


  1. 1 linuxer Juni 12, 2010 pukul 10:47 am

    nice post gan…
    thnks


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s




Arsip

RSS My Blog

  • Pindahan! Februari 13, 2012
    Para pembaca sekalian, mulai hari ini blog ini pindah ya.. alamatnya di www.handyeka.com Posting-posting terbaru akan muncul di alamat baru tersebut. Terima kasih :)
  • Selamat Tahun Baru 2012! Januari 26, 2012
    Selamat tahun baru 2012!! Bagaimana tahun 2011 yang baru saja kita lewati ini? pasti banyak up-and-down nya. Biasanya orang kalau ngomongin tahun baru mesti nanyain resolusi tahun baru, tapi kali ini saya ga mau nanya-nanya tentang resolusi, hahaha.. kenapa? karena … Continue reading →
  • Adele – Someone Like You Oktober 10, 2011
    Pernahkah Anda merasakan jatuh cinta.. namun pada akhirnya Anda hanya bisa mengagumi dia yang Anda cinta karena Anda berdua sayangnya tidak bisa bersatu.. namun ia akhirnya bisa bahagia.. meskipun bukan bersama Anda.. Sakit.. dan penuh emosi jiwa pastinya.. tapi apakah … Continue reading →

RSS Recipee World

  • Sebuah galat telah terjadi; umpan tersebut kemungkinan sedang anjlok. Coba lagi nanti.

RSS Indonesia Travel Guide

  • Sebuah galat telah terjadi; umpan tersebut kemungkinan sedang anjlok. Coba lagi nanti.

RSS Music Info Online

  • Sebuah galat telah terjadi; umpan tersebut kemungkinan sedang anjlok. Coba lagi nanti.

%d blogger menyukai ini: