เชื่อมต่อ PowerBuilder กับ REST API และ SOAP

ประสบการณ์การทำให้ Legacy System สามารถทำงานร่วมกับ Modern API

PowerBuilder REST API SOAP Legacy System

หนึ่งในโปรเจกต์ที่มีความท้าทายมาก คือการเชื่อมต่อระบบ Legacy ที่พัฒนาด้วย PowerBuilder ให้สามารถใช้งานร่วมกับระบบสมัยใหม่ ที่เปิด Service ผ่าน REST API และ SOAP

ระบบเดิมถูกออกแบบมาหลายสิบปี และไม่ได้รองรับ JSON หรือ HTTP Client แบบที่ Framework สมัยใหม่รองรับในปัจจุบัน

ปัญหาที่พบ

ปัญหาหลักที่พบมีหลายส่วน เช่น

  • PowerBuilder รองรับ REST API ได้จำกัด
  • JSON Response มีขนาดใหญ่เกินตัวแปร String ที่ระบบเดิมรองรับ
  • การ Parse JSON ซับซ้อน เนื่องจากไม่มี Library สมัยใหม่
  • ระบบเดิมต้องรองรับทั้ง SOAP และ REST พร้อมกัน

แนวทางการแก้ปัญหา

วิธีที่ใช้ คือการออกแบบ Layer กลาง สำหรับจัดการ API Communication และแบ่ง JSON Response ออกเป็นหลายส่วน เพื่อให้ PowerBuilder สามารถอ่านข้อมูลได้

String ls_json_part1 String ls_json_part2 String ls_json_part3 ls_json_part1 = Left(ls_json, 30000) ls_json_part2 = Mid(ls_json, 30001, 30000) ls_json_part3 = Mid(ls_json, 60001)

จากนั้นจึงนำข้อมูลแต่ละส่วน มารวมและ Parse ตามโครงสร้างที่ต้องการ

ผลลัพธ์ที่ได้

  • ระบบ PowerBuilder สามารถเรียก REST API ได้สำเร็จ
  • รองรับการทำงานร่วมกับระบบใหม่
  • ลดข้อจำกัดของ Legacy System เดิม
  • สามารถเพิ่ม แก้ไข ลบ และแสดงข้อมูล ผ่าน API ได้ตามต้องการ

บทสรุป

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