Membuat Web Service dengan JSR-181


Seperti yang sudah kita ketahui bersama, sejak JDK 5, telah diterapkan sebuah mekanisme pemrograman baru yang dikenal dengan annotation (atau metadata) pada program Java. Dengan adanya annotation ini, kita dapat meminta kepada java compiler untuk melakukan suatu aksi tertentu berdasar metadata yang kita berikan baik pada class, method atau properti. Konsep ini sudah diusulkan sejak tahun 2002 dalam bentuk JSR-175, dan baru disetujui tahun 2004. Lalu dikembangkan menjadi JSR-269 dan diterapkan pada JDK 6.

Untuk J2EE, terutama terkait dengan web service, juga dikembangkan sebuah spesifikasi annotation untuk Web Service dalam bentuk JSR-181. Maksud dan tujuannya dapat saya cuplikan sedikit dari deskripsinyaa:

The principal goal of the specification is to provide a simplified model for web services development that is easy to learn and quick to develop with. The specification will focus on enabling the commonly needed forms of web services required for achieving robust, maintainable, and highly interoperable integration.

Jika kita ingin menggunakan annotasi JSR-181 ini, setidaknya kita menggunakan J2EE 1.4 compliant container. Standar annotation di JSR-181 antara lain:

  • @WebService (javax.jws.WebService)
    • Sebagai tanda bahwa class kita untuk menerapkan web service
  • @WebMethod (javax.jws.WebMethod)
    • Sebagai tanda bahwa method kita sebagai endpoint antarmuka web service
  • @WebParam (javax.jws.WebParam)
    • Sebagai tanda untuk deklarasi parameter (mewakili elemen wsdl:part pada WSDL) dari method kita
  • @WebResult (javax.jws.WebResult)
    • mendefinisikan nilai yang dihasilkan dari method dalam elemen wsdl:part pada WSDL
  • @SOAPBinding (javax.jws.soap.SOAPBinding)
    • mendefinisikan detil binding SOAP dalam elemen wsdl:binding pada WSDL

Untuk mencobanya, saya akan menggunakan JDeveloper 10.1.3.4 sebagai salah satu produk freeware (kecuali modul ADF-nya) dari Oracle.

  1. Kita buat Application baru dengan cara: klik item Applications dari jendela Navigation, lalu pilih File > New Application. Dari jendela dialog baru yang muncul, pilih Category General > Application.
  2. Ketikkan nama aplikasi kita, misal WSAnnotationApp.

  3. Lalu akan dimunculkan dialog definisi Project baru. Kita beri nama misal MatematikaWS sebagai project baru kita.
  4. Kemudian klik kanan item MatematikaWS, lalu pilih New. Pilih Categories: General > Java Class.
  5. Beri nama Matematika sebagai class baru kita.
  6. Kemudian, klik kanan kembali item MatematikaWS, lalu pilih Project Properties. Pilih item Libraries, klik tombol Add Library. Carilah JSR-181 Web Services, dan klik OK. Dan klik OK kembali pada dialog Project Properties.
  7. Klik ganda file Matematika.java, dan ketiklah definisi class dan annotation-nya sebagai berikut:

  8. Klik kanan item Matematika.java, lalu pilih Make. (akan dikompilasi)
  9. jika tidak ada error, klik kanan kembali item Matematika.java, lalu pilih menu Create J2EE Web Service. Pilih item J2EE 1.4 (JAX-RPC) Web Service, dan OK.
  10. pada dialog wizard, langkah pertama adalah mendefinisikan Class Web Service.
  11. langkah kedua, kita definisikan format message. Ada dua: Document (literal atau wrapped) atau RPC (literal atau encoded). Kita dapat memilih RPC/literal.
  12. klik tombol Next sampai ke langkah 5. Pada langkah 5 pastikan terpilih method doTambah() sebagai operasi web service kita. Lalu klik Finish. Hasil struktur di jendela navigator kita akan menjadi seperti di bawah ini:
  13. Visualisasi dari WSDL yang dihasilkan juga dapat kita lihat (klik dua kali MathService.wsdl dari folder Web Content/WEB-INF/wsdl):
  14. Pastikan standalone oc4j telah berjalan terlebih dahulu.
  15. setelah itu, klik kanan item WebServices.deploy pada folder Resources, lalu klik Deploy To > nama_connection_ke_OC4J. Jika belum ada, silahkah membuat koneksi ke OC4J terlebih dahulu dengan memilih menu New Connection.
  16. Setelah proses deploy selesai, silahkan mengunjungi Application Enterprise Manager dari web browser Anda dengan mengetikkan: http://localhost:8888/em. Silahkan di uji.

Semoga contoh sederhana ini dapat membantu memberi gambaran tentang web annotation.

One thought on “Membuat Web Service dengan JSR-181

  1. Ping-balik: Mengakses Web Service dengan REST « perihal

Komentar ditutup.