วิธีการปรับใช้ web service คู่มือทีละขั้นตอน

บทความนี้จะกล่าวถึง webservices ข้อดีของพวกมัน ตัวเลือกการปรับใช้ web services และวิธีเปรียบเทียบกับ APIs

นอกจากนี้ คุณจะได้เรียนรู้วิธีการปรับใช้เว็บเซอร์วิสอีคอมเมิร์ซไปยังคลาวด์โดยไม่ต้องเขียนโค้ดที่กำหนดเองเลย!

ข้อคิดสำคัญ

  • เข้าใจบทบาทของ Web Services: Web services เป็นองค์ประกอบสำคัญของโครงสร้างพื้นฐานดิจิทัลในยุคปัจจุบัน มอบข้อดีที่สำคัญเช่น ความสามารถในการทำงานร่วมกัน ความเป็นอิสระจากแพลตฟอร์ม ความสามารถในการปรับขนาด และความปลอดภัย
  • การสำรวจตัวเลือกการปรับใช้: การปรับใช้ web services สามารถทำได้หลายวิธี รวมถึง Conventional Hosting, Platform as a Service (PaaS), Containers as a Service (CaaS), และ Backend as a Service (BaaS)
  • คำแนะนำในการปรับใช้ Web Service ไปยังคลาวด์: บทความนี้มีคำแนะนำครอบคลุมเกี่ยวกับการปรับใช้เว็บเซอร์วิสอีคอมเมิร์ซโดยใช้แพลตฟอร์ม BaaS ที่ไม่ต้องเขียนโค้ด

Web Service คืออะไร?

Web service คือซอฟต์แวร์ที่สามารถเข้าถึงผ่านอินเทอร์เน็ต โดยทั่วไปผ่านโปรโตคอล Hypertext Transfer Protocol (HTTP) ข้อมูลที่บริการโดยเว็บเซอร์วิสอยู่ในรูปแบบมาตรฐาน เช่น XML, JSON, SOAP หรือ YAML

Web services ถูกใช้สำหรับการสื่อสารระหว่างเครื่องจักรแทนที่จะถูกบริโภคโดยลูกค้าสุดท้ายโดยตรง

ตัวอย่างเช่น อุปกรณ์มือถือของคุณใช้เว็บเซอร์วิสสภาพอากาศเพื่อดึงข้อมูลสภาพอากาศและแสดงในรูปแบบที่สวยงาม

มีหลายประเภทของเว็บเซอร์วิส เช่น Representational State Transfer (REST), GraphQL และ gRPC

วงจรชีวิตของเว็บเซอร์วิสทั่วไปมีลักษณะดังนี้:

  1. เว็บเซอร์วิสฟังที่เซิร์ฟเวอร์บางแห่งที่พอร์ตเฉพาะ
  2. ไคลเอนต์ส่งคำขอไปยังเว็บเซอร์วิสที่พอร์ตนั้น
  3. เว็บเซอร์วิสดำเนินการคำขอและส่งคืนการตอบสนอง ก่อนประมวลผลการตอบสนอง เซิร์ฟเวอร์ยังสามารถยืนยันและอนุญาตคำขอได้
  4. ไคลเอนต์ประมวลผลการตอบสนอง

Web services มีชื่อเสียงด้านความเป็นอิสระจากแพลตฟอร์มและภาษา ความสามารถในการนำกลับมาใช้ใหม่ ความสามารถในการปรับขนาด ความยืดหยุ่น และการเชื่อมต่อแบบหลวม ซึ่งในปัจจุบันถูกใช้โดยบริษัท IT เกือบทุกแห่ง

Web Service กับ API

Web service และ API เป็นคำที่คล้ายกัน แต่ไม่ควรถูกใช้แทนกัน

ในแง่ง่ายๆ web service คือ API ที่สามารถเข้าถึงได้เฉพาะผ่านอินเทอร์เน็ต นั่นหมายความว่าเว็บเซอร์วิสทั้งหมดเป็น API แต่ไม่ใช่ทุก API ที่เป็นเว็บเซอร์วิส

