ภาษา ABAP (Advanced Business Application Programming) เป็นภาษาการเขียนโปรแกรมหลักที่ใช้ในระบบ SAP ซึ่งมีการพัฒนาและปรับปรุงอย่างต่อเนื่องเพื่อตอบสนองต่อความต้องการที่เปลี่ยนแปลงของธุรกิจและเทคโนโลยี ตั้งแต่การเขียนโปรแกรมแบบดั้งเดิมจนถึงการนำแนวคิดและเทคโนโลยีใหม่ๆ เข้ามาใช้ เช่น SAP HANA, SAP Fiori และแบบจำลองการเขียนโปรแกรมแบบ RESTful (RAP) การเปลี่ยนแปลงและการพัฒนาเหล่านี้ทำให้ภาษา ABAP ยังคงเป็นเครื่องมือที่ทรงพลังและยืดหยุ่นสำหรับนักพัฒนาในการสร้างแอปพลิเคชันที่มีประสิทธิภาพและตอบสนองต่อความต้องการขององค์กรในยุคดิจิทัล มาดูกันว่าภาษา ABAP พัฒนาไปอย่างไรบ้าง โดยดูจากภาพประกอบด้านล่างนี้ เพื่อให้เห็นภาพรวมง่ายขึ้น บอกเลยว่าเป็นประโยชน์นักพัฒนา ABAP มากที่สุด
Table of Contents
1) การเขียนโปรแกรมแอปพลิเคชัน ABAP แบบดั้งเดิม ( Classic ABAP )
ลูกค้า SAP ส่วนใหญ่ยังคงใช้งานระบบ SAP ที่ใช้เทคโนโลยี ABAP เวอร์ชัน 7.50 หรือต่ำกว่า โดยระบบ SAP เหล่านี้มีเครื่องมือสร้างหน้าจอผู้ใช้หลายแบบ เช่น Dynpro แบบดั้งเดิม, Web Dynpro ABAP, Floorplan Manager และ WebClient UI framework ซึ่งแต่ละแบบมีจุดเด่นแตกต่างกัน
SAP พัฒนา ABAP เวอร์ชัน 7.4 โดยเน้นการทำงานร่วมกับฐานข้อมูลความเร็วสูง HANA เพื่อเพิ่มประสิทธิภาพการทำงานอย่างมาก เทคโนโลยีใหม่ ๆ เช่น CDS (Core Data Services) ถูกพัฒนาขึ้นเพื่อจัดการข้อมูลอย่างชาญฉลาดและยืดหยุ่น รองรับการใช้งานในทุกส่วนของระบบ SAP นอกจากนี้ SAP Gateway ทำให้การเชื่อมต่อกับระบบภายนอกง่ายขึ้น และ BOPF (Business Object Processing Framework) ช่วยให้การพัฒนาแอปพลิเคชันธุรกิจเป็นไปอย่างรวดเร็ว
ด้วยเหตุผลหลายประการ เช่น ประสบการณ์ผู้ใช้เว็บแอปพลิเคชันสมัยใหม่ การใช้งานบนมือถือ และความพร้อมในการใช้งานบนคลาวด์ SAP จึงตัดสินใจสนับสนุนการสื่อสารแบบ RESTful ระหว่าง Backend และ Frontend ร่วมกับการเน้นประสบการณ์ผู้ใช้แบบใหม่ โดยใช้รูปแบบการออกแบบ UI ที่ทันสมัย ส่งผลให้เกิด SAP Fiori Development Stack ใหม่ขึ้นมา
- SAPUI5 เป็นชุดเครื่องมือพัฒนา UI ด้วย HTML5 ของ SAP พร้อมด้วย SAP Fiori Elements เพื่อเพิ่มประสิทธิภาพการพัฒนา UI สำหรับรูปแบบแอปพลิเคชันทั่วไป
- OData เป็นโปรโตคอลแบบ REST ที่มีข้อมูลแบบ Metadata ที่จะช่วยกำกับหรืออธิบายข้อมูล รวมถึงยังมีการเปิดใช้งานการพัฒนา UI ที่ใช้ SAP Fiori Elements
- แพลตฟอร์ม ABAP สำหรับ Business Logic
- ABAP Development Tools ใน Eclipse และ SAP Web IDE สำหรับการพัฒนา Backend และ Frontend ตามลำดับ
การเปลี่ยนแปลงไปใช้ SAPUI5 และ OData เพื่อสร้างแอปพลิเคชัน SAP Fiori ทำให้เกิดความท้าทายใหม่ ๆ โดยเฉพาะในการพัฒนาแอปพลิเคชันที่เกี่ยวข้องกับ Transaction เนื่องจากความท้าทายในการพัฒนาแอปพลิเคชันรูปแบบใหม่ SAP จึงได้พัฒนารูปแบบการเขียนโปรแกรม ABAP ใหม่ที่มีจุดเด่นดังนี้
- รองรับการพัฒนาแอปพลิเคชันทุกประเภท (Transactional , การวิเคราะห์, ค้นหา)
- เพิ่มประสิทธิภาพและมาตรฐานในการพัฒนา
- สนับสนุนคุณสมบัติสำคัญ เช่น UX ที่ดี, ความสามารถในการปรับขนาด, และการทำงานบนคลาวด์
- รักษาจุดแข็งเดิมของ ABAP เช่น Lifecycle management
- เรียนรู้ง่าย ไม่ต้องอ่านเอกสารมาก
2) แนวทางใหม่ในการสร้างแอปพลิเคชัน SAP Fiori ด้วยภาษา ABAP
SAP เปิดตัวรูปแบบการเขียนโปรแกรม ABAP สำหรับ SAP Fiori อย่างเป็นทางการในเวอร์ชัน 7.5 และมีการพัฒนาต่อเนื่องเพื่อเพิ่มประสิทธิภาพและความสามารถ รูปแบบการเขียนโปรแกรม ABAP สำหรับ SAP Fiori ช่วยให้นักพัฒนาสร้างแอปพลิเคชันเว็บที่ทันสมัย ใช้งานง่าย และประสิทธิภาพสูงบนแพลตฟอร์ม SAP HANA ได้อย่างรวดเร็วและมีประสิทธิภาพ รูปแบบการเขียนโปรแกรม ABAP สำหรับ SAP Fiori ใช้ประโยชน์จากเทคโนโลยีหลักอย่าง CDS, BOPF และ SAP Gateway รวมถึง RDS เพื่อสร้างบริการ OData ได้อย่างมีประสิทธิภาพและง่ายดาย รองรับการประมวลผลธุรกรรมด้วย BOPF แบบเฉพาะ
ใน ABAP เวอร์ชัน 7.51 ได้มีการเปิดตัวฟังก์ชันการสร้าง Draft ซึ่งใช้สำหรับการตั้งค่าล็อกแบบเอ็กซ์คลูซีฟและการเก็บข้อมูลชั่วคราว รวมถึงข้อมูลที่ไม่สอดคล้องกัน ทำให้สามารถพัฒนาแอปพลิเคชัน SAP Fiori ที่ซับซ้อนด้วยการสื่อสารแบบ stateless และคุณสมบัติใหม่ๆ เช่น การทำงานต่อเนื่องและการสลับอุปกรณ์
โครงสร้างพื้นฐานของแอปพลิเคชันแบบบูรณาการรองรับการพัฒนาแอปพลิเคชันใหม่ทั้งหมด (Greenfield) โดยผสานเทคโนโลยีต่างๆ อย่างเหมาะสม อนุญาตให้ปรับแต่งการออกแบบและสถาปัตยกรรมได้อย่างอิสระ
สถานการณ์ Brownfield ซึ่งมีระบบเดิมอยู่แล้วนั้นแตกต่างจาก Greenfield เนื่องจากข้อจำกัดด้านการออกแบบ ทำให้แบบจำลองการเขียนโปรแกรม ABAP สำหรับ SAP Fiori ไม่สามารถนำมาใช้ได้โดยตรง เพื่อเพิ่มประสิทธิภาพการพัฒนาแอปพลิเคชัน SAP Fiori มีการรวมแนวคิดต่าง ๆ เข้ากับภาษา ABAP และ CDS และสนับสนุนการพัฒนา backend แบบครบวงจรใน ABAP Development Tools ช่วยลดต้นทุนโดยรวม นอกจากนี้ ยังจำเป็นต้องแก้ไขปัญหาและข้อจำกัดของเทคโนโลยีเดิม โดยไม่กระทบต่อระบบที่มีอยู่ และเพื่อตอบสนองความท้าทายในการพัฒนาแอปพลิเคชัน SAP Fiori SAP ได้เปิดตัวแบบจำลองการเขียนโปรแกรม ABAP แบบ RESTful
3) แบบจำลองการเขียนโปรแกรมแบบ RESTful สำหรับ ABAP (RAP)
แบบจำลองการเขียนโปรแกรมแบบ RESTful สำหรับ ABAP (หรือเรียกย่อว่า RAP) เป็นผู้สืบทอดวิวัฒนาการของแบบจำลองการเขียนโปรแกรม ABAP สำหรับ SAP Fiori ช่วยให้สามารถพัฒนาแอปพลิเคชันเว็บและเว็บ API ได้อย่างมีประสิทธิภาพและเป็นมาตรฐาน สามารถ Environment เริ่มตั้งแต่เวอร์ชัน 1808 SAP เลือกใช้กลยุทธ์การส่งมอบแบบคลาวด์เป็นอันดับแรกบน SAP Cloud Platform โดยมีการอัปเดตทุกไตรมาส และวางแผนที่จะนำเสนอบนระบบภายในองค์กรด้วย SAP S/4HANA ในภายหลัง
ภาพประกอบด้านล่างแสดงภาพรวมของแบบจำลองการเขียนโปรแกรมแบบ RESTful สำหรับ ABAP ซึ่งประกอบด้วยเลเยอร์หลักสามชั้น
- Data Modeling and Behavior เป็นเลเยอร์แรกที่เกี่ยวข้องกับการออกแบบโครงสร้างข้อมูลและกำหนดวิธีการทำงานของข้อมูล โดยใช้เทคโนโลยีอย่าง CDS เพื่อสร้างแบบจำลองข้อมูลและ BOPF เพื่อกำหนดตรรกะธุรกิจ
- Business Service Provisioning เป็นเลเยอร์ที่ทำหน้าที่เปิดเผยข้อมูลให้กับแอปพลิเคชันภายนอก โดยใช้ OData เพื่อสร้างบริการเว็บที่สามารถเข้าถึงข้อมูลได้
- Service Consumption เป็นเลเยอร์สุดท้ายที่เกี่ยวข้องกับการนำข้อมูลไปใช้งาน โดยแอปพลิเคชัน เช่น SAP Fiori จะใช้บริการ OData เพื่อแสดงข้อมูลและให้ผู้ใช้สามารถโต้ตอบกับข้อมูลได้
หลักการสำคัญของแบบจำลองการเขียนโปรแกรมแบบ RESTful สำหรับ ABAP มีดังนี้
- พัฒนา backend แบบ Eclipse ด้วย ABAP Development Tools
– ตัวแก้ไขแบบ Eclipse ครอบคลุมงานมาตรฐานทั้งหมด ไม่จำเป็นต้องใช้ SAP GUI
– จุดเริ่มต้นและขั้นตอนการพัฒนาชัดเจน
– นักพัฒนาสามารถเริ่มต้นทำงานได้อย่างรวดเร็วโดยไม่ต้องอ่านเอกสารจำนวนมาก
- ภาษา ABAP และ CDS เป็นอินเทอร์เฟซหลักสำหรับการพัฒนา
– สนับสนุนการพัฒนาวัตถุธุรกิจโดยตรง (การสร้างแบบจำลองข้อมูลและการเปิดใช้งานธุรกรรม) ด้วย CDS และภาษา ABAP
– ไม่จำเป็นต้องใช้เฟรมเวิร์กเพิ่มเติม เช่น BOPF และเครื่องมือเฉพาะ สามารถลดความซ้ำซ้อนและความไม่สอดคล้องกันของโค้ดได้ด้วยการไม่สร้างโค้ดโดยอัตโนมัติ
– รองรับการดำเนินการมาตรฐานผ่าน API พร้อมฟีเจอร์ช่วยพัฒนา เช่น การตรวจสอบโค้ด การเติมโค้ด และข้อมูลองค์ประกอบ
– ช่วยป้องกันข้อผิดพลาดขณะรันโปรแกรมด้วยการตรวจสอบโค้ดแบบคงที่
- กรอบการทำงานที่ทรงพลังสำหรับส่วนประกอบรันไทม์
– รับช่วงและทำให้การดำเนินการทางเทคนิคเป็นมาตรฐาน
– มีโค้ด Exit เฉพาะแอปพลิเคชันที่กำหนดไว้บนเลเยอร์ที่ไม่ขึ้นกับโปรโตคอล
เช่นเดียวกับ ABAP Programming Model สำหรับ SAP Fiori วัตถุธุรกิจยังคงเป็นองค์ประกอบหลักใน ABAP RESTful Application Programming Model (RAP) นอกจากสภาพแวดล้อมใหม่ (Greenfield) แล้ว ยังรองรับสภาพแวดล้อมเดิม (Brownfield) ด้วย ซึ่งช่วยให้สามารถนำโค้ดเดิมมาใช้ซ้ำได้
การเปิดเผย OData ในปัจจุบันทำผ่านบริการธุรกิจที่สร้างขึ้น 2 ขั้นตอน ขั้นตอนแรกคือการกำหนดบริการที่ไม่ขึ้นกับโปรโตคอล ซึ่งระบุวัตถุธุรกิจที่เกี่ยวข้องและข้อมูลเพิ่มเติมที่จะเปิดเผย จากนั้นในขั้นตอนที่สองคือการเชื่อมโยงคำจำกัดความบริการกับโปรโตคอลและสถานการณ์ที่กำหนด UI หรือเว็บ API ในปัจจุบันรองรับเฉพาะ OData เป็นโปรโตคอลการสื่อสาร
4) ลูกค้าและพันธมิตรของ SAP จะสามารถเตรียมพร้อมรับมือกับโลกยุคใหม่ได้อย่างไร
เพื่ออำนวยความสะดวกในการปรับเปลี่ยนสู่ ABAP Programming Model สำหรับ SAP Fiori ในอนาคต เราได้รวบรวมคำแนะนำ (ควรทำและไม่ควรทำ) สำหรับลูกค้าและพันธมิตรที่พัฒนาแอปพลิเคชันใหม่บน ABAP เวอร์ชัน 7.4 และต่ำกว่า คำแนะนำเหล่านี้ยังสามารถนำไปประยุกต์ใช้เพื่อการเปลี่ยนผ่าน ไปสู่ ABAP RESTful Application Programming Model (RAP) ได้อย่างราบรื่นเช่นกัน (อ่านเพิ่มเติมได้ที่ Be prepared for the ABAP Programming Model for SAP Fiori)
5) แล้วแอปที่สร้างด้วย ABAP Programming Model สำหรับ SAP Fiori เป็นยังไงบ้าง
ลูกค้าและพันธมิตร SAP หลายคนกังวลเรื่องการรักษาเงินลงทุน ซึ่งเป็นเรื่องถูกต้อง SAP เข้าใจดีและกำลังวางแผนให้มีวิธีผนวก BOPF BO ที่ใช้ CDS เข้ากับ RAP เพื่อลดขั้นตอนการย้ายข้อมูลจาก ABAP Programming Model สำหรับ SAP Fiori
ปัจจุบันมีเครื่องมือสำหรับการย้ายข้อมูลตั้งแต่ SAP S/4HANA 2023 เป็นต้นไป ในอีกด้านหนึ่ง SAP จะยังคงสนับสนุน ABAP Programming Model สำหรับ SAP Fiori ควบคู่ไปกับ ABAP RESTful Application Programming Model ในอนาคตเพื่อรองรับการอัพเกรด (อ่านเพิ่มเติมได้ที่ Migration of CDS-based BOPF BOs to RAP BOs)
Author: Chayanon T.