_____นั่งอ่าน บทสรุปงาน FOSS4G2010 ที่เพิ่งผ่านไปครับ รู้สึกถึงการพัฒนาและการเติบโตที่ต่อเนื่องของชุมชนและกลุ่มสังคมของ นักพัฒนาและผู้ใช้งาน Free Open Source GIS ปีนี้มีเรื่องราวของเทคโนโลยีใหม่ๆหลายชิ้นที่เข้ามาแสดงและเผยแพร่ในงาน รวมถึงส่วนการนำเสนอความก้าวหน้าในการพัฒนาซอฟต์แวร์ Opensource หลายตัวที่เพิ่มความสามารถและมีความก้าวหน้าในเชิงการพัฒนาที่มากและก้าวกระโดดในเวลาที่ไม่นาน จนผมคาดไม่ถึง ซอฟต์แวร์หลายตัวผมมีโอกาสใช้ตั้งแต่แรกเริ่มเวอร์ชั่นรุ่นแรก คล้ายกับเด็กน้อย จนโตมาเป็นวัยรุ่นหนุ่มใหญ่ มาตอนนี้กลายเป็นซอฟต์แวร์ชื่อดังที่หลายคนยอมรับ

_____มีหลายเรื่องที่ยากนำเขียนให้อ่านกัน แต่เรื่องที่ดูน่าจะมีประโยชน์และเป็นเรื่องที่กำลังมา คงจะหนีไม่พ้น Web Processing Service จริงๆแล้วเรื่องนี้ไม่ใช้เรื่องใหม่ เพราะตัว WPS เป็นมาตรฐานที่ออกมานานเกือบ 2 ปีแล้ว ผมเองก็ได้เคยใช้และเขียนลงมาให้อ่านกันแล้ว แต่ความน่าสนใจมันของมันคือปัจจุบันจากเดิมที่ใช้กันน้อยในวงแคบ มีซอฟต์แวร์ไม่กี่ตัวสนับสนุน หรืออย่างที่ผมใช้ใหม่ๆต้อง implement มาตรฐานตัวนี้เอง ตอนนี้มันกลายเป็นเรื่องที่ได้รับความนิยม จนมีซอฟต์แวร์ WPS มากกว่า 5 ตัวที่ทำหน้าที่เป็นส่วนของแม่ข่าย และมีโปรแกรม Desktop GIS อีกหลายตัวที่รองรับ โปรโตคอลมาตรฐานนี้ และนอกจากนี้เรายังเห็นเทคโนโลยี การประมวลผลผ่านอินเตอร์เน็ตที่เกียร์ไปทาง cloud computing ทำให้ WPS จึงมีโอกาสและมีช่องทางที่เป็นไปได้มากว่าจะเป็น อนาคตของ GIS ดังนั้นผมจะขอเขียนบทความเป็นซีรีย์สัก 3 ตอนอธิบายให้ทุกท่านรู้จัก Web Processing Service(WPS) เพราะเชื่อว่าน่าจะเป็นประโยชน์ต่อการนำไปใช้งานและพัฒนาต่อยอดในอนาคตครับ

WPS คืออะไร?

_____ WPS ย่อมาจาก Web Processing Service เป็นโปรโตคอลมาตรฐานของ OGC เพื่อสำหรับการประมวลผลข้ามระบบ โดยไม่ยึดติดกับรูปแบบและชนิดของซอฟต์แวร์ GIS ทำงานรวมกับโปรโตคอลการบริการข้อมูลอื่นๆ เช่น WMS,WFS,WCS ผ่านเครือข่ายอินเตอร์เน็ต โดยปกติ WPS จะไม่รวมถึงฟังก์ชั่นหรืออัลกอริทึม ที่สำหรับวิเคราะห์หรือประมวลผลใน service end point แต่จะพูดถึงโปรโตคอลที่ห่อหุ้มเพื่อทำงานร่วมกันเท่านั้น

โปรโตคอล OGC WPS