Web Service versus Application Programming Interface (API)

APIs นอกจากจะเป็นเว็บเซอร์วิสแล้ว ยังสามารถทำสิ่งอื่น ๆ ได้ เช่น การโต้ตอบกับระบบปฏิบัติการ การสื่อสารภายในแอปพลิเคชัน และการบูรณาการแอปพลิเคชัน

ตัวอย่างของ APIs ที่ไม่ใช่เว็บเซอร์วิสคือ Python file system API และ JavaScript DOM API

ข้อดีของ Web Service

Web services เป็นองค์ประกอบพื้นฐานของโครงสร้างพื้นฐานดิจิทัลสมัยใหม่ มอบข้อดีมากมาย มาพูดถึงกัน!

ความสามารถในการทำงานร่วมกัน

หนึ่งในข้อดีหลักของเว็บเซอร์วิสคือความสามารถในการอำนวยความสะดวกในการทำงานร่วมกันระหว่างระบบและแอปพลิเคชันต่าง ๆ

ด้วยการปฏิบัติตามโปรโตคอลมาตรฐานเช่น HTTP และ XML เว็บเซอร์วิสสามารถสื่อสารกันได้อย่างราบรื่นระหว่างส่วนประกอบซอฟต์แวร์ต่าง ๆ โดยไม่คำนึงถึงเทคโนโลยีพื้นฐาน

ความเป็นอิสระจากแพลตฟอร์ม

อีกข้อดีที่ยอดเยี่ยมของเว็บเซอร์วิสคือพวกมันมีความเป็นอิสระจากแพลตฟอร์มทั้งหมด สามารถนำไปใช้ได้ในทุกภาษาโปรแกรมและรันบนทุกระบบปฏิบัติการ รวมถึง Windows, Linux และ MacOS

ตามที่กล่าวไว้ในส่วนก่อนหน้า พวกมันยังสามารถถูกบริโภคบนแพลตฟอร์มใดก็ได้

ง่ายและมีประสิทธิภาพ

Web services ง่ายต่อการเข้าใจและนำไปใช้ ในหลายกรณี พวกมันไม่มีสถานะของตัวเอง แต่ใช้ฐานข้อมูลหรือใช้ส่วนประกอบซอฟต์แวร์อื่นแทน

พวกมันมอบวิธีการเข้าถึงฟังก์ชันการทำงานผ่านเครือข่ายอย่างตรงไปตรงมา ความเรียบง่ายนี้ช่วยให้การโต้ตอบมีความสม่ำเสมอ ทำให้เข้าใจและใช้งานบริการได้ง่ายขึ้นบนแพลตฟอร์มและเทคโนโลยีต่าง ๆ

ความสามารถในการปรับขนาด

Web services มีความสามารถในการปรับขนาดสูง สามารถรองรับการจราจรใด ๆ โดยการปรับขนาดแนวตั้ง เช่น การเพิ่มทรัพยากรเพิ่มเติมให้กับเซิร์ฟเวอร์โนด หรือการปรับขนาดแนวนอน เช่น การเพิ่มเซิร์ฟเวอร์โนดเพิ่มเติม

สิ่งนี้สามารถช่วยคุณลดต้นทุนได้มากโดยการแน่ใจว่าไม่มีทรัพยากรคอมพิวติ้งที่สูญเปล่า

ความสามารถในการนำกลับมาใช้ใหม่

สิ่งที่ดีที่สุดเกี่ยวกับเว็บเซอร์วิสคือพวกมันสามารถนำกลับมาใช้ใหม่ได้สูง แทนที่จะรวมโค้ดเดียวกันไปในแอปพลิเคชันหลายตัว พวกมันทั้งหมดสามารถใช้ประโยชน์จากอินสแตนซ์เดียวของเว็บเซอร์วิสได้

ความสามารถในการนำกลับมาใช้ใหม่ทำให้ฐานโค้ดเล็กลงและง่ายต่อการบำรุงรักษา มีการรวมศูนย์ที่ดีกว่า และช่วยให้คุณประหยัดทรัพยากร

