Rabu, 30 November 2011

Voice over IP

Voice over Internet Protocol adalah Teknologi yang menjadikan media internet untuk bisa melakukan komunikasi suara jarak jauh secara langsung. Sinyal suara analog, seperti yang anda dengar ketika berkomunikasi di telepon diubah menjadi data digital dan dikirimkan melalui jaringan berupa paket-paket data secara real time.
Dalam komunikasi VoIP, pemakai melakukan hubungan telepon melalui terminal yang berupa PC atau telepon biasa. Dengan bertelepon menggunakan VoIP, banyak keuntungan yang dapat diambil diantaranya adalah dari segi biaya jelas lebih murah dari tarif telepon tradisional, karena jaringan IP bersifat global. Sehingga untuk hubungan Internasionaldapat ditekan hingga 70%. Selain itu, biaya maintenancedapat di tekan karena voicedan data networkterpisah, sehingga IP Phone dapat di tambah, dipindah dan di ubah. Hal ini karena VoIP dapat dipasang di sembarang ethernet dan IP address, tidak seperti telepon konvensional yang harus mempunyai port tersendiri di Sentral atau PBX (Private branch exchange).


Sejarah Perkembangan Teknologi VoIP
Sejarah Perkembangan teknologi VoIP dimulai dari penemuan telepon pada tahun 1876 oleh Alexander Graham Bell.  Kemudian dikembangkan lagi teknologi PSTN ( Public Switched Telephone Network ) yang sudah berkembang sampai sekarang.  Beberapa tahun kemudian mulai berkembang teknologi yang baru. Pembuatan Personal Computer (PC) secara massal, system komunikasi telepon selular dan terakhir system berdasarkan jaringan internet yang memberikan layanan e-mail, Chat dan lain-lain.
Teknologi VoIP diperkenalkan setelah internet mulai berkembang sekitar tahun 1995.  Pada mulanya kemampuan mengirimkan suara melalui internet hanya merupakan eksperimen dari beberapa orang atau perusahaan kecil. Ini dimulai dengan perusahaan seperti Vocaltech dan kemudian pada akhirnya diikuti oleh Microsoft dengan program Netmeeting-nya. Pada saat itu jaringan komputer internet masih sangat lambat. Di rumah-rumah (khususnya di Amerika) masih digunakan dial-up dengan kecepatan 36,6 Kbyte. Backbone Internet pun masih kecil. Aplikasi yang bersifat menghabiskan bandwidth, seperti misalnya suara atau video, masih sangat terbatas penggunaannya di pusat penelitian yang memiliki bandwidth besar.
Untuk di Indonesia komunitas pengguna / pengembang VoIP di masyarakat, berkembang di tahun 2000. Komunitas awal pengguna / pengembang VoIP adalah “VoIP Merdeka” yang dicetuskan oleh pakar internet Indonesia, Onno W. Purbo. Teknologi yang digunakan adalah H.323 yang merupakan teknologi awal VoIP. Sentral VoIP Merdeka di hosting di Indonesia Internet Exchange (IIX) atas dukungan beberapa ISP dan Asossiasi Penyelenggara Jaringan Internet (APJII).
Di tahun 2005, Anton Raharja dan tim dari ICT Center Jakarta mulai mengembangkan VoIP jenis baru berbasis Session Initiation Protocol (SIP). Teknologi SIP merupakan teknologi pengganti H.323 yang sulit menembus proxy server. Di tahun 2006, infrastruktur VoIP SIP di kenal sebagai VoIP Rakyat.
Bagaimana Cara Kerja VoIP?
Prinsip kerja VoIP adalah mengubah suara analog yang didapatkan dari speaker pada Komputer menjadi paket data digital, kemudian dari PC diteruskan melalui Hub/ Router/ ADSL Modem dikirimkan melalui jaringan internet dan akan diterima oleh tempat tujuan melalui media yang sama. Atau bisa juga melalui melalui media telepon diteruskan ke phone adapter yang disambungkan ke internet dan bisa diterima oleh telepon tujuan.
Untuk Pengiriman sebuah sinyal ke remote destination dapat dilakukan secara digital yaitu sebelum dikirim data yang berupa sinyal analog diubah ke bentuk data digital dengan ADC (Analog to Digital Converter), kemudian ditransmisikan, dan di penerima dipulihkan kembali menjadi data analog dengan DAC (Digital to Analog Converter). Begitu juga dengan VoIP, digitalisasi voice dalam bentuk packets data, dikirimkan dan di pulihkan kembali dalam bentuk voice di penerima. Format digital lebih mudah dikendaikan ; dalam hal ini dapat dikompresi, dan dapat diubah ke format yang lebih baik.dan data digital lebih tahan terhadap noise daripada analog.
Bentuk paling sederhana dalam sistem VoIP adalah dua buah komputer terhubung dengan internet. Syarat-syarat dasar untuk mengadakan koneksi VoIP adalah komputer yang terhubung ke internet, mempunyai sound card yang dihubungkan dengan speaker dan mikropon. Dengan dukungan software khusus, kedua pemakai komputer bisa saling terhubung dalam koneksi VoIP satu sama lain. Bentuk hubungan tersebut bisa dalam bentuk pertukaran file, suara, gambar. Penekanan utama dalam VoIP adalah hubungan keduanya dalam bentuk suara.
Pada perkembangannya, sistem koneksi VoIP mengalami evolusi. Bentuk peralatan pun berkembang, tidak hanya berbentuk komputer yang saling berhubungan, tetapi peralatan lain seperti pesawat telepon biasa terhubung dengan jaringan VoIP. Jaringan data digital dengan gateway untuk VoIP memungkinkan berhubungan dengan PABX atau jaringan analog telepon biasa. Komunikasi antara komputer dengan pesawat (extension) di kantor adalah memungkinkan. Bentuk komunikasi bukan Cuma suara saja. Bisa berbentuk tulisan (chating) atau jika jaringannya cukup besar bisa dipakai untuk Video Conference. Dalam bentuk yang lebih lanjut komunikasi ini lebih dikenal dengan IP Telephony yang merupakan komunikasi bentuk multimedia sebagai kelanjutan bentuk komunkasi suara (VoIP). Keluwesan dari VoIP dalam bentuk jaringan, peralatan dan media komunikasinya membuat VoIP menjadi cepat popular di masyarakat umum. Protokol-protokol Penunjang VoIP
Ada beberapa protokol yang menjadi penunjang jaringan VoIP, antara lain :
1. TCP/IP (Transfer Control Protocol/Internet Protocol) merupakan sebuah protokol yang digunakan pada jaringan internet. Standarisasi diperlukan agar antar komputer terjadi kesepakatan tentang tatacara pengiriman dan penerimaan data     sehingga data dapat dikirimkan dan diterima dengan benar. Protokol ini terdiri dari dua bagian besar, yaitu TCP dan UDP serta dibawah lapisan tsb ada protokol yang bernama IP.
a. Transmission Control Protocol (TCP) merupakan protokol yang menjaga reliabilitas hubungan komunikasi end-to-end. Konsep dasar cara kerja TCP adalah mengirim dan menerima segmen–segmen informasi dengan panjang data bervariasi pada suatu datagram internet. Dalam hubungan VoIP, TCP digunakan pada saat signaling, TCP digunakan untuk menjamin setup suatu panggilan pada sesi signaling. TCP tidak digunakan dalam pengiriman data suara karena pada komunikasi data VoIP penanganan data yang mengalami keterlambatan lebih penting daripada penanganan paket yang hilang.
b. User Datagram Protocol (UDP) merupakan salah satu protocol utama diatas IP, yang lebih sederhana dibandingkan dengan TCP. UDP digunakan untuk situasi yang tidak mementingkan mekanisme reliabilitas. UDP digunakan pada VoIP pada pengiriman audio streaming yang berlangsung terus menerus dan lebih mementingkan kecepatan pengiriman data agar tiba di tujuan tanpa memperhatikan adanya paket yang hilang walaupun mencapai 50% dari jumlah paket yang dikirimkan. Karena UDP mampu mengirimkan data streaming dengan cepat. Untuk mengurangi jumlah paket yang hilang saat pengiriman data (karena tidak terdapat mekanisme pengiriman ulang) maka pada teknologi VoIP pengiriman data banyak dilakukan pada private network.
c. Internet Protocol (IP)
 Internet Protocol didesain untuk interkoneksi sistem komunikasi komputer pada jaringan  paket switched. Pada jaringan TCP/IP, sebuah komputer di identifikasi dengan alamat IP. Tiap-tiap computer memiliki alamat IP yang unik, masing-masing berbeda satu sama lainnya. Hal ini dilakukan untuk mencegah kesalahan pada transfer data. Terakhir, protokol data akses berhubungan langsung dengan media fisik. Secara umum protokol ini bertugas untuk menangani pendeteksian kesalahan pada saat transfer data. Untuk komunikasi datanya, Internet Protokol mengimplementasikan dua fungsi dasar yaitu addressing dan fragmentasi. Salah satu hal penting dalam IP dalam pengiriman informasi adalah metode pengalamatan pengirim dan penerima.
