A-Complete-Guide-to-API-Development-

តើអ្វីទៅជា API និងអ្វីដែលត្រូវពិចារណានៅពេលបង្កើត API?

API (ចំណុចប្រទាក់កម្មវិធីកម្មវិធី) គឺជាសំណុំនៃការណែនាំ ស្តង់ដារ ឬតម្រូវការដែលអាចឱ្យកម្មវិធី ឬកម្មវិធីប្រើប្រាស់មុខងារ ឬសេវាកម្មរបស់កម្មវិធី វេទិកា ឬឧបករណ៍ផ្សេងទៀតសម្រាប់សេវាកម្មកាន់តែប្រសើរ។ សរុបមក វាជាអ្វីដែលអនុញ្ញាតឱ្យកម្មវិធីទំនាក់ទំនងគ្នាទៅវិញទៅមក។

 

API គឺជាមូលដ្ឋាននៃកម្មវិធីទាំងអស់ដែលទាក់ទងនឹងទិន្នន័យ ឬបើកការទំនាក់ទំនងរវាងផលិតផល ឬសេវាកម្មពីរ។ វាផ្តល់អំណាចដល់កម្មវិធី ឬវេទិការចល័តដើម្បីចែករំលែកទិន្នន័យរបស់វាជាមួយកម្មវិធី/វេទិកាផ្សេងទៀត និងសម្រួលបទពិសោធន៍អ្នកប្រើប្រាស់ដោយមិនពាក់ព័ន្ធនឹងអ្នកអភិវឌ្ឍន៍។ 

លើសពីនេះ APIs បាត់បង់ភាពចាំបាច់ ដើម្បីបង្កើតវេទិកា ឬកម្មវិធីដែលអាចប្រៀបធៀបបានពីដំបូង។ អ្នក​អាច​ប្រើ​វេទិកា​មួយ​ឬ​កម្មវិធី​មួយ​ឬ​កម្មវិធី​បច្ចុប្បន្ន។ ដោយសារហេតុផលទាំងនេះ ដំណើរការអភិវឌ្ឍន៍ API គឺជាការផ្តោតអារម្មណ៍សម្រាប់អ្នកអភិវឌ្ឍន៍កម្មវិធី និងនាយកប្រតិបត្តិក្រុមហ៊ុន។

 

ដំណើរការ API

ឧបមាថាអ្នកបានបើកកម្មវិធី ឬគេហទំព័រ XYZ ដើម្បីកក់ជើងហោះហើរ។ អ្នកបានបំពេញទម្រង់បែបបទ រួមបញ្ចូលពេលវេលាចេញដំណើរ និងមកដល់ ទីក្រុង ព័ត៌មានជើងហោះហើរ និងព័ត៌មានចាំបាច់ផ្សេងទៀត បន្ទាប់មកដាក់បញ្ជូនវា។ ក្នុងរយៈពេលមួយវិនាទី បញ្ជីជើងហោះហើរនឹងបង្ហាញនៅលើអេក្រង់ រួមជាមួយនឹងតម្លៃ ពេលវេលា ភាពទំនេរនៃកៅអី និងព័ត៌មានលម្អិតផ្សេងទៀត។ តើ​នេះ​ពិត​ជា​កើត​ឡើង​ដោយ​របៀប​ណា?

 

ដើម្បីផ្តល់ទិន្នន័យដ៏តឹងរ៉ឹងបែបនេះ វេទិកាបានផ្ញើសំណើទៅកាន់គេហទំព័ររបស់ក្រុមហ៊ុនអាកាសចរណ៍ដើម្បីចូលប្រើមូលដ្ឋានទិន្នន័យរបស់ពួកគេ និងទទួលបានទិន្នន័យពាក់ព័ន្ធតាមរយៈចំណុចប្រទាក់កម្មវិធី។ គេហទំព័របានឆ្លើយតបជាមួយនឹងទិន្នន័យដែល API Integration បញ្ជូនទៅកាន់វេទិកា ហើយវេទិកាបង្ហាញវានៅលើអេក្រង់។

 

