Reja: api tushunchasi


Download 16.26 Kb.
Sana03.12.2020
Hajmi16.26 Kb.
#157858
Bog'liq
dttl Mustaqil ish


Mavzu : Java API(Application Programming Interface)
Reja:

  1. API tushunchasi

  2. Java Spring Boot.

  3. Controller va RestController

  4. Xulosa

  5. Foydalanilgan adabiyotlar

API nima? Dasturlashga aloqador sohalarda bu atama ko’p qo’llaniladi. API qisqartmasi Application Programming Interface so’zlarining bosh harflaridan olingan bo’lib, dasturlarni dasturlash interfeysi yoki dastularni dasturiy interfeysi deb tarjima qilinadi. Ko'plab katta kompaniyalar ma'lum darajaga yetishganda, o'z mijozlari yoki kompaniya ichida qo'lanilishi uchun, API yaratishadi. API'ni dastur yaratishda yoki biznesda qanday qo'llanilishi tushunish uchun avvalo “butunjahon o'rgimchak to'ri” qanday ishlashi bilan tanishib chiqish kerak bo'ladi.


Butunjahon o'rgimchak to'ri va uzoqdagi(boshqa joydagi) serverlar
WWW'ni bir-biri bilan bog'langan, serverlarning katta tarmog'i sifatida tasavvur qilish mumkin va ularda har bitta sahifa saqlanadi. Oddiy noutbukni tarmoqda butun bir sayt ishlashini ta'minlaydigan serverga aylantirish ham mumkin. Lokal serverlar esa, dasturchilarga ular sayt yaratishlari uchun vaqtincha server vazifasini bajarishi mumkin. Brauzerning manzil qatorida www.facebook.com yozilganda, boshqa joydagi facebook serveriga kerakli so'rov yuboriladi. Brauzer serverdan javob olish bilanoq u kodni interpretatsiya qiladi("chizadi") va foydalanuvchiga sahifani ko'rsatadi.

Foydalanuvchi har gal tarmoqdagi qaysidir sahifaga tashrif buyurganda u boshqa joydagi server API'si bilan bog'lanadi. API - serverning asosiy qismi bo'lib, u so'rovlar qabul qiladi va ularga javoblar qaytaradi.


API - mijozlarga xizmat ko'rsatish usuli
Ko'plab kompaniyalar API'ni tayyor mahsulot sifatida taqdim etishadi. Masalan, Weather Underground metereologik ma'lumotlar olish uchun API sotadi.

Google Kalendarning API'sini tarmoqdagi boshqa serverlarning API'sidan qanday farqi bor?

Bu savolga texnik yondashadigan bo'lsak, so'rov va javobning formatida. Brauzer butun web sahifani generatsiya qilish uchun javobni HTML ifodalash tilida kutadi. Google Kalendarning API'si esa ma'lumotlarni JSON formatda qaytaradi.
Agar API'ga so'rovni kompaniyasi veb sayti serveri yuborsa, kompaniya serveri mijoz bo'ladi(huddi foydalanuvchi saytni tashrif buyurganda brauzer mijoz bo'lgani kabi).

API yordamida faydalanuvchi saytni tark etmagan holda har xil harakatlar qilish imkoniga ega bo'ladi.

Hozirda saytlar aksariyat hollarda bir nechta API xizmatlardan foydalanishadi. Ko'plab topshiriqlar tayyor yechimlarga ega bo'lib, bu holda ular dasturchilarga kutubxonalar yoki boshqa xizmatlar taklif qilishadi. Va albatta umuman olib qaraganda aynan shunaqa tayyor yechimlardan foydalanish eng to'g'ri yo'l hisoblanadi.

Ko'plab dasturchilar dastur yaratish jarayonida dastur qismlarini bir nechta serverlarga bo'lib yuboradilar. Bu qismlar o'zaro API yordamida ma'lumot almashadilar. Bosh serverga qo'shimcha yoki yordamchi funksiyalar taqdim etadigan dasturlar - mikroxizmatlar(microservices) deb ataladi.

