Baru-baru ini, saya memutuskan untuk mulai belajar tentang layanan web java dan ketika saya mulai mencari tutorial untuk layanan web java di google, saya menemukan bahwa ada banyak jenis layanan web berbasis XML, berbasis SOAP, juga layanan web RESTful.
Juga, saya menemukan bahwa ada spesifikasi JAX-WS untuk layanan web berbasis xml, dan spesifikasi JAX-RS untuk membuat layanan web RESTful.
Q1) Saya bingung, alangkah baiknya jika ada yang bisa membantu saya memahami perbedaan antara berbagai jenis layanan web ini, sehingga saya dapat memutuskan mana yang akan dipelajari terlebih dahulu.
Q2) Juga, saya ingin belajar secara mendalam tentang cara membuat berbagai jenis layanan web di java. Apakah ada tutorial atau sumber daya yang dapat memberikan gambaran tentang setiap jenis layanan web dan perbandingan di antara keduanya.
Q3) berdasarkan skenario dan kondisi apa yang harus saya putuskan bahwa saya ingin membuat layanan web berbasis XML daripada layanan SOAP atau saya harus menggunakan layanan RESTful.
sumber
Jawaban:
Dengan pertanyaan 3, artikel ini menyatakan bahwa RESTful Services sesuai dalam skenario ini:
Sedangkan SOAP adalah cara yang harus dilakukan ketika:
sumber
Q1) Berikut adalah beberapa hal untuk dibaca atau google lebih banyak:
Perbedaan utama antara SOAP dan layanan web RESTful di java http://www.ajaxonomy.com/2008/xml/web-services-part-1-soap-vs-rest
Terserah Anda apa yang ingin Anda pelajari dulu. Saya sarankan Anda melihat kerangka CXF . Anda dapat membangun layanan istirahat / sabun.
Q2) Berikut adalah beberapa tutorial bagus untuk sabun (saya sudah menandai mereka):
http://united-coders.com/phillip-steffensen/developing-a-simple-soap-webservice-using-spring-301-and-apache-cxf-226
http://www.benmccann.com/blog/web-services-tutorial-with-apache-cxf/
http://www.mastertheboss.com/web-interfaces/337-apache-cxf-interceptors.html
Cara terbaik untuk belajar tidak hanya dengan membaca tutorial. Tetapi pertama-tama Anda akan melalui tutorial untuk mendapatkan ide dasar sehingga Anda dapat melihat bahwa Anda dapat menghasilkan sesuatu (atau tidak) dan itu akan membuat Anda termotivasi.
SO adalah cara yang bagus untuk mempelajari teknologi tertentu (atau lebih), orang-orang mengajukan banyak pertanyaan aneh, dan selalu ada jawaban yang lebih aneh. Tetapi secara keseluruhan Anda akan belajar tentang cara-cara untuk menyelesaikan masalah dengan cara lain. Mungkin Anda tidak mengetahuinya, mungkin Anda tidak bisa memikirkannya sendiri.
Berlangganan beberapa tag yang menarik bagi Anda dan gigih, ajukan pertanyaan yang bagus dan coba berikan jawaban yang baik dan saya jamin Anda akan mempelajarinya seiring berjalannya waktu (jika Anda gigih).
Q3) Anda harus menjawab sendiri pertanyaan ini. Pertama dengan memutuskan apa yang akan Anda bangun, setelah semua Anda perlu memikirkan beberapa proyek mini atau sesuatu dan mengambilnya dari sana.
Jika Anda memutuskan untuk menggunakan CXF sebagai kerangka kerja Anda untuk membangun layanan REST / SOAP, saya sarankan Anda mencari buku ini
Apache CXF Web Service Development
. Fantastis, tidak sulit untuk dibaca dan juga tidak terlalu besar (menang menang).sumber
SOAP WS mendukung baik gaya integrasi remote procedure call (yaitu RPC) dan message oriented middle-ware (MOM). Restful Web Service hanya mendukung gaya integrasi RPC.
SOAP WS adalah protokol transport netral. Mendukung banyak protokol seperti HTTP (S), Messaging, TCP, UDP SMTP, dll. REST adalah protokol transport khusus. Hanya mendukung protokol HTTP atau HTTPS.
SOAP WS hanya mengizinkan format data XML. Anda menentukan operasi, yang menelusuri melalui POST. Fokusnya adalah mengakses operasi bernama dan mengekspos logika aplikasi sebagai layanan. REST mengizinkan berbagai format data seperti XML, data JSON, teks, HTML, dll. Semua browser dapat digunakan karena pendekatan REST menggunakan operasi standar GET, PUT, POST, dan DELETE Web. Fokusnya adalah mengakses sumber daya bernama dan mengekspos data sebagai layanan. REST memiliki dukungan AJAX. Itu bisa menggunakan objek XMLHttpRequest. Baik untuk operasi CRUD (Buat, Baca, Perbarui, dan Hapus) stateless. GET - representasikan () POST - acceptRepresention () PUT - storeRepresention () DELETE - removeRepresention ()
Bacaan berbasis SOAP tidak dapat disimpan dalam cache. Bacaan berbasis REST dapat di-cache. Berkinerja dan menskalakan lebih baik. SOAP WS mendukung keamanan SSL dan keamanan WS, yang menambahkan beberapa fitur keamanan perusahaan seperti menjaga keamanan hingga titik di mana diperlukan, menjaga identitas melalui perantara dan tidak hanya menunjuk ke titik SSL saja, mengamankan bagian pesan yang berbeda dengan algoritma keamanan yang berbeda, dll. REST hanya mendukung keamanan SSL point-to-point. SSL mengenkripsi keseluruhan pesan, apakah semuanya sensitif atau tidak. SOAP memiliki dukungan komprehensif untuk manajemen transaksi berbasis ACID untuk transaksi jangka pendek dan manajemen transaksi berbasis kompensasi untuk transaksi jangka panjang. Ini juga mendukung komit dua fase di seluruh sumber daya terdistribusi. REST mendukung transaksi,
SOAP memiliki logika sukses atau coba lagi yang dibangun dan memberikan keandalan ujung ke ujung bahkan melalui perantara SOAP. REST tidak memiliki sistem perpesanan standar, dan mengharapkan klien yang meminta layanan untuk menangani kegagalan komunikasi dengan mencoba kembali.
sumber http://java-success.blogspot.in/2012/02/java-web-services-interview-questions.html
sumber
Jika aplikasi Anda sering menggunakan protokol http maka REST adalah yang terbaik karena bobotnya yang ringan, dan mengetahui bahwa aplikasi Anda hanya menggunakan protokol http, memilih SOAP tidak terlalu bagus karena berat, Lebih baik buat keputusan pemilihan layanan web berdasarkan protokol yang kami gunakan dalam aplikasi kami.
sumber