នៅទីនេះ កម្មវិធី/វេទិកាការកក់ជើងហោះហើរ និងគេហទំព័ររបស់ក្រុមហ៊ុនអាកាសចរណ៍ដើរតួជាចំណុចបញ្ចប់ ខណៈដែល API គឺជាកម្រិតមធ្យមដែលសម្រួលដំណើរការចែករំលែកទិន្នន័យ។ នៅពេលនិយាយអំពីការទំនាក់ទំនងចំណុចបញ្ចប់ API ដំណើរការក្នុងវិធីពីរយ៉ាងគឺ REST (Representational State Transfer) និង SOAP (Simple Object Access Protocol)។

 

ទោះបីជាវិធីទាំងពីរនេះនាំមកនូវលទ្ធផលយ៉ាងមានប្រសិទ្ធភាពក៏ដោយ ក ក្រុមហ៊ុនអភិវឌ្ឍន៍កម្មវិធីទូរស័ព្ទ ចូលចិត្ត REST ជាង SOAP ចាប់តាំងពី SOAP APIs មានទម្ងន់ធ្ងន់ និងពឹងផ្អែកលើវេទិកា។

 

ដើម្បីស្វែងយល់អំពីវដ្តជីវិតរបស់ API និងចំណេះដឹងដែល API ដំណើរការយ៉ាងលម្អិត។ ទាក់ទងអ្នកជំនាញរបស់យើងថ្ងៃនេះ!

 

ឧបករណ៍សម្រាប់បង្កើត API

ខណៈពេលដែលមានឧបករណ៍ និងបច្ចេកវិទ្យារចនា API ជាច្រើនដែលត្រូវបានបំពាក់នៅក្នុងដំណើរការនៃការបង្កើត API នោះ បច្ចេកវិទ្យា និងឧបករណ៍អភិវឌ្ឍន៍ API ដ៏ពេញនិយមសម្រាប់បង្កើត API សម្រាប់អ្នកអភិវឌ្ឍន៍គឺ៖

 

  • អាភីជី

វាគឺជាអ្នកផ្តល់សេវាគ្រប់គ្រង API របស់ Google ដែលជួយអ្នកអភិវឌ្ឍន៍ និងសហគ្រិនឱ្យទទួលបានជោគជ័យក្នុងការផ្លាស់ប្តូរឌីជីថល ដោយបង្កើតវិធីសាស្រ្តសមាហរណកម្ម API ឡើងវិញ។

 

  • APIMatic និង API Transformer

ទាំងនេះគឺជាឧបករណ៍ដ៏ពេញនិយមផ្សេងទៀតសម្រាប់ការអភិវឌ្ឍន៍ API ។ ពួកគេផ្តល់ជូននូវឧបករណ៍បង្កើតដោយស្វ័យប្រវត្តិដ៏ទំនើបដើម្បីបង្កើត SDKs គុណភាពខ្ពស់ និងព័ត៌មានខ្លីៗពីទម្រង់ API ជាក់លាក់ ហើយបំប្លែងពួកវាទៅជាទម្រង់ជាក់លាក់ផ្សេងទៀត ដូចជា RAML, API Blueprint ជាដើម។

 

  • វិទ្យាសាស្ត្រ API 

ឧបករណ៍នេះត្រូវបានប្រើជាចម្បងសម្រាប់ការវាយតម្លៃដំណើរការទាំង APIs ខាងក្នុង និង APIs ខាងក្រៅ។

 

  • ស្ថាបត្យកម្ម API Serverless 

ផលិតផលទាំងនេះជួយអ្នកបង្កើតកម្មវិធីទូរស័ព្ទក្នុងការរចនា បង្កើត ការបោះពុម្ពផ្សាយ និងបង្ហោះ APIs ដោយមានជំនួយពីហេដ្ឋារចនាសម្ព័ន្ធម៉ាស៊ីនមេដែលមានមូលដ្ឋានលើពពក។

 

  • API-វេទិកា

នេះ​គឺ​ជា​ក្រប​ខណ្ឌ PHP ប្រភព​បើក​ចំហ​មួយ​ដែល​ស័ក្តិសម​សម្រាប់​ការ​អភិវឌ្ឍ web API ។

 

  • អួន ០

វាគឺជាដំណោះស្រាយគ្រប់គ្រងអត្តសញ្ញាណដែលប្រើដើម្បីផ្ទៀងផ្ទាត់ និងអនុញ្ញាត APIs។

 

  • ClearBlade

វាគឺជាអ្នកផ្តល់សេវាគ្រប់គ្រង API សម្រាប់ការទទួលយកបច្ចេកវិទ្យា IoT ទៅក្នុងដំណើរការរបស់អ្នក។

 

  • GitHub

សេវាកម្មបង្ហោះ git ប្រភពបើកចំហនេះអនុញ្ញាតឱ្យអ្នកអភិវឌ្ឍន៍គ្រប់គ្រងឯកសារកូដ ទាញសំណើ ការគ្រប់គ្រងកំណែ និងមតិយោបល់ដែលត្រូវបានចែកចាយនៅទូទាំងក្រុម។ វាក៏អនុញ្ញាតឱ្យពួកគេរក្សាទុកកូដរបស់ពួកគេនៅក្នុងឃ្លាំងឯកជនផងដែរ។

 

  • អ្នករត់សំបុត្រ

វាជាខ្សែសង្វាក់ឧបករណ៍ API ជាមូលដ្ឋានដែលផ្តល់សិទ្ធិអំណាចដល់អ្នកអភិវឌ្ឍន៍ក្នុងការដំណើរការ សាកល្បង ឯកសារ និងវាយតម្លៃការអនុវត្ត API របស់ពួកគេ។

 

  • ស្វាហាប់

វាគឺជាក្របខ័ណ្ឌប្រភពបើកចំហដែលត្រូវបានប្រើសម្រាប់កម្មវិធីអភិវឌ្ឍន៍ API ។ ក្រុមហ៊ុនបច្ចេកវិទ្យាយក្សដូចជា GettyImages និង Microsoft ប្រើ Swagger ។ ទោះបីជាពិភពលោកពោរពេញដោយ APIs ក៏ដោយ ក៏នៅតែមានគម្លាតសំខាន់ក្នុងការប្រើប្រាស់អត្ថប្រយោជន៍នៃបច្ចេកវិទ្យា API ។ ខណៈពេលដែល APIs មួយចំនួនធ្វើសមាហរណកម្មទៅកម្មវិធីដោយរលូន ខ្លះទៀតប្រែក្លាយវាទៅជាសុបិន្តអាក្រក់។

 

មុខងារត្រូវតែមាននៃ API ដ៏មានប្រសិទ្ធភាព

  • ការកែប្រែពេលវេលា ឬស្វែងរកតាមលក្ខណៈវិនិច្ឆ័យ

លក្ខណៈពិសេស API សំខាន់បំផុតដែលកម្មវិធីគួរតែមានគឺការកែប្រែពេលវេលា/ការស្វែងរកតាមលក្ខណៈវិនិច្ឆ័យ។ API គួរតែអនុញ្ញាតឱ្យអ្នកប្រើប្រាស់ស្វែងរកទិន្នន័យដោយផ្អែកលើលក្ខណៈវិនិច្ឆ័យផ្សេងៗគ្នា ដូចជាកាលបរិច្ឆេទ។ នេះគឺដោយសារតែវាជាការផ្លាស់ប្តូរ (ធ្វើបច្ចុប្បន្នភាព កែសម្រួល និងលុប) ដែលយើងពិចារណាបន្ទាប់ពីការធ្វើសមកាលកម្មទិន្នន័យដំបូងដំបូង។

 

  • ទំព័រ 

ជាច្រើនដង វាកើតឡើងដែលយើងមិនចង់ឃើញទិន្នន័យពេញលេញបានផ្លាស់ប្តូរ ប៉ុន្តែគ្រាន់តែមើលវាបន្តិចប៉ុណ្ណោះ។ ក្នុង​ស្ថានភាព​បែប​នេះ API គួរ​តែ​មាន​សមត្ថភាព​ក្នុង​ការ​កំណត់​ចំនួន​ទិន្នន័យ​ដែល​ត្រូវ​បង្ហាញ​ក្នុង​ពេល​តែ​មួយ និង​នៅ​ប្រេកង់​ណា។ វាក៏គួរជូនដំណឹងដល់អ្នកប្រើប្រាស់ចុងក្រោយអំពីលេខ។ នៃទំព័រទិន្នន័យដែលនៅសល់។

 

  • តម្រៀប

ដើម្បីធានាថាអ្នកប្រើប្រាស់ចុងក្រោយទទួលបានទំព័រទាំងអស់នៃទិន្នន័យម្តងមួយៗ API គួរតែផ្តល់សិទ្ធិអំណាចដល់អ្នកប្រើប្រាស់ក្នុងការតម្រៀបទិន្នន័យតាមពេលវេលានៃការកែប្រែ ឬលក្ខខណ្ឌផ្សេងទៀត។

 

  • ការគាំទ្រ JSON ឬ REST

ទោះបីជាមិនមែនជាការបង្ខិតបង្ខំក៏ដោយ វាជាការល្អក្នុងការពិចារណា API របស់អ្នកឱ្យមានភាពធូរស្រាល (ឬការផ្តល់ជំនួយ JSON (REST)) សម្រាប់ការអភិវឌ្ឍន៍ API ប្រកបដោយប្រសិទ្ធភាព។ REST APIs គឺគ្មានរដ្ឋ មានទម្ងន់ស្រាល និងអនុញ្ញាតឱ្យអ្នកសាកល្បងដំណើរការកម្មវិធីទូរស័ព្ទចល័តឡើងវិញប្រសិនបើវាបរាជ័យ។ នេះ​ជា​ការ​លំបាក​ខ្លាំង​ណាស់​ក្នុង​ករណី​សាប៊ូ​។ លើសពីនេះ វាក្យសម្ព័ន្ធរបស់ JSON ស្រដៀងទៅនឹងភាសាសរសេរកម្មវិធីភាគច្រើន ដែលធ្វើឱ្យវាងាយស្រួលសម្រាប់អ្នកអភិវឌ្ឍន៍កម្មវិធីទូរស័ព្ទដើម្បីញែកវាទៅជាភាសាផ្សេងទៀត។

 

  • ការអនុញ្ញាតតាមរយៈ OAuth

វាចាំបាច់ម្តងទៀតដែលចំណុចប្រទាក់កម្មវិធីរបស់អ្នកអនុញ្ញាតតាមរយៈ OAuth ព្រោះវាលឿនជាងវិធីសាស្ត្រផ្សេងទៀតដែលអ្នកគ្រាន់តែចុចលើប៊ូតុងមួយ ហើយវារួចរាល់។

 

សរុបមក ពេលវេលាដំណើរការគួរតែមានអប្បបរមា ពេលវេលាឆ្លើយតបល្អ និងកម្រិតសុវត្ថិភាពខ្ពស់។ វាមានសារៈសំខាន់ជាទីបំផុតក្នុងការខិតខំប្រឹងប្រែងចូលទៅក្នុងការអនុវត្តល្អបំផុតនៃការអភិវឌ្ឍន៍ API សម្រាប់ការធានាកម្មវិធីរបស់អ្នក បន្ទាប់ពីទាំងអស់ វាទាក់ទងនឹងទិន្នន័យច្រើន។

 