2. SIP (Session Initiation Protocol)
    yaitu protokol yang digunakan untuk inisiasi, modifikasi dan terminasi sesi komunikasi VoIP. SIP adalah protokol Open     Standard yang dipublikasikan oleh IETF, RFC 2543 dan RFC 3261. Selain digunakan untuk negosiasi sesi komunikasi voice, SIP juga dapat digunakan untuk negosiasi sesi komunikasi data media lain seperti video dan text. Disebutkan sebagai hanya melakukan “negosiasi sesi komunikasi” adalah karena SIP merupakan signalling protocol, bukan media transfer protocol. Artinya SIP tidak menghantar data media (voice, video dan text), melainkan hanya melakukan negosiasi sesi komunikasi saja dan memanfaatkan protokol lain seperti RTP sebagai media transfer protocol.
3. H.323
    VoIP dapat berkomunikasi dengan sistem lain yang beroperasi pada jaringan packet-switch. Untuk dapat berkomunikasi     dibutuhkan suatu standarisasi sistem komunikasi yang kompatibel satu sama lain. Salah satu standar komunikasi pada VoIP menurut rekomendasi ITU-T adalah H.323 (1995-1996). Standar H.323 terdiri dari komponen, protokol, dan prosedur yang menyediakan komunikasi multimedia melalui jaringan packet-based. Bentuk jaringan packet-based yang dapat dilalui antara lain jaringan internet, Internet Packet Exchange (IPX)-based, Local Area Network (LAN), dan Wide Area Network (WAN). H.323 dapat digunakan untuk layanan – layanan multimedia seperti komunikasi suara (IP telephony), komunikasi video dengan suara (video telephony), dan gabungan suara, video dan data.
Aplikasi yang digunakan
Ada beberapa protokol yang menjadi penunjang jaringan VoIP yang bisa digunakan, antara lain :
1. Skype
Skype adalah software aplikasi komunikasi suara berbasis IP melalui internet antara sesama pengguna Skype. Pada saat menggunakan Skype maka pengguna yang sedang online akan mencari pengguna Skype lainnya Lalu mulai membangun jaringan untuk menemukan pengguna-pengguna lainnya. Skype memiliki berbagai macam feature yang dapat memudahkan penggunanya. Skype juga dilengkapi dengan SkypeOut dan SkypeIn yang memungkinkan pengguna untuk berhubungan dengan pengguna telepon konvensional dan telepon selular.
Setiap pengguna Skype memiliki sebuah username dan sebuah password. Dan setiap username memiliki sebuah alamat e-mail yang teregistrasi. Untuk masuk ke sistem Skype, pengguna harus menyertakan pasangan username dan passwordnya. Jika pengguna lupa password tersebut maka Skype akan mengubahnya dan mengirimkan password yang baru ke alamat e-mail pengguna yang sudah teregistrasi.

2. Neetmeting
Aplikasi ini dikembangkan oleh Microsoft yang merupakan salah satu aplikasi yang mendukung VoIP dan juga Video Conference. Aplikasi ini menggunakan protocol H.323 untuk Video dan Audio Conference. Sama dengan aplikasi lainnya tetap memerlukan registrasi untuk mendapatkan user id dan password, agar bisa berkomunikasi dengan para pengguna netmeeting lainnya. Aplikasi ini sudah include didalam system windows 95 sampai windows XP.

3. X-Lite
X-Lite adalah sebuah aplikasi opensource pendukung VoIP yang menggunakan teknologi SIP(Session Initiation Protocol). X-Lite di kembangkan pertama sekali oleh CounterPath.  ada 2 release yang telah dikeluarkan untuk aplikasi ini yang mempunyai perbedaan feature. X-Lite 2.0 digunakan untuk Macintosh dan Linux yang menggunakan X-Pro code base dan X-Lite 3.0 untuk windows yang menggunakan eveBeam code base. X-lite 2.0 hanya untuk suara saja sedangkan 
X-Lite 3.0 sudah memiliki feature suara, video dan instant messaging atau media untuk chatting.


Security yang bisa diterapkan dalam VoIP
1. VoIP call private network
Kita dapat mendengarkan dengan jelas teman kita yang sedang  berbicara dengan phone tradisional bila kita berada di dalam 1 ruangan yang sama., dari sini kita dapat simpulkan perlukah call privacy ?.  VoIP adalah sebuah teknologi paket, menyerupai data packet seperti didalam LAN dan WAN. Paket suara dapat ditangkap  oleh sebuah agent, ada beberapa cara untuk memecahkan problem ini, metode yang termudah adalah dengan me –route-kan  voice traffic over  dengan private network.
Hal yang paling utama adalah bahwa public internet tidak ada yang menjamin dari segi keamanannya dan reliabilitasnya. Ketika menggunakan kekuatan untuk route  public internet  perusahaan menggunakan IPSec VPNs untuk authentication dan encryption untuk melindungi dari sniffer.  Penyadapan voice traffic di internet  sangat mungkin tetapi sangat sulit, penangkapan dapat dilakukan didalam VoIP  dengan cara memasang Radio shack, maka attacker dengan mudah akan menyadap VoIP call  dan men-decode–kan.
Seorang network administrator harus mempunyai resource untuk proteksi terhadap VoIP di jarngan LAN, jika para karyawan perusahaan telah menggunakan softphone, komputer PC enable dengan voice capabilities, seorang admin dapat meng-install VPN client untuk keamanan dengan menggunakan end to end encrypted tunnel, tetapi jika tidak dilakukanpun bisa menggunakan IP handset
2. Firewall dan Packetized Voice
Firewall dengan VoIP mempunyai relasi yang tidak selalu seirama, pada layanan real-time (real time service), VoIP berupaya menekan supaya tidak ada delay, tapi keadaan firewall harus  memproses dulu VoIP packet yang dibebankan, maka bisa akan terjadi traffic flow.  H.323 dan SIP mempercayakan kepada TCP untuk signaling dan call setup.  Dan UDP untuk media paket.  Dengan H.323 dan SIP firewall mengerti  kapan  port akan di open atau di close untuk VoIP trafficport akan di open selama ada call.
Bagaimanapun juga VoIP akan menggunakan Real Time Protocol (RTP) untuk menyampaikan media paket., kelebihannya disini RTP dapat menggunakan berbagai port sembarang mulai dari 1024 sampai 65,5534. Masalah akan muncul juga jika terjadi pertambahan volume panggilan (call volume).  Lacour (Netscreen) berpendapat bahwa voice traffic dapat mempengaruhi kinerja proses load di firewall, disini voice traffic dapat mengetahui  voice packet   dilakukan  H.323 dan pesan dari SIP ( SIP messaging). Jika jumlah call bertambah banyak, firewall akan bekerja keras  ( delaying packet)  dan kualitas voice  akan mengalami degradasi sekitar 50 – 100 millisecond.