ความปลอดภัย

Web services สามารถใช้ประโยชน์จากการตรวจสอบสิทธิ์ การอนุญาต การเข้ารหัส และมาตรการรักษาความปลอดภัยอื่น ๆ ส่วนใหญ่ของเว็บเซอร์วิสถูกป้องกันโดยการเข้ารหัส SSL/TSL

ทั้งหมดนี้ช่วยให้ความลับ (การรับรองว่าเฉพาะผู้ส่งและผู้รับเท่านั้นที่สามารถอ่านข้อความได้) และความสมบูรณ์ (ข้อความไม่ได้ถูกแก้ไขขณะส่งผ่าน)

ตัวเลือกการปรับใช้ Web Service

Web services สามารถปรับใช้แบบ self-hosted หรือไปยังคลาวด์ ตัวเลือกคลาวด์ที่ได้รับความนิยมที่สุดสำหรับการปรับใช้เว็บเซอร์วิส ได้แก่:

  • Platform as a Service (PaaS)
  • Containers as a Service (CaaS)
  • Backend as a Service (BaaS)

แต่ละโมเดลคลาวด์มีข้อดีและข้อเสียที่ควรพิจารณาเมื่อปรับใช้โครงการของคุณ ปัจจัยที่สำคัญที่สุดที่ต้องพิจารณา ได้แก่ ความง่ายในการใช้งาน งบประมาณ ประสิทธิภาพ และคุณสมบัติ

Web Service Hosting Pyramid

Conventional Hosting

Conventional hosting เป็นวิธีการโฮสต์เว็บไซต์และแอปพลิเคชันแบบดั้งเดิม เซิร์ฟเวอร์สามารถ self-hosted หรือให้บริการโดยบริษัทโฮสติ้ง

ด้วย traditional hosting โดยทั่วไปคุณจะเช่าพื้นที่เซิร์ฟเวอร์เป็นรายเดือนหรือรายปี

คุณสมบัติหลักของ conventional hosting ได้แก่:

  • Server Space — แผนพื้นที่เซิร์ฟเวอร์ต่าง ๆ ตามความต้องการของแอปพลิเคชันของคุณ
  • Website Management Tools — เครื่องมือที่ใช้งานง่ายสำหรับการจัดการเว็บไซต์ เช่น cPanel
  • Email Hosting — บริการโฮสต์อีเมลที่อนุญาตให้คุณเชื่อมโดเมนกับบริการเหล่านี้
  • FTP Access — สามารถเข้าถึงไฟล์เซิร์ฟเวอร์ผ่าน FTP หรือ secure FTP (SFTP)

หนึ่งในข้อดีหลักของ conventional hosting คือความคุ้มค่า โดยเฉพาะสำหรับเว็บไซต์และธุรกิจขนาดเล็ก

อย่างไรก็ตาม มันขาดความสามารถในการปรับขนาดและความยืดหยุ่นเมื่อเทียบกับโซลูชันคลาวด์ Conventional hosting ยังยากต่อการตั้งค่า

Platform as a Service (PaaS)

Platform as a Service (PaaS) ช่วยให้ลูกค้าสร้าง จัดการ และแจกจ่ายแอปพลิเคชันในสภาพแวดล้อมคลาวด์

ยิ่งไปกว่านั้น บริษัท PaaS ให้เครื่องมือสำเร็จรูปหลากหลายสำหรับการสร้าง การปรับแต่ง และการทดสอบแอปพลิเคชัน

เมื่อเทียบกับ IaaS PaaS ใช้งานง่ายกว่าและต้องการประสบการณ์ด้านการจัดการระบบน้อยลง

นอกจากนี้ คุณยังสามารถใช้ประโยชน์จาก load balancers, managed databases และ automatic backups เมื่อเทียบกับ IaaS PaaS มีความเสรีภาพและการควบคุมที่น้อยกว่าและมีความเสี่ยงต่อ vendor lock-in มากกว่า

Containers as a Service (CaaS)

