SOAP ( සරල වස්තු ප්රවේශ ප්රොටොකෝලය ) සහ REST ( නියෝජන රාජ්ය මාරුව ) යන දෙකම ඔවුන්ගේ ආකාරයට ලස්සනයි. එබැවින් මම ඒවා සංසන්දනය නොකරමි. ඒ වෙනුවට, මම REST භාවිතා කිරීමට කැමති විට සහ SOAP භාවිතා කරන විට, පින්තූරය නිරූපණය කිරීමට උත්සාහ කරමි.
ගෙවීම යනු කුමක්ද?
අන්තර්ජාලය හරහා දත්ත යවන විට, සම්ප්රේෂණය වන සෑම ඒකකයකටම ශීර්ෂ තොරතුරු සහ සත්ය දත්ත යවනු ලැබේ. ශීර්ෂකය පැකට්ටුවේ ප්රභවය සහ ගමනාන්තය හඳුනා ගන්නා අතර සත්ය දත්ත ගෙවීම් භාරය ලෙස හැඳින්වේ . පොදුවේ ගත් කල, ගෙවීම යනු යෙදුමක් වෙනුවෙන් ගෙන යන දත්ත සහ ගමනාන්ත පද්ධතියට ලැබෙන දත්ත ය.
දැන්, උදාහරණයක් ලෙස, මට ටෙලිග්රෑම් එකක් යැවිය යුතු අතර, විදුලි පණිවුඩයේ පිරිවැය සමහර වචන මත රඳා පවතින බව අපි කවුරුත් දනිමු.
ඉතින් පහත සඳහන් පණිවුඩ දෙක අතර මට කියන්න, යැවීමට වඩා ලාභදායී වන්නේ කුමක්ද?
<name>Arin</name>
හෝ
"name": "Arin"
එකම පිළිතුර නියෝජනය කරන දෙකම පිරිවැය සම්බන්ධයෙන් ලාභදායී වුවද ඔබේ පිළිතුර දෙවැන්න බව මම දනිමි.
එබැවින් මම කියන්නට උත්සාහ කරන්නේ, ජාලය හරහා දත්ත JSON ආකෘතියෙන් යැවීම, ගෙවීම් සම්බන්ධයෙන් XML ආකෘතියෙන් යැවීමට වඩා ලාභදායී බවයි .
SOAP වලට වඩා REST හි පළමු ප්රතිලාභය හෝ වාසි මෙන්න . SOAP XML සඳහා පමණක් සහය දක්වයි, නමුත් REST පෙළ, JSON, XML වැනි විවිධ ආකෘතීන්ට සහය දක්වයි. තවද අපි දැනටමත් දන්නවා, අපි Json භාවිතා කරන්නේ නම් නියත වශයෙන්ම අපි ගෙවීම් සම්බන්ධයෙන් වඩා හොඳ තැනක සිටිමු.
දැන්, SOAP එකම XML සඳහා සහය දක්වයි, නමුත් එහි වාසි ද ඇත.
ඇත්තටම! කෙසේද?
SOAP ආකාර තුනකින් XML මත රඳා පවතී ලියුම් කවරය - එය පණිවිඩයේ ඇති දේ සහ එය සකසන ආකාරය නිර්වචනය කරයි.
දත්ත වර්ග සඳහා කේතීකරණ නීති මාලාවක්, අවසානයේදී ක්රියා පටිපාටියේ පිරිසැලසුම ඇමතුම් සහ ප්රතිචාර එක්රැස් කරන ලදි.
මෙම ලියුම් කවරය ප්රවාහනය (HTTP / HTTPS) හරහා යවනු ලබන අතර, RPC (දුරස්ථ ක්රියා පටිපාටිය ඇමතුමක්) ක්රියාත්මක වන අතර, ලියුම් කවරය XML ආකෘතිගත ලේඛනයක තොරතුරු සමඟ ආපසු එවනු ලැබේ.
වැදගත් කරුණ නම් SOAP හි එක් වාසියක් වන්නේ “සාමාන්ය” ප්රවාහනය භාවිතා කිරීමයි, නමුත් REST HTTP / HTTPS භාවිතා කරයි . ඉල්ලීම යැවීම සඳහා SOAP හට ඕනෑම ප්රවාහනයක් භාවිතා කළ හැකි නමුත් REST ට නොහැකි ය. ඉතින් මෙන්න අපට SOAP භාවිතා කිරීමේ වාසියක් ලැබුණා.
ඉහත ඡේදයේ මා දැනටමත් සඳහන් කර ඇති පරිදි “REST HTTP / HTTPS භාවිතා කරයි” , එබැවින් මෙම වචන ගැන ටිකක් ගැඹුරට යන්න.
අපි HTTP හරහා REST ගැන කතා කරන විට, HTTP යොදන සියලුම ආරක්ෂක පියවරයන් උරුම වී ඇති අතර මෙය ප්රවාහන මට්ටමේ ආරක්ෂාව ලෙස හැඳින්වෙන අතර එය පණිවිඩ සුරක්ෂිත කරන්නේ එය කම්බි තුළ සිටියදී පමණක් වන නමුත් ඔබ එය අනෙක් පැත්තට භාර දුන් පසු ඔබ දන්නේ නැත දත්ත සැකසෙන සැබෑ ස්ථානයට පැමිණීමට පෙර එය අදියර කීයක් හරහා යා යුතුද? ඇත්ත වශයෙන්ම, එම සියලු අදියරයන් HTTP ට වඩා වෙනස් දෙයක් භාවිතා කළ හැකිය. ඉතින් රෙස්ට් සම්පූර්ණයෙන්ම ආරක්ෂිත නැහැ නේද?
නමුත් SOAP SSL සඳහා REST මෙන් සහය දක්වයි. ඊට අමතරව එය WS-Security සඳහාද සහාය වන අතර එමඟින් සමහර ව්යවසාය ආරක්ෂක අංග එකතු කරයි. WS-Security පණිවිඩය නිර්මාණය කිරීමෙන් එහි පරිභෝජනයට ආරක්ෂාව සපයයි . එබැවින් ප්රවාහන මට්ටමේ ආරක්ෂාව සඳහා WS-Security භාවිතා කිරීමෙන් වළක්වා ගත හැකි ඕනෑම අඩුපාඩුවක්.
ඒ හැරුණු විට, REST එහි HTTP ප්රොටෝකෝලය මගින් සීමා කර ඇති බැවින් එහි ගනුදෙනු සහාය ACID අනුකූල නොවන අතර බෙදා හරින ලද අන්තර්ජාතික සම්පත් හරහා අදියර දෙකක බැඳීමක් ලබා දිය නොහැක.
නමුත් කෙටි කාලීන ගනුදෙනු සඳහා ACID පදනම් කරගත් ගනුදෙනු කළමනාකරණය සහ දිගුකාලීන ගනුදෙනු සඳහා වන්දි පදනම් කරගත් ගනුදෙනු කළමනාකරණය යන දෙකටම SOAP සතුව පුළුල් සහයෝගයක් ඇත. බෙදා හරින ලද සම්පත් හරහා අදියර දෙකක කැපවීමට ද එය සහාය වේ.
මම කිසිදු නිගමනයකට එළඹෙන්නේ නැත, නමුත් ආරක්ෂාව, ගනුදෙනු යනාදිය ප්රධාන වශයෙන් සැලකිලිමත් වන අතර මම SOAP මත පදනම් වූ වෙබ් සේවාවට කැමැත්තෙමි.
මෙන්න "ජාවා ඊඊ 6 නිබන්ධනය" ඔවුන් පවසා ඇත්තේ පහත සඳහන් කොන්දේසි සපුරාලන විට RESTful නිර්මාණයක් සුදුසු විය හැකි බවයි . බලන්න.
ඔබ මගේ පිළිතුර කියවීමෙන් සතුටක් ලැබුවා යැයි සිතමි.