Ukuran paket yang dikirimkan juga mempengaruhi performance firewall, ketika peralatan networking cukup comfortable     dalam menangani paket yang besar, maka untuk menangani paket yang berukuran lebih kecil akan membuat kolaps,     biasanya voice traffic berukuran antara 50 bytes – 200 bytes. Firewall  bisa mendukung (support interface) 100Mbit/sec,     akan tetapi CPU akan mengalami max outway  sebelum 50 byte paket, jika kita merasa ternyata firewall tidak bisa cukup     bagus dalam menjalankan jobnya, salah satu solusinya adalah tunnel voice traffic menggunakan  IP Sec VPN tunnel,     bagaimanapun ini juga memerlukan power di VPN gateway untuk menjamin bahwa enkripsi dan dekripsi tidak memberi     kontribusi dal hal call latency.

3. VoIP Lockdown
Peralatan dengan IP PBX dan VoIP gateway ( semacam proxy SIP ).  Posisi server ibarat hati yang rentan terhadap attack,  contoh pada peralatan cisco ‘s windows based mudah terkena NIMDA worm.  Sistem operasi rentan terhadap serangan, banyak virus yang dibuat untuk platform microsoft dari pada varian nya UNIX, pada pendekatan standart menggunakan locking down VoIP system antara lain seperti : Removing unnecesarry service untuk mereduksi attack vector , virus update dan isolasi terhadap VoIP server, ada yang lainnya lagi dengan cara scan ulang infrastruktur yang dimiliki, dicari kelemahannya lalu tata ulang  arsitekturnya.
Seorang attacker dapat memasang program trojan horse di  komputer pc tsb, maka voice network dapat terserang juga, untuk mencegah serangan data network, sebaiknya dipisahkan voice dan data via VLAN, dengan segmentasi yang tangguh, serangan terhadap data network tidak akan mempengaruhi voice traffic dan voice quality.  Yang terakhir amankan gateway VoIP anda dari serangan virus.
Kelebihan dan Kelemahan Tekonologi VoIP



Dynamic Host Configuration Protocol (DHCP)

Menurut Microsoft “Dynamic Host Configuration Protocol (DHCP) is an IP standard designed to reduce the complexity of administering IP address configurations.” Dynamic Host Configuration Protocol (DHCP) adalah suatu layanan yang secara otomatis memberikan alamat IP kepada komputer yang meminta ke DHCP Server. Dengan demikian, sebagai seorang administrator jaringan, tidak perlu lagi mengatur alamat IP Address pada komputer klien yang dikelolanya. Bayangkan saja jika sebuah perusahaan memiliki komputer lebih dari 100, tentu saja akan membuat report administrator untuk mengesetnya. DHCP juga dapat mengurangi resiko duplikat IP Address atau Invalid IP address.


Sebuah server DHCP dapat diatur dengan pengaturan yang sesuai untuk keperluan jaringan tertentu. Seperti pengaturan Default gateway, Domain Name System (DNS), Subnet Mask, dan rentang alamat IP yang bisa diambil oleh komputer klien. Komputer yang menyediakan layanan ini disebut dengan DHCP Server, sedangkan komputer yang meminta disebut dengan DHCP Client.

DHCP biasanya terdapat pada sistem operasi berbasis server semisal Windows 2000 server, winfdows 2003 server dan Mikrotik, dengan adanya DHCP. administrator tidak perlu lagi menyeting IP Address kepada anggota jaringan, tapi anggota jaringan akan secara otomatis mendapatkan IP Address dari DHCP Server. 

Istilah-istilah yang berkaitan dengan DHCP:
·         IP Address/Protokol: Alamat yang digunakan untuk anggota jaringan, yang meliputi LAN Card, Access point, dan Website.
·         Scope: jangkauan IP Address yang akan dibagikan kepada anggota jaringan, nilai scope harus memiliki Network Identifications (NID) yang sama dengan IP Server/gateway dan Host Identifications (HID) beda dengan gateway.
·         Gateway: IP Address/anggota jaringan yang bertugas membagi IP Address, terkadang IP gateway menjadi IP server
·         Exclussion: istilah ini hanya muncul pada Sistem Operasi Server, yaitu jangkauan IP address dalam scope yant tidak akan didistribusikan karena akan digunakan untuk keperluan khusus.
Misal jika kita memiliki IP Address pada LAN 192.168.0.1, maka kita sebaiknya menggunakan IP yang kosong untuk dibuat menjadi Scope, misal scope: 192.168.0.2 sampai dengan 192.168.0.10. Gatewaynya adalah 192.168.0.1 (IP Server).
Langkah terakhir adalah mensetting IP Address pada client/anggota jaringan. Kita cukup mensetting IP Client secara otomatis, jika selesai, cek dengan perintah
IPCONFIG [spasi]/release (enter)       —> untuk menghilangkan settingan awal
IPCONFIG [spasi]/renew (enter)         —> untuk meminta IP Address dari DHCP

Cara Membuat DHCP Server
Untuk membuat DHCP server, Install dulu paketnya. Di Ubuntu 8.04 nama paketnya adalah : dhcp3-server. Langsung buka synaptic paket manager dan search dengan keyword itu. pastikan repo internet telah aktif. Setelah terinstall masuk tahap kedua.

Tahap kedua, check service dhcp apakah telah aktif. Ini untuk memastikan saja. Secara default langsung aktif tanpa perlu reboot. Buka : System> Administration > Service. Akan muncul jendela : service setting. Perhatikan di list nama : DHCP server (dhcp3-server) sudah diberi tanda centang. Sekali lagi ini cuma untuk memastikan saja.

Konfigurasi DHCP Server
Contoh administrasi awal PC saya :
- OS Ubuntu Server 8.04
- Berfungsi sebagai Router sekaligus DHCP Server (jd punya 2 NIC)
- eth0, IP Luar/Red IP : 192.168.100.1 (ini IP dari ISP saya)
- eth1, IP Dalam/Green IP : 192.168.0.1 (ini IP jaringan dalam)
- eth1
IP : 192.168.0.1
Subnet mask : 255.255.255.0