Containers as a Service (CaaS) เป็นโมเดลการคอมพิวเตอร์คลาวด์ที่ได้รับความนิยมอีกแบบหนึ่ง CaaS ทำให้การพัฒนา การดำเนินการ การปรับใช้ และการดูแลรักษาซอฟต์แวร์ที่ถูกคอนเทนเนอร์ง่ายขึ้น มักจะรวมกับ Docker และ Docker Compose

แพลตฟอร์ม CaaS ส่วนใหญ่ให้:

  • Docker Engine
  • Container registry
  • Scaling capabilities

ข้อดีหลักของซอฟต์แวร์ที่ถูกคอนเทนเนอร์คือสามารถปรับใช้ได้ทุกที่ ไม่มี vendor lock-in หมายความว่าคุณสามารถสลับจากผู้ให้บริการคลาวด์หนึ่งไปยังอีกผู้ให้บริการได้อย่างอิสระ สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับ web services

Backend as a Service (BaaS)

Backend as a Service (BaaS) เป็นโมเดลการคอมพิวเตอร์คลาวด์ที่ดูแลโครงสร้างพื้นฐานของคุณและอัตโนมัติส่วน backend ของการพัฒนา

ยิ่งไปกว่านั้น มันให้ความสามารถเช่น real-time database, file storage, social media integrations, email และ push notifications และอื่น ๆ

ด้วยเหตุนี้ นักพัฒนาสามารถมุ่งเน้นที่การสร้าง frontend โดยไม่ต้องกังวลเกี่ยวกับโครงสร้างพื้นฐานและ backend

Frontend มักถูกสร้างขึ้นโดยใช้ API และ SDK แบบ proprietary ของผู้ให้บริการ BaaS โดยการใช้ BaaS คุณสามารถทำให้ฐานโค้ดง่ายขึ้นและสามารถบำรุงรักษาได้มากขึ้น

BaaS ให้ข้อดีทั้งหมดของ IaaS และ PaaS ในขณะที่ให้ชั้น abstraction สำหรับ backend โดยใช้ BaaS ทีมสามารถลดเวลานำสู่ตลาดและประหยัดเงินในด้านวิศวกรรมและแรงงาน

วิธีการปรับใช้ Web Service?

ส่วนนี้ของบทความจะให้คำแนะนำทีละขั้นตอนเกี่ยวกับการปรับใช้เว็บเซอร์วิสไปยังแพลตฟอร์ม Back4app เราจะใช้โซลูชัน BaaS ที่ไม่ต้องเขียนโค้ดของ Back4app

หากคุณสนใจโซลูชันที่ต้องเขียนโค้ดเอง ลองดูบทความต่อไปนี้:

  1. ปรับใช้ Flask Web Service ไปยัง Back4app Containers
  2. ปรับใช้ Node.js Web Service ไปยัง Back4app Containers
  3. ปรับใช้ PHP Web Service ไปยัง Back4app Containers
  4. ปรับใช้ FastAPI Web Service ไปยัง Back4app Containers

Back4app คืออะไร?

Back4app เป็นหนึ่งในโซลูชัน Backend as a Service (BaaS) ที่ได้รับความนิยมมากที่สุด

ด้วยการใช้มัน คุณจะสามารถเร่งกระบวนการพัฒนาของคุณได้อย่างมากและมุ่งเน้นไปที่ด้านพื้นฐานของแอปของคุณ — เช่น ธุรกิจลอจิกและ frontend ในขณะที่ Back4app จะจัดการส่วนอื่น ๆ แทน

Back4app ให้การปรับใช้แบบไม่ต้องเขียนโค้ดและแบบที่ต้องเขียนโค้ดเอง ใช้งานง่ายและแทบไม่มีช่วงการเรียนรู้ เหมาะสำหรับผู้เริ่มต้นและนักพัฒนาที่มีประสบการณ์มากขึ้น

สิ่งที่ยอดเยี่ยมเกี่ยวกับ Back4app คือมันสร้าง RESTful และ GraphQL APIs อัตโนมัติตามคลาสฐานข้อมูลของคุณ

