Masih membahas mengenai API, jika diartikel sebelumnya Creativauz menjelaskan Mengenal API Sebagai Fungsi dan Contohnya, sekarang kita membahas detailnya ada dua sistem API, yaitu SOAP yang udah mulai ditinggalkan, dan ada REST yang kini makin banyak diminati dan terus dikembangkan.
Pengertian SOAP
Apa itu SOAP ? SOAP adalah singkatan dari Simple Object Access Protocol, yang pada tahun 1998 lalu diciptakan oleh Microsoft dimana project ini secara integral menjadi bagian dari SOA atau Service-Oriented Architecture.
Lalu apakah pengertian dari Simple Object Access Protocol ? yaitu protokol komunikasi web yang secara standar melakukan exposure web service dengan mengirim data memakai protokol HTTP ataupun SMTP.
Secara eksklusif, SOAP memakai tipe dokumen XML atau Extensible Markup Language, guna melakukan pengiriman pesan, SOAP juga disebut sebagai protokol legal dengan fitur keamanan yang secara built-in memiliki peraturan yang ketat,SOAP memakai bandwidth besar-besaran dengan kompleks yang sesuai resourcenya.
Kelebihan dan Kekurangan API SOAP
Berikut Creativauz rangkum beberapa kelebihan dari SOAP yang diantaranya adalah, Built-in error handling, ter-standar, SOAP akan bekerja dengan baik jika environment yang terdistribusi, SOAP sebagai transportasi sistem yang independent dan mengukung proses automatisasi beberapa bahasa pemrograman.
Sedangkan kekurangan SOAP adalah sistemnya sangat kompleks, cukup berat proses dan kinerjanya bila dibanding dengan REST, dan SOAP tidak fleksibel, berikut ini adalah contoh API SOAP jika di render dengan bahasa pemrograman yang beda, kita ambil contoh python dan perl.
#!/usr/bin/python
from SOAPpy import SOAPProxy
def ConnectAFA(params):
username = params['UserName']
password = params['Password']
domain = params['Domain']
proxy = 'https://'+sHost+'/AFA/php/ws.php?wsdl'
namespace = 'https://www.algosec.com/afa-ws'
server = SOAPProxy(proxy, namespace)
if (DebugMode):
server.config.dumpHeadersIn = 1
server.config.dumpHeadersOut = 1
server.config.dumpSOAPOut = 1
server.config.dumpSOAPIn = 1
response = server.ConnectRequest(UserName=username, Password=password, Domain=domain)
return response
def SendQueryRequest(params):