1. Memilih NIC yg akan digunakan untuk output DHCP server.
Kalau hanya menggunakan 1 NIC maka tidak perlu diset. Dalam kasus ini PC router saya menggunakan 2 NIC. secara default DHCP menggunakan NIC eth0. Nah, karena eth0 saya gunakan utk IP luar maka saya pindahkan service DHCP ke eth1. Caranya :

- buka terminal lalu edit file /etc/default/dhcp3-server
- $ sudo nano /etc/default/dhcp3-server
nah ini isi file tersebut :
# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/dhcp3-server by the maintainer scripts
#
# This is a POSIX shell fragment
#
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES=" "

- Pada baris paling bawah diedit hingga tertulis seperti ini :
INTERFACES="eth1"
- Trus simpan perubahan file ini dengan menekan control x, lalu tekan y dan enter.


2. Konfigurasi/ administrasi DHCP Server.
- Buka terminal lalu edit file dhcpd.conf. Ketik :
$ sudo nano /etc/dhcp3/dhcpd.conf
nah file ini banyak isinya. Kita hapus saja lalu isikan script berikut ini :
# Sample /etc/dhcp3/dhcpd.conf
# (add your comments here)
# Jangan lupa tanda semicolon alias titik koma pada akhir pernyataan
# Ini untuk menentukan expirednya sebuah IP dlm satuan detik
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
# Ini IP dalam PC saya yg berfungsi sebagai router
option routers 192.168.0.1;
# Ini IP DNS anda
option domain-name-servers 192.168.0.1;
# Nama domain anda
option domain-name "trh.com";

# Ini rentang IP yang akan dibagikan oleh DHCP server
subnet 192.168.0.0 netmask 255.255.255.0 {
# Rentang pertama IP no 10 sampai 100
range 192.168.0.10 192.168.0.100;
# Rentang kedua IP no 150 sampai 200
range 192.168.0.150 192.168.0.200;
}
# Selesai


3. Restart kartu jaringan anda, ketik :
$ sudo /etc/init.d/networking restart

4. Restart DHCP3 Server anda, ketik :
$ sudo /etc/init.d/dhcp3-server restart

update 03/04/2009
Memberikan IP statis lewat DHCP server ke NIC tertentu
1. Dari PC router, masuk mode terminal lalu ketik,
aspan@ubuntu:/etc/dhcp3$ arp
Maka akan muncul seperti ini :
Address HWtype HWaddress Flags Mask Iface
192.168.0.13 ether 00:1A:92:22:2F:37 C eth1
192.168.0.19 (incomplete) eth1
192.168.0.233 ether 00:19:21:D6:D1:32 C eth1
192.168.100.65 ether 00:E0:4D:49:82:96 C eth0
192.168.0.3 ether 00:1A:92:22:56:59 C eth1

Perintah arp untuk mengetahui mac address masing2 NIC.
2. Edit file dhcpd.conf, ketik :
$sudo nano /etc/dhcp3/dhcpd.conf
password :

tambahkan baris berikut ini :
#IP statis
#1 komputer SDM
host sdm {
hardware ethernet 00:1A:92:22:56:59;
fixed-address 192.168.0.3;
}
simpan perubahan dengan menekan ^x lalu pilih Y dan enter.

Catatan :
jangan lupa tanda kurung kurawal dan semicolon. Trus, statement fixed-address menggunakan tanda penghubung.

3. Restart dhcp server anda, ketik :
$ sudo /etc/init.d/dhcp3-server restart

Update hari ini selesai.
Nah selesai, tinggal set PC client untuk mendapatkan dinamic IP via DHCP.



DNS Service and Protocol

DNS merupakan sistem berbentuk database terdistribusi yang akan memetakan/mengkonversikan nama host/mesin/domain ke alamat IP (Internet Protocol) dan sebaliknya dari alamat IP ke nama host yang disebut dengan reverse-mapping.

Dalam jaringan data, perangkat diberi label dengan alamat IP numerik, sehingga mereka dapat berpartisipasi dalam mengirim dan menerima pesan melalui jaringan. Namun, kebanyakan orang memiliki kesulitan mengingat alamat numerik. Oleh karena itu, nama domain diciptakan untuk mengkonversi alamat numerik menjadi nama, yang sederhana dikenali.

Di Internet nama domain, seperti www.cisco.com, jauh lebih mudah bagi orang untuk mengingat dari 198.132.219.25, yang merupakan alamat numerik yang sebenarnya untuk server ini. Juga, jika Cisco memutuskan untuk mengubah alamat numerik,tentunya akan transparan kepada usernya, karena nama domain akan tetap www.cisco.com. Alamat baru hanya akan dihubungkan ke nama domain yang ada dan konektivitas dipertahankan. Ketika jaringan masih kecil, akan terlihat sederhana untuk menjaga pemetaan antara nama domain dan alamat yang mereka wakili. Namun, bila jaringan mulai tumbuh dan jumlah perangkat meningkat, sistem manual ini menjadi tidak bisa dijalankan.

Domain Name System (DNS) diciptakan untuk nama domain ke alamat resolusi untuk jaringan ini. DNS menggunakan seperangkat server yang didistribusikan untuk menyelesaikan nama-nama yang terkait dengan alamat nomor.

Protokol DNS bekerja dengan cara mendefinisikan layanan otomatis nama sumber daya yang cocok dengan alamat jaringan numerik yang diperlukan. Termasuk format untuk pertanyaan, tanggapan, dan format data. DNS protokol komunikasi menggunakan format tunggal yang disebut pesan. Format pesan ini yang digunakan untuk semua jenis permintaan klien dan respon server, pesan kesalahan, dan transfer informasi antara server resource record.

DNS adalah layanan klien/server. Namun, client DNS(resolver) berjalan sebagai layanan itu sendiri, bukan client yang menjadi browser atau aplikasi email client. Resolver bertanggung jawab untuk mengeluarkan permintaan dan pengolahan tanggapan dari server DNS.


http dan https

HTTP adalah sebuah protokol meminta/menjawab antara client dan server. Sebuh client HTTP seperti web browser, biasanya memulai permintaan dengan membuat hubungan TCP/IP ke port tertentu di tuan rumah yang jauh (biasanya port 80). Sebuah server HTTP yang mendengarkan di port tersebut menunggu client mengirim kode permintaan (request), seperti "GET / HTTP/1.1" (yang akan meminta halaman yang sudah ditentukan), diikuti dengan pesan MIME yang memiliki beberapa informasi kode kepala yang menjelaskan aspek dari permintaan tersebut, diikut dengan badan dari data tertentu. Beberapa kepala (header) juga bebas ditulis atau tidak, sementara lainnya (seperti tuan rumah) diperlukan oleh protokol HTTP/1.1. Begitu menerima kode permintaan (dan pesan, bila ada), server mengirim kembali kode jawaban, seperti "200 OK", dan sebuah pesan yang diminta, atau sebuah pesan error atau pesan lainnya.


https adalah versi aman dari HTTP, protokol komunikasi dari World Wide Web. Ditemukan oleh Netscape Communications Corporation untuk menyediakan autentikasi dan komunikasi tersandi dan penggunaan dalam komersi elektris.

Selain menggunakan komunikasi plain text, HTTPS menyandikan data sesi menggunakan protokol SSL (Secure Socket layer) atau protokol TLS (Transport Layer Security). Kedua protokol tersebut memberikan perlindungan yang memadai dari serangan eavesdroppers, dan man in the middle attacks. Pada umumnya port HTTPS adalah 443.

