11 Desember 2010

Simple WEB service In Netbeans With JAX-WS 2.0


Pada tutorial kali ini kita akan membuat simple WEBSERVICE menggunakan Netbeans dengan arsitektur JAX-WS 2.0 yang sudah tersedia pada netbeans.
WebService merupakan sekumpulan application Logic beserta object-object dan method-method yang dimilikinya yang terletak di suatu server yang terhubung ke internet sehingga dapat diakses menggunakan protocol HTTP dan SOAP ( Simple Object Access Protocol ). IlmuKomputer.com  
JAX-WS (Java API for XML Web Services) merupakan perubahan dari JAX-RPC (Java API for XML Based RPC) dengan spesifikasi JSR-224. Perubahan ini terjadi pada versi JAX-RPC 2.0, setelah JAX-RPC 1.1
Hal ini karena kesalahaan penamaan awal sebab JAX-RPC memberi kesan spesifikasi/library hanya untuk RPC padahal sebenarnya termasuk juga untuk Web Services.
Seperti versi sebelumnya JAX-WS ini memenuhi standar:
  • WS-I Basic Profile 1.1
  • WS-I Attachments Profile 1.0
  • WS-I Simple SOAP Binding Profile 1.0
Yang saya tidak suka adalah, JAX-WS ini akan dimasukan dalam standar library JRE/JDK yaitu pada versi Mustang (Java SE 6). Buat saya seharusnya library ini cukup dimasukan ke spesifikasi Java Enterprise (JEE) sehingga JRE tidak semakin besar dan dipenuhi dengan framework-framework yang bukan inti (core libray).

Tutorial Kali Ini Mengambil studi kasus membuat kalkulator sederhana. Resource yang di gunakan adalah :

Software or ResourceVersion Required
NetBeans IDEJava download bundle
Java Development Kit (JDK)version 6 or version 5
Warning: NetBeans IDE 6.9 requires JDK 6
Note: If you are using JDK 6,
you must have JDK 6 Update 7 or later.
Java EE-compliant web or application serverTomcat web server 6.0 
GlassFish Server Open Source Edition 
Oracle WebLogic Server
 1. Buat Project Untuk Web Service
Buat project WEB pada netbeans dengan cara Ctrl+N -> Pilih Web Application.
Berinama project Netbeans Anda dengan CalculatorWSApplication.

2. Buat WebService Class
  • Buat WebService Class dengan cara klik kanan pada project CalculatorWSApplication setelah itu pilih New-> WebService.
  • Nama Class disi CalculatorWS pada package diisi dengan com.me.calculator
http://netbeans.org/kb/docs/websvc/jax-ws.html
3. Menambahkan Operation Pada Class CalculatorWS
Untuk menambahkan Operation pada Class WebService anda dapat menambahkan dengan cara :
  • Klik kanan pada Class WebService pilih AddOperation
  • Pada field name beri nama add. pada field Return Type beri nilai int. Kemudian isi masing-masing parameter dengan variable j dan i  dengan masing-masing tipe data int.
  • sehingga class anda nantinya akan seperti berikut : 

4. Ubah Code 
tambahkan sourcecode dengan code berikut :
@WebMethod
    public int add(@WebParam(name = "i") int i, @WebParam(name = "j") int j) {
        int k = i + j;
        return k;
      }
5. Jalankan Web Service
Jalankan web service dengan cara klik kanan pada class WebService yang telah kita buat. Jangan lupa untuk melakukan Clean and Build project terlebih dahulu.

Apabila berhasi maka akan seperti berikut :
6. Membuat Client Web Service
Buat project Java Application pada netbeans. Ctrl+N -> Java Application. Beri nama project dengan  CalculatorWS_Client_Application. Setelah itu klik kanan pada project dan pilih New -> Web Service Client sehingga project anda akan seperti berikut :
Ubah code main class anda dengan code berikut :
public static void main(String[] args) {

    try { // Call Web Service Operation
        org.me.calculator.CalculatorWSService service = new org.me.calculator.CalculatorWSService();
        org.me.calculator.CalculatorWS port = service.getCalculatorWSPort();
        // TODO initialize WS operation arguments here
        int i = 7;
        int j = 1;
        // TODO process result here
        int result = port.add(i, j);
        System.out.println("Result = "+result);
    } catch (Exception ex) {
        // TODO handle custom exceptions here
    }

}

7. Run Application 
Run Application anda dengan cara klik kanan pada project pilih Clean and Build setelah itu run project anda..
Hasil :
compile:
    run:
    Result = 7
      BUILD SUCCESSFUL (total time: 1 second)

tutor by Neatbeans.org