លក្ខខណ្ឌនៃ API

 

  1. API Key - នៅពេលដែល API ពិនិត្យសំណើរតាមរយៈប៉ារ៉ាម៉ែត្រ និងយល់ពីអ្នកស្នើសុំ។ ហើយលេខកូដដែលមានការអនុញ្ញាតបានចូលទៅក្នុងកូនសោសំណើ ហើយត្រូវបានគេនិយាយថាជា API KEY ។
  2. ចំណុចបញ្ចប់ – នៅពេលដែល API ពីប្រព័ន្ធមួយធ្វើអន្តរកម្មជាមួយប្រព័ន្ធមួយផ្សេងទៀត ចុងម្ខាងនៃបណ្តាញទំនាក់ទំនងត្រូវបានគេស្គាល់ថាជាចំណុចបញ្ចប់។
  3. JSON - វត្ថុ JSON ឬ Javascript ត្រូវបានប្រើជាទម្រង់ទិន្នន័យដែលប្រើសម្រាប់ប៉ារ៉ាម៉ែត្រសំណើ APIs និងតួការឆ្លើយតប។ 
  4. ទទួលបាន - ដោយប្រើវិធីសាស្ត្រ HTTP របស់ API សម្រាប់ការទទួលបានធនធាន
  5. ប្រកាស – វាគឺជាវិធីសាស្ត្រ HTTP របស់ RESTful API សម្រាប់ការកសាងធនធាន។ 
  6. OAuth – វាគឺជាក្របខ័ណ្ឌការអនុញ្ញាតស្តង់ដារដែលផ្តល់ការចូលប្រើពីខាងអ្នកប្រើប្រាស់ដោយមិនចែករំលែកព័ត៌មានសម្ងាត់ណាមួយឡើយ។ 
  7. REST - កម្មវិធីដែលបង្កើនប្រសិទ្ធភាពនៃការទំនាក់ទំនងរវាងឧបករណ៍/ប្រព័ន្ធទាំងពីរ។ REST ចែករំលែកទិន្នន័យតែមួយគត់ដែលត្រូវបានទាមទារ មិនមែនជាទិន្នន័យពេញលេញទេ។ ប្រព័ន្ធដែលបានអនុវត្តលើស្ថាបត្យកម្មនេះត្រូវបានគេនិយាយថាជាប្រព័ន្ធ 'RESTful' ហើយឧទាហរណ៍ដ៏លើសលប់បំផុតនៃប្រព័ន្ធ RESTful គឺ World Wide Web ។
  8. SOAP - SOAP ឬ Simple Object Access Protocol គឺជាពិធីការផ្ញើសារសម្រាប់ការចែករំលែកព័ត៌មានដែលមានរចនាសម្ព័ន្ធក្នុងការប្រតិបត្តិសេវាកម្មគេហទំព័រនៅក្នុងបណ្តាញកុំព្យូទ័រ។
  9. ភាពយឺតយ៉ាវ - វាត្រូវបានកំណត់ថាជាពេលវេលាសរុបដែលធ្វើឡើងដោយដំណើរការអភិវឌ្ឍន៍ API ពីសំណើទៅការឆ្លើយតប។
  10. ការកំណត់អត្រា - វាមានន័យថាការដាក់កម្រិតលើចំនួនសំណើដែលអ្នកប្រើប្រាស់អាចចូលទៅ API ក្នុងមួយពេល។

 

ការអនុវត្តល្អបំផុតសម្រាប់ការកសាង API ត្រឹមត្រូវ។

  • ប្រើ Throttling

App Throttling គឺជាការអនុវត្តដ៏ល្អមួយដើម្បីពិចារណាលើការបញ្ជូនបន្តការហូរហៀរនៃចរាចរណ៍ APIs បម្រុងទុក និងការពារវាពីការវាយប្រហារ DoS (Denial of Service)។

 

  • ពិចារណា API gateway របស់អ្នកជា Enforcer

ខណៈពេលដែលបង្កើតច្បាប់បិទបើក កម្មវិធីនៃសោ API ឬ OAuth ច្រក API ត្រូវតែត្រូវបានចាត់ទុកថាជាចំណុចអនុវត្ត។ វាគួរតែត្រូវបានគេយកធ្វើជាប៉ូលីសដែលអនុញ្ញាតឱ្យតែអ្នកប្រើប្រាស់ត្រឹមត្រូវអាចចូលប្រើទិន្នន័យបាន។ វាគួរតែផ្តល់អំណាចឱ្យអ្នកក្នុងការអ៊ិនគ្រីបសារ ឬកែសម្រួលព័ត៌មានសម្ងាត់ ហើយដោយហេតុនេះ វិភាគ និងគ្រប់គ្រងរបៀបដែល API របស់អ្នកកំពុងត្រូវបានប្រើប្រាស់។

 

  • អនុញ្ញាតវិធីសាស្ត្រ HTTP បដិសេធ