Tingkat keamanan tergantung pada ketepatan dalam mengimplementasikan pada browser web dan perangkat lunak server dan didukung oleh algorithma penyandian yang aktual.

Oleh karena itu, pada halaman web digunakan HTTPS, dan URL yang digunakan dimulai dengan ‘https://’ bukan dengan ‘http://’

Kesalahpahaman yang sering terjadi pada pengguna kartu kredit di web ialah dengan menganggap HTTPS “sepenuhnya” melindungi transaksi mereka. Sedangkan pada kenyataannya, HTTPS hanya melakukan enkripsi informasi dari kartu mereka antara browser mereka dengan web server yang menerima informasi. Pada web server, informasi kartu mereke secara tipikal tersimpan di database server (terkadang tidak langsung dikirimkan ke pemroses kartu kredit), dan server database inilah yang paling sering menjadi sasaran penyerangan oleh pihak-pihak yang tidak berkepentingan.


Bagaimana Cara Kerjanya
Https bukan protokol yang terpisah, tetapi mengacu pada kombinasi dari interaksi HTTP normal melalui Socket Layer terenkripsi SSL (Secure) atau Transport Layer Security (TLS) mekanisme transportasi. Hal ini menjamin perlindungan yang wajar dari penyadap dan (asalkan dilaksanakan dengan benar dan otoritas sertifikasi tingkat atas melakukan pekerjaan mereka dengan baik) serangan.
Port default TCP https: URL adalah 443 (untuk HTTP tanpa jaminan, defaultnya adalah 80). Untuk mempersiapkan web-server untuk koneksi https penerima harus sebagai administrator dan membuat sertifikat kunci publik untuk server web. Sertifikat ini dapat dibuat untuk server berbasis Linux dengan alat seperti Open SSL yang ssl atau gensslcert SuSE. Sertifikat ini harus ditandatangani oleh otoritas sertifikat satu bentuk atau lain, yang menyatakan bahwa pemegang sertifikat adalah siapa yang mereka ajukan. Web browser pada umumnya didistribusikan dengan penandatanganan sertifikat otoritas sertifikat utama, sehingga mereka dapat memverifikasi sertifikat yang ditandatangani oleh mereka.
Bila menggunakan koneksi https, server merespon koneksi awal dengan menawarkan daftar metode enkripsi mendukung. Sebagai tanggapan, klien memilih metode sambungan, dan klien dan sertifikat server pertukaran untuk otentikasi identitas mereka. Setelah ini dilakukan, kedua belah pihak bertukar informasi terenkripsi setelah memastikan bahwa kedua menggunakan tombol yang sama, dan koneksi ditutup. Untuk host koneksi https, server harus memiliki sertifikat kunci publik, yang embeds informasi kunci dengan verifikasi identitas pemilik kunci itu. Sertifikat Kebanyakan diverifikasi oleh pihak ketiga sehingga klien yakin bahwa kuncinya adalah aman.
Https digunakan dalam banyak situasi, seperti log-in halaman untuk perbankan, bentuk Firefox log ke perusahaan, dan aplikasi lain di mana data perlu aman. Namun, jika tidak diterapkan dengan benar, https tidak sempurna, dan karena itu sangat penting bagi pengguna akhir untuk berhati-hati tentang menerima sertifikat dipertanyakan dan berhati-hati dengan informasi pribadi mereka saat menggunakan Internet.

Karakteristik Protokol
Saat Anda menggunakan protocol ini untuk mencari data, maka anda melakukan koneksi melalui TCP/IP dan umumnya pada port 80. Permintaan yang anda ketikkan di browser trediri dari beberapa informasi, yaitu alamat sumber file atau web yang diminta dan juga kode versi http yang digunakan.
Setelah itu server akan merespon dengan mengirimkan kembali ke komputer browser sebagai jawaban terhadap permintaan tersebut. Baik permintaan maupun jawaban atau tanggapan yang diberikan server terdapat beberapa data atau informasi yang akan di tampilkan di komputer browser. Data itu meliputi versi http, tanggal dan jam saat komunikasi, tipe file yang di minta, nama server serta kapasitas dokumen dalam byte.
Memang banyak istilah teknis dalam proses komunikasi http ini. Untuk mempermudah memahami protocol ini, mungkin Anda bias mempelajarinya melalui komputer Anda. Caranya, install saja sebuah software web server, seperti Apache atau WAMP Server ke kompuetr Anda.
Software ini bias didapatkan secara mudah dan gratis dengan mengunduhkan di internet. Setelah itu gunakan web server ini sebagai localhost yang tidak terhubung ke internet secara online. Sehingga Anda akan lebih leluasa mempelajarinya. 

SECURE SHELL (SSH)

Pernahkah kita melihat seorang administrator jaringan mekonfigurasi servernya yang berada di kantor dari tempat makan yang menyediakan fasilitas internet? Hal itu bukanlah yang luar biasa bagi seorang administrator jaringan. Banyak aplikasi yang bisa melakukan hal tersebut, salah satunya dengan menggunakan Secure Shell(SSH) yang biasa digunakan pada Server-server berbasis Unix (Linux, BSD).

Secure Shell (SSH) adalah aplikasi yang digunakan untuk memungkinkan mengakses sebuah komputer secara remote (jarak jauh). SSH menjadi standart untuk akses komputer jarak jauh karena aplikasi ini menggunakan authentikasi dan public key session yang terenkripsi. Dengan demikian, data yang dikirim melalui jaringan atau internet akan terkirim dengan aman.Selain menawarkan sistem keamanan, aplikasi SSH juga relatif mudah digunakan.Dengan SSH, pengguna dapat login dan transfer data ke remote PC dengan aman karena data akan dienkripsi public-key di mana masing-masing pengirim dan penerima mempunyai public-key maupun private-key. Pengirim mengenkripsi data menggunakan recipient public-key. Hanya recipient private key yang bisa digunakan untuk mendecript data tersebut.
Hampir semua sistem operasi Linux sudah menyertakan aplikasi SSH (OpenSSH) secara default pada kernelnya, artinnya untuk menjalankan aplikasi SH tidak diperlukan lagi instalasi tambahan.perlu diketahui juga bahwa OpenSSH bersifat open source yang bisa digunakan secara gratis. Untuk memastikan bahwa SSH sudah diinstal, lakukan pengecekan dengan perintah berikut:
#ssh-V
Perintah tersebut digunakan untuk mengecek versi OpenSSH yang telah terinstal. Salah satu kemampuan SSH yang sering digunakan adalah untuk remote login. SSH digunakan menggantikan aplikasi Telnet karena Telnet tidak melakukan enkripsi sehingga data yang dikirim lewat jaringan akan dapat dilihat dengan mudah. Dengan kemampuan remote login, aplikasi SSH memungkinkan administrator jaringan untuk mengelola jaringan secara remote, misalnya untuk reset password, tambah user, dan tugas administrasi jaringan lainnya. Untuk login dari localPC ke remote PC dapat dilakukan dengan format sebagai berikut:
#ssh username@remotePC
Contoh:
#ssh root@192.168.0.110
Kemampuan lain yang juga banyak dilakukan dengan SSH adalah Secure Copy (SCP) yaitu mengcopy file dari suatu host ke host lain. Atau menggunakan Secure FTP (SFTP) untuk upload dan download file.


