Tuesday, March 25, 2014

ARSITEKTUR CLIENT SERVER

Di era globalisasi ini, dimana segala sesuatunya itu berjalan dengan cepat, kemajuan teknologi semakin memudahkan manusia untuk berkomunikasi dan saling bertukar informasi. Semua orang di zaman sekarang ini hampir setiap individu sudah memiliki komputer.
Client merupakan sembarang sistem atau proses yang melakukan suatu permintaan data atau layanan ke server sedangkan server ialah, sistem atau proses yang menyediakan data atau layanan yang diminta oleh client. Client-Server adalah pembagian kerja antara server dan client yg mengakses server dalam suatu jaringan. Jadi arsitektur client-server adalah desain sebuah aplikasi terdiri dari client dan server yang saling berkomunikasi ketika mengakses server dalam suatu jaringan.
 
ARSITEKTUR SISI KLIEN

Ada beberapa karakteristik dari sisi klien pada umunya sudah kita ketahui, yaitu :

1. Pihak klien selalu memulai permintaan/permohonan ke pihak server
2. Setelah mengirim permintaan, kemudian klien akan menunggu balasan atau
jawaban atas permintaannya dari server
3. Menerima balasan dari server atas permintaannya
4. Biasanya klien akan terhubung ke sejumlah kecil dari server pada satu waktu
5. Biasanya berinteraksi langsung dengan end-user (pengguna akhir) dengan
menggunakan user interface (antarmuka pengguna)
6. Khusus jenis klien mencakup web browser, email klien dan online chat klien

ARSITEKTUR SISI SERVER

Sama dengan sisi klien (client side), sisi server (side server) juga memiliki karakteristik seperti di bawah ini :

1. Sebagai penyedia layanan, sisi server akan selalu menunggu permintaan dari
sisi klien
2. Sesuai dengan tugasnya, melayani dan menjawab permintaan data yang
diminta oleh klien
3. Sebuah server dapat berkomunikasi dengan server lain untuk melayani
permintaan klien
4. Jenis server khusus mencakup web server, FTP server, database server, email
server, file server, print server. Mayoritas dari web layanan tersebut juga merupakan jenis server.

KOLABORASI ARSITEKTUR SISI KLIEN DAN SERVER

Ada beberapa model arsitektur klien-server ini yang umum, yaitu

1. Arsitektur mainframe
2. Arsitektur file-sharing
3. Arsitektur client/server

Arsitektur client server dapat dibedakan menjadi 3 model, yaitu single-tier (satu
lapis), two-tier (dua lapis) dan three-tier (3 lapis).
Berikut penjeLasan dari ketiga modeL arsiTektur cLient server tersebut di atas :

>> Arsitektur Single-tier (Satu Lapis)
Semua komponen produksi dari sistem dijalankan pada komputer yang sama pada arsitektur single tier ini. Model single tier adalah model yang sederhana, mudah digunakan pengguna (user) dan paling sedikit memiliki alternatif. Kelemahan dari arsitektur ini adaLah kurang aman dan kurang memiliki skalabilitas.

>> Arsitektur Two-tier (DUa Lapis)
Pengolahan informasi pada arsitektur ini dapat dibagi menjadi dua, yaitu sistem user interface (antarmuka pengguna) lingkungan dan lingkungan server manajemen database. Arsitektur two tier memiliki tingkat kemanan yang lebih tinggi dan terukur daripada arsitektur single-tier. Arsitektur ini memiliki database pada computer yang terpisah dan hal tersebut menyebabkan arsitektur ini dapat meningkatkan kinerja keseluruhan situs.
Arsitektur two- tier memiLiki keLemahan, yaitu biayanya yang mahal, arsitekturnya yang kompleks, tidak adanya pembaruan kode, skalabilitasnya kurang dan tingkat kemanannya kurang.

Di samping itu, kelebihan dari arsitektur two tier adalah mudah digunakan oleh pengguna, dapat menangani database server secara khusus dan bisnis lingkup kecil sangat cocok menggunakan arsitektur ini.

