Web services adalah komponen aplikasi terdistribusi yang tersedia secara eksternal. Anda bisa menggunakannya untuk mengintegrasikan aplikasi komputer yang di tulis dalam bahasa pemrograman yang berbeda dan berjalan di atas platform yang berbeda. Web services adalah bahasa dan platform bebas sebab vendor-vendor telah setuju pada standard web service yang telah umum.

Sun Microsystem membangun sebuah proyek java.net yang di panggil Metro. Metro adalah sebuah kumpulan web service yang komplet, meliputi apa/semua yang dibutuhkan oleh seorang developer dari pemrograman Hello sederhana secara reliable, aman dan transaksi secara web services.
Metro memasukkan teknologi Web Services Interoperability Technologies (WSIT). WSIT mendukung fitur enterprise seperti keamanan, reliability, dan optimisasi message. WSIT meyakinkan bahwa Metro services dengan fitur-fitur ini di interoperable dengan services yang ada di .NET. Dengan Metro, Project Tango membangun dan melibatkan kode dasar untuk WSIT.
Beberapa model pemrograman telah tersedia untuk para developer. Model-model ini meliputi dua kategori yang telah di support oleh Netbeans, yakni :

  • REST-base. REpresentational State Transfer adalah cara baru untuk membuat dan berkomunikasi dengan web services. Dalam REST, sumber-sumber memiliki URI dan di manipulasi menggunakan operasi HTTP header.
  • SOAP/WSDL-base. Dalam model web service traditional, interface web service di ekspose melalui dokumen WSDL (sebuah tipe dari XML), yang memiliki URL. Pesan subsequent di pertukarkan dalam SOAP, tipe lain dari dokumen XML.

RESTful Web Services

REST-based web services adalah kumpulan resource web yang di identifikasikan dengan URI. Setiap dokumen dan setiap proses adalah termodelkan sebagai sebuah resource web dengan sebuah URI yang unik. Web resource ini di manipulasi oleh action-action yang bisa di tunjukkan melalui sebuah HTTP Header. Baik SOAP, atau WSDL, atau WS-* standard yang digunakan. Di dalamnya, pesan-pesan di pertukarkan menjadi beberapa format-XML,JSON, HTML dan lain-lain. Dalam banyak kasus sebuah web browser bisa melayaninya sebagai klien.
HTTP adalah protokol dalam REST. hanya empat metode yang tersedia : GET, PUT, POST, dan DELETE. Request bisa di tandai dan response bisa di cache. Seorang Network Admin dapat dengan mudah mengikuti apa yang terjadi ke atas layanan RESTful hanya dengan melihat HTTP headernya.

REST adalah teknologi yang cocok untuk aplikasi yang tidak memerlukan keamanan kedepannya apa yang tersedia dalam infrastruktur HTTP dan dimana HTTP adalah protokol yang tepat. REST services masih bisa menghadirkan fungsionalitas yang mengagumkan. Flikr, Google Maps dan Amazon semuanya menyediakan RESTful web service. IDE Netbeans sebagai Service (SaaS) secara fungsional membiarkan anda menggunakan Facebook, Zillow, dan penyedia layanan 3d party lainnya dalam aplikasi anda.
Project Jersey adalah referensi terbuka dari implementasi untuk membangun web service RESTful. Jersey API tersedia pada plugin “RESTful Web Services” yang ada di NetBeans.

SOAP-based Web Services

Dalam web services berbasis SOAP, utilitas java membuat sebuah file WSDL di atas kode Java dalam web service. WSDL di ekspose di atas jaringan. Bagian-bagian yang tertarik dalam menggunakan web service membuat seuah java client base di atas WSDL. Pesan-pesan di pertukarkan dalam format SOAP. Jangkauan dari operasi yang bisa di lewatkan dalam SOAP adalah lebih asing daripada apa yang tersedia dalam REST, khususnya dalam hal keamanan.
SOAPbase web service cocok untuk aplikasi dengan skala besar yang menggunakan operasi kompleks dan untuk aplikasi-aplikasi yang memerlukan keamanan tinggi, reliabilitas tinggi atau fitur-fitur standar yang mendukung WS-*. Itu juga harus cocok ketika sebuah protokol transport yang lain dari HTTP di gunakan. Banyak dari web service Amazon, yang terlibat dalam transaksi komersial, dan web service yang digunakan oeh bank atau agen pemerintah adalah menggunakan SOAP.