Secure Copy (SCP)
Secure Copy (SCP) adalah perintah untuk mengcopy file atau directory dari suatu host ke host lainnya tanpa harus login dulu secara langsung pada remote PC yang diinginkan. Perintah SCP menggunakan protocol SSH untuk mentansfer data sehingga memerlukan password atau passphrase untuk authentikasi. SCP mengenkripsi baik password maupun data yang dikirim sehingga data yang terkirim tidak bisa dilihat orang di network.
Syntax penggunakan peintah SCP adalah sebagai berikut:
scp [options] [[namauser@host]host1:]namafileA… [[user@]host2:]namafileB
Misalkan kita akan mengcopy file bukubaru.txt dari localPC ke remotePC dengan user login agus dan menyimpan file-file tersebut ke direktori home agus, maka perintah yang dilakukan sebagai berikut:
scp bukubaru.txt agus@192.168.0.110:/home/agus


Secure FTP (SFTP)
Secure FTP adalah program transfer file, sama seperti program FTP. SFTP lebih banyak digunakan karena data yang ditransfer dienkrip menggunakan enkripsi SSH sehingga lebih aman ketika dikirim melalui jaringan.Format perintah SFTP juga sederhana yaitu:
#sftp namahost atau sftp namauser@hostname
Dengan SFTP, kita harus login terlebih dahulu ke PC yang kita inginkan, selanjutnya kita dapat melakukan perintah-perintah SFTP. Tidak seperti pada FTP yang memungkinkan penggunaan anonymous user, pada SFTP username harus memiliki password. Beberapa perintah yang banyak dilakukan dengan SFTP adalah sebagai berikut:
ls atau dir    menampilkan isi sebuah direktori
cd path pindah direktori
chmod mode mengganti hak akses pada sebuah file atau direktori
get namafile download file dari remotePC ke localPC
put namafile Upload file dari localPC ke remotePC
Rm namafile menghapus sebuah file
mkdir        membuat sebuah direktori
rmdir        menghapus direktori
bye atau quit    keluar
Untuk para pengguna Windows kita bisa melakukan remote login dan mengcopy file ke remotePC yang berbasis Linux dengan aplikasi Putty dan winscp, aplikasi-aplikasi tersebut bersifat freeware.

Email Service

Email merupakan sebuah layanan pengiriman surat elektronik yang dikirim melalui internet. Email dikirim dari suatu alamat email yang terdapat pada sebuah mail server kepada alamat email yang lainnya yang terdapat pada mail server yang sama maupun pada mail server yang berbeda.
Email dapat dianalogikan dengan kotak surat yang ada di kantor POS sedangkan server email dapat diibaratkan sebagai kantor POS. Dengan analogi ini sebuah mail server dapat memiliki banyak account email yang ada didalamnya.
Untuk mengirim sebuah email dari alamat email yang satu ke alamat email yang lain digunakan sebauh protocol (aturan) yaitu Simple Mail Transfer Protocol SMTP. Protocol SMTP telah menjadi aturan dasar yang disepakati untuk pengiriman email. Dengan demikian semua software email server pasti mendukung protokol ini. SMTP merupakan protokol yang digunakan untuk megirim email (komunikasi antar mail server), dan tidak digunakan untuk berkomunikasi dengan client. Sedangkan untuk client, digunakan protokol imap imaps pop3 pop3s Supaya sebuah mail server dapat di akses oleh cliet, dikembangkan sebuah aplikasi dimana client dapat mengakses email dari sebuah email server. IMAP adalah sebuah aplikasi pada layer Internet protokol yang memungkinkan client untuk

mengakses email yang ada di server. Selain IMAP ada juga POP3 yang fungsinya sama dengan imap, akan tetapi memiliki karakteristik yang berbeda dalam cara pengaksesan pada server.

Untuk dapat melakukan tugasnya, sebuah mail server harus dapat melayani pengiriman email yang mempergunakan mempergunakan protokol SMTP serta harus mampu melayani client yang ingin mengakses email dengan menyediakan IMAP dan atau POP3.

Build Your Mail Server With OpenSUSE 11.1

Adapun langkah – langkah dalam membangun mail server dengan openSUSE 11.1, sbb :
1. Instalasi Postfix

2. Konfigurasi Postfix
3. Instalasi IMAP (Dovecot)
4. Mail Server setting

1. Instalasi Postfix

Postfix dapat diperoleh pada www.postfix.org , langkah pertama adalah mendownload postfix dari situs milik postfix yang berupa source. Apabila anda ingin lebih mudah dalam melakuak instalasi, anda dapat memperoleh binary dari postfix pada situs fendor linux yang anda install, misal Linux Fedora, maka anda dapat memperoleh paketnya pada situs : http://www.redhat.com .

