નેટવર્ક એપ્લિકેશન પ્રોગ્રામિંગ ઇન્ટરફેસો (API)

એપ્લીકેશન પ્રોગ્રામિંગ ઈન્ટરફેસ (API) કમ્પ્યુટર પ્રોગ્રામરોને પ્રકાશિત સૉફ્ટવેર મોડ્યુલો અને સેવાઓની કાર્યક્ષમતાને ઍક્સેસ કરવા દે છે. API એ ડેટા સ્ટ્રક્ચર્સ અને સબ્રાઉટિન કૉલ્સને વ્યાખ્યાયિત કરે છે જેનો ઉપયોગ હાલનાં એપ્લિકેશન્સને નવી સુવિધાઓ સાથે વિસ્તારવા માટે અને અન્ય સૉફ્ટવેર ઘટકોની ઉપર સંપૂર્ણ નવી એપ્લિકેશનો બનાવવા માટે થઈ શકે છે. આમાંથી કેટલાક API ખાસ કરીને નેટવર્ક પ્રોગ્રામિંગને સપોર્ટ કરે છે.

નેટવર્ક પ્રોગ્રામિંગ એ કાર્યક્રમો માટે સૉફ્ટવેર ડેવલપમેન્ટનો એક પ્રકાર છે જે ઇન્ટરનેટ સહિત કમ્પ્યુટર નેટવર્ક્સ પર કનેક્ટ અને સંચાર કરે છે. નેટવર્ક API પ્રોટોકોલ અને ફરી ઉપયોગી સોફ્ટવેર પુસ્તકાલયોને એન્ટ્રી પોઇન્ટ પૂરા પાડે છે. નેટવર્ક API વેબ બ્રાઉઝર્સ, વેબ ડેટાબેઝ અને ઘણી મોબાઇલ એપ્લિકેશન્સને સપોર્ટ કરે છે. તેઓ ઘણા વિવિધ પ્રોગ્રામિંગ ભાષાઓ અને ઑપરેટિંગ સિસ્ટમ્સમાં વિસ્તૃત રીતે સપોર્ટેડ છે.

સોકેટ પ્રોગ્રામિંગ

પરંપરાગત નેટવર્ક પ્રોગ્રામિંગે ક્લાયન્ટ-સર્વર મોડેલને અનુસર્યું. ક્લાયન્ટ-સર્વર નેટવર્કિંગ માટે ઉપયોગમાં લેવાતા પ્રાથમિક API સૉકેટ લાઈબ્રેરીઓમાં ઑપરેટિંગ સિસ્ટમ્સમાં સમાયેલ છે. બર્કલે સોકેટ્સ અને વિન્ડોઝ સોકેટ્સ (વિન્સોક) API ઘણા વર્ષોથી સોકેટ પ્રોગ્રામિંગ માટેનાં બે પ્રાથમિક ધોરણો હતા.

દૂરસ્થ કાર્યવાહી કૉલ્સ

RPC API એ માત્ર તેમને સંદેશો મોકલવાને બદલે રિમોટ ઉપકરણો પરના કાર્યોને અમલમાં લાવવા માટે એપ્લિકેશન્સની ક્ષમતાને ઉમેરીને બેઝિક નેટવર્ક પ્રોગ્રામિંગ તરકીબો વિસ્તારે છે. વર્લ્ડ વાઇડ વેબ (ડબલ્યુડબ્લ્યુડબ્લ્યુ) પર વૃદ્ધિના વિસ્ફોટ સાથે, XML-RPC RPC માટે એક લોકપ્રિય પદ્ધતિ તરીકે ઉભરી.

સરળ ઓબ્જેક્ટ એક્સેસ પ્રોટોકોલ (SOAP)

એસઓએપી 1990 ના દાયકાના ઉત્તરાર્ધમાં નેટવર્કના પ્રોટોકોલ તરીકે તેનો સંદેશ ફોર્મેટ અને હાઈપરટેક્સ્ટ ટ્રાન્સફર પ્રોટોકોલ (HTTP) તેના પરિવહન તરીકે ઉપયોગ કરીને વિકસાવવામાં આવી હતી. SOAP એ વેબ સેવાઓ પ્રોગ્રામરોની એક વફાદાર નીચેનાને જનરેટ કર્યો અને એન્ટરપ્રાઇઝ એપ્લિકેશન્સ માટે બહોળા પ્રમાણમાં ઉપયોગમાં લીધા.

પ્રતિનિધિત્વ રાજ્ય પરિવહન (રેસ્ટ)

REST અન્ય પ્રોગ્રામિંગ મોડેલ છે જે વેબ સેવાઓને સપોર્ટ કરે છે જે દ્રશ્ય પર વધુ તાજેતરમાં પહોંચ્યા છે. SOAP ની જેમ, REST API નો ઉપયોગ HTTP ઉપયોગ કરે છે, પરંતુ XML ની ​​જગ્યાએ, REST એપ્લિકેશન્સ ઘણીવાર તેના બદલે જાવાસ્ક્રિપ્ટ ઓબ્જેક્ટ નોટેશન (JSON) નો ઉપયોગ કરવાનું પસંદ કરે છે. રાજ્ય સંચાલિત અને સલામતી માટે તેમના અભિગમમાં મોટાભાગના અલગ અને SOAP અલગ અલગ હોય છે, નેટવર્ક પ્રોગ્રામરો માટે બંને કી વિચારણાઓ. મોબાઇલ એપ્લિકેશન્સ નેટવર્ક API નો ઉપયોગ કરી શકશે નહીં અથવા ન પણ કરી શકે છે, પરંતુ એવા લોકો જે REST નો ઉપયોગ કરે છે.

API નો ફ્યુચર

નવા વેબ સેવાઓના વિકાસ માટે SOAP અને REST બંનેનો સક્રિય રીતે ઉપયોગ થતો રહ્યો છે. સોઆપ કરતા વધુ નવી તકનીક બનવું, બાકીના API વિકાસના અન્ય શાખાઓનું નિર્માણ અને ઉત્પાદન થવાની સંભાવના વધુ છે.

ઘણી નવી નેટવર્ક API તકનીકોને ટેકો આપવા ઓપરેટિંગ સિસ્ટમ્સ પણ વિકાસ પામી છે. આધુનિક ઓપરેટિંગ સિસ્ટમોની જેમ કે વિન્ડોઝ 10, ઉદાહરણ તરીકે, સોકેટ્સ કોર API તરીકે ચાલુ રહે છે, જેમાં એચટીટી (HTTP) અને રેસ્ટફુલ સ્ટાઇલ નેટવર્ક પ્રોગ્રામિંગ માટે ટોચ પર સ્તરવાળી અન્ય વધારાની સપોર્ટ છે.

જેમ જેમ કોમ્પ્યુટર ક્ષેત્રોમાં વારંવાર થાય છે, જૂની ટેકનોલોજી જૂનાં ઓડસ્ટ બની જાય તેટલી ઝડપથી ચાલવાનું વલણ ધરાવે છે. ક્લાઉડ કમ્પ્યુટિંગ અને વસ્તુઓ (આઇઓટી) નાં ક્ષેત્રોમાં ખાસ કરીને થતાં રસપ્રદ નવી API વિકાસો જુઓ, જ્યાં ઉપકરણોની લાક્ષણિકતાઓ અને તેમનો વપરાશ મોડલ પરંપરાગત નેટવર્ક પ્રોગ્રામિંગ વાતાવરણથી અલગ છે.