Movatterモバイル変換


[0]ホーム

URL:


Mine sisu juurde
Vikipeedia
Otsing

Rakendusliides

Allikas: Vikipeedia
(Ümber suunatud leheküljeltAPI)

Rakendusliides ehkprogrammiliides ehkrakendustarkvara liides ehkAPI (inglise keelesapplication programming interface) onarvutiprogrammidesalamprogrammi määratluste,protokollide ja tööriistade komplektrakendustarkvara ehitamiseks. Üldiselt on tegemist eri tarkvarakomponentide vahelise selgelt määratletud sidevahendite kogumiga. Rakendusliidese ülesanne on lihtsustadatarkvara arendamist, andes ette programmiplokid, midaprogrammeerijad kasutavad lõpliku arvutiprogrammi koostamisel. Rakendusliides võib ollaveebipõhine süsteem,operatsioonisüsteem,andmebaasi süsteem,arvuti riistvara võitarkvara kogum. Rakendusliidese spetsifikatsiooni võib esitleda mitmesugusel kujul, kuid tihti sisaldab see rutiinide,andmestruktuuride,objektiklasside,muutujate võiprotseduuri kutsumise kirjeldusi. Näiteid rakendusliidestest:POSIX,MicrosoftWindows API,C++ Standard Template Library ja Java API'id. Tavapäraselt käib rakendusliidestega kaasa dokumentatsioon, et hõlbustada nende kasutamist.

Otstarve

[muuda |muuda lähteteksti]

Samamoodi, nagu lihtsustabgraafiline kasutajaliides arvutiprogrammide kasutamist, lihtsustab rakendusliides programmeerijatel programmide kirjutamist. Rakendusliides lihtsustabprogrammeerimist, eemaldades alusimplementatsiooni ja jättes alles ainult objektid ja toimingud, mida programmeerijal vaja läheb. Kui graafiline kasutajaliides loob kasutajale näiteks nupu, mida vajutades sorteeritaksee-kirjad vanuse järgi, siis rakendusliides pakub programmeerijalefunktsiooni, mis sorteeribfailid teatud omaduse järgi, ilma et ta peaks teadma ja aru saama sellest, kuidasfailisüsteem need failid ära sorteerib.[1]

Kasutusalad

[muuda |muuda lähteteksti]

Teegid ja tarkvararaamistikud

[muuda |muuda lähteteksti]

Rakendusliides on tavaliselt seotudtarkvara teekidega. Rakendusliides kirjeldab ja määrab reeglikogumi eeldatava käitumise, kuid teek on reeglikogumi implementatsioon. Ühel rakendusliidesel saab olla mitu (või mitte ühtegi) implementatsiooni eri teekide näol, mis kasutavad sama rakendusliidest. Rakendusliidese eraldamine tema implementatsioonidest võimaldab ühes keeles kirjutatud programmidel kasutada teises keeles kirjutatud teeke. Näiteks, kunaScala jaJava kompileeruvad ühilduvaksbaitkoodiks, siis Scala programmeerijad saavad kasutada ükskõik millist Java API'i.[2]

Rakendusliidese kasutus varieerubprogrammeerimiskeelte vahel. Rakendusliides protseduurilise programmeerimiskeele jaoks naguLua koosneb põhiliselt algrutiinidest, et käivitada kood, muuta andmeid või käsitleda vigu. Kuid rakendusliides objektorienteeritud programmeerimiskeele jaoks nagu Java, rakendab klasside kirjeldused ja nende meetodid.[3][4]

Programmeerimiskeelte vahelised seosed on samuti rakendusliidesed. Sidudes ühe programmeerimiskeele funktsioonid ja võimalused teises keeles koostatud teegiga, võimaldavad programmeerimiskeelte vahelised seosed kasutada ühes keeles kirjutatud teeki või teenust, teises programmeerimiskeeles programmeerides.Liidesegeneraatorid naguSWIG jaF2PY hõlbustavad selliste teekide loomist.[5]