Shunday qilib, kompaniya o'z foydalanuvchilariga API taqdim etishi - kompaniya bir qancha maxsus URL yaratgan, ular esa o'z navbatida faqat ma'lumot qaytarishi demakdir.

Java dasturlash tilida API lar bilan ishlash uchun asosan Spring Framework va Spring Boot ishlatiladi.

Bir API bo’yicha CRUD tizimi yaratiladi. CRUD bu – Create, Read, Update va Delete metodlarining umumiy nomi. Create metodi API da Post metodiga to’g’ri keladi. Ma’lumotlarni bazaga saqlash uchun ishlatiladi. Read metodi API da Get metodiga to’g’ri keladi va ma’lumotlarni bazadan o’qib olishda qo’llaniladi. Update ma’lumotlarni yangilash uchun, taxrirlash uchun va Delete o’chirish uchun ishlatiladi.

Java dasturlash tilida API lar hosil qilish uchun Controller yoki RestController ishlatiladi. Ularni vazifasi dastur ishga tushgan payti CRUD uchun Beanlar yaratishdan iborat. Har bir CRUD metodi o’zining annotatsiyasi bilan e’lon qilinadi. Misol uchun @GetMapping, @PostMapping, @PutMapping, @DeleteMapping.

Classning o’ziga @RestController yoki @Controller annotatsiyalari qo’yiladi. Bularning bir biridan farqi – RestController faqat API chiqarish uchun ishlatiladi, Controller faqat Json qiymat emas, web sahifa ham qaytarishi mumkin.

Front-end qismida ishlayotgan dasturchi shu API lar bo’yicha kerakli parametrlarni jo’natadi, metod turini belgiladi. Bu murojaat internet trafik orqali dastur ishlab turgan serverga kelib tushadi va aynan biz yaratgan Controller yoki RestController class dagi metodlar orqali o’z ishini bajarib, ma’lumotlar bazasidan qiymat qaytarib beradi. Qaytgan javob foydalanuvchi uchun UI qismda aks ettiriladi. Bu web dasturlarning ishlash prinsipidir.

Java quyidagi 5 maqsad uchun qurilgan, u shunday til bo’lishi kerakki:

1. Oddiy, obyektga mo’ljallangan, taqsimlangan va o’rganishga oson bo’lsin.

2. Mustahkam va xavsiz bo’lsin

3. Qaysidir qurilma platformasidan yoki uning arxitekturasidan mustaqil bo’lsin(ya’ni qaysidir platformaga tobe’ bo’lmasin).

4. Juda samarali bo’lsin.

5. Dasturlash tili uchun tarjimon(interpreter) yozish mumkin bo’lsin. Shuningdek dasturlash tili parallel ishlashni va dinamik tiplashda foydalanishni ta’minlay olsin.

Java texnologiyasi o’ta sodda, xavfsizlikni yuqori darajada ta’minlab bera oladigan, kuchli, to’la obyektga yo’naltirilgan dasturlash tili bo’lib, muhit (platforma)ga bo’liq bo’lmagan holda ishlaydi. U bilan xatto eng kichik qurilmalarga ham dasturlar yozish mumkin. Java texnologiyasi to’laligicha Javaning sintaksisi C++ ga asoslangan. Shuning uchun C++ tilini biladiganlar Javani oson o`rganishadi. Lekin undagi ko`pchilik xususiyatlar olib tashlangan. Masalan: Pointer(ko`rsatkich)lar bilan to`g`ridan to`g`ri ishlash, ya`ni Javada alohida ko`rsatkich tushunchasi yo`q. Operatorlarni qayta yuklash ham olib tashlangan. Yana eng muhimi, ishlatilmaydigan xotira (unreferenced objects) avtomatik tozalanadi. Buni Javadagi Garbage Collector (GC – chiqindi yig`ishtirgich) amalga oshiradi. C++ da bu destruktorlar orqali qo`lda (manual – ruchnoy) qilingan. Bundan tashqari Java har bir yangi versiyada bundan qulay imkoniyatlarni qo`shib kelmoqda.

Foydalanilgan adabiyotlar:



  1. https://dasturchi.uz/

  2. https://texnoman.uz

va shaxsiy tajriba asosida
Download 16.26 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling