API

Чөлөөт нэвтэрхий толь — Википедиагаас
Харайх: Удирдах, Хайлт

Аппликейшн програмчлалын интерфейс(API)[засварлах | edit source]

Аппликейшн програмчлалын интерфейс (API)

Аппликейшн програмчлалын интерфейс

АПИ нь нэг аппликейшн хэрхэн өөр аппликейшнтэй харилцан ажиллахыг тодорхойлох дүрмийн олонлогийг агуулдаг. Үүнд програм хангамжийг байгуулах хэрэгсэлүүд, протоколууд, subroutine-ууд агуулагдана. Сайн аппликейшн програмчлалын интерфейс(API) нь бүх жижиг хэсгүүдийн байгуулалтийг харгалзан үзсэнээр програм хангамжийг бүтээх ажлыг хялбаршуулж өгдөг. API нь маш олон form(хэлбэр)- г тодорхойлж болно. Гэхдээ ихэвчлэн routines(зорилгын дараалал), өгөгдлийн бүтцүүд, объект классууд, хувьсагчуудыг оруулж тодорхойлдог. Олон төрлийн API байдаг бөгөөд жишээ нь : POSIX, Microsoft Windows API, C++ стандарт сангууд ба Жава API. API-гийн эрх зүйн байдал нь оюуны өмчийн хуулийн тал дээр маргаантай байдаг.
АПИ нь үндсэн хоёр ашиг тусийг авчирдаг:

  • Хялбаршуулах давхаргаар хангах замаар нарийн төвөгтэй байдлийг нуух
  • Стандартчилал

Аппликейшн хоорондын харилцан ажиллагаа гэж юу вэ?[засварлах | edit source]

Үндсэндээ, энэ нь нэг аппликейшн өөр аппликейшнын эзэмшиж буй өгөгдөлтэй холбогдох эсвэл аппликейшнруу өгөгдөл илгээх үед тохиолддог. Өөр нэг харилцаа нь нэг аппликейшн өөр сервист хүсэлт илгээх үед байж болно. АПИ нь хэрэглэгчийн харилцааг биш, software-to-software харилцааг хангаж өгдөг. АПИ-гаар програм хангамжууд ямар нэг хэрэглэгчийн мэдлэг оролцоогүйгээр хоорондоо харилцдаг. Үүнийг маш энгийнээр тайлбарлах юм бол жишээ нь та онлайнаар кино тасалбар захиалвал кино тасалбар захиалгын веб сайт таны картны мэдээллийг удирдаж байгаа аппликейшины илгээсэн АПИ-г ашиглан картны мэдээлэл тохирч байгаа эсэхийг шалгана. ө.х та нэг л интерфейсийг буюу кино захиалгийн хуудсыг харж байхад ард нь маш олон аппликейшнууд АПИ-г ашиглан хамтдаа ажиллаж байдаг ба нэгтгэлийн энэ хэлбэрийг seamless буюу үл үзэгдэлт гэж нэрлэдэг. Энэ мэтээр програм хангамжийн функцууд нэг аппликейшнээс нөгөөрүү шилжиж байх үед хэрэглэгчид хэзээ ч үүнийг анзаардаггүй.

Зорилго[засварлах | edit source]

График хэрэглэгчийн интерфэйс нь хэрэглэгч програм ашиглахад илүү хялбар болгодог шиг, аппликейшн програмчлалын интерфэйс нь хөгжүүлэгчид аппликейшнд суурилсан технологи хийхэд хялбар болгодог.

Хэрэглээ[засварлах | edit source]

Сангууд болон тогтолцоонууд

API-гийн програм хангамжийн сан нь ихэнхдээ олон төрөлтэй байдаг: API нь адил програмчлалын интерфэйстэй өөр сангуудаас олон төрлийн формын хэрэгжүүлэлтийг авч ажиллаж чаддаг. Бусад сангийн адил ямар нэг хэл дээр бичигдсэн програмыг API салган авч хэрэгжүүлэхийг зөвшөөрдөг. Жишээ нь: скала болон жава хөрвүүлэгчид нь байт кодон дээр ажилладаг ба скала хөгжүүлэгчдийн давуу тал нь ямар ч жава API-г ашиглаж чаддаг. API нь ямар ч програмчлалын хэл байсан өөрчилж чаддаг.API нь LUA горимын хэл бөгөөд ерөнхий код, нарийн төвөгтэй өгөгдлүүд, алдаанууд, жавагийн обьект хандалтат хэлний ангиудын шинж чанар ба классын гишүүд зэргээс бүрдэнэ.API нь бас хэлний үүрэгтэй интерфэйс хийхэд фортранаас python интерфейс-г мөн SWIG ба F2PY түүлийг ашигладаг. API нь програм хангамжын фрэймворкыг төрөлжүүлж чаддаг: Фрэймворк нь өөр өөр API-г өөр өөр сангуудтай ерөнхийд нь хэрэгжүүлж чаддаг бөгөөд идэвхитэй төлөвт байгаа классын агууллагыг өөртөө удамшуулцж авч чаддаг.

