Kamis, 22 November 2012

Pengiriman data melalui aplikasi berbasis web


Multimedia dapat ditransmisikan atau di kirimkan dalam berbagai macam media aplikasi, seperti aplikasi berbasis desktop, web, ataupun mobile. Data yang ditransmisikan pun beragam, seperti teks, gambar, audio, maupun video. Masing-masing dari jenis aplikasi dan ragam data multimedia tersebut memiliki cara tersendiri dalam melakukan transmisi data. di sini akan dibahas mengenai pengiriman data multimedia melalui aplikasi berbasis web.

Pengiriman Teks

Jika kita pernah menggunakan email atau chating, maka sebenarnya kita pernah mentransmisikan teks dalam jaringan internet. Protokol yang biasa digunakan adala SMTP (Simple Mail Transfer Protocol) dan POP3 (Post Office Protocol version 3). Kedua protocol biasa digunakan beriringan, jika client mengirim data teks, maka menggunakan SMTP. Dan jika menerima data teks, maka menggunakan POP3. Dalam presentasi, dijelaskan aplikasi email client Mozilla Thunderbird, yang menggunakan protocol IMAP (Internet Messages Access Protocol) sehingga memudahkan sinkronisasi webmail login dari berbagai macam email client dalam satu tempat.

Pengiriman Gambar

Pengiriman gambar tidak jauh berbeda dengan pengiriman data teks. perbedaannya hanya di jenis datanya. Salah satu bentuk aplikasi web untuk transmisi gambar adalah Google Maps. Google Maps memiliki database gambar berdasarkan ketinggian, sehingga ketika anda melakukan zoom pada map maka saat itu anda sedang meminta data gambar yang baru. Fitur-fitur pada Google Maps membuatnya dapat menampilkan gambar sesuai dengan zoom yang dinginkan, melakukan marking, trekking rute, dan lain-lain

Pengiriman Audio

Transmisi audio maupun video biasa kita sebut dengan streaming. Yang membedakan hanyalah jika audio hanya suara, video berupa suara dan visualisasi. Di sini dijelaskan aplikasi web, ShoutCast, merupakan aplikasi yang dapat mengirimkan data audio secara broadcast kepada media player client. Format audio yang didukung berupa MP3 dan ACC. Aplikasi ini memiliki model Client-Server dan menggunkan protocol khusus, yaitu Ultrafox 2.1, yang merupakan pengembangan dan protocol HTTP. Dalam mentransmisikan data audio, dapat kita sisipkan metadata, yaitu file yang berisi mengenai informasi terkait dengan data audio tersebut.

Pengiriman Video

Dalam pengiriman video, ada beberapa metode yaitu streaming, progressive download, dan adaptive streaming. Metode streaming biasa seperti diketahui yaitu server mengirimkan data yang diminta klien dan browser klien langsung menjalankan data video tersebut, kualitas video dengan menggunakan metode ini sangat bergantung kepada bit rate dari koneksi klien.

Progressive download merupakan metode dimana kita menyimpan terlebih dahulu data video secara temporary di cache harddisk, kemudian di jalankan pada browser. Kelebihannya kualitas video tetap terjaga, hanya bergantung dari kecepatan download saja.
Kemudian ada metode Pseudo Streaming, merupakan gabungan kelebihan antara streaming dan progressive download. Dalam pseudo streaming, data video dipecah menjadi bagian-bagian kecil, sehingga kita dapat melihat data video dari detik berapapun. Aplikasi yang menggunakan Pseudo streaming adalah Youtube

Sedangkan metode Adaptive Streaming, dimana dalam metode ini diterapkan kecerdasan untuk membaca bitrate dari keoneksi dari klien. Apabila bit rate rendah maka akan dikirimkan data video dengan kualitas rendah, dan apabila bit rate tinggi makan dikirimkan data video kulaitas tinggi. Metode ini sudah diadopsi oleh beberapa perusahaan software terkemuka, Adobe dengan RTMP (Real Time Messaging Protocol), Apple dengan HLS (HTTP Live Streaming), dan Microsoft dengan Smooth Streaming.

