SOAP Vs REST : Pengertian, Perbedaan, dan Contohnya

Arduino 9 Sensor Suhu DHT11 dan DHT22

Artikel ini membahas sepasang API sangat disukai yaitu SOAP vs REST. Kita pasti akan mengakui lebih dalam apa pengertiannya, apa perbedaannya, dan bagaimana? contohnya.

Apa SOAP API ?

SOAP adalah singkatan berasal dari Simple Object Access Protocol. Microsoft membuat SOAP pada tahun 1998 dan merupakan daerah integral berasal dari Service-Oriented Architecture (SOA). Lalu, apa miliknya sendiri easy object entry protocol ? easy object entry protocol adalah proses interaksi net spesifikasi yang mengungkapkan perusahaan net dan mengirim informasi menggunakan proses SMTP atau bahkan HTTP.

SOAP bergantung secara hanya pada Extensible Markup Language (XML) untuk perusahaan distribusi pemberitahuan. SOAP adalah proses profesional, luas bersama komponen pengawasan built-in dan {memiliki} pedoman yang teliti. SOAP secara substansial rumit dan menggunakan sejumlah substansial bandwidth dan informasi daya berbagai lainnya.

Kelebihan SOAP API

Berikut adalah sejumlah kelebihan berasal dari SOAP API yaitu :

  • Built-in error dealing with
  • Terstandarisasi
  • SOAP berfungsi bersama efektif di suasana organisasi terdistribusi
  • SOAP adalah sistem, bahasa asing, dan transit impartial
  • SOAP memajukan metode otomatisasi bersama sejumlah barang bahasa asing

Kekurangan SOAP API

Berikut adalah sejumlah kelangkaan berasal dari SOAP API yaitu :

  • SOAP secara substansial rumit
  • SOAP {memiliki} Kegunaan yang sangat jika dibandingkan bersama REST
  • SOAP apalagi serbaguna

Contoh SOAP API

Mari kita sudut pandang kasus SOAP API, yang dirender secara mendalam bahasa asing pemrograman komputer yang dengan cara yang berbeda.

