Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

การใช้ SAP JCo เชื่อมต่อ SAP Server กับแอปพลิเคชัน Java

แนะนำให้ใช้พารามิเตอร์ต่อไปนี้แทน JCO_AHOST และ JCO_SYSNR เพื่อการเชื่อมต่อที่ยืดหยุ่นและทนทานกว่า:

  • JCO_R3NAME — ระบุ System ID (SID) ของระบบ SAP เป้าหมาย
  • JCO_MSHOST — ชื่อโฮสต์หรือ IP Address ของ Message Server
  • JCO_MSSERV — หมายเลขพอร์ตของ Message Server (เช่น 3600 หรือ sapms<SID>)
  • JCO_GROUP — ชื่อของ Logon Group (เช่น PUBLIC, SPACE) เพื่อกระจายโหลด (Load Balancing)

วิธีนี้ใช้การเชื่อมต่อผ่าน Message Server แทนการระบุ Application Server โดยตรง ทำให้ได้รับข้อดีดังนี้:

  • รองรับ Load Balancing อัตโนมัติ
  • ลดความเสี่ยง Single Point of Failure
  • ไม่ต้องปรับโค้ดเมื่อ Application Server เปลี่ยนแปลง

ตัวอย่างการตั้งค่า Destination Properties

Properties props = new Properties();
props.setProperty(DestinationDataProvider.JCO_ASHOST, ""); // ไม่ใช้
props.setProperty(DestinationDataProvider.JCO_SYSNR, "");  // ไม่ใช้
props.setProperty(DestinationDataProvider.JCO_R3NAME, "PRD");
props.setProperty(DestinationDataProvider.JCO_MSHOST, "sap-msg.example.com");
props.setProperty(DestinationDataProvider.JCO_MSSERV, "3600");
props.setProperty(DestinationDataProvider.JCO_GROUP, "PUBLIC");
props.setProperty(DestinationDataProvider.JCO_CLIENT, "100");
props.setProperty(DestinationDataProvider.JCO_USER, "username");
props.setProperty(DestinationDataProvider.JCO_PASSWD, "password");
props.setProperty(DestinationDataProvider.JCO_LANG, "EN");

แหล่งอ้างอิงโค้ดตัวอย่างที่ทำงานได้

สามารถดูตัวอย่างการใช้งานจริงได้ที่ GitHub repository ของ проект RCER:

https://sourceforge.net/p/rcer/git/ci/master/tree/net.sf.rcer.conn

หมายเหตุ: ต้องมีไลบรารี sapjco3.jar และ Native Library (libsapjco3.so / sapjco3.dll) ติดตั้งให้ถูกต้องตามแพลตฟอร์มที่ใช้งาน