ทำงานกับแอปทุกชนิด
Microsoft Dataverse มีหลายวิธีในการรวมในแอปชนิดใดก็ได้ (อุปกรณ์เคลื่อนที่ เว็บ เดสก์ท็อป) อุปกรณ์ ระบบ หรือบริการ สำหรับโซลูชันคลาวด์ มีวิธีในการรวมโดยไม่คำนึงถึงแบบจำลองที่โซลูชันของคุณถูกปรับใช้—infrastructure as a service (IaaS), platform as a service (PaaS) หรือ software as a service (SaaS) สำหรับโซลูชันที่ใช้ IaaS แนวทางการรวมยังใช้งานได้ดี หากโซลูชันกำลังทำงานอยู่ภายในคอนเทนเนอร์
ในบางกรณี การรวมเข้ากับแอปสามารถทำได้โดยใช้ตรรกะทางธุรกิจที่มีอยู่ใน Dataverse ในกรณีอื่นๆ จะเกี่ยวข้องกับการรวมผ่านกิจกรรม Dataverse OData API หรือการใช้ปลั๊กอิน
การกำหนดตรรกะทางธุรกิจ
ตารางใน Dataverse สามารถใช้ตรรกะและการตรวจสอบฝั่งเซิร์ฟเวอร์ที่ครบถ้วนได้ เพื่อให้แน่ใจในคุณภาพของข้อมูลและลดรหัสที่ซ้ำกันในแต่ละแอปที่สร้างและใช้ข้อมูลในตาราง
กฎธุรกิจ: ตรวจสอบข้อมูลทั่วทั้งคอลัมน์และตารางที่หลากหลาย และแสดงข้อความที่แสดงการเตือนและข้อความแสดงข้อผิดพลาด โดยไม่คำนึงถึงแอปที่ใช้สร้างข้อมูล ข้อมูลเพิ่มเติม: สร้างกฎธุรกิจสำหรับตาราง
โฟลว์กระบวนการธุรกิจ: แนะนำผู้ใช้เพื่อให้แน่ใจว่าพวกเขาป้อนข้อมูลอย่างสม่ำเสมอ และทำตามขั้นตอนเดียวกันทุกครั้ง ในขณะนี้ โฟลว์กระบวนการธุรกิจได้รับการสนับสนุนสำหรับแอปแบบจำลองเท่านั้น ข้อมูลเพิ่มเติม: ภาพรวมโฟลว์กระบวนการธุรกิจ
เวิร์กโฟลว์: ทำให้กระบวนการธุรกิจเป็นอัตโนมัติโดยไม่มีการโต้ตอบของผู้ใช้ ข้อมูลเพิ่มเติม: เวิร์กโฟลว์ Dataverse แบบคลาสสิก
ตรรกะทางธุรกิจที่มีรหัส: สนับสนุนสถานการณ์จำลองของนักพัฒนาขั้นสูง เพื่อขยายแอปโดยตรงผ่านทางรหัส ข้อมูลเพิ่มเติม: ใช้ตรรกะทางธุรกิจโดยใช้รหัส
การรวมเข้ากับแอปโดยใช้เหตุการณ์
วิธีการทั่วไปของการรวมแอปคือ ผ่านการใช้เหตุการณ์ ตัวอย่างเช่น เหตุการณ์เช่นการเพิ่มแถวใหม่เกิดขึ้นใน Dataverse และสิ่งนี้ควรได้รับการสื่อสารไปยังระบบที่เกี่ยวข้องเพื่อให้สามารถดำเนินการได้ ตัวอย่างเช่น หากมีการเสนอคำขอการสนับสนุนใหม่ อาจทริกเกอร์ข้อความ SMS ให้ส่งไปยังเจ้าหน้าที่สนับสนุนที่ได้รับมอบหมาย
นอกจากนี้ การโต้ตอบนี้สามารถเกิดขึ้นในทิศทางตรงกันข้าม—การปรับปรุงในระบบภายนอกอาจส่งผลให้ข้อมูลถูกเพิ่ม ปรับปรุง หรือลบออกจากสภาพแวดล้อม Power Platform
แนวทางยอดนิยมที่สุดใน Dataverse เกี่ยวข้องกับ webhooks การส่งข้อความ Azure (Service Bus, Event Hubs) Azure Logic Apps หรือ Power Automate
Webhook
ด้วย Dataverse คุณสามารถส่งข้อมูลเกี่ยวกับเหตุการณ์ที่เกิดขึ้นในบริการไปยังเว็บแอปโดยใช้ webhooks WebHook เป็นรูปแบบ HTTP ขนาดเล็กสำหรับการเชื่อมต่อ API สำหรับเว็บและบริการที่มีแบบจำลองสำหรับเผยแพร่และสมัครใช้งาน ผู้ส่ง WebHook จะแจ้งให้ผู้รับทราบเกี่ยวกับเหตุการณ์ โดยการร้องขอจุดสิ้นสุดของผู้รับพร้อมกับข้อมูลบางอย่างเกี่ยวกับเหตุการณ์
Webhooks ช่วยให้นักพัฒนาและ ISV สามารถรวมข้อมูล Dataverse ที่มีรหัสที่กำหนดเองของตัวเองซึ่งโฮสต์บนบริการภายนอก โดยการใช้แบบจำลอง WebHook คุณสามารถรักษาจุดสิ้นสุดให้ปลอดภัยโดยการใช้ส่วนหัวของการรับรองความถูกต้องหรือคีย์พารามิเตอร์สตริงการสอบถาม นี่ง่ายกว่าลายเซ็นการเข้าถึงที่ใช้ร่วมกัน แบบจำลองการรับรองความถูกต้องที่ใช้กับการรวม Azure Service Bus
Webhooks สามารถปรับขนาดจนถึงจุดที่ Web Service ที่มีการโฮสต์ของคุณ สามารถจัดการข้อความได้
Webhooks เปิดใช้งานขั้นตอนแบบซิงโครนัสและแบบอะซิงโครนัส
Webhooks ส่งคำขอ POST ด้วยส่วนข้อมูล JSON และสามารถใช้งานได้โดยภาษาการเขียนโปรแกรมหรือเว็บแอปใดๆ ที่โฮสต์ที่ใดก็ได้
สามารถเรียกใช้ Webhooks จากปลั๊กอินหรือกิจกรรมเวิร์กโฟลว์ที่กำหนดเองได้
Azure Service Bus
Service Bus ให้ช่องทางการสื่อสารที่ปลอดภัยและเชื่อถือได้ระหว่างข้อมูลรันไทม์ Dataverse และแอประบบธุรกิจบนระบบคลาวด์ ความสามารถนี้มีประโยชน์อย่างยิ่งในการรักษาระบบ Dataverse ที่แตกต่างกัน หรือเซิร์ฟเวอร์ Dataverse อื่นๆ ให้ซิงโครไนซ์กับการเปลี่ยนแปลงข้อมูลธุรกิจ
ลำดับของเหตุการณ์เป็นดังนี้:
มีการลงทะเบียนแอปตัวรับในจุดสิ้นสุดโซลูชัน Service Bus และเริ่มการฟังอย่างตั้งใจสำหรับบริบทการดำเนินการระยะไกลของ Dataverse บน service bus
ผู้ใช้ทำการดำเนินการบางอย่างใน Dataverse ที่ทริกเกอร์การเรียกใช้งานของปลั๊กอินที่ลงทะเบียนแบบสำเร็จรูป หรือปลั๊กอินตาม Azure แบบกำหนดเอง ปลั๊กอินเริ่มต้นโพสต์ ผ่าน System Job ของบริการแบบอะซิงโครนัส ของบริบทข้อมูลคำขอปัจจุบันไปยัง Service Bus
การอ้างสิทธิ์ที่โพสต์โดย Dataverse ได้รับการรับรองความถูกต้อง จากนั้น Service Bus จะถ่ายทอดบริบทการดำเนินการระยะไกลไปยังตัวรับ ตัวรับประมวลผลข้อมูลบริบทและดำเนินงานที่เกี่ยวข้องกับธุรกิจบางอย่างด้วยข้อมูลนั้น Service Bus แจ้งเตือนบริการแบบอะซิงโครนัสของโพสต์ที่ประสบความสำเร็จ และกำหนดสถานะของ System Job ที่เกี่ยวข้องเป็นเสร็จสมบูรณ์
Service Bus ถ่ายทอดบริบทข้อมูลข้อความคำขอระหว่าง Dataverse และแอปตัวรับโซลูชัน Service Bus นอกจากนี้ Service Bus ยังให้ความปลอดภัยของข้อมูล เพื่อให้แอปที่ได้รับอนุญาตเท่านั้นที่สามารถเข้าถึงข้อมูล Dynamics 365 ที่โพสต์ การอนุญาตของ Dataverse เพื่อโพสต์บริบทข้อมูลไปยัง Service Bus และสำหรับแอปตัวรับเพื่ออ่านนั้น ได้รับการจัดการโดยลายเซ็นการเข้าถึงที่ใช้ร่วมกันของ Azure
ข้อมูลเพิ่มเติม: Service Bus และ การรับรองความถูกต้องและการอนุญาตของ Service Bus
Logic Apps และ Power Automate
Logic Apps ที่เสนอผ่าน Azure และ Power Automate ที่เสนอผ่าน Microsoft Power Platform สามารถทริกเกอร์เวิร์กโฟลว์ที่สามารถใช้เพื่อรวมเข้ากับเหตุการณ์แอปพลิเคชันและข้อมูลในกำหนดการ หรือตามกิจกรรมในฐานข้อมูล ระบบ บริการ หรือ SaaS
เวิร์กโฟลว์เหล่านี้สามารถดำเนินการตรรกะและโต้ตอบกับระบบเหล่านี้ได้ โดยใช้ตัวเชื่อมต่อหลายร้อยตัวกับฐานข้อมูล PaaS และ SaaS
ตัวอย่างเช่น เมื่อมีการเพิ่มแถวในฐานข้อมูลเชิงสัมพันธ์ เช่น SQL สิ่งนี้อาจทริกเกอร์เวิร์กโฟลว์ที่สามารถแทรกข้อมูลนี้ใน Dataverse
ด้วยความสามารถในการสร้างตัวเชื่อมต่อที่กำหนดเองโดยใช้คำจำกัดความ Open API (เดิมชื่อ Swagger) สำหรับบริการ นอกจากนี้ ยังรวมบริการ ฟังก์ชัน และรหัสที่ทำงานใน IaaS และ Azure Kubernetes Service (AKS) อย่างตรงไปตรงมา
การรวม Dataverse เข้าสู่แอปด้วย OData API
ภาษาการเขียนโปรแกรมที่ได้รับความนิยมทั้งหมด สนับสนุนรูปแบบของการรวมเข้ากับ API ที่ใช้ REST
Dataverse Web API มอบประสบการณ์การพัฒนาที่สามารถใช้ได้กับภาษาการเขียนโปรแกรม แพลตฟอร์ม และอุปกรณ์ที่หลากหลาย Web API ใช้ OData (Open Data Protocol) เวอร์ชัน 4.0 ซึ่งเป็นมาตรฐาน OASIS สำหรับการสร้างและการใช้ RESTful APIs ในแหล่งข้อมูลแบบครบถ้วน คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับโปรโตคอลนี้ได้ที่ www.odata.org สำหรับข้อมูลเพิ่มเติมเกี่ยวกับมาตรฐานนี้ โปรดดู www.oasis-open.org
Dataverse ใช้แนวทาง "API อันดับแรก" นี่หมายความว่าบริการไม่เพียงแต่ให้กลไกในการสอบถามข้อมูล แต่ยังให้เมตาดาต้าจากบริการเกี่ยวกับกฎธุรกิจ, ข้อจำกัด, และอื่นๆ ที่คุณสามารถใช้เพื่อสร้างแอปและบริการอัจฉริยะที่ตอบสนองได้
API มีความปลอดภัยโดยการใช้ OAuth OAuth ต้องการผู้ให้บริการ idtable
สำหรับการรับรองความถูกต้อง สำหรับ Dataverse ผู้ให้บริการ idtable
คือ Microsoft Entra ID เพื่อรับรองความถูกต้องด้วย Microsoft Entra โดยใช้บัญชีที่ทำงานหรือโรงเรียนของ Microsoft ให้ใช้ Microsoft Authentication Libraries (MSAL)
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นใช้งาน Dataverse Web API โปรดดู ใช้ Dataverse Web API
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Dataverse Web API กับ OAuth ให้ดู ใช้ OAuth กับ Dataverse
ปลั๊กอิน
Dataverse ให้ความสามารถในการเขียนโค้ดที่อยู่ระหว่าง API และข้อมูล โค้ดนี้ ซึ่งถูกเขียนใน .NET ถูกเรียกว่า ปลั๊กอิน เนื่องจากปลั๊กอินตั้งอยู่ระหว่าง API และข้อมูล จึงบังคับใช้ตรรกะเดียวกันในทุกแอป
ปลั๊กอินสามารถเป็นแบบซิงโครนัสหรืออะซิงโครนัส และทำการดำเนินงานต่อไปนี้:
ส่งคืนข้อผิดพลาดให้กับผู้ใช้
สอบถามข้อมูล Dataverse เพื่อประเมินตรรกะเพื่อดำเนินการ
ทำการดำเนินการข้อมูล
ดำเนินการคำขอ HTTP ขาออก
มีการลงทะเบียนปลั๊กอินที่จุดในไปป์ไลน์เหตุการณ์ ซึ่งแสดงไว้ที่นี่
ภายในไปป์ไลน์เหตุการณ์ เหตุการณ์ต่อไปนี้สามารถเกิดขึ้นได้:
คำขอ และ การตอบกลับ สามารถถูก ตรวจสอบ และ ปฏิเสธ หรือ จัดการ ในหลายขั้นตอนของไปป์ไลน์ของเหตุการณ์
ตัวจัดการการตรวจสอบ สามารถแสดงข้อยกเว้นที่กำหนดเองเพื่อปฏิเสธการดำเนินการที่ตรรกะของคุณเห็นว่าไม่ถูกต้อง
ตัวจัดการก่อนการดำเนินการ สามารถแก้ไขคำขอ ก่อนการดำเนินการฐานข้อมูล
ตัวจัดการหลังการดำเนินการ สามารถปรับเปลี่ยนการตอบกลับ
ตัวจัดการเอซิงค์ ดำเนินการระบบอัตโนมัติ หลังจากมีการส่งคืนการตอบกลับ
ข้อจำกัดอย่างหนึ่งของปลั๊กอินคือ ต้องสมบูรณ์ในตัวเอง หากรหัสการรวมต้องการการอ้างอิงไปยังไลบรารีอื่นๆ สามารถดำเนินการรวมได้โดยใช้ฟังก์ชัน Azure
ฟังก์ชัน Azure
ฟังก์ชั่น Azure ให้ตัวเลือกการดำเนินการรหัสที่ไม่ต้องใช้เซิร์ฟเวอร์สำหรับธุรกิจและตรรกะการรวม
ฟังก์ชันจะถูกทริกเกอร์โดยการเรียกจากระบบภายนอก บริการ หรือรหัส สำหรับ Dataverse ที่ทริกเกอร์ สามารถมาจาก Dataverse ได้โดยตรงโดยใช้ Service Bus, webhook หรือการเรียกจากปลั๊กอิน นอกจากนี้ การเรียกฟังก์ชัน Azure สามารถเริ่มต้นได้ผ่านโฟลว์ใน Logic Apps หรือ Power Automate ที่เกี่ยวข้องกับตัวเชื่อมต่อ Dataverse
ข้อมูลเพิ่มเติม: ใช้ปลั๊กอินเพื่อขยายกระบวนการทางธุรกิจ
หมายเหตุ
บอกให้เราทราบเกี่ยวกับภาษาที่คุณต้องการในคู่มือ ทำแบบสำรวจสั้นๆ (โปรดทราบว่าแบบสำรวจนี้เป็นภาษาอังกฤษ)
แบบสำรวจนี้ใช้เวลาทำประมาณเจ็ดนาที ไม่มีการเก็บข้อมูลส่วนบุคคล (คำชี้แจงสิทธิ์ส่วนบุคคล)