API៖ តើវាជាអ្វី និងសម្រាប់អ្វី

បច្ចុប្បន្នភាពចុងក្រោយ៖ 25/04/2024
អ្នកនិពន្ធ: Sebastian Vidal

APIs (Application Programming Interface) បានក្លាយជាធាតុមូលដ្ឋានដើម្បីអនុញ្ញាតឱ្យមានទំនាក់ទំនងរាវរវាងសមាសធាតុកម្មវិធីផ្សេងៗគ្នា។ ឧបករណ៍ដ៏មានឥទ្ធិពលទាំងនេះដើរតួជាស្ពានដែលភ្ជាប់កម្មវិធី ប្រព័ន្ធ និងមូលដ្ឋានទិន្នន័យ ដែលអនុញ្ញាតឱ្យមានការផ្លាស់ប្តូរព័ត៌មាន និងមុខងារប្រកបដោយប្រសិទ្ធភាព។

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

តើអ្វីទៅជា API

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

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

ដើម្បីយល់កាន់តែច្បាស់អំពីរបៀបដែល APIs ដំណើរការ វាមានប្រយោជន៍ក្នុងការដឹងពីស្ថាបត្យកម្មរបស់ពួកគេ។ ជាទូទៅវាត្រូវបានពន្យល់នៅក្នុងលក្ខខណ្ឌ ម៉ាស៊ីនភ្ញៀវ និងម៉ាស៊ីនមេ. កម្មវិធី​ដែល​ផ្ញើ​សំណើ​ត្រូវ​បាន​ហៅ​ថា​ម៉ាស៊ីន​ភ្ញៀវ ខណៈ​ដែល​កម្មវិធី​ដែល​ផ្ដល់​ការ​ឆ្លើយតប​ត្រូវ​បាន​គេ​ស្គាល់​ថា​ជា​ម៉ាស៊ីន​មេ។ នៅក្នុងឧទាហរណ៍កម្មវិធីអាកាសធាតុ មូលដ្ឋានទិន្នន័យរបស់វិទ្យាស្ថានគឺជាម៉ាស៊ីនមេ ហើយកម្មវិធីទូរស័ព្ទគឺជាអតិថិជន។

មានប្រភេទ API ផ្សេងៗគ្នាអាស្រ័យលើស្ថាបត្យកម្ម និងពេលវេលានៃការបង្កើតរបស់ពួកគេ៖

  • SOAP API៖ ពួកគេប្រើពិធីការចូលប្រើវត្ថុសាមញ្ញ ហើយការផ្លាស់ប្តូរសារត្រូវបានធ្វើដោយប្រើ XML ។
  • RPC API៖ ផ្អែកលើការហៅតាមនីតិវិធីពីចម្ងាយ ដែលម៉ាស៊ីនភ្ញៀវបំពេញមុខងារនៅលើម៉ាស៊ីនមេ ហើយទទួលលទ្ធផល។
  • WebSocket API៖ ពួកគេអនុញ្ញាតឱ្យទំនាក់ទំនងទ្វេទិសរវាងម៉ាស៊ីនភ្ញៀវ និងម៉ាស៊ីនមេ ដោយប្រើវត្ថុ JSON ដើម្បីបញ្ជូនទិន្នន័យ។
  • REST API៖ ពេញនិយមបំផុត និងអាចបត់បែនបាននៅលើគេហទំព័របច្ចុប្បន្ន ដែលអតិថិជនផ្ញើសំណើទៅម៉ាស៊ីនមេ និងទទួលទិន្នន័យជាការឆ្លើយតប។
មាតិកាផ្តាច់មុខ - ចុចទីនេះ  Pokémon Go មិនដំណើរការទេ៖ ដំណោះស្រាយ និងជំនួយ

ចូលជ្រៅទៅក្នុង REST APIs

REST (Representational State Transfer) APIs បានក្លាយជាស្តង់ដារជាក់ស្តែងក្នុងការអភិវឌ្ឍន៍គេហទំព័រទំនើប។ ពួកវាត្រូវបានផ្អែកលើសំណុំនៃមុខងារដូចជា ទទួល, ដាក់, លុបដែលអតិថិជនប្រើដើម្បីចូលប្រើទិន្នន័យពីម៉ាស៊ីនមេតាមពិធីការ HTTP ។ លក្ខណៈសំខាន់នៃ REST APIs គឺជារបស់ពួកគេ។ អវត្ដមាននៃរដ្ឋមានន័យថាម៉ាស៊ីនមេមិនរក្សាទុកទិន្នន័យអតិថិជនរវាងសំណើ។