#!/usr/bin/perl -w
use Data::Dumper;
#use SOAP::Lite ( +hint => all, maptype => {} );
use SOAP::Lite;
#$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
my $cleaning soap = SOAP::Lite->proxy('https://localhost/AFA/php/ws.php?wsdl');
# Do not confirm the SSL key
$soap->transport->ssl_opts(
verify_hostname => 0,
SSL_verify_mode => 0x00
);
#
# Login to AFA Web Service
#
sub ConnectAFA
{
my $sUserIdentify = shift; # User title
my $sPassword = shift; # Password
my $sDomain = shift; # Domain title or empty for non nama domain envirnment
$sDomain = (!outlined $sDomain) ? '' : $sDomain;
my $technique = SOAP::Data->title('ConnectRequest')->attr({xmlns => 'https://www.algosec.com/afa-ws'});
my @params = (
SOAP::Data->title(UserIdentify => $sUserIdentify),
SOAP::Data->title(Password => $sPassword),
SOAP::Data->title(Domain => $sDomain)
);
my $sSessionID = $soap->name($technique => @params)->consequence;
}
#
# Executing question request
#
sub ExecQuery
{
my $sSessionID = shift;
my $sQueryTarget = shift;
$sQueryTarget = (!outlined $sQueryTarget) ? '' : $sQueryTarget;
my $technique = SOAP::Data->title('QueryRequest')->attr({xmlns => 'https://www.algosec.com/afa-ws'});
my $QueryInput = SOAP::Data->title('QueryRequest')->attr({xmlns => 'https://www.algosec.com/afa-ws'});
my @params = (
SOAP::Data->title(SessionID => $sSessionID),
SOAP::Data->title(QueryInput => SOAP::Data->worth(
SOAP::Data->title(Source => '*'),
SOAP::Data->title(Destination => '*'),
SOAP::Data->title(Service => '80'),
SOAP::Data->title(Service => '443')
)
),
SOAP::Data->title(QueryTarget => $sQueryTarget)
);
return $soap->name($technique => @params);
}
#
# Disconnect from AFA Web Service (terminate session)
#
sub DisconnectAFA
{
my $sSessionID = shift;
my $technique = SOAP::Data->title('DisconnectRequest')->attr({xmlns => 'https://www.algosec.com/afa-ws'});
my @params = (
SOAP::Data->title(SessionID => $sSessionID),
);
return $soap->name($technique => @params)->valueof('//DisconnectResponse');
}
my $sSessionID = ConnectAFA('admin', 'algosec', '');
print "n";
print "Session ID: '" . $sSessionID ."'";
print "n";
my $QuestionResult = ExecQuery($sSessionID, 'afa-276');
foreach my $Result ($QuestionResult->valueof('//QuestionResult/')) {
print Dumper($Result);
}
print "n";
my $Disconnect = DisconnectAFA($sSessionID);
print "Disconnect: ";
print $Disconnect;
print "n";
#!/usr/bin/python
from SOAPpy import SOAPProxy
def ConnectAFA(params):
# username/password
username = params['UserName']
password = params['Password']
nama domain = params['Domain']
proxy = 'https://'+sHost+'/AFA/php/ws.php?wsdl'
namespace = 'https://www.algosec.com/afa-ws'
server = SOAPProxy(proxy, namespace)
if (DebugMode):
# uncomment these for debugging output
server.config.dumpHeadersIn = 1
server.config.dumpHeadersOut = 1
server.config.dumpSOAPOut = 1
server.config.dumpSOAPIn = 1
response = server.ConnectRequest(UserIdentify=username, Password=password, Domain=nama domain)
return response
def SendQueryRequest(params):
# username/password
SessionID = params['SessionID']
QueryInput = params['QueryInput']
proxy = 'https://'+sHost+'/AFA/php/ws.php?wsdl'
namespace="https://www.algosec.com/afa-ws"
server = SOAPProxy(proxy, namespace)
if (DebugMode):
# uncomment these for debugging output
server.config.dumpHeadersIn = 1
server.config.dumpHeadersOut = 1
server.config.dumpSOAPOut = 1
server.config.dumpSOAPIn = 1
response = server.QueryRequest(SessionID=SessionID, QueryInput=QueryInput)
return response
def DisconnectAFA(params):
# username/password
SessionID = params['SessionID']
proxy = 'https://'+sHost+'/AFA/php/ws.php?wsdl'
namespace="https://www.algosec.com/afa-ws"
server = SOAPProxy(proxy, namespace)
if (DebugMode):
# uncomment these for debugging output
server.config.dumpHeadersIn = 1
server.config.dumpHeadersOut = 1
server.config.dumpSOAPOut = 1
server.config.dumpSOAPIn = 1
response = server.DisconnectRequest(SessionID=SessionID)
return response
sHost="192.168.3.82"
#DebugMode = True
DebugMode = False
print "n" + "Submitting join request:" + "n"
values = {'UserIdentify': 'admin', 'Password': 'algosec', 'Domain': ''}
afa_connect = ConnectAFA(values)
SessionID = afa_connect
print "Returned Session ID: "+repr(SessionID)
print "n" + "Submitting question request:" + "n"
QueryParams = {'SessionID': SessionID,'QueryInput': {'Source': '192.168.1.100', 'Destination': '10.228.16.10', 'Service': 'tcp/22'}}
QuestionResult = SendQueryRequest(QueryParams)
print QuestionResult
print "n" + "Submitting disconnect request:" + "n"
DisconnectParams = {'SessionID': SessionID}
DisconnectResult = DisconnectAFA(DisconnectParams)
print DisconnectResult

Apa miliknya sendiri REST API ?

REST adalah singkatan berasal dari Representational State Transfer. REST adalah Tipe desain yang memungkinkan sistem untuk sesuai satu setiap bit sebagai lagi, dirancang dominan untuk berfungsi bersama bagian seperti file, bagian media, dan sesuatu pada satuan berisik tertentu. REST dirancang untuk mengalahkan kelangkaan SOAP dan menawarkan teknik yang lebih nyaman untuk mengakses perusahaan net.

Lihat lebih banyak:  HTTP Request Method - DosenIT.com

Layanan net yang dibuat menggunakan Tipe desain REST diakui sebagai perusahaan net RESTful. REST secara substansial sangat disukai di kalangan desainer yang merancang API komunitas.