Selasa, 20 November 2012

Pengiriman data melalui aplikasi berbasis desktop

Dalam tiap aplikasi yang ada pasti proses pengiriman datanya dilakukan dengan cara yang berbeda. Salah satunya adalah aplikasi berbasis desktop. Aplikasi desktop yang biasa kita gunakan antara lain :

    Yahoo Messenger
    Skype
    GTalk
    dll

Pengiriman Teks

Proses pengiriman teks yang biasa dilakukan adalah melalui media messenger, yaitu media untuk berkomunikasi melalui jaringan internet dengan cara chatting, video web cam, dsb. Salah satunya adalah GTalk. Gtalk menggunalan protokol XMPP atau Jabber.

Jabber merupakan suatu protokol XML terbuka yang proses pertukaran message dan presence yang real-time antara dua user di dalam jaringan Jabber. Pada mulanya Jabber berdifat asynchronous, platform IM yang dapat digunakan secara luas dan jaringan IM berdasarkan fungsinya. Hampir sama dengan sistem IM yang resmi seperti AOL Instant Messaging (AIM) dan Yahoo Instant Messaging.

Beberapa tahun yang lalu komunitas Jabber telah mempublikasi protokol tersebut sebagai Request for Comment (RFC) pada Internet Engineering Task Force (IETF) sebagai bagian dari standar Instant Messaging and Presence Protocol (IMPP). Tetapi IMPP tidak berjalan dengan sukses. Kemudian Internet Engineering Steering Group (IESG) menyetujui formasi Extensible Messaging and Presence Protocol Working Group (XMPP) dengan internet, dimana protokol tersebut digunakan untuk memodifikasi protokol yang sudah ada agar dapat memenuhi RFC 2799 seperti persyaratan yang telah ditentukan dalam spesifikasi Common Presence and Instant Messaging (CPIM). Jabber terkenal dengan arsitektur client-server. Client Jabber dapat berkomunikasi dengan server Jabber pada domain Jabber mereka. Domain Jabber memiliki keuntungan, yaitu kemampuannya dalam memisahkan zona komunikasi yang ditangani oleh server Jabber yang berbeda, tidak seperti sistem IM lainnya yang menggunakan satu server terpusat untuk seluruh zona komunikasi.

XMPP merupakan protokol hasil formalisasi IETF dari streaming protokol standar XML, yang dikembangkan oleh Jabber Community. Protokol ini menghadirkan fitur lengkap untuk Instant Messaging dan Presence di atas data transport layer yang bersifat dedicated. Protokol ini telah stabil sejak tahun 1999. Jabber/XMPP adalah sebuah protokol yang telah didokumentasikan dengan baik dari seluruh protokol yang ada dan mudah untuk dipahami.

Cara Jabber/XAMPP bekerja sering digambarkan seperti sebuah router XML, artinya jika pesan dikirim dalam bentuk paket XML dan route-nya (pesan tersebut akan dikirim ke lokasi yang berdasar content-nya). Jabber didesain serupa dengan HTTP dan Email, tetapi karena protokol ini relatif baru jadi sampai saat ini Jabber memiliki sistem keamanan yang jauh lebih baik.

Kekhasan yang dimiliki oleh protokol Jabber antara lain modular server dan simple clinet, sebagai berikut :

    Modular Server
        Server Jabber memiliki 3 peranan utama, yaitu :
            Menangani koneksi client dan berkomunikasi secara langsung dengan client Jabber
            Berkomunikasi dengan server Jabber yang lain
            Mengoordinasikan beragam komponen server yang diasosiasikan dengan server
        Server Jabber didesain modular, dengan paket kode internal yang khusus sehingga dapat menangani fungsionalitasnya seperti registrasi, autentikasi, present, contact list, penyimpanan pesan yang berstatus off-line dan sebagainya. Selain itu server Jabber juga dapat dikembangkan dengan komponen eksternal yang memungkinkan administrator server untuk mensuplemen server pusat dengan layanan tambahan semacam gerbang untuk sistem messaging lainnya.
   
    Simple Client
        Satu kriteria desain sistem Jabber bahwa ia harus memiliki kemampuan untuk mendukung clinet yang sederhana. Misalnya koneksi telnet pada port yang benar. Dalam hal ini tentu saja arsitektur Jabber memberikan sedikit batasan pada client.


