ഒരു പ്ലാറ്റ്ഫോം തിരഞ്ഞെടുക്കുന്നതിന് മുമ്പ് നിങ്ങൾ അവരുടെ API യെക്കുറിച്ച് ചോദിക്കേണ്ട 15 ചോദ്യങ്ങൾ
ഒരു നല്ല സുഹൃത്തും ഉപദേഷ്ടാവും എന്നെ ഒരു ചോദ്യം ഉന്നയിച്ചു, ഈ പോസ്റ്റിനായി എന്റെ പ്രതികരണങ്ങൾ ഉപയോഗിക്കാൻ ഞാൻ ആഗ്രഹിക്കുന്നു. അദ്ദേഹത്തിന്റെ ചോദ്യങ്ങൾ ഒരു വ്യവസായത്തിൽ (ഇമെയിൽ) കുറച്ചുകൂടി ശ്രദ്ധ കേന്ദ്രീകരിച്ചു, അതിനാൽ ഞാൻ എല്ലാ എപിഐകളിലേക്കും എന്റെ പ്രതികരണങ്ങൾ സാമാന്യവൽക്കരിച്ചു. ഒരു തിരഞ്ഞെടുപ്പ് നടത്തുന്നതിന് മുമ്പ് ഒരു കമ്പനി അവരുടെ എപിഐയെക്കുറിച്ച് ഒരു വെണ്ടറോട് ചോദിക്കേണ്ട ചോദ്യങ്ങൾ അദ്ദേഹം ചോദിച്ചു.
നിങ്ങൾക്ക് API- കൾ ആവശ്യമുള്ളത് എന്തുകൊണ്ട്?
An ആപ്ലിക്കേഷൻ പ്രോഗ്രാമിംഗ് ഇന്റർഫേസ് (API) ഒരു കമ്പ്യൂട്ടർ സിസ്റ്റം, ലൈബ്രറി അല്ലെങ്കിൽ ആപ്ലിക്കേഷൻ മറ്റ് കമ്പ്യൂട്ടർ പ്രോഗ്രാമുകൾ വഴി സേവനങ്ങൾ അഭ്യർത്ഥനകൾ അനുവദിക്കുന്നതിനും കൂടാതെ / അല്ലെങ്കിൽ അവയ്ക്കിടയിൽ ഡാറ്റ കൈമാറ്റം ചെയ്യാൻ അനുവദിക്കുന്നതിനും നൽകുന്ന ഇന്റർഫേസ് ആണ്.
വിക്കിപീഡിയ
നിങ്ങൾ ഒരു URL ടൈപ്പുചെയ്ത് ഒരു വെബ് പേജിൽ ഒരു പ്രതികരണം നേടുന്നതുപോലെ, നിങ്ങളുടെ സിസ്റ്റങ്ങൾക്ക് അഭ്യർത്ഥിക്കാനും അവയ്ക്കിടയിൽ ഡാറ്റ സമന്വയിപ്പിക്കുന്നതിന് ഒരു പ്രതികരണം തിരികെ നേടാനുമുള്ള ഒരു രീതിയാണ് API. കമ്പനികൾ സ്വയം ഡിജിറ്റലായി പരിവർത്തനം ചെയ്യാൻ നോക്കുമ്പോൾ, എപിഐകളിലൂടെ ടാസ്ക്കുകൾ ഓട്ടോമേറ്റ് ചെയ്യുന്നത് ഓർഗനൈസേഷനിലെ കാര്യക്ഷമത മെച്ചപ്പെടുത്തുന്നതിനും മനുഷ്യ പിശകുകൾ കുറയ്ക്കുന്നതിനുമുള്ള മികച്ച മാർഗമാണ്.
API- കൾ ഓട്ടോമേഷന്റെ കേന്ദ്രമാണ്, പ്രത്യേകിച്ച് മാർക്കറ്റിംഗ് അപ്ലിക്കേഷനുകളിൽ. സമഗ്രമായ ഒരു മികച്ച വെണ്ടർക്കായി ഷോപ്പിംഗ് നടത്തുമ്പോൾ ഒരു വെല്ലുവിളി എപിഐ വികസന സ്രോതസ്സുകളും ചെലവുകളും സാധാരണയായി ഒരു ചിന്തയ്ക്ക് ശേഷമാണ്. മാർക്കറ്റിംഗ് ടീമോ സിഎംഒയോ ഒരു അപ്ലിക്കേഷൻ വാങ്ങാൻ പ്രേരിപ്പിച്ചേക്കാം, ചിലപ്പോൾ വികസന ടീമിന് ധാരാളം ഇൻപുട്ട് ലഭിക്കില്ല.
ഒരു API വഴി ഒരു പ്ലാറ്റ്ഫോമിലെ സംയോജന ശേഷികൾ ഗവേഷണം ചെയ്യുന്നതിന് ലളിതമായ ചോദ്യത്തേക്കാൾ കൂടുതൽ ആവശ്യമാണ്, ഒരു API ഉണ്ടോ? പിന്നെ അടുത്ത ചോദ്യവും:
ഏത് തരത്തിലുള്ള API-കൾ ഉണ്ട്?
വിവിധ തരത്തിലുള്ള API സാങ്കേതികവിദ്യകൾ ഉണ്ട്, ഓരോന്നിനും അതിന്റേതായ പ്രത്യേക സവിശേഷതകളും ഉപയോഗ കേസുകളും ഉണ്ട്. നിങ്ങളുടെ ആപ്ലിക്കേഷന് ഏറ്റവും അനുയോജ്യമായ API സാങ്കേതികവിദ്യയുടെ തരം നിങ്ങളുടെ നിർദ്ദിഷ്ട ആവശ്യങ്ങളെയും ആവശ്യകതകളെയും ആശ്രയിച്ചിരിക്കും. API സാങ്കേതികവിദ്യകളുടെ 6 പൊതുവായ തരങ്ങൾ ഇതാ:
- REST API- കൾ - REST ഡാറ്റ വീണ്ടെടുക്കുന്നതിനും കൈകാര്യം ചെയ്യുന്നതിനും HTTP രീതികൾ (GET, POST, PUT, DELETE എന്നിവ) ഉപയോഗിക്കുന്ന ഒരു തരം വെബ് API ആണ് APIകൾ. REST API-കൾ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത് ഭാരം കുറഞ്ഞതും വഴക്കമുള്ളതുമാണ്, അവ പലപ്പോഴും വെബ്, മൊബൈൽ ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കാൻ ഉപയോഗിക്കുന്നു.
- SOAP API-കൾ - എസ്ഒഎപി (ലളിതമായ ഒബ്ജക്റ്റ് ആക്സസ് പ്രോട്ടോക്കോൾ) ഡാറ്റ എൻകോഡ് ചെയ്യുന്നതിനും HTTP വഴി കൈമാറുന്നതിനും XML (എക്സ്റ്റൻസിബിൾ മാർക്ക്അപ്പ് ലാംഗ്വേജ്) ഉപയോഗിക്കുന്ന ഒരു തരം വെബ് API ആണ് APIകൾ. SOAP API-കൾ REST API-കളേക്കാൾ കൂടുതൽ നിലവാരമുള്ളതും ഘടനാപരമായതുമാണ്, മാത്രമല്ല സുരക്ഷയും വിശ്വാസ്യതയും പ്രധാനമായ എന്റർപ്രൈസ് പരിതസ്ഥിതികളിൽ പലപ്പോഴും ഉപയോഗിക്കാറുണ്ട്.
- ഗ്രാഫ്ക്യുഎൽ എപിഐകൾ - API-കൾക്കായുള്ള ഒരു അന്വേഷണ ഭാഷയാണ് GraphQL, അത് ഒരു നിശ്ചിത ഡാറ്റാ സെറ്റ് സ്വീകരിക്കുന്നതിനുപകരം ഒരു API-യിൽ നിന്ന് നിർദ്ദിഷ്ട ഡാറ്റ അഭ്യർത്ഥിക്കാൻ ഡെവലപ്പർമാരെ അനുവദിക്കുന്നു. ഗ്രാഫ്ക്യുഎൽ എപിഐകൾ വഴക്കമുള്ളതും ഡെവലപ്പർമാർക്ക് ആവശ്യമുള്ള ഡാറ്റ മാത്രം അഭ്യർത്ഥിക്കാൻ അനുവദിക്കുന്നതുമാണ്, ഇത് പ്രകടനം മെച്ചപ്പെടുത്താനും ഡാറ്റ പാഴാക്കുന്നത് കുറയ്ക്കാനും കഴിയും.
- വെബ്ഹൂക്കുകൾ - ക്ലയന്റ് സെർവറിൽ നിന്ന് ഡാറ്റ അഭ്യർത്ഥിക്കുന്നതിന് പകരം, തത്സമയം ഒരു ക്ലയന്റിലേക്ക് ഡാറ്റ അയയ്ക്കാൻ സെർവറിനെ അനുവദിക്കുന്ന ഒരു തരം API സാങ്കേതികവിദ്യയാണ് Webhooks. ആപ്ലിക്കേഷനുകൾക്കിടയിൽ തത്സമയ ആശയവിനിമയം സാധ്യമാക്കുന്നതിനും ചില ഇവന്റുകൾ സംഭവിക്കുമ്പോൾ പ്രവർത്തനങ്ങൾ ട്രിഗർ ചെയ്യുന്നതിനും Webhooks ഉപയോഗിക്കാറുണ്ട്.
- ക്ലൗഡ് API-കൾ - സംഭരണം, ഡാറ്റാബേസുകൾ, അനലിറ്റിക്സ് എന്നിവ പോലുള്ള ക്ലൗഡ് കമ്പ്യൂട്ടിംഗ് സേവനങ്ങൾ ആക്സസ് ചെയ്യാനും സംവദിക്കാനും ക്ലൗഡ് API-കൾ ഡവലപ്പർമാരെ അനുവദിക്കുന്നു. ആപ്ലിക്കേഷനുകൾ കൂടുതൽ കാര്യക്ഷമമായും ഫലപ്രദമായും നിർമ്മിക്കാനും വിന്യസിക്കാനും ഈ API-കൾക്ക് ഡവലപ്പർമാരെ സഹായിക്കാനാകും.
- ഹാർഡ്വെയർ API-കൾ - സെൻസറുകൾ, ക്യാമറകൾ, പ്രിന്ററുകൾ എന്നിവ പോലുള്ള ഹാർഡ്വെയർ ഉപകരണങ്ങൾ ആക്സസ് ചെയ്യാനും നിയന്ത്രിക്കാനും ഡെവലപ്പർമാരെ ഹാർഡ്വെയർ API-കൾ അനുവദിക്കുന്നു. ഫിസിക്കൽ ഉപകരണങ്ങളുമായി സംവദിക്കുകയും നിയന്ത്രിക്കുകയും ചെയ്യുന്ന ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കാൻ ഈ API-കൾ ഉപയോഗിക്കാം.
മോശമായി പിന്തുണയ്ക്കുന്ന അല്ലെങ്കിൽ ഡോക്യുമെന്റഡ് API ഉള്ള ഒരു അപ്ലിക്കേഷൻ ഉപയോഗിച്ച് നിങ്ങൾ സൈൻ ഇൻ ചെയ്യുകയാണെങ്കിൽ, നിങ്ങൾ നിങ്ങളുടെ വികസന ടീമിനെ ഭ്രാന്തനാക്കും, നിങ്ങളുടെ സംയോജനങ്ങൾ ഹ്രസ്വമായി വരാം അല്ലെങ്കിൽ പൂർണ്ണമായും പരാജയപ്പെടും. ശരിയായ വെണ്ടർ കണ്ടെത്തുക, നിങ്ങളുടെ സംയോജനം പ്രവർത്തിക്കുകയും നിങ്ങളുടെ വികസന ആളുകൾ സഹായിക്കാൻ സന്തോഷിക്കുകയും ചെയ്യും!
അവരുടെ API കഴിവുകളെക്കുറിച്ചുള്ള ഗവേഷണ ചോദ്യങ്ങൾ:
- സവിശേഷത വിടവ് - ആപ്ലിക്കേഷൻ പ്രോഗ്രാമിംഗ് ഇന്റർഫേസ് വഴി അവരുടെ ഉപയോക്തൃ ഇന്റർഫേസിന്റെ സവിശേഷതകൾ എന്താണെന്ന് തിരിച്ചറിയുക. യുഐക്ക് ഇല്ലാത്തതും തിരിച്ചും എപിഐക്ക് എന്ത് സവിശേഷതകളുണ്ട്?
- സ്കെയിൽ - അവർക്ക് എത്ര കോളുകൾ വിളിച്ചുവെന്ന് ചോദിക്കുക എപിഐ ദിവസേന. അവർക്ക് ഒരു പ്രത്യേക സെർവറുകൾ ഉണ്ടോ? എപിഐ ഒരു പുനർചിന്തനമാണോ അതോ കമ്പനിയുടെ തന്ത്രത്തിന്റെ ഭാഗമാണോ എന്ന് തിരിച്ചറിയാൻ നിങ്ങൾ താൽപ്പര്യപ്പെടുന്നതിനാൽ അളവ് അവിശ്വസനീയമാംവിധം പ്രധാനമാണ്.
- വിവരണക്കുറിപ്പു് - API ഡോക്യുമെന്റേഷൻ ആവശ്യപ്പെടുക. ഇത് കരുത്തുറ്റതായിരിക്കണം, എപിഐയിൽ ലഭ്യമായ എല്ലാ സവിശേഷതകളും വേരിയബിളും വ്യക്തമാക്കുന്നു.
- സമൂഹം - മറ്റ് ഡവലപ്പർമാരുമായി കോഡും ആശയങ്ങളും പങ്കിടുന്നതിന് അവർക്ക് ഒരു ഓൺലൈൻ ഡവലപ്പർ കമ്മ്യൂണിറ്റി ലഭ്യമാണോ എന്ന് ചോദിക്കുക. നിങ്ങളുടെ വികസനവും സംയോജന ശ്രമങ്ങളും വേഗത്തിലും കാര്യക്ഷമമായും സമാരംഭിക്കുന്നതിനുള്ള പ്രധാന ഘടകമാണ് ഡവലപ്പർ കമ്മ്യൂണിറ്റികൾ. കമ്പനിയിൽ 'എപിഐ വ്യക്തിയെ' സ്വാധീനിക്കുന്നതിനുപകരം, അവരുടെ പരിഹാരത്തെ സമന്വയിപ്പിക്കുന്ന പരീക്ഷണങ്ങളും പിശകുകളും ഇതിനകം നേരിടുന്ന അവരുടെ എല്ലാ ഉപഭോക്താക്കളെയും നിങ്ങൾ സ്വാധീനിക്കുന്നു.
- API-യുടെ തരങ്ങൾ - നിങ്ങൾ ഉപയോഗിക്കുന്ന API തരം പരിചയം, സംയോജനങ്ങൾ വളരെ എളുപ്പമായിരിക്കും. എന്നിരുന്നാലും, ഒരു API ഉപയോഗിക്കുന്നതിനുള്ള സവിശേഷതകളും ആവശ്യകതകളും നിങ്ങൾക്ക് പരിചയമില്ലെങ്കിൽ നേരെ വിപരീതമാണ് ശരി.
- ഭാഷകൾ - ഏതൊക്കെ പ്ലാറ്റ്ഫോമുകളും ആപ്ലിക്കേഷനുകളുമാണ് അവർ വിജയകരമായി സംയോജിപ്പിച്ചതെന്ന് ചോദിക്കുകയും കോൺടാക്റ്റുകൾ അഭ്യർത്ഥിക്കുകയും ചെയ്യുന്നതിലൂടെ ആ ഉപഭോക്താക്കളിൽ നിന്ന് സംയോജിപ്പിക്കുന്നത് എത്ര ബുദ്ധിമുട്ടാണെന്നും എപിഐ എത്ര നന്നായി പ്രവർത്തിക്കുന്നുവെന്നും നിങ്ങൾക്ക് കണ്ടെത്താനാകും.
- പരിമിതികൾ - വെണ്ടറിന് മണിക്കൂറിൽ, പ്രതിദിനം, ആഴ്ചയിൽ, കോളുകളുടെ എണ്ണത്തിൽ എന്ത് പരിമിതികളുണ്ടെന്ന് ചോദിക്കുക. നിങ്ങൾ അളക്കാവുന്ന വെണ്ടർ ഇല്ലെങ്കിൽ, നിങ്ങളുടെ വളർച്ച ഉപഭോക്താവ് പരിമിതപ്പെടുത്തും.
- സാമ്പിളുകൾ - എളുപ്പത്തിൽ ആരംഭിക്കുന്നതിന് അവർ കോഡ് ഉദാഹരണങ്ങളുടെ ഒരു ലൈബ്രറി വാഗ്ദാനം ചെയ്യുന്നുണ്ടോ? നിങ്ങളുടെ സംയോജന ടൈംലൈനിനെ ത്വരിതപ്പെടുത്തുന്ന വിവിധ ഭാഷകൾക്കും ചട്ടക്കൂടുകൾക്കുമായി പല കമ്പനികളും SDK (സോഫ്റ്റ്വെയർ ഡെവലപ്മെന്റ് കിറ്റുകൾ) പ്രസിദ്ധീകരിക്കുന്നു.
- സാൻഡ്ബോക്സ് - നിങ്ങളുടെ കോഡ് പരിശോധിക്കുന്നതിനായി അവർ ഒരു നോൺ-പ്രൊഡക്ഷൻ എൻഡ്പോയിൻറ് അല്ലെങ്കിൽ സാൻഡ്ബോക്സ് എൻവയോൺമെന്റ് വാഗ്ദാനം ചെയ്യുന്നുണ്ടോ?
- വിഭവങ്ങൾ - അവരുടെ കമ്പനിക്കുള്ളിൽ ഇന്റഗ്രേഷൻ ഉറവിടങ്ങൾ സമർപ്പിച്ചിട്ടുണ്ടോ എന്ന് ചോദിക്കുക. സംയോജനത്തിനായി അവർക്ക് ഒരു ആന്തരിക കൺസൾട്ടിംഗ് ഗ്രൂപ്പ് ഉണ്ടോ? അങ്ങനെയാണെങ്കിൽ, കരാറിൽ കുറച്ച് മണിക്കൂർ എറിയുക!
- സുരക്ഷ - API ഉപയോഗിച്ച് അവർ എങ്ങനെ പ്രാമാണീകരിക്കും? ഇത് ഉപയോക്തൃ ക്രെഡൻഷ്യലുകൾ, കീകൾ അല്ലെങ്കിൽ മറ്റ് രീതിശാസ്ത്രമാണോ? അവർക്ക് IP വിലാസം വഴി അഭ്യർത്ഥനകൾ നിയന്ത്രിക്കാൻ കഴിയുമോ?
- ആവേശം - അവ എന്താണെന്ന് ചോദിക്കുക എപിഐ പ്രവർത്തന സമയവും പിശക് നിരക്കും, അവയുടെ അറ്റകുറ്റപ്പണി സമയമാകുമ്പോൾ. അതുപോലെ, അവയ്ക്ക് ചുറ്റും പ്രവർത്തിക്കാനുള്ള തന്ത്രങ്ങളും പ്രധാനമാണ്. അവർക്ക് വീണ്ടും ശ്രമിക്കുന്ന ആന്തരിക പ്രക്രിയകൾ ഉണ്ടോ? എപിഐ മറ്റൊരു പ്രോസസ്സ് കാരണം റെക്കോർഡ് ലഭ്യമല്ലാത്ത സാഹചര്യത്തിൽ കോളുകൾ? ഇത് അവരുടെ പരിഹാരത്തിൽ അവർ രൂപകൽപ്പന ചെയ്ത ഒന്നാണോ?
- എസ്എൽഎ - അവർക്ക് ഒരു ഉണ്ടോ? സർവീസ് ലവൽ എഗ്രിമെന്റ് 99.9% മുകളിലായിരിക്കേണ്ട സമയം എവിടെയാണ്?
- റോഡ്മാപ്പിലേക്ക് - ഭാവിയിൽ ഏതെല്ലാം സവിശേഷതകളാണ് അവർ അവരുടെ API- യിൽ ഉൾപ്പെടുത്തുന്നത്, പ്രതീക്ഷിക്കുന്ന ഡെലിവറി ഷെഡ്യൂളുകൾ എന്തൊക്കെയാണ്?
- സമന്വയങ്ങൾക്ക് - അവർ ഉൽപാദിപ്പിച്ച സംയോജനങ്ങൾ അല്ലെങ്കിൽ മൂന്നാം കക്ഷികൾ വികസിപ്പിച്ചെടുത്തത്? ചില ഉൽപാദനക്ഷമതയുള്ള സംയോജനം ഇതിനകം നിലവിലുണ്ടായിരിക്കുകയും പിന്തുണയ്ക്കുകയും ചെയ്യുമ്പോൾ കമ്പനികൾക്ക് സവിശേഷതകളുടെ ആന്തരിക വികസനം ഉപേക്ഷിക്കാൻ കഴിയും.
ഈ ചോദ്യങ്ങളുടെ താക്കോൽ സംയോജനം നിങ്ങളെ പ്ലാറ്റ്ഫോമിലേക്ക് 'വിവാഹം' ചെയ്യുന്നു എന്നതാണ്. ഒരാളെക്കുറിച്ച് നിങ്ങൾക്ക് കഴിയുന്നത്ര അറിയാതെ അവരെ വിവാഹം കഴിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നില്ല, അല്ലേ? ഒരു പ്ലാറ്റ്ഫോം അതിന്റെ സംയോജന ശേഷിയെക്കുറിച്ച് അറിവില്ലാതെ ആളുകൾ വാങ്ങുമ്പോൾ സംഭവിക്കുന്നത് ഇതാണ്.
ഒരു API-യ്ക്ക് അപ്പുറം, അവയ്ക്ക് മറ്റ് സംയോജന ഉറവിടങ്ങൾ എന്തെല്ലാമാണെന്ന് കണ്ടെത്താനും നിങ്ങൾ ശ്രമിക്കണം: ബാർകോഡിംഗ്, മാപ്പിംഗ്, ഡാറ്റ ക്ലീൻസിംഗ് സേവനങ്ങൾ, ആർ.എസ്.എസ്, വെബ് ഫോമുകൾ, വിജറ്റുകൾ, ഔപചാരിക പങ്കാളി സംയോജനങ്ങൾ, സ്ക്രിപ്റ്റിംഗ് എഞ്ചിനുകൾ, SFTP തുള്ളികൾ മുതലായവ.