>> Arsitektur Three-tier (tiga Lapis)
Karena arsitektur sebelumnya memiliki cukup banyak kelemahan, maka dikembangkanlah arsitektur three tier ini yang akan membantu mengatasi kelemahan dari arsitektur two-tier. Arsitektur three-tier memiliki 3 lapisan.
Kelebihan dari arsitektur ini adalah memiliki skala yang besar, transfer informasi antara web server dan server database optimal, tidak akan menyebabkan lapisan lain terkontaminasi salah jika salah satu lapisan terdapat keslahan. Dan kekurangannya, arsitektur ini lebih sulit untuk merancang, lebih sulit untuk mengatur dan lebih mahal.
Arsitektur Client Server

Arsitektur jaringan Client Server merupakan model konektivitas pada jaringan yang membedakan fungsi computer 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)

Dibagi dalam 2 bagian Arsitektur yaitu :

Arsitektur Client Side
Merujuk pada pelaksanaan data pada browser sisi koneksi HTTP. JavaScript adalah sebuah contoh dari sisi eksekusi client dan contoh dari sisi penyimpanan pada client adalah cookie.

Karakteristik :
- Memulai terlebih dahulu permintaan ke server.
- Menunggu dan menerima balasan.
- Terhubung ke sejumlah kecil server pada waktu tertentu.
- Berinteraksi langsung dengan pengguna akhir, dengan menggunakan GUI.

Arsitektur Server Side
Pada server side, ada sebuah server Web khusus yang bertugas mengeksekusi perintah dengan menggunakan standar metode HTTP. Misalnya penggunaan CGI script pada sisi server yang mempunyai tag khusus yang tertanam di halaman HTML. Tag ini memicu terjadinya perintah untuk mengeksekusi.

Karakteristik :
- Menunggu permintaan dari salah satu client.
- Melayani permintaan klien dan menjawab sesuai data yang diminta oleh client.
- Suatu server dapat berkomunikasi dengan server lain untuk melayani permintaan client.
- Jenis-jenisnya : web server, FTP server, database server, E-mail server, file server, print server.

Dibawah ini merupakan penjelasan tentang beberapa kolaborasi arsitektur sisi client dan sisi server :

dibagi atas 3 jenis kolaborasi 

1. Arsitektur Single- Tier
Arsitektur Single- Tier adalah semua komponen produksi dari sistem dijalankan pada komputer yang sama. Sederhana dan alternatifnya sangat mahal. Membutuhkan sedikit perlengkapan untuk dibeli dan dipelihara.

2. Arsitektur Two-tier
Pada Arsitektur Two-tier, antarmukanya terdapat pada lingkungan desktop dan sistem manajemen database biasanya ada pada server yang lebih kuat yang menyediakan layanan pada banyak client. Pengolahan informasi dibagi antara lingkungan antarmuka sistem dan lingkungan server manajemen database.

3. Arsitektur Three-tier
Arsitektur Three-Tier diperkenalkan untuk mengatasi kelemahan dari arsitektur two-tier. Di tiga tingkatan arsitektur, sebuah middleware digunakan antara sistem user interface lingkungan client dan server manajemen database lingkungan. Middleware ini diimplementasikan dalam berbagai cara seperti pengolahan transaksi monitor, pesan server atau aplikasi server. Middleware menjalankan fungsi dari antrian, eksekusi aplikasi dan database staging
 
sumber : http://istiqomahqori.blogspot.id

The implication of mobile phones in our modern world



The implication of mobile phones in our modern world is getting clearer and with the impact that these devices have had on social media networking sites, mobile computing just got better and attention from hardware and software developers and vendors. Mobile computing innovations have seen the rise of Android and iPhone platforms where third-party developers have developed hundreds of thousands of apps that run on these devices, some right in the cloud. The real drivers of mobile computing however are not the hardware and software manufacturers but rather the many users that interact and are always connected on these social networks and using these devices. It can therefore be assumed that the future of these devices and where they are used will largely determine future innovations surrounding the proliferation of mobile devices.