Pengiriman audio dan video di jaringan internet berbeda dengan pengiriman text. Hal ini disebabkan ukuran data yang akan ditransmisikan lebih besar. Tentunya diperlukan metode-metode yang dapat memudahkan proses transmisi data. Contoh aplikasi desktop yang dapat mengirimkan audio dan video adalah skype. Skype merupakan sebuah program komunikasi dengan teknologi P2P (peer to peer). Program ini merupakan program bebas (dapat diunduh gratis) dan dibuat dengan tujuan penyediaan sarana komunikasi suara (voice) berkualitas tinggi yang murah berbasiskan internet untuk semua orang di berbagai belahan dunia. Pengguna Skype dapat berbicara dengan pengguna Skype lainnya dengan gratis, menghubungi telepon tradisional dengan biaya (skypeOut), menerima panggilan dari telepon tradisional (SkypeIn), dan menerima pesan suara.

Arsitektur skype tidak murni peer to peer (P2P). karena dalam arsitektur skype terdapat tiga komponen, yaitu server, supernode, dan client.

    Server
        Merupakan server pusat dari skype. Berfungsi untuk menangani masalah authentifikasi pada pengguna skype. Kemudian server akan memberitahukan kepada teman-temannya yang lain bahwa salah satu temannya sedang available.
   
    Supernode
        Merupakan titik akhir dimana klien terhubung. Setiap node dengan ip publik yang memiliki CPU, memori dan bandwith yang memadai merupakan kandidat untuk menjadi supernode.
   
    Client
        Merupakan aplikasi disisi klien yang digunakan untuk berkomunikasi dengan pengguna skype lainnya.

Prinsip Kerja

Dalam proses transfer data tentunya diperlukan sebuah metode agar data tepat sampai pada tujuan. Apalagi jika data yang harus ditransfer memiliki ukuran yang relative besar. Dengan keterbatasan bandwith setiap aplikasi memiliki metodenya masing-masing. Berikut garis besar cara kerja skpe :

    Suara yang akan dikirim ditangkap dan ditranskodekan dari format analog (biasanya microphone) ke dalam format digital.
    Kemudian disampaikan ke kompresor untuk proses peminimalisasian ukuran.
    Pada proses peminimalisasian, data dipecah – pecah menjadi bagian yang lebih kecil dan diberi “cap”.
    Ketika proses “pengecapan” akan diberikan alamat tujuan dan juga kode nomor. Kode nomor digunakan untuk membedakan bagian – bagian data yang telah dipecah – pecah tadi. Selanjutnya dilakukan proses enkripsi.
    Kemudian data digital ditransmisikan melalui jaringan IP
    Pada proses akhir yaitu perakitan kembali paket – paket tersebut menjadi bagian yang utuh kembali.

Call Signaling dan Keamanan Pada Skype

Call signaling pada skype adalah sebagai berikut :

    Jika caller dan receiver sama – sama memiliki IP public dan receiver berada dalam daftar teman caller, maka mereka akan membangun koneksi langsung lewat TCP dan menguunakan UDP sebagai media transfer.
    Jika caller atau receiver berada dibalik port-restricted NAT, maka dibutuhkan sebuah Supernode sebagai perantara.
    Jika keduanya berada di balik UDP-restricted firewall maka dibutuhkan relay diantara keduanya untuk membangun koneksi TCP. Kemudian transfer media akan melalui sisi satu ke sisi yang lain.