Saat membandingkan SOAP vs REST, untuk alasan ini REST lebih berbasis kepada informasi, dan mengandalkan pada proses interaksi tanpa kondisi, rata-rata dugaan bersama HTTP. Meskipun REST dapat menyusun informasi menggunakan YAML, XML, atau bahkan gaya lagi yang dapat dibaca perangkat, REST tambahan dapat menggunakan JSON untuk Menyusun informasi.

Kelebihan REST API

Berikut adalah sejumlah kelebihan berasal dari REST API yaitu :

  • REST nyaman dipelajari
  • REST secara substansial efektif dan segera
  • Filosofi desainnya lebih sejalan bersama inovasi net berbagai lainnya
  • Menggunakan spesifikasi yang nyaman dipahami seperti OpenAPI Specification 3.0 dan Swagger

Kekurangan REST API

Berikut adalah sejumlah kelangkaan berasal dari REST API yaitu :

  • REST tidak seaman SOAP
  • REST tidak ideal untuk suasana terdistribusi

Contoh REST API

Mari kita sudut pandang kasus berasal dari REST API

  • Permintaan REST API awalnya yang perlu dibuat melalui programmer adalah login.
POST /{api}/2.2/auth/signin HTTP/1.1
HOST: my-server
Content-Type:textual content/xml
<tsRequest>
  <credentials title="pengawas" password="passw0rd">
<website contentUrl="" />
  </credentials>
</tsRequest>
  • Berikut teknik membuat meminta untuk mendapatkan ikut konsumen.
GET /{api}/2.2/websites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/customers/customers HTTP/1.1
GET /{api}/2.2/websites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/customers/customers HTTP/1.1
HOST: my-server
X-Tableau-Auth: 12ab34cd56ef78ab90cd12ef34ab56cd
  • Dan pasti, berikut adalah meminta untuk memperbarui konsumen yang ada.
PUT /{api}/2.2/websites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/customers/9f9e9d9c-8b8a-8f8e-7d7c-7b7a6f6d6e6d HTTP/1.1
HOST: my-server
X-Tableau-Auth: 12ab34cd56ef78ab90cd12ef34ab56cd
Content-Type: textual content/xml
<tsRequest>
  <consumer fullName="NewUser2" siteRole="ViewerWithPublish" />
</tsRequest>

SOAP vs. REST

Berikut adalah sejumlah variasi diantara SOAP API dan REST API

                              SOAP                                 REST
Adalah proses Adalah Tipe desain
Tidak dapat menggunakan REST karena REST adalah Tipe desain Dapat menggunakan perusahaan net SOAP karena ini adalah proses seperti HTTP
Menggunakan Java API “JAX-WS” untuk perusahaan webnya Menggunakan Java API “JAX-RS” untuk perusahaan webnya
Menentukan spesifikasi yang perlu diikuti secara teliti Tidak begitu beberapa spesifikasi, sebagai saran dan {memiliki} standar yang tidak teliti
Mendefinisikan keamanannya dengan dirinya sendiri Bergantung pada langkah-langkah pengawasan berasal dari transit yang mendasarinya
Menggunakan bandwidth yang kendali jarak jauh lebih beberapa daripada REST Membutuhkan bandwidth yang kendali jarak jauh jauh lebih sedikit daripada SOAP
Hanya memperbolehkan gaya informasi XML Memungkinkan gaya informasi seperti Teks rata-rata, HTML, JSON, XML, dan lain-lain.
Menggunakan antarmuka perusahaan untuk mengungkapkan pemikiran perusahaan Menggunakan URI untuk mengungkapkan pemikiran perusahaan
SOAP digerakkan melalui Kegunaan. REST berbasis informasi.

Meskipun REST telah akhirnya menjadi lebih sangat disukai daripada SOAP, setelah mengatakan itu SOAP secara substansial ideal untuk perusahaan net jumlah organisasi yang menggunakan membeli rumit dan permintaan pengawasan ketinggian. API SOAP secara substansial cocok untuk gateway penyelesaian, pemantauan identifikasi, aplikasi perangkat lunak CRM, dan perusahaan uang.

Lihat lebih banyak:  20 Aplikasi Membuat Stiker di HP dan PC

Anda ringan menonton: SOAP Vs REST : Pengertian, Perbedaan, dan Contohnya

Sumber: https://taylorswift10years.com

Kategori: Teknologi

Leave a Reply

Your email address will not be published.