អ្វីដែល REST APIs ផ្តល់ជូន

REST APIs ផ្តល់នូវអត្ថប្រយោជន៍សំខាន់ៗមួយចំនួន៖

  1. សមាហរណកម្ម៖ ពួកគេអនុញ្ញាតឱ្យកម្មវិធីថ្មីត្រូវបានដាក់បញ្ចូលជាមួយប្រព័ន្ធដែលមានស្រាប់ប្រកបដោយប្រសិទ្ធភាព ដោយទាញយកអត្ថប្រយោជន៍ពីកូដដែលមានស្រាប់។
  2. ការច្នៃប្រឌិត៖ ពួកគេជួយសម្រួលដល់ការដាក់ឱ្យប្រើប្រាស់យ៉ាងឆាប់រហ័សនៃសេវាកម្មប្រកបដោយភាពច្នៃប្រឌិត ដោយអនុញ្ញាតឱ្យមានការផ្លាស់ប្តូរ API ដោយមិនចាំបាច់សរសេរកូដទាំងអស់ឡើងវិញ។
  3. អេមផេស៊ីស៊ី។៖ ពួកគេផ្តល់ឱ្យក្រុមហ៊ុននូវឱកាសដើម្បីបំពេញតម្រូវការអតិថិជននៅលើវេទិកាផ្សេងៗគ្នាតាមរយៈការចូលទៅកាន់មូលដ្ឋានទិន្នន័យខាងក្នុង។
  4. ភាពងាយស្រួលនៃការថែទាំ៖ ពួកវាដើរតួជាច្រកផ្លូវរវាងប្រព័ន្ធ ការពារការផ្លាស់ប្តូរខាងក្នុងមិនអោយប៉ះពាល់ដល់ផ្នែកផ្សេងៗ។

ប្រភេទនៃ API យោងទៅតាមវិសាលភាពនៃការប្រើប្រាស់របស់វា។

បន្ថែមពីលើស្ថាបត្យកម្ម APIs ក៏ត្រូវបានចាត់ថ្នាក់តាមវិសាលភាពនៃការប្រើប្រាស់របស់វាផងដែរ៖

  • APIs ឯកជន៖ សម្រាប់ការប្រើប្រាស់ផ្ទៃក្នុងនៅក្នុងក្រុមហ៊ុន ដើម្បីភ្ជាប់ប្រព័ន្ធ និងទិន្នន័យ។
  • APIs សាធារណៈ៖ បើកជាសាធារណៈ ពួកគេអាចទាមទារការអនុញ្ញាត និងមានការចំណាយពាក់ព័ន្ធ។
  • API ដៃគូ៖ អាចចូលប្រើបានតែចំពោះអ្នកអភិវឌ្ឍន៍ភាគីទីបីដែលមានការអនុញ្ញាតនៅក្នុងភាពជាដៃគូអាជីវកម្មនិងអាជីវកម្មប៉ុណ្ណោះ។
  • APIs សមាសធាតុ៖ ពួកគេរួមបញ្ចូលគ្នានូវ APIs ផ្សេងៗគ្នា ដើម្បីដោះស្រាយតម្រូវការប្រព័ន្ធស្មុគស្មាញ ឬអាកប្បកិរិយា។

សារៈសំខាន់ និងតួនាទីនៃចំណុចបញ្ចប់នៅក្នុង APIs

ចំណុចតភ្ជាប់ API គឺ ទីតាំងជាក់លាក់ ដែលព័ត៌មានត្រូវបានផ្ញើ និងទទួលរវាងប្រព័ន្ធ។ ពួកវាមានសារៈសំខាន់សម្រាប់ក្រុមហ៊ុនសម្រាប់ហេតុផលចម្បងពីរ៖

  1. សន្តិសុខ៖ ចំណុចបញ្ចប់អាចងាយរងការវាយប្រហារ ដូច្នេះការត្រួតពិនិត្យពួកវាគឺចាំបាច់ណាស់។
  2. សមិទ្ធផល៖ ចំណុចបញ្ចប់ដែលមានចរាចរណ៍ខ្ពស់អាចបង្កើតការស្ទះ និងប៉ះពាល់ដល់ដំណើរការប្រព័ន្ធ។