นอกจากนี้ ยังให้ SDKs สำหรับภาษาโปรแกรมหรือเฟรมเวิร์กที่ได้รับความนิยมเกือบทุกภาษา เช่น React, Android, iOS และอื่น ๆ อีกมากมาย!

ฟีเจอร์หลักของ Back4app

  • ฐานข้อมูลแบบสเปรดชีต
  • การจัดการผู้ใช้และการตรวจสอบสิทธิ์
  • การสร้าง API อัตโนมัติ
  • ฟังก์ชัน Cloud Code และการตั้งเวลา
  • ข้อมูลแบบเรียลไทม์

เพื่อทำตามบทความ คุณจะต้องมีบัญชี Back4app ฟรี หากคุณยังไม่มี คุณสามารถ สร้างหนึ่งบัญชี

แนะนำโครงการ

ตลอดบทความ เราจะสร้างเว็บ API อีคอมเมิร์ซง่าย ๆ

API จะให้ฟังก์ชันการจัดการผลิตภัณฑ์ หมวดหมู่ผลิตภัณฑ์ และการซื้อ มันจะอนุญาตให้เราดำเนินการสร้าง อ่าน อัปเดต และลบ (CRUD) บนแต่ละคลาสฐานข้อมูล

นอกจากนี้ เรายังจะใช้ Cloud Code เพื่อดำเนินการฟังก์ชันที่กำหนดเองสำหรับการคำนวณสถิติอีคอมเมิร์ซ เช่น ยอดขายรวมและสินค้าที่นิยมที่สุด

สุดท้าย เราจะทดสอบ API โดยใช้ Back4app REST และ GraphQL Console ที่มีมาในตัว

สร้างแอป

ในการทำงานกับ Back4app คุณต้องสร้างแอปก่อน ในการทำเช่นนั้น ให้ออกยืนยันตัวตนด้วยบัญชี Back4app ของคุณและคลิก “Build new app” บนแดชบอร์ดแอป

Back4app Create App

แพลตฟอร์ม Back4app อนุญาตให้คุณปรับใช้สองประเภทของแอป:

  1. Backend as a Service (BaaS)
  2. Containers as a Service (CaaS)

ทั้งสองโมเดลการคอมพิวเตอร์คลาวด์อนุญาตให้คุณปรับใช้ web services

ความแตกต่างหลักคือ BaaS เป็น backend ที่สมบูรณ์ ในขณะที่ CaaS ช่วยให้คุณปรับใช้เว็บเซอร์วิสที่ถูกคอนเทนเนอร์

พูดอีกอย่างหนึ่ง BaaS เป็นโซลูชันที่ไม่ต้องเขียนโค้ดมาก ในขณะที่ CaaS เป็นโซลูชันที่ต้องเขียนโค้ดเอง

เราจะเลือกใช้ Backend as a Service (BaaS)

Back4app Backend as a Service (BaaS)

เมื่อสร้างแอป Back4app คุณสามารถเลือกใช้ฐานข้อมูล NoSQL หรือ SQL สำหรับกรณีการใช้งานของเรา ไม่สำคัญ ดังนั้นเราจะเลือก NoSQL

ตั้งชื่อแอปของคุณให้ดี และคลิก “Create”

Back4app App Configuration

รอให้ Back4app ดูแลทุกอย่าง รวมถึงฐานข้อมูล ชั้นแอปพลิเคชัน การปรับขนาด การตั้งค่าการจัดการผู้ใช้ เป็นต้น จะใช้เวลาประมาณ 2 นาที

เมื่อเสร็จสิ้น คุณจะถูกเปลี่ยนเส้นทางไปยังมุมมองฐานข้อมูลของคุณ

Back4app Database View

ออกแบบฐานข้อมูล

ต่อไป มาดูแลฐานข้อมูลกันเถอะ

โดยค่าเริ่มต้น แอป Back4app มาพร้อมกับคลาสฐานข้อมูล _Role และ _User ทั้งสองคลาสนี้ใช้สำหรับการจัดการผู้ใช้และการตรวจสอบสิทธิ์

