เริ่มต้นกับ ZooWPS

Standard

หลังจากพูดคุยในวงเหล้า บนเครื่อง บนรถกับ Gerald มานานว่าจะลอง ๆ Zoo ก็ไม่มีโอกาสสะที ทั้งที่เข้าใจโครงสร้างระบบทุกอย่างหมดละ เมื่อวานก็เลยใช้ช่วงโอกาสเข้า Workshop กันไปเลยจะได้ลองจริง ๆ จากที่ลองก็ถือว่า มีแนวคิดที่ดี แต่ยังเป็นของใหม่ทำให้ต้องอาศัย ความเข้าใจอยู่ในระดับที่ว่าเป็น advanced ก็สรุป ๆ บางอย่างได้ดังนี้

Compile : ดูเหมือนจะยาก เพราะขนาดใช้ LiveDVD ที่ลง lib ที่จำเป็นไว้หมดแล้วก็ยังลงไม่ผ่าน อาจจะต้องใช้ lib-dev บางส่วนเพิ่มเติม ไว้จะลองใหม่

Install : หลัก ๆที่ใช้คือ zoo_loader.cgi และ main.cfg ให้ไปใส่ไว้ใน cgi-bin directory โดย main.cfg จะเป็น config กำหนดค่าต่าง ๆ ที่จำเป็น ทั้ง tmppath, tmpURL and so on.

Service Provider : จะมีไฟล์ หลัก ๆ ที่จำเป็นคือ zcfg จะเป็น metada config ระบุ input, output สิ่งที่สำคัญคือในบรรทัดแรก จะเป็น ชื่อ function ที่จะอ้างถึงในไฟล์ ServiceProvider อีกทั้งชื่อไฟล์ zcfg ก็จะต้องมีค่าตรงกับค่าในบรรทัดแรกด้วย
ในไฟล์ ServiceProvider (ที่อ้างมาจาก ค่าในไฟล์ zcfg) จะเป็นเหมือนไฟล์ที่เก็บ library function ทั้งที่ใช้ใน ตัว lib เองหรือ ถูกใช้จาก zcfg ค่า serviceType จะเป็นตัวบอกว่าใช้ service ในภาษาอะไรเช่น C, Python etc..
- serviceProvider เป็นชื่อไฟล์ ที่จะ link มาใช้ แต่ไม่ต้องมี .py ในกรณีของ python แต่ต้องมี .zo ในกรณีของ C (ทำเอา งง เหมือนกัน)
- ในการใช้ serviceprovider ของ C ต้องทำการ compile code ภายใน zoows source code แล้วจึงเอา obj มาไว้ใน cgi-bin directory ค่อนข้างดูยุ่งยากใช้ได้กันเลย ถ้าเทียบกับ python ที่เป็น script
- การทำเป็นลักษณะ lib function ใน serviceProvider ถือว่าดี ในกรณที่ อนาคตหากมีการใช้งาน WorkFlow
- การ fix config อาจจะทำให้การใช้งานร่วมกัน หลายคนใน server เดียวกันมีปัญหา
- การเก็บ lib code ไว้ใน web accessible อาจจะไม่ปลอดภัยมากนัก

ต่อไปคงต้องลอง migrate code PyWPS มาเล่นสักหน่อย