Mobile users spend more time on networking sites than their desktop counterparts. This means that network systems will require more dynamic connectivity patterns if this trend is expected to continue and if social networking sites expect to reap more revenue in the future. Mobile advertisers will also reap a huge chunk of that revenue as innovation in the field of geo-location, user activity sensing and social profiling is expected to lead to more targeted and therefore better advertising. It is also highly likely that mobile computing developments will largely revolve around social networks like Facebook and Twitter. Already, the launch of Facebook places and the ability to add longitude and latitude to tweets are evidence that the future of mobile computing is in social media.

All the above sounds interesting, however it also means that things like customer experience with low latency, high responsiveness and ease of interaction will need major improvements if customers are expected to have the same kind of experience on mobile platforms as desktop users. It is also interesting to see that the current limitations on mobile devices have induced new behavior in users. This includes skimming through content rather than reading and writing short answers. While solutions to these challenges can be built around these emerging behaviors, one this is clear, users? expectations cannot be met unless these challenges can be solved.

Energy concerns for mobile computing are another challenge. Smartphones rarely store charge for more than 8 hours in continuous use and bigger and more colorful screens means that power usage just went up. These are challenges that can be resolved by having more efficient hardware and software. We can only reflect on the current developments in mobile computing and its impact on social media and hope that it will tangibly shape the unpredictable path into the future of human interaction.

The conclusion is the development of technologies that exist today people have started to leave the desktop computer to access the websites and social media , today more and more people are using their mobile devices to access social media , because of its practicality and mobile to be in access anytime, anywhere . With the number of people who started using mobile devices and the time spent by the users more likely to use mobile devices to access the site . certainly requires a more dynamic network system . If these trends continue to occur , it is also what makes that social media is the right place for advertising . Due to the development of social media very rapidly when compared with previous years . wherein when it only contained friendster and myspace as a popular social media , but now many more ranging from facebook , twitter , path , and others . But the greatest challenges in mobile devices is battery life itself, where the average smart phone available today can not be used more than 8 hours of continuous use . would be very bad if we have to close to a power source continuously just to charge our mobile devices .

Monday, March 17, 2014

Prinsip Dasar RPC


rpc
Skema RPC ini dilakukan juga pada proses-proses yang running di komputer berlainan
rpc 2
Sebelum mekanisme RPC digunakan, data harus di-packaging ke dalam format transimisi. Langkah ini dinamakan marshalling. Proxy bertanggung jawab untuk marshalling data, kemudian mengirimkan data dan meminta instans dari komponen (remote). Stub menerima request, unmarshall data, dan memanggil method yang diminta. Kemudian proses mengembalikan nilai yang diinginkan (Stub adalah kode untuk mengkonversi parameter yang dipassing saat RPC berjalan)

sumber : http://derlaz.wordpress.com/2010/11/08/remote-pprocedure-call-rpc/ 

link terkait:

 


Tuesday, March 11, 2014

Tantangan Sistem Terdistribusi

Sistem yang komponennya berada pada jaringan komputer dapat disebut sistem terdistribusi. sistem ini merupakan kebalikan dari sistem operasi prosesor jamak. Pada sistem ini  kumpulan prosesornya saling berinteraksi melalui saluran komunikasi seperti LAN dan WAN menggunakan protokol standar seperti TCP/IP. Sistem terdistribusi dapat dikatakan sebagai suatu keberadaan beberapa komputer yang bersifat transparan dan secara normal, setiap sistem terdistribusi mengandalkan layanan yang disediakan oleh jaringan komputer.

Tentu pada sistem terdistribusi terdpat tantangan yang perlu dihadapi, berikut ini jenis tantangan yang terdapat pada sistem terdistribusi :

1. Concurrency
Adanya beberapa user sekaligus dalam sistem terdistribusi dapat menjadi peminta request ke sesumber yang disediakan server. Dalam lingkunga yang konkuren, setiap sesumber harus didesain menjadi aman untuk diakses.

Contoh: apabila terjadi permintaan layanan secara bersamaan, SisTer tidak akan menjadi kacau.