មាតិកាផ្តាច់មុខ - ចុចទីនេះ  ការចែករំលែកគណនី HBO៖ របៀបធ្វើវាដោយសុវត្ថិភាព

សុវត្ថិភាពសម្រាប់ REST APIs៖ ការផ្ទៀងផ្ទាត់សញ្ញាសម្ងាត់ និងសោ API

សុវត្ថិភាពគឺជាទិដ្ឋភាពសំខាន់ក្នុងការប្រើប្រាស់ APIs។ វិធីសាស្រ្តទូទៅពីរដើម្បីធានា REST APIs គឺ៖

  1. សញ្ញាសម្គាល់ការផ្ទៀងផ្ទាត់៖ ពួកគេផ្ទៀងផ្ទាត់អត្តសញ្ញាណរបស់អ្នកប្រើប្រាស់ និងសិទ្ធិចូលប្រើប្រាស់របស់ពួកគេ ដើម្បីធ្វើការហៅទៅកាន់ API ។
  2. សោ API៖ ពួកគេកំណត់អត្តសញ្ញាណកម្មវិធីដែលធ្វើការហៅទូរសព្ទ និងការអនុញ្ញាតរបស់វា ដែលអនុញ្ញាតឱ្យត្រួតពិនិត្យការប្រើប្រាស់ API ។

API តើវាសម្រាប់អ្វី?

របៀបបង្កើត API៖ ដំណើរការរៀបចំផែនការ ការអភិវឌ្ឍន៍ និងឯកសារ

ការបង្កើត API ដែលមានគុណភាពខ្ពស់ទាមទារឱ្យមានដំណើរការល្អិតល្អន់ដូចខាងក្រោម៖

  1. ការធ្វើផែនការ API៖ កំណត់លក្ខណៈជាក់លាក់ និងករណីប្រើប្រាស់តាមស្តង់ដារអភិវឌ្ឍន៍បច្ចុប្បន្ន។
  2. ការបង្កើត API៖ បង្កើត​គំរូ​ដោយ​ប្រើ​កូដ​ដែល​អាច​ប្រើ​ឡើងវិញ​បាន និង​ប្ដូរ​តាម​បំណង​វា​តាម​តម្រូវការ។
  3. តេស្ត API៖ អនុវត្តការធ្វើតេស្តយ៉ាងទូលំទូលាយ ដើម្បីជៀសវាងកំហុស និងធានាសុវត្ថិភាព។
  4. ឯកសារ API៖ ផ្តល់ការណែនាំច្បាស់លាស់ និងពេញលេញ ដើម្បីសម្រួលដល់ការប្រើប្រាស់ និងការស្មុំកូន។
  5. ទីផ្សារ API៖ បោះផ្សាយ API នៅក្នុងទីផ្សារឯកទេស ដើម្បីរកប្រាក់ពីវា និងទៅដល់អ្នកអភិវឌ្ឍន៍កាន់តែច្រើន។

ការធ្វើតេស្ត API៖ ធ្វើឱ្យមានសុពលភាពប្រតិបត្តិការ និងសុវត្ថិភាព

ការធ្វើតេស្ត API គឺចាំបាច់ដើម្បីធានាបាននូវដំណើរការត្រឹមត្រូវ និងសុវត្ថិភាព។ យុទ្ធសាស្ត្រមួយចំនួនរួមមាន:

  • ធ្វើសំណើជាច្រើនទៅកាន់ចំណុចបញ្ចប់ដើម្បីវាយតម្លៃ ការសម្តែង.
  • សរសេរការធ្វើតេស្តឯកតាដើម្បីផ្ទៀងផ្ទាត់ តក្កវិជ្ជាអាជីវកម្ម និងភាពត្រឹមត្រូវនៃមុខងារ.
  • ក្លែងធ្វើការវាយប្រហារតាមប្រព័ន្ធ ដើម្បីសាកល្បង សុវត្ថិភាព.

របៀបសរសេរឯកសារ API ដែលមានប្រសិទ្ធភាព

ឯកសារច្បាស់លាស់ និងពេញលេញគឺចាំបាច់ដើម្បីជួយសម្រួលដល់ការប្រើប្រាស់ និងការអនុម័ត API ។ ការអនុវត្តដែលបានណែនាំមួយចំនួនគឺ៖

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

