Monday, September 26, 2016

OFBIZ Entity & Service Creating (ต่อ)

Share it Please
จากบทความก่อนหน้าได้ ได้พัฒนา Service ไปบ้างแล้ว ซึ่งส่วนใหญ่เป็นการใช้ xml ในการสร้าง และ Service สุดท้ายเป็นการสร้างใช้ simple method บทความนี้จะเป็นการสร้าง Service ด้วย Simple method และ JAVA
ในบทดความที่แล้ว Service ที่ใช้ simple method พัฒนาเป็นสร้าง Service ที่ทำหน้าที่เพิ่มข้อมูลใน entity student ดังนั้น เราจะมาต่อ อีก 2 Service คือ แก้ไข และลบ
Screenshot from 2016-01-07 20:17:41เริ่มจากการนิยาม Service ในไฟล์ service.xml ก่อน สังเกต <service name=""> จะมี 2 ชื่อ ชื่อบนคือแก้ไข และด้านล่างเป็นลบ ซึ่ง engine จะเป็นชนิด simple และ location จะชี้ไปที่ไฟล์ HelloappService.xml เขียนด้วย simple method และเรียก service ที่ชื่อว่า updateStudentSubjectService
ใน <service name="deleteStudentSubject"> ก็คล้ายกันแต่จะต่างที่ service ที่เรียกจะเป็นคนละ service จะเป็น deleteStudentSubjectService
เสร็จแล้วจำ จะสร้าง service updateStudentSubjectService และ deleteStudentSubjectService ที่เป็น simple method ดังภาพนี้
Screenshot from 2016-01-07 20:18:47
กระบวนการแก้ไขข้อมูลจะเริ่มจาก การกรอกข้อมูล ที่ต้องการแก้ไข และ ID ของข้อมูลนั้นๆ แล้วนำ ID มาตรวจสอบว่ามี ID นี้อยู่หรือไม่ ถ้ามีจะนำข้อมูลเข้าไป Update ตามโค้ค การลบก็เช่นเดียวกัน ต้องทำการตรวจสอบ ID ของข้อมูลเสียก่อนถึงจะลบข้อมูลได้
จากนั้นทำการ restart OFBIZ แล้วลองทดสอบ service อย่างที่ได้อธิบายในบทความที่แล้วเลยนะครับ << LINK >>
ต่อมาเราจะทำการสร้าง service ที่เขียน ด้วย JAVA กัน ขั้นการสร้างคล้ายกับการสร้าง service แบบอื่นๆ ต้องนิยาม service ใน service.xml (ไฟล์อาจชื่อไม่เหมือนกันในโฟล์เด้อ servicedef) แล้วสร้างไฟล์ service ต่อ ในการสร้าง service ที่เป็น ภาษา JAVA นั้น จะต้องสร้างจะสร้างในโฟล์เดอร์ src ให้สร้างโฟล์เดอร์ในลักษณะ JAVA Package มาดูโค้ดนิยาม service ใน service.xml กันดีกล่าว ในการสร้างนี้จะสร้าง เพิ่ม แก้ไข และลบ เหมือนเดียวกับ service อื่น
Screenshot from 2016-01-07 20:51:46
จะเห็นความแตกต่างระหว่างการนิยามแบบเรียกใช้ simple method อยู่ คือ engine จะเป็นประเภท java location จะเป็นลักษณะ JAVA Package ตามด้วยชื่อ class นอกจากนั้นจะคล้ายกัน
ในการทำงานของลำดับขั้นตอนกระบวนวิธี JAVA Service จะเหมือนกับ Simple method แต่โค้ดจะต่างกันไป ดังนี้ ทุก method หรือ service จะถูกสร้างใน JAVA Class
Screenshot from 2016-01-07 20:52:29Screenshot from 2016-01-07 20:52:49Screenshot from 2016-01-07 20:53:12
อธิบายหน่อย พารามิเตอร์ ที่สร้างขึ้นที่เป็น instant ชื่อ dctx รับค่า method ต่างๆ ของ OFBIZ เข้ามา ในที่นี้เราจะใช้สร้าง delegator เพื่อจะใช้เรียกดูหรือจัดการกับข้อมูลในตาราง และ instant ชื่อ context จะเป็นค่าข้อมูลที่ได้จาก form ที่สั่ง submit
หลังจากที่ทำเสร็จแล้ว จะต้องคอมไพล์ โค้ดจาวาก่อนทุกครั้งเมื่อมีการเปลี่ยนแปลง โดยใช้คำสั่ง
./ant #use on OFBiz old version
เสร็จแล้วให้ทำการ start OFBIZ อีกครั้ง แล้วทำการทดสอบ service อย่างที่ได้อธิบายไปแล้ว ในกรณีมีปัญหาให้ทำใจให้สงบ แล้วหายใจเข้าลึกๆ แล้วลอง กลับไปดู ข้อความ error แล้วแก้ไขดู ส่วนใหญ่จะเกินขึ้นจาก PATH ที่กำหนด location ลองดูดีๆ

No comments:

Post a Comment

Blogroll

About