Table of Contents
ต้นกำเนิดและการพัฒนาของภาษา ABAP
ABAP (Advanced Business Application Programming) เป็นภาษาโปรแกรมที่พัฒนาโดย SAP เพื่อใช้ในการพัฒนาแอปพลิเคชันทางธุรกิจของ SAP เมื่อแรกเริ่มมีการเผยแพร่ในปี 1983 ภาษา ABAP ถูกออกแบบเป็นภาษาเชิงคำสั่ง (procedural language) โดยได้รับอิทธิพลจากภาษาเขียนโปรแกรมยอดนิยมในยุคนั้น เช่น COBOL และ Pascal ถึงแม้จะมีความเป็นอิสระค่อนข้างสูง ในช่วงปลายทศวรรษ 1990 ภาษา ABAP ได้รับการขยายความสามารถเพื่อรองรับการเขียนโปรแกรมเชิงวัตถุ (Object-Oriented Programming) แนวคิดสำคัญจากภาษา Object-Oriented Programming ยอดนิยมอย่าง C++ และ Java ถูกผสานเข้ากับภาษา ABAP ทำให้ภาษาที่เรียกว่า ABAP Objects ในปัจจุบัน ผสมผสานทั้งส่วนของภาษาเชิงคำสั่งและ Object-Oriented Programming เข้าด้วยกัน
แม้ว่า ABAP จะรองรับการเขียนโปรแกรมเชิงวัตถุ แต่โครงสร้างภาษาส่วนใหญ่ยังคงเป็นแบบคำสั่ง เมื่อเปรียบเทียบกับภาษาเขียนโปรแกรมสมัยใหม่ เช่น Java และ C# โค้ด ABAP จะมีความยาว และต้องใช้ตัวแปรเสริมจำนวนมากเพื่อเชื่อมโยงคำสั่งต่างๆ เพื่อปรับปรุงข้อนี้ ABAP จึงได้รับการขยายความสามารถด้วย “นิพจน์” (Expression) รูปแบบใหม่ เพื่อแทนที่หรือเสริมคำสั่งที่มีอยู่เดิม ดังนั้น ABAP จึงเป็นภาษาที่ผสมผสานทั้งโครงสร้างภาษาแบบคำสั่งดั้งเดิมและโครงสร้างภาษาแบบนิพจน์สมัยใหม่เข้าด้วยกัน สำหรับการพัฒนา ABAP ใหม่ๆ แนะนำให้ใช้โครงสร้างภาษาแบบ Object-Oriented และแบบนิพจน์แทนที่คำสั่งแบบดั้งเดิมเท่าที่จะเป็นไปได้
ชนิดของภาษา ABAP
โปรแกรม ABAP แต่ละโปรแกรมจะมีคุณสมบัติของโปรแกรมที่เรียกว่า “เวอร์ชันของภาษา ABAP” โดยภายในระบบจะระบุด้วยรหัสเวอร์ชัน เวอร์ชันของโปรแกรมจะกำหนดว่าองค์ประกอบภาษาใดและวัตถุใดในคลัง (Repository Objects) ที่สามารถใช้ในโปรแกรมนั้นได้ รวมถึงกฎทางไวยากรณ์ (syntax rules) ที่เกี่ยวข้อง ซึ่งเวอร์ชันที่ใช้งานได้ในปัจจุบัน มีดังนี้
ABAP มาตรฐาน (Standard ABAP)
- เป็นเวอร์ชันพื้นฐานที่ใช้งานได้ทั่วไป
- เป็นเวอร์ชันภาษา ABAP ที่ไม่จำกัด (unrestricted) รองรับองค์ประกอบภาษา ABAP ทั้งหมดที่สามารถใช้ในระบบยูนิโค้ด (Unicode systems) และอนุญาตให้เข้าถึงวัตถุอื่นๆ ในคลัง ยกเว้นแนวคิดแพ็คเกจแบบคงที่ (static package concept)
- การตรวจสอบไวยากรณ์ (syntax check) สำหรับ ABAP มาตรฐาน จะดำเนินการเป็นการตรวจสอบยูนิโค้ด ซึ่งเป็นข้อกำหนดขั้นต่ำสำหรับระบบยูนิโค้ด
ABAP สำหรับผู้ใช้สำคัญ (ABAP for Key Users)
- เวอร์ชันนี้มุ่งเน้นไปที่การนำไปปรับแต่งอย่างปลอดภัยโดยผู้ใช้สำคัญภายในขอบเขตของตัวเลือกการปรับแต่งที่ SAP จัดไว้ให้
- เป็นเวอร์ชันภาษา ABAP ที่จำกัด (restricted) โดยใช้กฎทั่วไปของ ABAP มาตรฐาน แต่รองรับองค์ประกอบภาษาเพียงชุดย่อยที่จำกัดมาก และจำกัดการเข้าถึงวัตถุในคลัง
ABAP สำหรับการพัฒนาคลาวด์ (ABAP for Cloud Development)
- เวอร์ชันนี้มุ่งเน้นไปที่การพัฒนาในสภาพแวดล้อม SAP BTP ABAP และสภาพแวดลล้อม ABAP ของ S/4HANA Cloud
- เป็นเวอร์ชันภาษา ABAP ที่จำกัด (restricted) โดยใช้กฎทั่วไปของ ABAP มาตรฐาน แต่รองรับองค์ประกอบภาษาเพียงชุดย่อยที่จำกัดมาก และจำกัดการเข้าถึงวัตถุในคลัง
ABAP Cloud
หัวใจสำคัญของ ABAP Cloud เวอร์ชันภาษา ABAP สำหรับการพัฒนาคลาวด์
เวอร์ชันภาษา ABAP สำหรับการพัฒนาคลาวด์ (ABAP for Cloud Development) คือหัวใจสำคัญของ ABAP Cloud ตัวแกนเทคโนโลยีของ ABAP Cloud กำหนดสถาปัตยกรรมการออกแบบ (Design-Time) และรันไทม์ (Runtime) สำหรับส่วนเสริม (Extensions) บริการ (Services) และแอปพลิเคชันทั้งหมด องค์ประกอบหลักของ ABAP Cloud มีดังนี้
- ABAP for Cloud Development เป็นภาษา ABAP ที่ปรับสำหรับคลาวด์ เหมาะสำหรับการเขียนตรรกะทางธุรกิจ (business logic)
- ABAP Development Tools for Eclipse เป็นสภาพแวดล้อมการพัฒนาแบบบูรณาการ (integrated development environment) สำหรับ ABAP
- ABAP Core Data Services (CDS) สำหรับการจัดการโมเดลข้อมูล (Data Model) และการวิเคราะห์ข้อมูลฝังตัว (Embedded Analytics)
- ABAP RESTful Application Programming Model สำหรับการสร้างแอปพลิเคชันและบริการ
- Public SAP APIs และจุดขยายที่จำเป็น เพื่อรองรับการดำเนินการคลาวด์แบบอัตโนมัติและการขยายความสามารถอย่างยืดหยุ่นตลอดวัฏจักรชีวิต (Lifecycle Stable Extensibility)
ข้อแนะนำในการใช้ ABAP Cloud
การใช้ ABAP Cloud เป็นข้อกำหนดสำหรับการพัฒนาบน SAP Business Technology Platform (SAP BTP) และ SAP S/4HANA Cloud รุ่น Public Edition แม้ว่าการใช้ ABAP Cloud จะไม่ใช่ข้อกำหนดสำหรับ SAP S/4HANA รุ่น Private Edition และระบบภายในองค์กร (On-Premise Systems) แต่ก็ยังแนะนำเป็นอย่างยิ่ง
การนำหลักการของ ABAP Cloud ไปใช้ในการพัฒนาแบบกำหนดเอง (Custom Development) จะทำให้ระบบของคุณพร้อมใช้งานบนคลาวด์โดยอัตโนมัติ นอกจากนี้ ยังช่วยให้คุณไม่ต้องเปลี่ยนแปลงองค์ประกอบหลักของระบบ (Core System) ซึ่งเป็นหลักการสำคัญสำหรับการดูแลรักษาระบบในสภาพแวดล้อมคลาวด์ (Clean Core Approach)
Author : Wongsagorn P.