Rakendusliides võib olla ka seotudtarkvararaamistikuga – tarkvararaamistik võib koosneda mitmest teegist, mis implementeerivad mitut rakendusliidest, kuid erinevalt rakendusliidese tavapärasest kasutusest on tarkvararaamistiku funktsionaalsed võimalused laiendatud tarkvararaamistikku endasse, uuteklasside lisamisega. Lisaks võib üldine programmipõhine juhtimisvoog olla väljaspool kutsuja kontrolli ja olla hoopis tarkvararaamistiku juhtimise all. Kokkuvõtvalt koosneb tarkvararaamistik mitmest eri teegist ja nende teekide kasutus on tarkvararaamistikku endasse sisse ehitatud. Samuti kontrollib tarkvararaamistik ise, kuidas ta neid teeke kasutab.[6][7]

Operatsioonisüsteemid

[muuda |muuda lähteteksti]

Rakendusliides saab määratarakenduse jaoperatsioonisüsteemi vaheliseliidese.POSIX näiteks määrab levinud rakendusliideste kogu, mille komponendid võimaldavad rakendusel, kirjutatud ühePOSIX vastavaoperatsioonisüsteemi jaoks, kompileeruda teisel POSIX vastaval operatsioonisüsteemil.[8]

Microsoft peab tähtsaks tagurpidi ühilduvate rakendusliideste loomist, et vanemaid rakendusi saaks käivitada uuemalWindowsi versioonil. Näiteks Microsofti Windows API (Win32) teek.[9]

Rakendusliides erineb rakenduse binaarliidesest selle poolest, et rakendusliides on algkoodil baseeruv, kuidbinaarliides onkahendfailil baseeruv. Näiteks POSIX pakub rakendusliideseid, kuidLinux Standard Base pakub binaarliideseid.[10]

Kaugühenduse rakendusliidesed

[muuda |muuda lähteteksti]

Kaugühenduse rakendusliidesed võimaldavadtarkvaraarendajatel muuta ressursse protokollide kaudu. NäiteksJava Database Connectivity rakendusliides lubab arendajatel saata eri andmebaasidesse päringuid. JavaRemote Method Invocation rakendusliides kasutab JavaRemote Method protokolli, et lubada päringute kaugsaatmine. See teeb andmebaaside halduse palju kergemaks.[11] Kaugühenduse rakendusliidesed on kasulikud objektorienteeritud programmeerimises objektidega töötamisel.[12]

Veebipõhised rakendusliidesed

[muuda |muuda lähteteksti]

Veebipõhised rakendusliidesed on liidesed, mille kaudu käib suhtlus ettevõtte ja selle ressursse kasutava rakenduse vahel. Rakendusliides pakub programmeeritavaid teeke rakenduste hulgale, mis teenindavad eri kasutajaid.Veeblehekülgede arendamisel on veebipõhised rakendusliidesed defineeritudHüperteksti edastusprotokolli (HTTP) päringute ja vastavate vastustega, mis on tavaliseltXML võiJSON formaadis. Näiteks on veebipoe leheküljele lisatud rakendusliides, mis koostab statistikat ostetud kauba kättesaamisaegade kohta, ilma et poe andmebaasi oleks vaja koostada vastav tabel andmetega.

Kuigi veebipõhilised rakendusliidesed on olnud sünonüümiks veebiteenuste jaoks, on viimane trend (nii-öeldaVeebis 2.0) liikunud eemaleSOA protokollide ja teenusele orienteeritud arhitektuurist (SOA). Pigem kasutatakse rohkemREST-stiilis veebiressursse jaressursile orienteeritud arhitektuuri (ROA). Suur roll selles on ressursi kirjelduse tarkvararaamistikul (RDF). Veebipõhised rakendusliidesed lubavad eri liideste kombineerimist.Sotsiaalmeedia veebilehekülgede rakendusliidesed lubavad andmevahetust eri rakenduste vahel. Sellisel juhul ilmuvad postitatudandmed ühes kohas automaatselt ka teises kohas. See lubab ka automaatset andmete uuendamist üle mitme rakenduse. Näiteks kui lisada uus piltInstagrami, siis teine veebileht, mis kasutabInstagrami andmeid, saab otsese ligipääsu lisatud pildile. Või kui ühendada mõni teine rakendus või veebiteenus omaGoogle'i kasutajaga, siis Google'i kasutaja andmete muutmisel muutuvad ka andmed kõikides teistes rakendustes javeebiteenustes, mis olid Google'i kasutajaga seotud.[13]