Langkah selanjutnya adalah :
  • melakukan instalasi. Apabila anda sudah memiliki paket Postfix, anda terlebih dahulu harus login ke dalam mesin anda, jangan lupa anda harus menjadi root untuk dapat melakukan instalasi.falcon:/home/wnx #
  • Lakukan pengecekan terhadapat postfix anda, apakah sudah terinstall atau belum.falcon:/home/wnx # rpm -qa | grep postfix
    postfix-2.5.5-6.7
  • Jika sudah terinstall, maka sekarang kita coba apakah instalasi anda sukses atau tidak. Untuk mengetahuinya kita cek bersama – sama. Pertama kali kita cek apakah port yang digunakan Protocol SMTP untuk mengirimkan email (port 25) dalam keadaan kosong.Ketik :
    falcon:/home/wnx # nmap localhost
    Starting Nmap 4.75 ( http://nmap.org ) at 2009-07-02 23:01 EDT
    Interesting ports on localhost (127.0.0.1):
    Not shown: 991 closed ports
    PORT STATE SERVICE
    22/tcp open ssh
    25/tcp open smtp
    80/tcp open http
    110/tcp open pop3
    111/tcp open rpcbind
    143/tcp open imap
    443/tcp open https
    631/tcp open ipp
    3128/tcp open squid-http
Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds
Perintah yang diketik akan memunculkan status port serta ip mana yang sedang bekerja atau digunakan. Pada gambar diatas, port 25 masih kosong dan belum ada yang memakai, berarti kita dapat dengan aman menggunakan port tersebut.
  • Sekarang anda dapat mengaktifkan Postfix Mail Server anda.falcon:/home/wnx # service postfix start done
  • Untuk memastikan Postfix mail server anda telah berjalan, dapat di cek dengan menggunakan nmap. Apabila kita cek menggunakan nmap, maka akan terlukat bahwa port 25 telah terbuka dan digunakan oleh protokol SMTP.falcon:/home/wnx # nmap localhost
    Starting Nmap 4.75 ( http://nmap.org ) at 2009-07-02 23:01 EDT
    Interesting ports on localhost (127.0.0.1):
    Not shown: 991 closed ports
    PORT STATE SERVICE
    22/tcp open ssh
    25/tcp open smtp
    80/tcp open http
    110/tcp open pop3
    111/tcp open rpcbind
    143/tcp open imap
    443/tcp open https
    631/tcp open ipp
    3128/tcp open squid-http
Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds
  • Untuk lebih memastikan bahwa Postfix telah berjalan, kita coba telnet pada port SMTP yang terbuka tersebut :Jika config anda seperti pada config dibawah, maka config anda telah benar.falcon:/home/wnx # telnet localhost 25
    Trying 127.0.0.1…
    Connected to localhost.
    Escape character is ‘^]’.
    220 falcon.klikaja.com ESMTP Postfix

Video Streaming

Live streaming adalah tayangan langsung yang di-broadcast kepada banyak orang (viewers) dalam waktu yang bersamaan dengan kejadian aslinya, melalui media data komunikasi (network) baik yang terhubung dengan cable atau wireless.


VIDEO STREAMING MENGGUNAKAN FLASH DAN PROTOKOL HTTP



HTTP adalah protokol standar web yang digunakan teknologi web untuk keperluan sharing dan streaming video contoh YouTube, Google Video, dan website sharing video lainnya. Karena protokol inilah yang paling mudah diakses dari manapun. Beberapa firewall menutup port-port yang tidak umum namun port 80 yang digunakan oleh protokol HTTP hampir tidak pernah ditutup kecuali memang firewall tidak mengijinkan internet dalam jaringan mereka. Dengan demikian sepanjang user terhubung internet maka mereka dapat dengan mudah menonton video tersebut dimanapun dan kapanpun.



Dulu streaming video menggunakan protokol RTMP seperti yang digunakan pada Real dan Flash Media Server. Teknologi ini penggunaannya tidak meluas dikarenakan untuk menggunakannya memerlukan installasi software khusus seperti real player. Kelebihannya, protokol ini bisa memberikan livestreaming untuk keperluan live broadcasting. Teknologi inilah yang biasa digunakan untuk video tele conference Sedangkan saat ini penggunaan video pada web merupakan trend yang sedang meningkat di internet. Menggunakan FLV sebagai format video dan Flash sebagai player video memberi kemudahan dalam menyajikan konten video lewat internet. Dengan menempelkan video pada website dan dijalankan dengan flash player membuat video dapat ditonton kapanpun dan dimana pun.



Membuat aplikasi flash video player cukup mudah bila cuma menggunakan progressive download. Progressive download adalah teknik yang digunakan pada Youtube untuk memutar video. Video didownload dan langsung dijalankan tanpa harus menunggu video selesai di download. Selama video dijalankan , secara background flash mendownload bagian sisanya dan disimpan dalam buffer. Bagian video di dalam buffer ini yang akan diputar oleh Flash Player. Karena sudah lokal maka pemutaran video dari buffer bisa lebih cepat. Selain itu progressive download bisa melakukan cache pada video sehingga video tidak harus di download terlebih dahulu bila akan diputar lagi. 



Kekurangan progressive download adalah tidak dapat melihat bagian video yang belum didownload oleh player. Dengan kata lain kita harus menunggu video untuk mendownload hingga selesai bila kita hanya ingin melihat bagian belakang video. Untuk itu dikembangkan teknik lain yaitu PSEDUO HTTP Streaming. Teknik ini memasukkan meta-tag atau kode yang memberi informasi bagian-bagian video. Dengan memberi url request http://thinkrooms.com/myvideo.flv?start=10 maka player langsung mengambil video dimulai dari bagian 10. Dengan demikian kita bisa melihat bagian video yang mana saja tanpa harus menunggu hingga bagian tersebut selesai di download. Teknik ini membutuhkan bantuan PHP atau web server seperti APACHE dan LIGHTTPD.



Kemampuan flash dijalankan di web hingga di handphone membuat kita dapat membuat aplikasi multimedia yang dapat dijalankan dimana saja. Kelebihan ini membuat populeritas flash melonjak naik. Ada isu pembelian Macromedia oleh Adobe dikarenakan teknologi flash video. Namun apapun itu, teknologi flash yang terus berkembang memberi kemudahan kita sebagai developer dalam mengembangkan aplikasi lebih mudah dan lebih baik.



Web Service

Ada banyak cara bahwa entitas penanya mungkin terlibat dan menggunakan Web service. Secara umum, langkah-langkah yang luas berikut yang diperlukan, seperti yang diilustrasikan pada Gambar 1.  (1) pemohon dan penyedia entitas menjadi dikenal satu sama lain (atau setidaknya satu menjadi tahu untuk yang lain); (2) peminta dan penyedia entitas entah bagaimana setuju pada deskripsi layanan dan semantik yang akan mengatur interaksi antara pemohon dan agen penyedia; (3) deskripsi layanan dan semantik direalisasikan oleh pemohon dan agen penyedia, dan (4) pemohon dan agen penyedia bertukar pesan, sehingga melakukan beberapa tugas atas nama pemohon dan badan penyedia. (Ie, pertukaran pesan dengan agen penyedia merupakan wujud nyata dari berinteraksi dengan layanan Web penyedia entitas.).


Gambar 1. Proses Umum Web Service

Arsitektur Web service melibatkan teknologi berlapis banyak dan saling terkait. Ada banyak cara untuk memvisualisasikan teknologi ini, seperti halnya ada banyak cara untuk membangun dan menggunakan Web service. Gambar 2 di bawah ini memberikan sebuah ilustrasi dari beberapa keluarga teknologi.

Gambar 2. Arsitektur Web Service

Web service adalah sebuah sofware aplikasi yang tidak terpengaruh oleh platform, ia akan menyediakan method-method yang dapat diakses oleh network. Ia juga akan menggunakan XML untuk pertukaran data, khususnya pada dua entities bisnis yang berbeda.

Beberapa karakteristik dari web service adalah:
- Message-based
- Standards-based
- Programming language independent
- Platform-neutral

Beberapa key standard didalam web service adalah: XML, SOAP, WSDL and UDDI.

SOAP (Simple Object Access Protocol) adalah sebuah XML-based mark-up language untuk pergantian pesan diantara aplikasi-aplikasi. SOAP berguna seperti sebuah amplop yang digunakan untuk pertukaran data object didalam network. SOAP mendefinisikan empat aspek didalam komunikasi: Message envelope, Encoding, RPC call convention, dan bagaimana menyatukan sebuah message didalam protokol transport.
Sebuah SOAP message terdiri dari SOAP Envelop dan bisa terdiri dari attachments atau tidak memiliki attachment. SOAP envelop tersusun dari SOAP header dan SOAP body, sedangkan SOAP attachment membolehkan non-XML data untuk dimasukkan kedalam SOAP message, di-encoded, dan diletakkan kedalam SOAP message dengan menggunakan MIME-multipart.

WSDL (Web Services Description Language) adalah sebuah XML-based language untuk mendeskripsikan XML. WSDL menyediakan service atau layanan yang mendeskripsikan service request dengan menggunakan protokol-protokol yang berbeda dan juga encoding. WSDL memfasilitasi komunikasi antar aplikasi. WSDL akan mendeskripsikan apa yang akan dilakukan oleh web service, bagaimana menemukannya dan bagaimana untuk mengoperasikannya.
Spesifikasi WSDL mendefinisikan tujuh tipe element:
  1. Types – element untuk mendefinisikan tipe data. Mereka akan mendefinisikan tipe data (seperti string atau integer) dari element didalam sebuah message.
  2. Message – abstract, pendefinisian tipe data yang akan dikomunikasikan.
  3. Operation – sebuah deskripsi abstract dari sebuah action yang didukung oleh service.
  4. Port Type – sebuah koleksi abstract dari operations yang didukung oleh lebih dari satu endpoints.
  5. Binding – mendefinisikan penyatuan dari tipe port (koleksi dari operasioperasi) menjadi sebuah protokol transport dan data format (ex. SOAP 1.1 pada HTTP). Ini adalah sebuah protokol konkret dan sebuah spesifikasi data format didalam tipe port tertentu.
  6. Port – mendefinisikan sebuah komunikasi endpoint sebagai kombinasi dari binding dan alamat network. Bagi protokol HTTP,  sebuah bentuk dari URL sedangkan bagi protokol SMTP, ini adalah sebuah form dari email address.
  7. Service – satu set port yang terkorelasi atau suatu endpoints.

WSDL mendefinisikan service sebagai sebuah koleksi dari endpoints network. Sebuah definisi abstrak dari endpoints dan messages adalah ia bersifat terpisah dari pembangunan network atau penyatuan data format. Pembagian ini menyebabkan penggunaan kembali abstract description dari data yang akan dipertukarkan (message exchange) dan abstract collection dari operasi (ports) Protokol konkret dan spesfikasi data format bagi tipe port tertentu menentukan binding yang dapat digunakan kembali(reusable). Sebuah port adalah sebuah network address yang dikombinasikan reusable binding; sebuah service adalah koleksi dari port-port.

Sedangkan UDDI (Universal Description, Discovery and Integration) adalah sebuah service registry bagi pengalokasian web service. UDDI mengkombinasikan SOAP dan WSDL untuk pembentukan sebuah registry API bagi pendaftaran dan pengenalan service. Ia menyediakan sebuah area umum dimana sebuah organisasi dapat mengiklankan keberadaan mereka dan service yang diberikan (web service).
Semantik pada Web service adalah harapan bersama tentang perilaku layanan, khususnya dalam menanggapi pesan yang dikirim ke tujuan. Akibatnya, ini adalah “kontrak” antara entitas pemohon dan badan penyedia tentang tujuan dan konsekuensi dari interaksi. Meskipun kontrak ini merupakan keseluruhan perjanjian antara entitas penanya dan entitas penyedia tentang bagaimana dan mengapa masing-masing agen akan berinteraksi, itu belum tentu tertulis atau eksplisit dinegosiasikan. Ini mungkin eksplisit atau implisit, lisan atau tertulis, mesin processable atau manusia berorientasi, dan mungkin suatu perjanjian hukum atau kesepakatan informal (non-hukum).

Penggunaan  Web Services ?

Web Services itu digunakan saat kita akan mentransformasi sebuat bisnis logik / sebuah class dan object yang terpisah dalam 1 ruang lingkup yang menjadi satu, sehingga tingkat keamanan dan security dapat di tangani dengan baik.

Selain ituWeb Service juga lebih mudah dalam process deploymentnya, karena tidak memerlukan registrasi khusus ke dalam sistem operasi. Web Service cukup diupload ke Web Server dan siap diakses oleh pihak-pihak yang telah diberikan otorisasi.

Web Service berjalan di port 80 yang merupakan protokol standar HTTP, dengan demikian mengurangi resiko terblokir oleh firewall. Kendala arsitektur COM/DCOM adalah memerlukan konfigurasi khusus di sisi firewall, dan ini tidak perlu dilakukan untuk mengakses Web Service. Beberapa vendor luar negeri mulai berkolaborasi satu sama lain dengan konsep web services, diantaranya : IBM , Microsoft , SUN , ORACLE

Diantaranya contoh web services yang sudah jadi dan dipakai adalah web services keluaran Microsoft ( Microsoft Passport ) – web services untuk user name dan password yang sudah dipasang di web site Microsoft dan HOTMAIL.

Keuntungan Penggunaan Web Service
Ø  Format penggunaan terbuka untuk semua platform.
Ø  Mudah di mengerti dan mudah men-debug.
Ø   Dukungan interface yang stabil.
Ø  Menggunakan standard-standard “membuka service sekali” dan mempunyai pemakai banyak.
Ø  Mudah untuk menengahi pesan-pesan proses dan menambahkan nilai.
Ø  Routing and pengiriman.
Ø  Security.
Ø  Management and monitoring.
Ø  Schema and service design.
Ø  Akselerasi.
Ø  Mudah untuk mengembangkan dengan semantic transport tambahan.
Ø  Terbuka, standard-standard berbasis teks.
Ø  Pencapaian modular.
Ø  Tidak mahal untuk diimplementasikan (relatif).
Ø  Mengurangi biaya integrasi aplikasi enterprise.
Ø  Implementasi yang incremental.
Tahap Pengembangan Web Service
Ø  Pengembangan Aplikasi Berbasis Web Service
-          Menurut media protokolnya:
-          Dalam korporasi firewall Untuk aplikasi enterprise terintegrasi ringan
-          Antar korporasi firewall:
-          Untuk digunakan pada layanan eksternal (contoh: passport).
-          Untuk menyediakan data untuk partner-partner.
-          Melalui Web:
-           Aplikasi komposit Komponen-komponen Aliran Kerja.

Ø  Tahap-Tahap Pengembangan Web Service
-           Discover – browse registry UDDI untuk mencari Web Service yang sudah ada untuk integrasi.
-          Create or Transform – buat Web Service dari project-project yang ada.
-          Build – satukan artifak yang ada sebagai SOAP dan service HTTP dan jabarkan pada WSDL.
-           Deploy – Aplikasikane menjadi server aplikasi Wensphere atau Tomcat.
-          Test – Uji coba web service baik local (stand alone computer) atau secara remote.
-          Develop – Bangun contoh aplikasi untuk memberi masukkan dalam membuat aplikasi klien
-           Web service Publish – publikasikan / upload Web Service pada bisnis registri UDDI.

Membuat sebuah Mobile Web Service Client
Kita akan membuat secara sederhana aplikasi mobile dan kita akan menamakannya
“arithmeticClient”.





Kemudian, kita akan menggunakan stub generator (Tools->Java Platform Manager ->
Wireless Toolkit -> Tools and Extensions -> Open Utilities -> Stub Generator):



Sebelum kita dapat membuat sebuah web service client, kita harus memiliki sebuah file WSDL atau lokasi URL dimana terdapat service yang dapat kita pergunakan. Seperti yang telah disebutkan dalam bagian sebelumnya, JSR 172 tidak mendukung UDDI atau automatic discovery bagi service.

Masukkan lokasi WSDL dari sebuah web service. Path dari outputnya harus menjadi path dari direktori sumber project Anda (PROJECT_PATH/src). Sebuah stub generator tidak menerima package tanpa penamaan. Oleh karena itu, Anda harus meng-inputkan sebuah nama package.



Kemudian, kita akan membuat sebuah Midlet yang akan menggunakan stub yang telah
kita buat untuk mengakses sebuah web service:
/*
* arithemeticClient.java
*
*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import jedi.*;
public class WSClient extends MIDlet {
private ArithmeticSEI_Stub stub;
public void startApp() {
System.out.println("Creating stub...");
stub = new ArithmeticSEI_Stub();
System.out.println("Invoking operation...");
WebServiceClient client = new WebServiceClient();
Thread thread = new Thread(client);
thread.start();
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
class WebServiceClient implements Runnable {
public void run() {
try {
int reply = stub.multiply(4, 5);
System.out.println("Reply: " + reply);
} catch (java.rmi.RemoteException rex) {
System.out.println("Remote Exception: " + rex.getMessage());
}
}
}
}



Sumber Referensi


 
Zone JarKom © 2011 Templates | Hacker-newbie