உங்கள் பயன்பாட்டை Facebook உடன் இணைக்க விரும்புகிறீர்களா, அது தானாகவே இடுகைகளை உருவாக்க முடியும் அல்லது Instagram இல் சில ஹேஷ்டேக்குகளுடன் புகைப்படங்களை மறுபதிவு செய்யலாம்?
உங்கள் இணையதளத்தில் YouTube வீடியோக்களையும் சேர்க்க விரும்பலாம். அப்ளிகேஷன் புரோகிராமிங் இன்டர்ஃபேஸ்கள், இந்தப் பணிகள் மற்றும் பலவற்றைச் செய்ய உங்களை அனுமதிக்கின்றன (APIகள்).
Instagram API, Facebook API மற்றும் YouTube API போன்ற API களுக்கு நன்றி, வெவ்வேறு பயன்பாடுகள் பாதுகாப்பான மற்றும் தரப்படுத்தப்பட்ட முறையில் ஒருவருக்கொருவர் "பேச" முடியும்.
வேறு வார்த்தைகளில் கூறுவதானால், ஒரு நிரல் மற்றொரு மென்பொருளிலிருந்து அம்சங்கள் அல்லது தரவை எடுத்து அதன் சொந்த அம்சங்கள் அல்லது பயனர் அனுபவத்தை மேம்படுத்த அவற்றைப் பயன்படுத்தலாம். ஆனால், பயன்பாடுகள் இந்தக் கோரிக்கைகளை எப்படிச் செய்யலாம், அவற்றைச் செயல்படுத்தலாம் மற்றும் பிறருக்குப் புரியும் வகையில் பதிலளிக்கலாம்?
இது API எவ்வாறு உருவாக்கப்பட்டது என்பதைப் பொறுத்தது. API (பயன்பாட்டு நிரலாக்க இடைமுகம்) வடிவமைப்புகளைப் பற்றி விவாதிக்கும் போது, SOAP vs. REST ஐ ஒப்பிடுவது வழக்கம், இரண்டு மிக முக்கியமான API முன்னுதாரணங்கள்.
SOAP API கள் (Simple Object Access Protocol) Oracle, Sun மற்றும் PayPal போன்ற நிறுவனங்களுக்கு தங்கத் தரமாக மாறியவுடன், Google, Amazon மற்றும் eBay இலிருந்து REST API களுக்கு ஒரு வருடம் அல்லது அதற்குப் பிறகு சமமான மற்றும் எதிர் பதில் வந்தது.
இந்த இடுகையில், நாங்கள் SOAP APIகளை REST APIகளுடன் ஒப்பிட்டு வேறுபடுத்துவோம், எனவே உங்கள் நோக்கங்களுக்கு எது சிறந்தது என்பதை நீங்கள் தீர்மானிக்கலாம்.
API ஐ வரையறுப்பதன் மூலம் தொடங்குவோம்.
API என்றால் என்ன?
பயன்பாட்டு நிரலாக்க இடைமுகம் API என குறிப்பிடப்படுகிறது. APIகள் அடிப்படையில் பயன்பாடுகளின் வளர்ச்சியை செயல்படுத்தும் முறைகள் மற்றும் செயல்பாடுகளின் தொகுப்பாகும். அவர்கள் பல்வேறு நிரல்கள், சேவைகள் அல்லது இயக்க முறைமைகளின் தகவல் மற்றும் செயல்பாடுகளுக்கான அணுகலைப் பெறுகிறார்கள்.
அவர்கள் பல்வேறு மென்பொருள் அமைப்புகளுக்கு இடையில் ஒரு வகையான இடைத்தரகர்களாக பணியாற்றுகிறார்கள். அவை இரண்டு இணைக்கப்படாத நிரல்களுக்கு இடையில் "பேசுவதை" செயல்படுத்துகின்றன.
வர்த்தகம் மற்றும் நிதிச் சந்தைகளில் தீவிரமாக ஈடுபட்டுள்ள பங்குத் தரகரின் உதாரணத்தை எடுத்துக் கொள்வோம். தானியங்கு தொகுப்பு வர்த்தக வழிமுறைகள் API மூலம் வர்த்தகரின் விருப்பமான வர்த்தக தரகர் தளத்துடன் இணைக்க முடியும். இது வர்த்தகர், மின்னணு பரிவர்த்தனைகளைச் செய்ய அல்லது நிகழ்நேர மேற்கோள்கள் மற்றும் விலைத் தரவைப் பார்க்க உங்களை அனுமதிக்கிறது.
REST என்றால் என்ன?
உண்மையான “இணைய சேவைகள்” APIகளில் REST (பிரதிநிதித்துவ மாநில பரிமாற்றம்) அடங்கும். REST APIகள் URIகள் (Uniform Resource Identifiers, அதில் URL என்பது ஒரு சிறப்பு வகை), HTTP நெறிமுறை மற்றும் நம்பமுடியாத அளவிற்கு உலாவி இணக்கமான JSON தரவு வடிவம் ஆகியவற்றில் கட்டமைக்கப்பட்டுள்ளது.
நாம் ஏற்கனவே கூறியது போல் SOAP நெறிமுறையும் பயன்படுத்தப்படலாம். REST API களை உருவாக்குவது மற்றும் வளர்ப்பது எளிதாக இருக்கும், ஆனால் அவை மிகப்பெரியதாகவும் கடினமாகவும் இருக்கலாம் - இவை அனைத்தும் அவை எவ்வாறு உருவாக்கப்படுகின்றன, விரிவுபடுத்தப்படுகின்றன மற்றும் அவை என்ன செய்ய விரும்புகின்றன என்பதைப் பொறுத்தது.
ஆதாரக் கட்டுப்பாடுகள், குறைக்கப்பட்ட பாதுகாப்புத் தேவைகள், உலாவி கிளையன்ட் இணக்கத்தன்மை, கண்டறியக்கூடிய தன்மை, தரவு ஆரோக்கியம் மற்றும் அளவிடுதல் ஆகியவை நீங்கள் API ஐ RESTful ஆக உருவாக்க விரும்பும் சில காரணங்களாகும்—உண்மையில் இணையச் சேவைகளுக்குப் பொருந்தும் விஷயங்கள்.
REST மிகவும் இலகுவான விருப்பத்தை வழங்குகிறது. SOAP பயன்படுத்த கடினமாக இருந்தது மற்றும் பல டெவலப்பர்களுக்கு சுமையாக இருந்தது. உதாரணமாக, ஜாவாஸ்கிரிப்ட் உடன் SOAP ஐப் பயன்படுத்துவதற்கு, ஒவ்வொரு முறையும் தேவையான XML அமைப்பு உருவாக்கப்பட வேண்டும் என்பதால், எளிமையான செயல்பாடுகளை முடிக்க நிறைய குறியீடுகளை எழுத வேண்டும்.
REST (பொதுவாக) XML கோரிக்கைக்குப் பதிலாக நேரடியான URL ஐப் பயன்படுத்துகிறது. நீங்கள் கூடுதல் விவரங்களை வழங்க வேண்டிய அரிதான சூழ்நிலைகள் இருந்தாலும், பெரும்பாலான RESTful இணைய சேவைகள் URL நுட்பத்தை மட்டுமே பயன்படுத்துகின்றன.
நான்கு HTTP 1.1 வினைச்சொற்கள் GET, POST, PUT மற்றும் DELETE ஆகியவை செயல்பாடுகளைச் செய்ய REST ஆல் பயன்படுத்தப்படலாம். SOAP போலல்லாமல், REST க்கு XML இல் பதில் தேவையில்லை.
கட்டளை பிரிக்கப்பட்ட மதிப்பு (CSV), ஜாவாஸ்கிரிப்ட் ஆப்ஜெக்ட் நோட்டேஷன் (JSON) மற்றும் ரியலி சிம்பிள் சிண்டிகேஷன் (RSS) வடிவங்களில் தரவை வெளியிடும் REST அடிப்படையிலான இணைய சேவைகள் கிடைக்கின்றன (RSS).
உங்கள் பயன்பாட்டிற்கு நீங்கள் பயன்படுத்தும் மொழியில் உங்களுக்குத் தேவையான முடிவுகளை எளிதாக அலசக்கூடிய வடிவத்தில் பெறலாம் என்பதே இதன் நோக்கம்.
அம்சங்கள்
- HTTP நெறிமுறைகள் காரணமாக REST எல்லாவற்றிற்கும் மேலாக எளிமையை வலியுறுத்துகிறது.
- இணையம் RESTக்கு மிகவும் பொருத்தமானது. JSON தரவு வடிவமாகப் பயன்படுத்தப்படுவதால் இது உலாவிகளுடன் இணக்கமானது.
- REST அதன் சிறந்த அளவிடுதல் மற்றும் வேகத்திற்குப் புகழ் பெற்றது.
- கிளையண்ட்-சர்வர் இணைப்புகள் மற்றும் கட்டமைப்புகள் REST APIகளால் அணுகக்கூடியதாக ஆக்கப்படுகின்றன. இது RESTful எனில், இந்த கிளையன்ட்-சர்வர் மாதிரியைப் பயன்படுத்தி கட்டமைக்கப்படுகிறது, இரு தரப்பினருக்கும் இடையேயான சுற்றுப் பயணங்கள் தரவு பேலோடுகளைக் கடந்து செல்லும்.
- REST APIகள் ஒரு தனி நிலையான இடைமுகத்தைப் பயன்படுத்துகின்றன. எல்லா பயன்பாடுகளும் ஒரே மாதிரியாகவும் ஒரே நுழைவாயில் வழியாகவும் இணைக்கப்படுவதை உறுதிசெய்தல், API உடன் பயன்பாடுகள் எவ்வாறு தொடர்பு கொள்கின்றன என்பதை ஒழுங்குபடுத்துகிறது.
சோப் என்றால் என்ன?
SOAP (Simple Object Access Protocol) எனப்படும் அதன் சொந்த நெறிமுறை, REST ஐ விட சற்று சிக்கலானது, ஏனெனில் இது பாதுகாப்பு மற்றும் செய்தி விநியோகம் தொடர்பான தரநிலைகளை குறிப்பிடுகிறது.
இந்த உள்ளார்ந்த விதிமுறைகள் கொஞ்சம் கூடுதல் மேல்நிலையுடன் வருகின்றன. இருப்பினும், அதிக விரிவான பாதுகாப்பு, பரிவர்த்தனை மற்றும் ACID (Atomicity, Consistency, Isolation, Durability) இணக்கத் திறன்கள் தேவைப்படும் வணிகங்களுக்கு அவை ஒரு தீர்க்கமான காரணியாக இருக்கலாம்.
இந்த ஒப்பீட்டின் பொருட்டு, SOAP இன் பல நன்மைகள் பெரும்பாலும் இணைய சேவை பயன்பாடுகளுக்குப் பொருந்தாது என்பதை கவனத்தில் கொள்ள வேண்டும், இது நிறுவன வகை காட்சிகளுக்கு மிகவும் பொருத்தமானதாக அமைகிறது.
அதிக அளவு பாதுகாப்பு (எப்போது போன்றவை மொபைல் பயன்பாடு ஒரு வங்கியுடன் தொடர்பு கொள்கிறது), நம்பகமான தொடர்பு தேவைப்படும் செய்தியிடல் பயன்பாடுகள், மரபு அமைப்புகளுடன் தொடர்புகொள்வது அல்லது ACID இணக்கம் ஆகியவை SOAP API ஐப் பயன்படுத்தி ஒரு பயன்பாட்டை வடிவமைக்க நீங்கள் விரும்பும் சில காரணங்கள்.
SOAP வழங்கும் செய்தியிடல் திறன்கள் முற்றிலும் XML ஐ அடிப்படையாகக் கொண்டவை. டிஸ்ட்ரிபியூட்டட் காம்போனென்ட் ஆப்ஜெக்ட் மாடல் (டிசிஓஎம்) மற்றும் காமன் ஆப்ஜெக்ட் ரெக்வெஸ்ட் ப்ரோக்கர் ஆர்கிடெக்சர் போன்ற பழைய இணைய-இணக்கமற்ற தொழில்நுட்பங்கள் மைக்ரோசாப்ட் (கோர்பா) ஆல் முதலில் உருவாக்கப்பட்டபோது சோப் ஆல் மாற்றப்பட்டது.
பைனரி தகவல்தொடர்புகளை நம்பியிருப்பது இந்த அமைப்புகளை தோல்வியடையச் செய்கிறது. இணையத்தில், SOAP ஆல் பயன்படுத்தப்படும் XML செய்தியிடல் சிறப்பாகச் செயல்படுகிறது.
அம்சங்கள்
- SOAP இன் பாதுகாப்பு குறிப்பிடத்தக்க வகையில் இறுக்கமாக உள்ளது. WS-Security என்பது SSL ஆதரவுடன் கூடுதலாக தேவைப்பட்டால் SOAP கூடுதல் நிறுவன-நிலை பாதுகாப்பு திறன்களை வழங்கும் உள்ளமைக்கப்பட்ட தரமாகும்.
- நம்பகமான செய்தியிடல் செயல்திறனுக்கான பகுத்தறிவை வெற்றிகரமாக/மீண்டும் முயற்சிக்கவும். REST இல் தரப்படுத்தப்பட்ட செய்தி நுட்பம் இல்லாததால், தகவல் தொடர்பு தோல்வியடையும் போது மட்டுமே அது மீண்டும் முயற்சி செய்ய முடியும். SOAP இடைநிலைகளைப் பயன்படுத்தும் போது கூட, SOAP ஆனது அதன் உள்ளமைக்கப்பட்ட வெற்றிகரமான/மீண்டும் முயற்சி தர்க்கத்தின் காரணமாக இறுதி முதல் இறுதி வரை நம்பகத்தன்மையை வழங்குகிறது.
- SOAP ஏற்கனவே ACID தரநிலைகளுடன் இணங்குகிறது. தரவுத்தளத்துடன் பரிவர்த்தனைகள் எவ்வாறு தொடர்புகொள்ளலாம் என்பதைக் கூறுவதன் மூலம், ACID இணக்கமானது முரண்பாடுகளைக் குறைத்து, தரவுத்தளத்தின் நிலைத்தன்மையைப் பாதுகாக்கிறது. மற்ற தரவு நிலைத்தன்மை மாதிரிகளை விட ACID மிகவும் எச்சரிக்கையாக இருப்பதால், நிதி அல்லது வேறு எந்த வகையிலும் முக்கியமான பரிவர்த்தனைகளை நிர்வகிக்கும் போது இது அடிக்கடி பயன்படுத்தப்படுகிறது.
- SOAP முற்றிலும் எக்ஸ்எம்எல் அடிப்படையிலான தகவல்தொடர்பு என்பதால் புரோகிராமர்கள் புரிந்துகொள்வது எளிது.
- XML செய்தியிடல் நெறிமுறை HTTP நெறிமுறைக்கு கூடுதலாக உள்ளது.
- ஒரு கணினியிலிருந்து மற்றொரு கணினிக்கான தகவல்தொடர்புகளை SOAP செய்தி மூலம் பரப்பலாம்.
- கிளையண்ட்-சர்வர் கட்டமைப்பையும் செயல்படுத்தலாம். ஒரு SOAP நெறிமுறை செய்தியை கிளையன்ட் சேவையக பக்கத்தில் உள்ள தொலைநிலை செயல்முறை அழைப்பை அழைக்க பயன்படுத்தலாம்.
REST Vs SOAP வேறுபாடுகள்
1. கட்டிடக்கலை
ஒரு API என்பது ஒரு சேவையகத்தில் ஒரு பயன்பாட்டின் வணிக தர்க்கத்தின் குறிப்பிட்ட கூறுகளை முதன்மையாகக் காண்பிக்கும் நோக்கம் கொண்டது. அதே நோக்கத்திற்காக REST URIகளைப் பயன்படுத்துகிறது, SOAP இதற்காக ஒரு சேவை இடைமுகத்தைப் பயன்படுத்துகிறது.
REST APIகள் தரவுக்குப் பிறகு உருவாக்கப்படுகின்றன, அதேசமயம் SOAP APIகள் API விளக்கும் செயல்பாடுகளுக்குப் பிறகு உருவாக்கப்படுகின்றன. SOAP உடன் ஒப்பிடும்போது, இது அதிக செயல்பாட்டுடன் இயங்குகிறது, REST என்பது அதிக தரவு சார்ந்த வடிவமைப்பு ஆகும்.
2. பற்றுவதற்கு
தற்காலிகமாக சேமிக்கக்கூடியதாகக் குறிக்கப்பட்ட தரவை, சேவையகத்திற்கு புதிய கோரிக்கையைச் செய்ய வேண்டிய அவசியமின்றி உலாவிகளால் மீண்டும் பயன்படுத்த முடியும். நேரத்தையும் உழைப்பையும் மிச்சப்படுத்துவது இதன் நன்மை.
SOAP வினவல்கள் POST கோரிக்கைகள் மூலம் சமர்ப்பிக்கப்படுவதால், பதில்கள் HTTP அளவில் தேக்ககப்படுத்தப்படாது, இது HTTP தரநிலையானது சக்தியற்றதாகக் கருதுகிறது. நீங்கள் தேக்ககத்தைப் பயன்படுத்த விரும்பினால், REST APIகள் இந்தச் செயலாக்கத்தைச் சேர்க்காததால், தேவையான நுட்பங்களை நீங்கள் உருவாக்க வேண்டும்.
3. வளங்கள் & அலைவரிசை
SOAP ஆல் பயன்படுத்தப்படும் உறை-பாணி பேலோட் பரிமாற்றத்தின் காரணமாக, மேல்நிலையில் மிதமான அதிகரிப்பு உள்ளது, இது கூடுதல் அலைவரிசையை அவசியமாக்குகிறது. இந்த சூழ்நிலைகளில் REST இன் இலகுரக தன்மை ஒரு நன்மையாகும், ஏனெனில் இது பொதுவாக இணைய சேவைகளுக்குப் பயன்படுத்தப்படுகிறது.
4. பாதுகாப்பு
WS-பாதுகாப்பு, SOAP ஆதரிக்கிறது மற்றும் போக்குவரத்து மட்டத்தில் SSL ஐ விட சற்று முழுமையானது, விரும்பத்தக்கது. அதனுடன் நிறுவன அளவிலான பாதுகாப்பு நடவடிக்கைகளை இணைப்பதும் சரியான பொருத்தம்.
SSL ஐப் பயன்படுத்தி எண்ட்-டு-எண்ட் என்க்ரிப்ஷன் SOAP மற்றும் REST இரண்டாலும் ஆதரிக்கப்படுகிறது, மேலும் REST ஆனது HTTP நெறிமுறையின் பாதுகாப்பான மாறுபாடான HTTPS ஐப் பயன்படுத்தலாம்.
5. பேலோடுகளைக் கையாளுதல்
இணையம் மூலம் அனுப்பப்படும் தரவு பேலோட் என குறிப்பிடப்படுகிறது. "கனமான" என்று கருதப்படும் பேலோடுக்கு கூடுதல் ஆதாரங்கள் தேவை. எக்ஸ்எம்எல்லைப் பயன்படுத்தும் SOAP உடன் ஒப்பிடும்போது, பேலோடைக் குறைக்க REST பெரும்பாலும் JSON மற்றும் HTTPஐப் பயன்படுத்துகிறது.
SOAP API களை அணுகுவதற்கு கிளையண்ட் மிகவும் கடுமையான தொடர்பு ஒப்பந்தத்தின் காரணமாக உருவாக்கப்பட்ட குறியீட்டைக் கொண்ட ஒரு சிறப்பு கிளையன்ட் நூலகத்தைப் பயன்படுத்த வேண்டும்.
இதன் விளைவாக, SOAP ஆனது REST ஐ விட குறைந்த அளவிலான சுருக்கத்தை வழங்குகிறது மற்றும் சேவையகத்துடன் மிகவும் நெருக்கமாக இணைக்கப்பட்டுள்ளது.
REST ஐ எப்போது பயன்படுத்த வேண்டும்?
- பொது APIகளை உருவாக்குதல்: பொது இணைய சேவைகளை உருவாக்குவதற்கு REST APIகள் விரும்பப்படுகின்றன, ஏனெனில் அவை SOAP APIகளைக் காட்டிலும் பயன்படுத்துவதற்கும் ஏற்றுக்கொள்வதற்கும் எளிமையானதாகக் காணப்படுகின்றன. கூடுதலாக, SOAP ஆனது REST இல் இல்லாத பல உள்ளமைக்கப்பட்ட பாதுகாப்பு நடவடிக்கைகளை வழங்குகிறது, இருப்பினும் திறந்த தரவு மற்றும் சேவைகளுடன் பணிபுரியும் போது இந்த பண்புகள் தேவையில்லை.
- மொபைல் பயன்பாடுகளை உருவாக்குதல்: மொபைல் பயன்பாடுகளை உருவாக்க REST சரியானது, ஏனெனில் இது சிறியது, பயனுள்ளது, நிலையற்றது மற்றும் தற்காலிகமாக சேமிக்கக்கூடியது.
- அரிதான சேவையக வளங்கள் மற்றும் அலைவரிசையைப் பயன்படுத்துதல்: REST APIக்கான அனைத்து கோரிக்கைகளும் நிலையற்றதாக இருக்க வேண்டும், அதாவது ஒவ்வொரு தொடர்பும் தனித்தனியாக இருக்கும், மேலும் ஒவ்வொரு கோரிக்கையும் பதிலிலும் அந்த தொடர்புகளை முடிக்க தேவையான அனைத்து தரவும் உள்ளது. சேவையகம் முந்தைய கோரிக்கைகளின் பதிவுகளைச் சேமிக்காது, ஏனெனில் அது ஒவ்வொன்றையும் புதிய கோரிக்கையாகக் கருதுகிறது. இதன் விளைவாக, சேவையகத்திற்கு மிகக் குறைவான நினைவகம் தேவைப்படுகிறது மற்றும் விரைவாகச் செயல்படும், ஏனெனில் கோரிக்கையானது மேலும் நடவடிக்கை அல்லது வரலாற்றுத் தரவை மீட்டெடுக்க வேண்டிய அவசியமில்லை.
SOAP ஐ எப்போது பயன்படுத்த வேண்டும்?
- தனிப்பட்ட APIகளை உருவாக்குதல், குறிப்பாக பெரிய வணிகங்களுக்கு: SOAP ஆனது கார்ப்பரேட் பயன்பாடுகளுக்கு ஏற்றது, ஏனெனில் இது பரவலாக்கப்பட்ட, விநியோகிக்கப்பட்ட சூழலில் தரவு ஓட்டத்தை செயல்படுத்துகிறது மற்றும் பல ஆன்லைன் பாதுகாப்பு அம்சங்களைக் கொண்டுள்ளது.
- HTTPயைத் தவிர வேறு ஒரு போக்குவரத்து நெறிமுறையை அடிப்படை அடுக்காகப் பயன்படுத்துதல்: SOAP ஆனது HTTPஐ அடிப்படை அடுக்காகச் சார்ந்து இல்லை. உங்கள் விண்ணப்பத்தைப் பொறுத்து, நீங்கள் SMTP (எளிய அஞ்சல் பரிமாற்ற நெறிமுறை), JMS (ஜாவா செய்தியிடல் சேவை) அல்லது மற்றொரு போக்குவரத்து நெறிமுறையைப் பயன்படுத்தலாம்.
- மாநில செயல்பாடுகளுடன் பணிபுரிதல்: REST API களுக்கான கோரிக்கைகளுக்கு மாறாக, SOAP APIகளுக்கான கோரிக்கைகள் நிலையானவை, அதாவது சேவையகம் கிளையன்ட் பற்றிய தகவல்களைச் சேமித்து, கோரிக்கைகள் அல்லது செயல்பாடுகளின் சங்கிலியில் அதைப் பயன்படுத்துகிறது. இது அதிக சர்வர் அலைவரிசை மற்றும் ஆதாரங்களைப் பயன்படுத்தினாலும், வங்கிப் பரிமாற்றங்கள் போன்ற வழக்கமான அல்லது இணைக்கப்பட்ட செயல்களைச் செய்வதற்கு இது மிகவும் முக்கியமானது.
தீர்மானம்
REST மற்றும் SOAP API களுக்கு இடையிலான ஒப்பீடு, SOAP ஐ விட REST விரும்பத்தக்கது என்பதை தெளிவாக்குகிறது. இன்னும், SOAP API தேவைப்படும் சூழ்நிலைகள் உள்ளன. சில சந்தர்ப்பங்களில், இணைய சேவைகள் REST மற்றும் SOAP APIகளை இணைப்பதன் மூலம் உருவாக்கப்படுகின்றன.
எனவே, எந்த API பாணி சிறப்பாகச் செயல்படும் என்பதை பயன்பாட்டு வழக்கு தீர்மானிக்கும்.
ஒரு பதில் விடவும்