Үйлдлийн систем[засварлах | edit source]

API нь үйлдлийн систем ба аппликейшн хоёрын хоорондох онцлогийг гаргадаг. Ерөнхий гурван хэрэглээний програмын холбоос бол Windows үйлдлийн системийн WIN32 API, POSIX-ийн үндсэн суурь систем(үүнд: UNIX LINUX-ийн дэвшилтэд хувилбарууд болон MAC-OS-X(http://en.wikipedia.org/wiki/Mac_OS_X_Lion) орно)ийн POSIX API(http://en.wikipedia.org/wiki/POSIX_Threads) мөн JAVA(http://en.wikipedia.org/wiki/Java) виртуаль машиний загварийн програм болох жава API байна. POSIX-н жишээ нь: API нь POSIX дээр бичсэн кодыг аль нэг үйлдлийн систем дээр шалгаад дараа нь өөр үйлдлийн систем дээр ч ажиллах боломжтой болгох юм. Linux болон Berkeley Software Distribution POSIX API-уудыг хэрэгжүүлэх үйлдлийн системүүдийн жишээ юм. API-н онцлог нь эх код нь хоёртын интерфейс аппликейшн буюу ABI-д суурилсан байдаг. Жишээ нь POSIX APIтай нийцдэг бол Linux Standard Base нь хоёртын интерфейс аппликейшнтай нийцдэг.

Жава API[засварлах | edit source]

Жава маш олон бэлэн бэлдсэн ангиудтай байдаг ба тэдгээрийг жава API гээд байгаа юм. Эдгээр ангиудыг хэд хэдэн Package (багц)-д хувиарилсан байдаг. Package-ууд нь өөрсдийн гэсэн нэртэй байх ба жишээ нь javax.swing энэ package нь Swing GUI-н ангиудыг агуулдаг. Мөн java.util гэж маш хэрэгтэй ultilities буюу хэрэсэлүүдийн package байдаг. Ер нь бол эдгээр бэлэн class-уудыг ашиглахдаа package-г дуудаж оруулах эсвэл зүгээр package-н нэрийг бичээд ард нь ангийн нэрийг бичсэнээр ашиглах боломжтой юмаа. System, String, Math гээд л эдгээр нь java.lang package-д багтдаг(java.lang package нь жавагаас цаанаас нь автоматаар орж ирсэн байдаг). Жишээ нь : String обьект нь тэмдэгт стрингтэй ажиллахад хэрэг болох стейт, бихэвиорыг; File обьект нь програмчид файлсистем дээр хялбархнаар файл үүсгэж, устгаж, шалгаж, харьцуулж, өөрчлөх боломж олгодог; Socket обьект нь сүлжээний сокетуудыг үүсгэж, хэрэглэх боломж олгодог; олон янзын GUI обьектын контролууд нь янз бүрийн товчнууд, чекбоксууд болон графикан юзер интерфейстэй холбоотой өөр юу л байна бараг цөмийг нь агуулсан байдаг. Үнэндээ сонголт хийж болох мянга мянган классууд энэ санд бий. Эдгээрийг ашигласнаар програмч тухайн аппликейшны дизайнд л анхаарах боломжтой болох бөгөөд харин түүнийг ажилуулах (далд орших, доорх) дэд бүтцэд нэг их анхаараад байх шаардлагүй болдог.

Стандарт аппликейшн програмчлалын интерфейсийн жишээ

Жавагийн Жава Платформ АПИ Тодорхойлолтуудын Лавлах нь (http://java.sun.com/javase/6/docs/api/index.html) Жава Платформ 6, Стандарт Эдишинтэй дагалдах бүх пакажууд, интерфейсүүд, классууд, фийлдүүд (fields), методуудын тухай тайлбар, тодорхойлолтыг агуулсан байдаг.

Pthread Api[засварлах | edit source]

Thread(Хуулбар) сан нь програмчид хуулбарыг үүсгэх болон удирдахад зориулсан API –аар хангадаг. API –д байгаа санд зориулсан функц дуудалт нь ерөнхийдөө кернел рүү систем дуудлага хийж таардаг.Жава хуулбар API нь хуулбар үүсгэлт болон удирдлага, тохируулгыг шууд жава програмаас хий боломжийг олгодог. Гэвч ихэнхидээ JVM нь хостын үйлдлийн систем дээр ажилладаг болохоор Java thread API нь ерөнхийдөө хостын системд байгаа байгаа thread сангуудыг ашиглан суурьлагддаг. Энэ нь Windows системд , жава хуулбарууд нь нь Win32 ашиглаж суурьлагдана гэсэн үг unix болон linux нь голцуу Pthreads- ыг ашигладаг.

C хэлний Аппликейшн програмчлалын интерфейс


Дизайн[засварлах | edit source]

API-н загвар нь хэрэглээнд маш чухал ач холбогдолтой. Програмын интерфейсын үүрэг нь мэдээллийг нууцлан бичих бөгөөд ажиллах зарчим нь хэрэглэгчийн мэдэх шаардлагагүй програмын нарийн төвөгтэй модулиудыг нууцлах боломж олгодог. Тиймээс API загвар нь хэрэглэгчийн хүлээгдсэн цорын ганц хэрэгсэл юм. Програмын интерфейсийн загвар нь програм хангамжийн чухал хэсэг бөгөөд програм хангамжийн байгууламжийн цогц хэсэг юм. Иошуа Блок зэрэг хэд хэдэн зохиогч API-г хэрхэн зохион байгуулах талаар зөвлөмж гаргасан байдаг.

Алсын API[засварлах | edit source]

Жава SDK-д алсын аппликейшн интерфейс дуудалт гэж байдаг. Энэ нь апп төхөөрөмжийн сервисээс ямар ч жава аппликейшнд хүссэн үйлчилгээгээ авах боломжийг олгодог. Алсын API хөгжүүлэгчид нь хэлээс үл хамааран харилцаа холбооны тодорхой стандартыг ашиглан өөр технологиуд дээр хамтран ажиллах боломж олгодог. Гэхдээ прокси обьект дээр нь өөрчлөлт хийвэл алсын обьект дээр хүртэл өөрчлөлт хийх шаардлага гардаг.

Веб API[засварлах | edit source]

Веб API интерфейсын тодорхойлолт нь компани болон аппликейшнүүдийн хоорондох харилцан үйлчлэлийг харуулдаг. Веб аппликейшн хийхэд HTML/ CSS/ Javascript гурвал нь хэрэглэгчийн интерфейс, Ruby ба Python хэл сервер хэсгийг хийхэд илүү өргөн хэрэглэгдэх болсон. Гар утасны хувьд бидний сайн мэдэх iOS ба Android хэрэглэдэг. Мөн томоохон агентлагуудын дунд WebGL -ийг сонирхон хэрэглэх нь эрс нэмэгдсэн.


Бодлого[засварлах | edit source]

API технологийн компаниуд өөр хоорондоо нэгтгэх хамгийн түгээмэл нэг арга байдаг. API-г гаргах гол бодлого нь:

• Хамгаалалт: API-г зөвхөн компаны дотоод ажилчид хэрэглэнэ.

• Хамтрагч: Зөвхөн тодорхой бизнесийн түншүүд API ашиглаж болно. Жишээ нь Uber болон Lyft зэрэг машины үйлчилгээний компаниуд нь үйлчлүүлэгчдэд автомашины уралдаанд захиалга өгөхдөө шууд аппликейшнээс өгөхийг зөвшөөрдөг.

• Нээлттэй: API – г бүх хэрэглэгчид ашиглах боломжтой.

Зохиогчийн эрх болон маргаан[засварлах | edit source]

2010 онд Oracle Corporation Android үйлдлийн систем суулгагдсан Java шинэ хэрэгжилтийг тараасан учир Google-ийг шүүхэд өгсөн. Google JavaApi-г хуулбарлах ямар нэгэн зөвшөөрөлгүй байсан хэдий ч OpenJDK-тай адил төсөл боловсруулсан. Шүүгч Уильям Alsup Oracle-н талд ялалтыг өгсөн хэдий ч google-н энэ үйл явдалаас шалтгаалан програм хангамжийн хуулбарын талаар тушаалуудыг өргөн барьсан байдаг.

Холбоос[засварлах | edit source]