หัวข้อนี้อยู่นอกขอบเขตของบทแนะนำนี้ แต่คุณสามารถตรวจสอบบทความอื่น ๆ ของเราเพื่อเรียนรู้เกี่ยวกับมัน

เพื่อสร้างเว็บ API อีคอมเมิร์ซของเรา เราจะสร้างโครงสร้างฐานข้อมูลดังต่อไปนี้:

E-Commerce Database ER Diagram

เราจะเริ่มต้นด้วยการสร้างคลาส ProductCategory

คลิก “Add Class” ในแถบด้านข้างเพื่อสร้างคลาสฐานข้อมูลใหม่ ตั้งชื่อว่า “ProductCategory” เปิดใช้งาน “Public Read and Write” และคลิก “Create class & add columns”

Back4app Create Class

เพิ่มคอลัมน์ต่อไปนี้เข้าไป:

+-----------------------------+-------------+---------------+----------+
| Type                        | Name        | Default value | Required |
+-----------------------------+-------------+---------------+----------+
| String                      | name        | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+
| String                      | description | <leave blank> | no       |
+-----------------------------+-------------+---------------+----------+

ต่อไป ทำขั้นตอนเดียวกันเพื่อสร้างคลาส Product:

+-----------------------------+-------------+---------------+----------+
| Type                        | Name        | Default value | Required |
+-----------------------------+-------------+---------------+----------+
| String                      | name        | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+
| String                      | description | <leave blank> | no       |
+-----------------------------+-------------+---------------+----------+
| Relation -> ProductCategory | categories  | true          | yes      |
+-----------------------------+-------------+---------------+----------+
| Number                      | price       | 0.0           | yes      |
+-----------------------------+-------------+---------------+----------+
| Boolean                     | inStock     | true          | yes      |
+-----------------------------+-------------+---------------+----------+

สุดท้าย ดูแลคลาส Purchase:

+-----------------------------+-------------+---------------+----------+
| Type                        | Name        | Default value | Required |
+-----------------------------+-------------+---------------+----------+
| Pointer -> Product          | product     | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+
| Number                      | quantity    | 1             | yes      |
+-----------------------------+-------------+---------------+----------+

ยอดเยี่ยม คุณได้สร้างโครงสร้างฐานข้อมูลสำเร็จแล้ว

อย่างที่เห็น Pointer data type จัดการความสัมพันธ์ 1:n (หนึ่งต่อหลาย) และ Relation data type จัดการความสัมพันธ์ n:m (หลายต่อหลาย)

สิ่งสุดท้ายที่คุณต้องทำคือเติมฐานข้อมูลด้วยหมวดหมู่ผลิตภัณฑ์ ผลิตภัณฑ์ และการซื้อไม่กี่รายการ นี่จะทำให้เราสามารถทดสอบเว็บเซอร์วิสในภายหลังเพื่อให้แน่ใจว่าทุกอย่างทำงานตามที่คาดหวัง

เพื่อเติมฐานข้อมูล คุณสามารถ:

  1. สร้างหมวดหมู่ผลิตภัณฑ์ ผลิตภัณฑ์ และการซื้อเองไม่กี่รายการ
  2. นำเข้า ฐานข้อมูลส่งออกเหล่านี้จาก GitHub (“More > Import > Class Data”)

การใช้งาน Web Service

เพื่อเชื่อมต่อกับเว็บเซอร์วิส Back4app อนุญาตให้มีหลายวิธี:

  1. RESTful API ที่สร้างขึ้นอัตโนมัติ
  2. GraphQL API ที่สร้างขึ้นอัตโนมัติ
  3. Parse SDK

มาดูแต่ละวิธีกัน!

REST API

Representational state transfer (REST) เป็นโปรโตคอลที่ใช้ HTTP ซึ่งใช้วิธีการ HTTP เช่น OPTIONS, GET, POST, DELETE เป็นต้น