ដោយសារប្រូកស៊ីមួយចំនួនគាំទ្រតែវិធីសាស្ត្រ GET និង POST ប៉ុណ្ណោះ អ្នកត្រូវអនុញ្ញាតឱ្យ RESTful API របស់អ្នកបដិសេធវិធីសាស្ត្រ HTTP ។ សម្រាប់ការធ្វើដូច្នេះ ប្រើ HTTP Header ផ្ទាល់ខ្លួន X-HTTP-Method-Override ។

 

  • វាយតម្លៃ APIs និងហេដ្ឋារចនាសម្ព័ន្ធ

ក្នុងពេលបច្ចុប្បន្ន ការវិភាគតាមពេលវេលាពិតអាចទទួលបាន ប៉ុន្តែចុះយ៉ាងណាបើម៉ាស៊ីនមេ API ត្រូវបានគេសង្ស័យថាមានការលេចធ្លាយអង្គចងចាំ ស៊ីភីយូ ឬបញ្ហាផ្សេងទៀតនោះ? ដើម្បីពិចារណាស្ថានភាពបែបនេះ អ្នកមិនអាចរក្សាអ្នកអភិវឌ្ឍន៍ឱ្យបំពេញកាតព្វកិច្ចបានទេ។ ទោះជាយ៉ាងណាក៏ដោយ អ្នកអាចអនុវត្តវាបានយ៉ាងងាយស្រួលតាមរយៈការប្រើប្រាស់ឧបករណ៍ជាច្រើនដែលមាននៅលើទីផ្សារ ដូចជានាឡិកាពពក AWS ជាដើម។

 

  • ធានាសុវត្ថិភាព

អ្នកត្រូវតែធានាថាបច្ចេកវិទ្យា API របស់អ្នកមានសុវត្ថិភាព ប៉ុន្តែមិនមែនក្នុងតម្លៃនៃភាពងាយស្រួលប្រើនោះទេ។ ប្រសិនបើអ្នកប្រើណាម្នាក់ចំណាយពេលលើសពី 5 នាទីលើការផ្ទៀងផ្ទាត់ នោះវាមានន័យថា API របស់អ្នកនៅឆ្ងាយពីភាពងាយស្រួលប្រើ។ អ្នកអាចប្រើការផ្ទៀងផ្ទាត់ផ្អែកលើសញ្ញាសម្ងាត់ដើម្បីធ្វើឱ្យ API របស់អ្នកមានសុវត្ថិភាព។

 

  • ឯកសារ

ជាចុងក្រោយ វាមានផលចំណេញក្នុងការបង្កើតឯកសារទូលំទូលាយសម្រាប់ API សម្រាប់កម្មវិធីទូរស័ព្ទ ដែលអនុញ្ញាតឱ្យអ្នកអភិវឌ្ឍន៍កម្មវិធីទូរស័ព្ទផ្សេងទៀតងាយស្រួលយល់អំពីដំណើរការទាំងមូល និងប្រើប្រាស់ព័ត៌មានសម្រាប់ផ្តល់បទពិសោធន៍អ្នកប្រើប្រាស់កាន់តែប្រសើរ។ ម្យ៉ាងវិញទៀត ឯកសារ API ដ៏ល្អនៅក្នុងដំណើរការនៃការអភិវឌ្ឍ API ប្រកបដោយប្រសិទ្ធភាពនឹងកាត់បន្ថយពេលវេលានៃការអនុវត្តគម្រោង ការចំណាយលើគម្រោង និងបង្កើនប្រសិទ្ធភាពបច្ចេកវិទ្យា API ។