API៖ ជំហានដើម្បីចាប់ផ្តើម

ដើម្បីចាប់ផ្តើមប្រើ API ថ្មី សូមអនុវត្តតាមជំហានទាំងនេះ៖

  1. ទទួល​បាន​មួយ សោ API បង្កើតគណនីដែលបានផ្ទៀងផ្ទាត់ជាមួយអ្នកផ្តល់សេវា។
  2. រៀបចំក ម៉ាស៊ីនភ្ញៀវ HTTP API ដើម្បីងាយស្រួលរៀបចំសំណើ។
  3. ប្រសិនបើអ្នកមិនមានម៉ាស៊ីនភ្ញៀវ API សូមព្យាយាមរៀបចំរចនាសម្ព័ន្ធសំណើដោយដៃនៅក្នុងកម្មវិធីរុករករបស់អ្នកដោយធ្វើតាម ឯកសារ.
  4. នៅពេលដែលអ្នកស្គាល់វាក្យសម្ព័ន្ធ API សូមចាប់ផ្តើមប្រើវានៅក្នុងរបស់អ្នក។ មាន.
មាតិកាផ្តាច់មុខ - ចុចទីនេះ  របៀបលេងអ្នកលេងច្រើនក្នុង GTA San Andreas PC

ស្វែងរក APIs ថ្មី៖ គេហទំព័រឯកទេស និងថត

មានធនធានអនឡាញជាច្រើនដើម្បីស្វែងរក APIs ថ្មី៖

  • API រហ័ស៖ គេហទំព័រ API សកលដ៏ធំបំផុតដែលមាន APIs សាធារណៈជាង 10,000 និងអ្នកអភិវឌ្ឍន៍សកម្ម 1 លាន។
  • APIs សាធារណៈ៖ ដាក់ក្រុម APIs ពីចម្ងាយទៅជា 40 ប្រភេទពិសេស ដើម្បីងាយស្រួលស្វែងរក។
  • APIForនោះ។ y បញ្ជី API៖ បញ្ជីនៃ web APIs ច្រើនជាង 500 ដែលមានព័ត៌មានលំអិតអំពីការប្រើប្រាស់របស់វា។

API Gateways៖ ការគ្រប់គ្រងប្រកបដោយប្រសិទ្ធភាពសម្រាប់អតិថិជនសហគ្រាស

API gateways គឺជាឧបករណ៍គ្រប់គ្រងសម្រាប់អតិថិជនសហគ្រាសដែលប្រើប្រាស់សេវាកម្ម backend ជាច្រើន។ ពួកគេទទួលខុសត្រូវចំពោះកិច្ចការទូទៅដូចជា៖

  • ការផ្ទៀងផ្ទាត់អ្នកប្រើប្រាស់
  • ជំនាន់នៃ ស្ថិតិ
  • ការគ្រប់គ្រងអត្រា បានអនុវត្តចំពោះការហៅ API

GraphQL៖ ជាភាសាសំណួរសម្រាប់ APIs ដែលអាចបត់បែនបាន និងមានប្រសិទ្ធភាព

GraphQL គឺជាភាសាសំណួរដែលត្រូវបានរចនាឡើងជាពិសេសសម្រាប់ APIs. វាផ្តោតលើការផ្តល់ឱ្យអតិថិជននូវទិន្នន័យពិតប្រាកដដែលពួកគេស្នើសុំ ធ្វើឱ្យ APIs លឿន បត់បែន និងងាយស្រួលក្នុងការអភិវឌ្ឍ។ ជាមួយនឹង GraphQL អ្នកអភិវឌ្ឍន៍ frontend អាចសាកសួរមូលដ្ឋានទិន្នន័យ សេវាមីក្រូ និង APIs ជាច្រើនជាមួយនឹងចំណុចបញ្ចប់តែមួយ។

សេវាកម្មចូលចិត្ត AWS AppSync ពួកគេសម្រួលដល់ការអភិវឌ្ឍន៍ GraphQL API ដោយយកចិត្តទុកដាក់លើការភ្ជាប់ដោយសុវត្ថិភាពទៅកាន់ប្រភពទិន្នន័យ និងផ្ញើការអាប់ដេតតាមពេលវេលាជាក់ស្តែងទៅកាន់អតិថិជនរាប់លាននាក់។

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