API ส่วนใหญ่ที่คุณใช้งานในปัจจุบันเป็นแบบ REST ซึ่งรองรับรูปแบบข้อมูลหลายรูปแบบ แต่ JSON เป็นที่นิยมที่สุด

REST เป็นโปรโตคอลที่มีประสิทธิภาพ สามารถปรับขนาดได้สูง และเป็นอิสระจากแพลตฟอร์ม สามารถใช้ร่วมกับภาษาโปรแกรมหรือเฟรมเวิร์กใดก็ได้

ข้อเสียหลักของมันคือการดึงข้อมูลมากเกินไปหรือน้อยเกินไป ไม่มีการสมัครสมาชิกแบบเรียลไทม์ และไม่มีระบบการเวอร์ชันของ API

เพื่อทดสอบ REST API ให้เลือก “API > Console > REST” และดำเนินการค้นหาดังต่อไปนี้:

Back4app REST Console

คำค้นหานี้ควรให้ผลลัพธ์ดังต่อไปนี้:

เพื่อเรียนรู้เพิ่มเติม ตรวจสอบ วิธีสร้าง REST API?

GraphQL API

GraphQL เป็น runtime ฝั่งเซิร์ฟเวอร์และภาษาคำถามที่ใช้สร้าง Application Programming Interfaces (APIs)

GraphQL อนุญาตให้ไคลเอนต์ร้องขอข้อมูลเฉพาะจาก API แทนที่จะพึ่งพา backend ในการจัดหาชุดข้อมูลที่กำหนดไว้ล่วงหน้า

ข้อดีของมันรวมถึงความยืดหยุ่น ความสามารถในการบำรุงรักษา และ GraphQL extensions ในทางกลับกัน ข้อเสียคือความซับซ้อน ชันการเรียนรู้ และขาดมาตรฐาน

เพื่อทดสอบ GraphQL API ให้เลือก “API > Console > GraphQL” และดำเนินการค้นหาดังต่อไปนี้:

Back4app GraphQL Console

เพื่อเรียนรู้เพิ่มเติม ตรวจสอบ วิธีสร้าง GraphQL API?

Parse SDK

Parse SDK เป็นวิธีที่แนะนำถ้า frontend ของคุณถูกสร้างขึ้นในภาษาโปรแกรมหรือเฟรมเวิร์กที่ Parse SDK รองรับโดยเนทีฟ

รวมถึง React Native, Flutter, Android, iOS, JavaScript, IONIC และ Xamarin

Back4app API Connect

Parse software development kit (SDK) ให้คลาสและฟังก์ชันสำหรับการดึงข้อมูล การจัดการ การตรวจสอบสิทธิ์ผู้ใช้ ข้อมูลเรียลไทม์ ฟังก์ชัน Cloud Code และอื่น ๆ

ตัวอย่างโค้ดการดึงข้อมูลใน JavaScript มีลักษณะดังนี้:

เอกสาร API

สิ่งที่ยอดเยี่ยมอีกอย่างเกี่ยวกับ Back4app คือมันสร้างเอกสารอัตโนมัติสำหรับทุกคลาสฐานข้อมูลของคุณ

เอกสารประกอบด้วยคำอธิบายโมเดล ตัวอย่างที่ใช้งานได้จริง คำแนะนำเกี่ยวกับวิธีจัดการข้อผิดพลาด และอื่น ๆ

เลือก “API > API Reference” ในแถบด้านข้างเพื่อดูเอกสาร

Back4app Automatic Documentation

Cloud Code

API ที่สร้างขึ้นอัตโนมัติยอดเยี่ยม แต่คุณไม่สามารถทำทุกอย่างด้วยมันได้ ตัวอย่างเช่น ถ้าคุณต้องการทำคำค้นซับซ้อน รวมข้อมูล หรือดำเนินการโค้ดที่กำหนดเอง คุณต้องใช้ฟังก์ชัน Cloud Code

ฟังก์ชัน Cloud Code คือข้อเสนอ Functions as a Service (FaaS) ของ Back4app มันอนุญาตให้คุณกำหนดฟังก์ชัน JavaScript ที่กำหนดเอง ซึ่งคุณสามารถเรียกผ่าน API หรือกำหนดเวลาให้ทำงานตามเวลาที่กำหนด