_____โปรโตคอล Web Processing Service ของ OGC นั้นเป็นพื้นฐานที่หลายระบบนิยมนำมา Implement ในการประมวลผลข้อมูลภูมิสารสนเทศร่วมกัน และมีการใช้งานกันแพร่หลาย รวมไปถึงการ implement ร่วมกับ Web Service  แบบเต็มรูปแบบเพื่อใช้งานในระบบสารสนเทศอื่นๆ นอกจากนี้ปัจจันยังมีการ Implement ตัวโปรโตคอลมาตรฐาน WPS ไปกับ Service instant บน Cloud Computing เพื่อให้เกิดการเชื่อมต่อและทำงานร่วมกันของหน่วยประมวลผลเชิงพื้นที่บนระบบ cloud computing

ตัวอย่างแนวคิดการ implement WPS บนระบบ cloud computing (copy from 52 north)

_____รายละเอียดของ Web Processing Service (WPS) มีดังนี้ครับ

– WPS รองรับการทำงานทั้งรูปแบบการโต้ตอบแบบ KVP และการโต้ตอบแบบ XML โดยมีส่วนเชื่อมต่อกับโปรโตคอล Web Feature Service และ GML ซึ่ง WPS 1.0 ทำงานบน HTTP Protocol และสามารถขยายการทำงานไปบน SOAP ได้อีกด้วย

– WPS มีรูปแบบการทำงานที่ค่อนข้างยืดหยุ่น กล่าวคือไม่มีข้อจำกัดในเรื่อง จำนวนและปริมาณข้อมูล input และ output, จำนวน processing task และ เวลาในการประมวลผล

– WPS จะประกอบด้วย operation หลัก 3 ประเภทได้แก่ GetCapabilities, DescribeProcess, Execute

1. GetCapabilities: ชุดคำสั่งสำหรับการเรียกดูรายละเอียดต่างๆทั้งหมด สำหรับแม่ข่ายที่ให้บริการประมวลผลข้อมูลผ่านอินเตอร์เน็ต ผลลัพธ์ที่ได้จากการร้องขอจะอยู๋ในรูปแบบ XML

2. DescribeProcess: ชุดคำสั่งสำหรับการเรียกดูรายละเอียดสำหรับ Processing Method แต่ละตัวบนแม่ข่าย เช่น ประเภทของการประมวลผล, พารามิเตอร์และผลลัพธ์ที่ได้ โดยผู้ร้องขอต้องทำการระบุ identifier ผลลัพธ์ที่ได้จะอยู่ในรูปแบบ เอกสาร XML

3.Execute: คือชุดคำสั่งการประมวลผล โดยผู้ใช้จะทำการระบุค่าพารามิเตอร์ต่างๆสำหรับการประมวลผลตามที่ได้กำหนดไว้ ผลลัพธ์ที่ได้จากชุดคำสั่งนี้จะเป็น ผลลัพธ์ของการประมวลผล

ตัวอย่างรายละเอียดของ WPS Operation

_____ลำดับขั้นตอนการทำงานของ Web Processing Service มีดังภาพด้านบน โดยเริ่มต้นตามขั้นตอน การทำงานดังนี้

1. ผู้ใช้ ทำการค้นหา service instant จาก Catalogue Service

2. ทำการเชื่อมต่อ WPS Service Instant ด้วยการ GetCapability เพื่อร้องขอดูรายละเอียดการให้บริการ รวมถึงฟีเจอร์สำหรับการให้บริการ

3. เลือก Processing Feature ที่ต้องการ แล้วร้องขอทราบรายละเอียดการกำหนดพารามิเตอร์สำหรับร้องขอการประมวลผล รวมถึงรูปแบบผลลัพธ์ที่จะได้จากการประมวลผล

4. ดำเนินการประมวลผล โดยการ execute process โดยการส่งคำสั่งและข้อมูลเพื่อ execute process นั้นสามารถส่งผ่านทาง POST หรือ PUT ขึ้นกับรูปแบบของโปรโตคอลการให้บริการของแม่ข่าย

5. รอผลลลัพธ์ ซึ่งสามารถได้รับมาเป็น File หรือเป็น Service Point เช่น WFS , SOS, WCS เป็นต้น

อ่านต่อตอนที่ 2 เรื่องซอฟต์แวร์ Web Processing Service, การประยุกต์ใช้ และการ implement ครับ

อ้างอิงจาก

http://www.scribd.com/doc/27152522/Advance-GeoWeb-Portal-2-0

http://www.opengeospatial.org/standards/requests/28

http://52north.org/twiki/pub/Processing/52nWebProcessingService/IntroWPS.ppt

http://www.slideshare.net/pkgis/wps