Bayangkan Anda sedang mengembangkan aplikasi web dan Anda memutuskan untuk memisahkan fungsi dari penyajian aplikasi, karena itu memberikan kebebasan yang lebih besar.
Anda membuat API dan membiarkan orang lain menerapkan front-end mereka sendiri di atasnya. Apa yang baru saja Anda lakukan di sini adalah menerapkan metodologi SOA , yaitu menggunakan layanan web.
Layanan Web membuat blok bangunan fungsional dapat diakses melalui protokol Internet standar yang tidak tergantung pada platform dan bahasa pemrograman.
Jadi, Anda merancang mekanisme pertukaran antara back-end (layanan web) yang melakukan pemrosesan dan pembuatan sesuatu yang bermanfaat, dan front-end (yang mengkonsumsi data), yang bisa berupa apa saja. (Aplikasi web, seluler, atau desktop, atau layanan web lainnya). Satu-satunya batasan di sini adalah bahwa front-end dan back-end harus "berbicara" bahasa yang sama.
Di situlah SOAP dan REST masuk. Itu adalah cara standar yang Anda pilih untuk berkomunikasi dengan layanan web.
SABUN MANDI:
SOAP secara internal menggunakan XML untuk mengirim data bolak-balik. Pesan SOAP memiliki struktur yang kaku dan respons XML kemudian perlu diuraikan.
WSDL adalah spesifikasi permintaan apa yang dapat dibuat, dengan parameter apa, dan apa yang akan mereka kembalikan. Ini adalah spesifikasi lengkap API Anda.
BERISTIRAHAT:
REST adalah konsep desain.
World Wide Web merupakan implementasi terbesar dari sistem yang sesuai dengan gaya arsitektur REST.
Tidak sekaku sabun. Layanan web yang tenang menggunakan URI dan metode standar untuk melakukan panggilan ke layanan web. Saat Anda meminta URI, ia mengembalikan representasi objek, yang kemudian dapat Anda lakukan operasi (mis. GET, PUT, POST, DELETE). Anda tidak terbatas pada memilih XML untuk mewakili data, Anda dapat memilih apa saja (termasuk JSON)
API REST Flickr melangkah lebih jauh dan memungkinkan Anda mengembalikan gambar juga.
JSON dan XML , secara fungsional setara, dan pilihan umum. Ada juga kerangka kerja berbasis RPC seperti GRPC berdasarkan Protobufs, dan Apache Thrift yang dapat digunakan untuk komunikasi antara produsen dan konsumen API. Format yang paling umum digunakan oleh API web adalah JSON karena mudah digunakan dan diurai dalam setiap bahasa.
WSDL : Singkatan dari Layanan Web Deskripsi Bahasa
Dalam SOAP (protokol akses objek sederhana), ketika Anda menggunakan layanan web dan menambahkan layanan web ke proyek Anda, aplikasi klien Anda tidak tahu tentang Fungsi layanan web. Sekarang ini sudah ketinggalan zaman dan untuk setiap jenis klien yang berbeda Anda harus mengimplementasikan
WSDL
file yang berbeda . Misalnya Anda tidak dapat menggunakan file.Net
danphp
klien yang sama. TheWSDL
berkas memiliki beberapa deskripsi tentang fungsi layanan web. Jenis file ini adalahXML
.SOAP
adalah alternatif untukREST
.REST : Singkatan dari Transfer Negara Representasi
Ini adalah jenis layanan API lainnya, sangat mudah digunakan untuk klien. Mereka tidak perlu memiliki ekstensi file khusus seperti
WSDL
file. Operasi CRUD dapat diimplementasikan oleh berbedaHTTP Verbs
(GET untuk Membaca, POST untuk Pembuatan, PUT atau PATCH untuk Memperbarui dan HAPUS untuk Menghapus dokumen yang diinginkan), Mereka didasarkan padaHTTP
protokol dan sebagian besar waktu respon dalamJSON
atauXML
format. Di sisi lain aplikasi klien harus secara tepat memanggil terkaitHTTP Verb
melalui nama dan tipe parameter yang tepat. Karena tidak memiliki file khusus untuk definisi, sepertiWSDL
, itu adalah pekerjaan manual menggunakan titik akhir. Tetapi ini bukan masalah besar karena sekarang kami memiliki banyak plugin untuk berbagai IDE untuk menghasilkan implementasi sisi klien.SOA : Singkatan dari Arsitektur Berorientasi Layanan
Termasuk semua pemrograman dengan konsep dan arsitektur layanan web. Bayangkan Anda ingin menerapkan aplikasi skala besar. Satu praktik dapat memiliki beberapa layanan yang berbeda, disebut layanan mikro dan seluruh mekanisme aplikasi akan memanggil layanan web yang diperlukan pada waktu yang tepat. Baik
REST
danSOAP
layanan web adalah jenisSOA
.JSON : Singkatan dari
javascript Object Notation
ketika Anda membuat serial objek untuk javascript, jenis format objek adalah JSON. bayangkan Anda memiliki kelas manusia:
dan Anda memiliki beberapa contoh dari kelas ini:
ketika Anda membuat serial objek h1 ke JSON hasilnya adalah:
javascript
dapat mengevaluasi format ini denganeval()
fungsi dan membuat array asosiatif dariJSON
string ini . Konsep ini berbeda dengan konsep lain yang saya jelaskan sebelumnya.sumber