เอเพ็กซ์ - ภาพรวม
เอเพ็กซ์คืออะไร?
Apex เป็นภาษาที่เป็นกรรมสิทธิ์ที่พัฒนาโดย Salesforce.com ตามคำจำกัดความอย่างเป็นทางการ Apex เป็นภาษาการเขียนโปรแกรมเชิงวัตถุที่พิมพ์อย่างรุนแรงซึ่งช่วยให้นักพัฒนาสามารถดำเนินการคำสั่งควบคุมโฟลว์และธุรกรรมบนเซิร์ฟเวอร์แพลตฟอร์ม Force.com ร่วมกับการเรียกไปยัง Force.com API
มีไวยากรณ์เหมือน Java และทำหน้าที่เหมือนขั้นตอนการจัดเก็บฐานข้อมูล ช่วยให้นักพัฒนาสามารถเพิ่มตรรกะทางธุรกิจให้กับเหตุการณ์ของระบบส่วนใหญ่รวมถึงการคลิกปุ่มการอัปเดตบันทึกที่เกี่ยวข้องและ Visualforcepages.Apexรหัสสามารถเริ่มต้นได้โดยการร้องขอบริการบนเว็บและจากทริกเกอร์บนวัตถุ Apex รวมอยู่ใน Performance Edition, Unlimited Edition, Enterprise Edition และ Developer Edition
คุณสมบัติของเอเพ็กซ์เป็นภาษา
ตอนนี้ให้เราพูดถึงคุณสมบัติของ Apex เป็นภาษา -
แบบบูรณาการ
Apex ได้สร้างขึ้นเพื่อรองรับการดำเนินการ DML เช่น INSERT, UPDATE, DELETE และการจัดการข้อยกเว้น DML มีการสนับสนุนสำหรับการจัดการแบบสอบถาม SOQL และ SOSL แบบอินไลน์ซึ่งส่งคืนชุดของระเบียน sObject เราจะศึกษารายละเอียด sObject, SOQL, SOSL ในบทต่อ ๆ ไป
Java ชอบไวยากรณ์และใช้งานง่าย
เอเพ็กซ์ใช้งานง่ายเนื่องจากใช้ไวยากรณ์เช่น Java ตัวอย่างเช่นการประกาศตัวแปรไวยากรณ์แบบวนซ้ำและคำสั่งเงื่อนไข
บูรณาการอย่างมากกับข้อมูล
Apex เป็นข้อมูลที่เน้นและออกแบบมาเพื่อดำเนินการสืบค้นและคำสั่ง DML หลายรายการร่วมกัน ออกใบแจ้งยอดธุรกรรมหลายรายการบนฐานข้อมูล
พิมพ์อย่างแรง
เอเพ็กซ์เป็นภาษาที่พิมพ์อย่างรุนแรง ใช้การอ้างอิงโดยตรงไปยังวัตถุสคีมาเช่น sObject และการอ้างอิงที่ไม่ถูกต้องจะล้มเหลวอย่างรวดเร็วหากถูกลบหรือหากเป็นประเภทข้อมูลที่ไม่ถูกต้อง
สภาพแวดล้อมที่หลากหลาย
เอเพ็กซ์ทำงานในสภาพแวดล้อมแบบหลายผู้เรียน ดังนั้นโปรแกรมรันไทม์ของ Apex จึงได้รับการออกแบบมาเพื่อป้องกันโค้ดที่ไม่สามารถหลีกเลี่ยงได้อย่างใกล้ชิดป้องกันไม่ให้ผูกขาดทรัพยากรที่ใช้ร่วมกัน รหัสใด ๆ ที่ละเมิดขีด จำกัด จะล้มเหลวด้วยข้อความแสดงข้อผิดพลาดที่เข้าใจง่าย
อัพเกรดโดยอัตโนมัติ
Apex ได้รับการอัปเกรดโดยเป็นส่วนหนึ่งของการเปิดตัว Salesforce เราไม่ต้องอัพเกรดด้วยตนเอง
ทดสอบง่าย
Apex ให้การสนับสนุนในตัวสำหรับการสร้างและดำเนินการทดสอบหน่วยรวมถึงผลการทดสอบที่ระบุจำนวนโค้ดที่ครอบคลุมและส่วนใดของโค้ดของคุณที่มีประสิทธิภาพมากกว่า
นักพัฒนาควรเลือกเอเพ็กซ์เมื่อใด
ควรใช้เอเพ็กซ์เมื่อเราไม่สามารถใช้ฟังก์ชันทางธุรกิจที่ซับซ้อนโดยใช้ฟังก์ชันสำเร็จรูปที่สร้างไว้ล่วงหน้าและที่มีอยู่แล้ว ด้านล่างนี้เป็นกรณีที่เราจำเป็นต้องใช้ apex เหนือการกำหนดค่า Salesforce
แอพพลิเคชั่นเอเพ็กซ์
เราสามารถใช้ Apex เมื่อเราต้องการ -
สร้างบริการเว็บด้วยการรวมระบบอื่น ๆ
สร้างบริการอีเมลสำหรับอีเมลระเบิดหรือการตั้งค่าอีเมล
ดำเนินการตรวจสอบความถูกต้องที่ซับซ้อนบนวัตถุหลายชิ้นในเวลาเดียวกันและการดำเนินการตรวจสอบความถูกต้องแบบกำหนดเอง
สร้างกระบวนการทางธุรกิจที่ซับซ้อนซึ่งไม่ได้รับการสนับสนุนโดยฟังก์ชันหรือโฟลว์เวิร์กโฟลว์ที่มีอยู่
สร้างลอจิกทรานแซคชันแบบกำหนดเอง (ตรรกะที่เกิดขึ้นกับธุรกรรมทั้งหมดไม่ใช่แค่กับเรกคอร์ดหรืออ็อบเจ็กต์เดียว) เช่นการใช้เมธอดฐานข้อมูลในการอัพเดตเรกคอร์ด
ใช้ตรรกะบางอย่างเมื่อมีการแก้ไขเร็กคอร์ดหรือแก้ไขเร็กคอร์ดของอ็อบเจ็กต์ที่เกี่ยวข้องเมื่อมีเหตุการณ์บางอย่างที่ทำให้ทริกเกอร์เริ่มทำงาน
โครงสร้างการทำงานของเอเพ็กซ์
ดังที่แสดงในแผนภาพด้านล่าง (ข้อมูลอ้างอิง: เอกสารสำหรับนักพัฒนา Salesforce) Apex ดำเนินการทั้งหมดตามความต้องการของแพลตฟอร์ม Force.com
ขั้นตอนการดำเนินการ
มีลำดับการดำเนินการสองลำดับเมื่อผู้พัฒนาบันทึกโค้ดและเมื่อผู้ใช้ปลายทางดำเนินการบางอย่างซึ่งเรียกใช้โค้ดเอเพ็กซ์ดังที่แสดงด้านล่าง -
การดำเนินการของนักพัฒนา
เมื่อนักพัฒนาเขียนและบันทึกโค้ด Apex ลงในแพลตฟอร์มแพลตฟอร์มแอ็พพลิเคชันเซิร์ฟเวอร์จะรวบรวมโค้ดเป็นชุดคำสั่งที่ Apex runtime interpreter สามารถเข้าใจได้จากนั้นจะบันทึกคำสั่งเหล่านั้นเป็นข้อมูลเมตา
การดำเนินการของผู้ใช้ปลายทาง
เมื่อผู้ใช้ปลายทางทริกเกอร์การดำเนินการของ Apex โดยการคลิกปุ่มหรือเข้าถึงเพจ Visualforce แพลตฟอร์มแอ็พพลิเคชันเซิร์ฟเวอร์จะดึงคำสั่งที่คอมไพล์แล้วจากข้อมูลเมตาและส่งผ่านตัวแปลรันไทม์ก่อนที่จะส่งคืนผลลัพธ์ ผู้ใช้ปลายทางสังเกตว่าเวลาดำเนินการไม่แตกต่างกันเมื่อเทียบกับคำขอแพลตฟอร์มแอปพลิเคชันมาตรฐาน
เนื่องจาก Apex เป็นภาษาที่เป็นกรรมสิทธิ์ของ Salesforce.com จึงไม่สนับสนุนคุณลักษณะบางอย่างที่ภาษาโปรแกรมทั่วไปทำ ต่อไปนี้เป็นคุณสมบัติบางประการที่ Apex ไม่รองรับ -
ไม่สามารถแสดงองค์ประกอบในส่วนติดต่อผู้ใช้
คุณไม่สามารถเปลี่ยนฟังก์ชันการทำงานมาตรฐานที่ SFDC ให้มาและยังไม่สามารถป้องกันการเรียกใช้ฟังก์ชันมาตรฐานได้
นอกจากนี้ยังไม่สามารถสร้างเธรดหลายชุดได้เนื่องจากเราสามารถทำได้ในภาษาอื่น
ทำความเข้าใจเกี่ยวกับไวยากรณ์เอเพ็กซ์
โดยทั่วไปรหัสเอเพ็กซ์จะมีหลายสิ่งที่เราอาจคุ้นเคยจากภาษาโปรแกรมอื่น ๆ
การประกาศตัวแปร
คุณต้องประกาศตัวแปรทุกตัวด้วยชนิดข้อมูลใน Apex ดังที่เห็นในรหัสด้านล่าง (ภาพหน้าจอด้านล่าง) lstAcc ถูกประกาศด้วยประเภทข้อมูลเป็นรายการบัญชี
แบบสอบถาม SOQL
สิ่งนี้จะใช้เพื่อดึงข้อมูลจากฐานข้อมูล Salesforce ข้อความค้นหาที่แสดงในภาพหน้าจอด้านล่างกำลังดึงข้อมูลจากออบเจ็กต์บัญชี
คำชี้แจงแบบวนซ้ำ
คำสั่งวนซ้ำนี้ใช้สำหรับการวนซ้ำในรายการหรือทำซ้ำบนโค้ดตามจำนวนครั้งที่ระบุ ในโค้ดที่แสดงในภาพหน้าจอด้านล่างการทำซ้ำจะเหมือนกับจำนวนบันทึกที่เรามี
คำชี้แจงการควบคุมการไหล
คำสั่ง If ใช้สำหรับการควบคุมโฟลว์ในรหัสนี้ ขึ้นอยู่กับเงื่อนไขบางประการจึงมีการตัดสินใจว่าจะดำเนินการหรือหยุดการทำงานของโค้ดบางส่วน ตัวอย่างเช่นในโค้ดที่แสดงด้านล่างเป็นการตรวจสอบว่ารายการว่างเปล่าหรือมีระเบียนอยู่หรือไม่
คำชี้แจง DML
ดำเนินการแทรกบันทึกอัพเดตอัพลบการดำเนินการกับเรกคอร์ดในฐานข้อมูล ตัวอย่างเช่นรหัสที่ระบุด้านล่างช่วยในการอัปเดตบัญชีด้วยค่าฟิลด์ใหม่
ต่อไปนี้เป็นตัวอย่างข้อมูลโค้ดเอเพ็กซ์จะมีลักษณะอย่างไร เราจะศึกษาแนวคิดการเขียนโปรแกรม Apex เหล่านี้เพิ่มเติมในบทช่วยสอนนี้