JAVA Network Programming

advertisement
JAVA
Network Programming
Apa itu JAVA?
●
Bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun
1991.
●
Dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang
agar lebih mudah dipakai dan platform independent, yaitu dapat dijalankan di berbagai jenis
sistem operasi dan arsitektur komputer.
●
Dirancang untuk pemrograman di Internet sehingga dirancang agar aman dan portabel.
Fitur JAVA
•
•
•
•
•
•
•
•
•
•
Applet
Java Networking
Java Database Connectivity (JDBC)
Java Security
Java Swing
Java RMI
Java 2D/3D
Java Server Pages
JNI (Java Native Interface)
Java Sound
•
•
•
Java IDL + CORBA
Java Card
JTAPI (Java Telephony API)
JAVA Network Programming
•
•
Socket
o
Suatu abtraksi yang mana aplikasi dapat mengirim dan menerima data seperti sama halnya
dengan membuka suatu file untuk dibaca dan ditulis pada tempat penyimpanan file.
o
Memungkinkan untuk masuk kedalam jaringan dan berkomunikasi dengan aplikasi lain
yang juga masuk kedalam jaringan yang sama.
o
Dilengkapi dengan alamat, yang terdiri atas IP address tujuan dan nomor port.
Port
o
Layanan yang disediakan oleh server
o
Nomor-nomor di bawah angka 1024 merupakan port yang umum digunakan dan ditetapkan oleh
IANA (Internet Assigned Number Authority)
Ilustrasi penggunaan socket
Operasi pada Socket
•
•
•
•
•
•
•
Koneksi ke remote machine
Mengirim data
Menerima data
Menutup koneksi
Menghubungkan port
Listening data yang masuk
Menerima koneksi dari remote machine yang terhubung
Penggunaan Socket dalam JAVA
• Java.net.socket  client socket
try
{
Socket NamaSocket = new Socket(HostName, NomorPort);
}
catch (UnknownHostException ex) {
System.err.println(ex);
}
catch (IOException ex) {
System.err.println(ex);
}
Penggunaan Socket dalam JAVA (Lanjutan)
• Java.net.serversocket  server socket
try{
theServer = new ServerSocket(NomorPort);
theServer.Close()
}
catch (IOException e){
System.out.println("There is a server on port " + NomorPort + ".");
}
TCP Socket
• Transmission Control Protocol (TCP) adalah suatu protokol yang berada di lapisan
transport yang berorientasi sambungan (connection-oriented) dan dapat diandalkan
(reliable).
• Karakteristik
•
•
•
•
•
•
Berorientasi sambungan (connection-oriented)
Full-duplex
Dapat diandalkan (reliable)
Byte stream
Memiliki layanan flow control
Mengirimkan paket secara "one-to-one"
UDP Socket
• User Datagram Protocol (UDP), adalah salah satu protokol lapisan transpor TCP/IP
yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi
(connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP.
• Karakteristik UDP
• Connectionless (tanpa koneksi)
• Unreliable (tidak andal)
• UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah protokol lapisan aplikasi atau
proses tertentu di dalam sebuah host dalam jaringan yang menggunakan TCP/IP.
• UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.
Perbedaan UDP dan TCP
• Header message UDP lebih sederhana dibandingkan TCP. Sebagaimana terlihat pada
gambar . Field padding dapat ditambahkan ke datagram untuk memastikan bahwa
message terdiri atas multiple 16-bit.
RMI (Remote Method Invocation)
• Bagian dari J2SE yang digunakan untuk membangun aplikasi terdistribusi menggunakan
bahasa Java.
• Kumpulan kelas dalam Java yang digunakan untuk menangani pemanggilan (invocation)
method secara jarak jauh (remote) dalam suatu jaringan atau Internet.
• Memisahkan obyek-obyek secara terdistribusi dalam mesin-mesin yang berbeda.
• Menggunakan prinsip pemrograman berorientasi obyek dimana obyek satu dapat saling
berkomunikasi dengan obyek lainnya.
• Membutuhkan Interface.
• Terdiri dari client dan server.
Arsitektur RMI
Keterbatasan RMI
•
•
•
•
Java-only
Menggunakan TCP bukan UDP
Minimal 2 soket untuk setiap koneksi
Belum dites untuk load yang cukup banyak
Download