Näiteid rakendusliidestest

[muuda |muuda lähteteksti]
  • ASPI väikearvutisüsteemi liideste jaoks
  • Cocoa jaCarbonMacintoshi süsteemidele
  • DirectX Microsoft Windowsi süsteemidele
  • Java API'id
  • ODBC Microsoft Windowsi süsteemidele
  • OpenALi heli rakendusliides
  • OpenCLi arvutusliidesed protsessorite jaoks
  • OpenGLi graafika rakendusliides
  • OpenMPi programmeerimisliidesUnixi ja Microsoft Windowsi süsteemidele
  • SAPI serveri rakenduste programmeerimise rakendusliides

Vaata ka

[muuda |muuda lähteteksti]

Viited

[muuda |muuda lähteteksti]
  1. Steven Clarke (01.05.2004)."Measuring API Usability". Vaadatud 30.11.2017.
  2. Martin Odersky, Lex Spoon, Bill Venners (10.12.2008)."Combining Scala and Java". Vaadatud 30.11.2017.{{netiviide}}: CS1 hooldus: mitu nime: autorite loend (link)
  3. Luiz Henrique De Figueiredo, Roberto Lerusalimschy, Waldemar Celes (november 1994)."The Design and Implementation of a Language for Extending Applications". Vaadatud 30.11.2017.{{netiviide}}: CS1 hooldus: mitu nime: autorite loend (link)
  4. Tony Sintes (13.7.2001)."Just what is the Java API anyway?". Vaadatud 30.11.2017.
  5. "F2PY.org". Vaadatud 30.11.2017.[alaline kõdulink]
  6. Mohamed Fayad, Douglas C. Schmidt (oktoober 1997)."Object-Oriented Application Frameworks". Vaadatud 30.11.2017.
  7. Martin Fowler (26.6.2005)."Inversion of Control". Vaadatud 30.11.2017.
  8. Joel West, Jason Dedrick (2001)."Open source standardization: the rise of Linux in the network era"(PDF). Vaadatud 30.11.2017.
  9. "Run Older Programs on Windows XP". 15.10.2001.Originaali arhiivikoopia seisuga 26. september 2009. Vaadatud 30.11.2017.
  10. "LSB Introdcution". Vaadatud 30.11.2017.
  11. M. Jeff Wilson (10.11.2000)."Get smart with proxies and RMI".Originaali arhiivikoopia seisuga 13.12.2017. Vaadatud 30.11.2017.
  12. Kevin Bierhoff (23.4.2009)."API Protocol Compliance in Object-Oriented Software"(PDF). Vaadatud 30.11.2017.
  13. Ben Parr (21.5.2009)."The Evolution of the Social Media API". Vaadatud 30.11.2017.


Tuum
Arhitektuurid
Komponendid
Tegumihaldus
Mõisted
Ressursijaotus
Mäluhaldus ja -kaitse
Loend
AmigaOS  •BSD  •FreeBSD  •Hurd  •HP-UX  •IRIX  •Ketta-opsüsteem  •Linux  •Mac OS  •MINIX  •MorphOS  •OS/2  •Solaris  •UNIX  •Windows
Mitmesuguseid mõisteid
Pärit leheküljelt "https://et.wikipedia.org/w/index.php?title=Rakendusliides&oldid=6809004"
Kategooria:
Peidetud kategooriad:

[8]ページ先頭

©2009-2025 Movatter.jp