2  Failure Handling
Setiap proses dapat mengalami kegagalan. Kegagalan itu bisa terjadi secara bersama atau hanya sebagian komponen dari sebuah sistem. Maka, setiap komponen dalam sistem, dalam hal ini sistem terdistribusi, harus bisa mewaspadai kemungkinan kegagalan itu dan bisa menyelesaikannya, bila kejadian itu terjadi. 

Contoh: kerusakan yang terjadi pada satu komputer dalam Sister tidak mempengaruhi kinerja sistem secara keseluruhan.

3. Heterogenity
Sistem terdistribusi tersusun atas beberapa jenis jaringan, yang tentunya memiliki perbedaan di antaranya. Selain itu, sistem ini juga terdiri atas sistem operasi, perangkat keras, dan bahasa pemrograman yang berbeda pula. Dengan internet protokol, diharapkan perbedaan-perbedaan itu dapat diatasi karena menggunakan protokol yang sama.

Contoh: mampu mendukung berbagai jenis sistem operasi, hardware dan software
 
4. Openess
Sistem terdistribusi harus bisa diperluas, yakni dengan langkah pertama berupa memperkenalkan antarmuka komponennya. Akan tetapi, kesatuan dari komponen-komponen tersebut menajdi tantangan yang dihadapi. 
 

Contoh: Dalam pengembangan sistem dapat dikembangkan oleh tim yang berbeda-beda.

5. Transparency
Beberapa sudut dari sistem terdistribusi memang dibuat tidak terlihat agar programmer dapat fokus pada desain aplikasi yang mereka kembangkan. Bahkan, adanya kesalahan dalam jaringan dan proses pun dapat dipresentasikan terhadap programmer dalam bentuk eksepsi saja. Akan tetapi, hal ini tetap harus dapat diatasi oleh programmer tersebut.

Tantangan ini terdiri lagi dari:

Penyembunyian akses

Contoh: seseorang yang bekerja dalam lingkungan sistem dapat mengakses berbagai sumber daya yang berada dalam lingkungan tersebut untuk menyelesaikan pekerjaan.

Penyembunyian lokasi.

Contoh: oengguna layanan transaksi tersebar tidak perlu mengetahui lokasi basis data yang diakses.

Penyembunyian kebersamaan.

Contoh: pengelola data nasabah dapat menangani transaksi secara bersama (Transfer dan penarikan uang secara bersama dalam 1 rekening).

Penyembunyian replikasi

Contoh: pengguna tidak terpengaruh apakah yang diakses basis data orisinil atau replikasi.

Penyembunyian masalah.

Contoh: Apabila salah satu komputer dalam SisTer mengalami kerusakan, maka dapat di hanle oleh sistem yang lain.

Penyembunyian skala

Contoh: pengguna tidak terpengaruh atau direpotkan apabila sistem diupgrade.


6. Security
Untuk mengamankan informasi, dapat dilakukan dengan metode enkripsi. Enkripsi ini dapat membantu menyediakan perlindungan yang cukup terhadap sesumber yang dapat diakses pengguna di mana saja. Enkripsi tersebut dapat menjaga data-data rahasia tetap aman saat dikirim melalui jaringan. Salah satu masalah utama yang ada mengenai hal itu adalah denial of service.

Contoh: Keamanan data dalam transfer data antar node 

7. Scalability
Sebuah sistem terdistribusi dapat diperbesar jika biaya penambahan user tidak terlalu besar atau masih berada dalam jumlah yang stabil. Algoritma untuk mengakses data harus menghindari efek bottleneck. Selain itu, data juga distrukturisasi secara hierarkis agar dapat diakses dalam waktu yang singkat saja 

Contoh: ukuran sistem dapat diubah dan tetap dapat berjalan dengan baik. 

Referensi :

1. Sistem Terdistribusi - Anton Pres
2. Sistem Terdistribusi Ruddy J. Suhatril, SKom - OpenStorage Gunadarma
3. Pengelanan Sistem Terdistribusi - Gunadarma