สร้างฟังก์ชัน Cloud Code

มาสร้างฟังก์ชัน Cloud Code สองฟังก์ชันสำหรับคำนวณสถิติอีคอมเมิร์ซกันเถอะ:

  1. totalRevenue() จะคำนวณรายรับรวมโดยการรวบรวมการซื้อ
  2. topTenPopularProducts() จะคืนค่าสินค้ายอดนิยมที่สุดสิบอันดับแรกตามการซื้อ

แรกสุด ให้ไปที่ “Cloud Code > Functions & Web Hosting” ในแถบด้านข้าง

คุณจะเห็นหน้าจอถูกแบ่งออกเป็นสองแผง โครงสร้างไดเรกทอรีอยู่ทางซ้าย คุณสามารถใส่โค้ดของคุณทางขวา

ไดเรกทอรีเริ่มต้นคือ:

  1. cloud ใช้สำหรับฟังก์ชัน Cloud Code และโค้ดอื่น ๆ
  2. public ไดเรกทอรีที่ Back4app ให้บริการโดยอัตโนมัติ (static assets, CSS, HTML)

ไปที่ main.js

Back4app Cloud Code

จากนั้น ใส่โค้ดต่อไปนี้ภายใน:

สุดท้าย คลิก “Deploy” เพื่อปรับใช้ฟังก์ชันไปยังคลาวด์

โค้ดข้างต้นถูกสร้างโดยใช้ Back4app Agent — AutoGPT สำหรับนักพัฒนา Agent นี้ผสานรวมอย่างแน่นหนากับ Back4app และ Back4app Containers มันอนุญาตให้คุณสร้างแอป ปรับแต่งการตั้งค่าแอป สร้างโค้ดที่กำหนดเอง และอื่น ๆ อีกมากมาย

ทดสอบฟังก์ชัน Cloud Code

ในส่วนสุดท้ายนี้ เราจะทดสอบฟังก์ชัน Cloud Code ที่เพิ่งนำไปใช้

แรกสุด ให้เลือก “API > Console > JavaScript” ในแถบด้านข้าง จากนั้นวางโค้ดต่อไปนี้:

เพื่อรัน ให้คลิก “Run” ที่มุมขวาบนของหน้าจอ

คุณควรได้รับการตอบสนองดังต่อไปนี้:

// `totalRevenue` output

{
  "result": 9385.389999999994
}

เพื่อรันฟังก์ชันอื่นแทนที่ totalRevenue ด้วย topTenPopularProducts

// `topTenPopularProducts` output

{
  "result": [
    {"objectId": "SA5mUfq9Ll", "name": "Science Fiction Novel", "count": 3},
    {"objectId": "fV0DFPFlnz", "name": "Yoga Mat", "count": 3},
    {"objectId": "gA4zn19Udo", "name": "Smartphone", "count": 2},
    {"objectId": "UKeOHJkJ7l", "name": "Winter Jacket", "count": 2},
    {"objectId": "8PodlEps2R", "name": "Espresso Machine", "count": 2},
    {"objectId": "S15WrDgrpk", "name": "Hair Dryer", "count": 2},
    {"objectId": "8O2D1egX51", "name": "4K Television", "count": 1},
    {"objectId": "RriSWMDg48", "name": "Face Cream", "count": 1},
    {"objectId": "Cq3Hqww69Q", "name": "Blender", "count": 1}
  ]
}

บทสรุป

สรุป คุณได้เรียนรู้เกี่ยวกับ web services ข้อดีของมัน ตัวเลือกการปรับใช้ และวิธีเปรียบเทียบกับ APIs คุณควรจะสามารถปรับใช้เว็บเซอร์วิสของคุณเองไปยัง Back4app BaaS ได้แล้ว

สำหรับทรัพยากรบทความเพิ่มเติม โปรดตรวจสอบ repo back4app-web-service

<

Leave a reply

Your email address will not be published.