Tuesday, March 22, 2016

SharePoint Workflow และ InfoPath


การประยุกต์ใช้ SharePoint Workflow ร่วมกับ InfoPath

เมื่อพูดถึง SharePoint เชื่อว่าหลายๆคนอาจยังไม่รู้ว่าคืออะไร? หรือจะนำมันมาใช้งานรูปแบบใด? บางคนมีความเข้าใจที่ไม่ค่อยจะถูกต้องมากนัก ด้วยเหตุที่อาจมองดูแต่เพียงชื่อของมัน เท่าที่ผมลองสังเกตุเห็นบนกระทู้ต่างๆ ที่มีการถามและตอบ ส่วนใหญ่เข้าใจกันว่า SharePoint จะใช้งานในลักษณะที่เป็นการแชร์ไฟล์กันในองค์กร ซึ่งมันก็ถูกระดับหนึ่งครับ การใช้ระบบ SharePoint ในองค์กร มีความจำเป็นอย่างไรผมจะยกตัวอย่างให้ผู้อ่านได้ลองพิจารณาในตอนท้ายของบทความ ก่อนอื่นผมอยากโน้มน้าวและกระตุ้นความอยากรู้ของผู้อ่านว่าทำไม Microsoft จึงอ้างว่า Product นี้เป็นเรือธง และทำเงินมหาศาลสูงสุดในบรรดา Product ต่างๆของ Microsoft ในรอบปีผ่านๆมา ที่นี้ผมก็จะค่อยๆนำท่านผู้อ่านค่อยๆก้าวสู่โลกของ SharePoint ครับ หลายๆคนคงได้ยินคำว่า Fortune 500 Companies ซึ่งเป็นบริษัทชั้นนำ 500 อันดับแรกในอเมริกา ใช้  SharePoint ในองค์กรไม่ว่าจะเป็นการสนับสนุนด้าน Internet, Intranet และ Extranet ข้อมูลอ้างอิงจาก http://www.topsharepoint.com/fortune-500-companies-using-sharepoint จะเห็นว่าทำไมบริษัทยักษ์ใหญ่เหล่านั้นจึง ลงทุนที่จะใช้ SharePoint เป็นแพลตฟอร์มหลัก ในจัดการหลายๆ เรื่องในการปรับปรุงประสิทธิภาพขององค์กร เนื่องจากมีผู้เขียน blog ทั้งไทยและเทศ อธิบายว่า SharePoint คืออะไร ลองศึกษาเพิ่มเติมจาก http://mrsurawat.blogspot.com/2014/01/sharepoint-2013.html สำหรับผมจะขอพูดคุยกันในแบบสบายและมุมมองส่วนตัว และไม่ได้อิงเวอร์ชั่นใด เวอร์ชั่นหนึ่ง ของ SharePoint นะครับ ผมขอเปรียบเทียบ SharePoint เหมือนการศึกษาวิชาแพทย์ ในวิชาแพทย์เองก็ยังมีการแบ่งแยกแขนงเป็นแพทย์เฉพาะทาง จึงเหมือน SharePoint เลยครับ SharePoint เองสามารถแตกแขนงเป็นการใช้งานหลักๆ 6 ส่วน ประกอบด้วย ซึ่งชื่ออาจจะเรียกแตกตามกันในแต่ละเวอร์ชั่น แต่องค์ประกอบหลักก็จะเหมือนกันดังต่อไปนี้ ชื่อเรียกนี้เป็นชื่อที่อิงจากเวอร์ชั่น 2007 นะครับ

·        Portals
·        Collaboration
·        Enterprise content management
·        Enterprise search
·        Business process and forms
·        Business intelligence

ลองดูชื่อแต่ละหมวดหมู่ดูซิครับ พอจะมองเห็นอะไรบ้างหรือยังครับ ชื่อเหล่านี้สื่อถึงความสามารถหรือฟังก์ชั่นการทำงานที่มันสามารถตอบสนององค์กรได้ นั่นหมายถึง Product นี้ตัวเดียวจะครอบคลุมการใช้งานทั้งหมดและสามารถบริหารจัดการด้วยแพลตฟอร์มตัวเดียวเท่านั้น ในการใช้งานจริงๆ องค์กรหนึ่งๆคงไม่ได้ใช้งานครบทุกฟังก์ชั่นครับ แล้วแต่เหตุผลและความต้องการ ทีนี่จะเห็นว่าใครที่บอกว่ามันแค่แชร์ไฟล์ในองค์กรจะเห็นว่ามันเป็นเพียงกลไกเล็กๆของ Enterprise Content Management ซึ่งยังแบ่งย่อยเป็น Document Management, Records Management และ Content Management ครับ นั้นแสดงว่ามันต้องมีอะไรที่ดีและมากกว่าการแชร์ไฟล์ธรรมดาแน่ๆครับ

               เอาละครับผมขอแนะนำคร่าวๆเพียงเท่านี้ก่อนครับ เพราะแต่ละเรื่องมีรายละเอียดของมันที่นั่งคุยกันได้เป็นวันครับ มาดูใน 6 ฟังก์ชั่นข้างบน สิ่งที่ผมสนใจเป็นพิเศษคือ Business process and forms ครับ หลายๆท่านพูดถึงเรื่อง e-Form ต้องการปรับปรุงหน่วยงานให้ใช้ e-Form บางหน่วยงานมองไปถึงการใช้ระบบ Workflow ซึ่งในความเห็นผมนี่คือพลังที่แท้จริงของ SharePoint เลยก็ว่าได้ แล้วผมจะยกตัวอย่างให้เห็นภายหลังครับ ลองนึกภาพตามผมนะครับ ในการดำเนินธุรกิจจะต้องมีองค์ประกอบ 3 อย่าง เสมอนั่นคือ

·        บุคคลที่เกี่ยวข้องในกระบวนการ (People)
·        ขั้นตอนหรือกระบวนการดำเนินการ (Business process)
·        เอกสารที่ต้องใช้หรือเกี่ยวข้องในกระบวนการ (Documentation)

ผู้อ่านบางท่านอาจบอกว่าองค์กรของตนเองมีระบบ ERP มาใช้งานแล้วก็น่าจะเพียงพอต่อการทำธุรกิจ ผมเลยขออธิบายและไขข้อข้องใจหลายๆคนในโอกาสนี้เลยครับ ระบบ SharePoint จะเป็นระบบที่สามารถทำงานล้อมรอบ ระบบ ERP นั่นคือมันเล่นกันคนละบทบาทครับ แต่มันจะทำงานร่วมกันหรือประสานกันได้อย่างน่าทึ่งครับ ERP ทั่วไปตอบสนองได้แค่หนึ่งมิติคือ ขั้นตอนกระบวนการดำเนินงานเท่านั้น เช่นเราจะต้องเปิด PR อย่างไร ทำเป็น PO อย่างไร Receipt อย่างไรระบบ ERP แต่ถ้าเป็น SharePoint มันจะสามารถตอบสนองได้ครบ 3 มิติ สิ่งที่ทำให้มันเป็นไปได้คือ เทคโนโลยี Workflow ของ SharePoint นั่นเองครับ ถ้ากล่าวแค่นี้เชื่อว่าหลายคนยังมองภาพไม่ออก ผมจะขอยกตัวอย่างเสมือนจริงให้ท่านผู้อ่านพิจารณาลองจินตนาการเปรียบเทียบระบบที่ทำโดยไม่ได้ใช้ระบบ Workflow ของ SharePoint เพื่อควบคุมกระบวนการ

Problem: สมมุติหน่วยงานทางการแพทย์และสาธารณสุขแห่งหนึ่งมีขั้นตอนการทำงานดังนี้



 

 

ทีนี้เรามาดูหน้าเอกสารคือ แบบฟอร์ม Pharmacy เป็นเอกสารที่ต้องกรอก เพื่อทำหน้าที่เป็นคำร้องขอ หน้าตาเป็นแบบนี้ครับ

 


และนี่ก็เป็นการใส่ข้อมูลในรายงานเอกสาร DRP ซึ่งเดิมจะเป็นไฟล์ excel ที่ต้องเปิดเพื่อบันทึกและพิมพ์ออกมา

เอาล่ะครับตอนนี้ลองมาพิจารณาวิเคราะห์ปัญหา flow การทำงานนี้กันเมื่อพิจารณาดูจะพบว่าปัญหาคือ

·        ปัญหาแรกเอกสารที่อยู่ในรูปแบบฟอร์บนกระดาษ และการกรอกฟอร์มผ่านโปรแกรม excel แล้วต้องพิมพ์ออกมาและต้องจัดเก็บเพื่ออ้างถึงภายหลัง
·        ปัญหาที่สองคือเวลาที่สูญเสียไปในการค้นหาเอกสารที่สัมพันธ์กัน

Solution:

แนวทางการแก้ปัญหานี้ก็มีหลากหลายวิธีแล้วแต่จะคิดและเลือก สำหรับกรณีนี้เพื่อให้มองเห็นภาพการใช้งานในแบบเสมือนจริง โดยใช้ระบบ Workflow บน SharePoint ผมจะขอข้ามรายละเอียดของ SharePoint เช่นการออกแบบ Custom List หรือการพัฒนา Workflow นะครับ สำหรับปัญหานี้ผมใช้ SharePoint Designer ในการพัฒนา Workflow ขึ้นมา เมื่อเราเตรียมสภาพแวดล้อมบน SharePoint จนพร้อมแล้ว เราจะมามองดูภาพการทำงานกันนะครับ





 


 


รูปที่ 1. แสดงถึงโครงสร้าง

ใน Documents library ได้สร้าง library 2 ตัวคือ Pharmacy ซึ่งจะเก็บเอกสาร Pharmacy form ที่ผู้ใช้กรอกข้อมูลเพื่อติดต่อ และ DRP เพื่อเก็บเอกสารงายงาน เนื่องจากไม่ได้ implement ระบบ Search เพื่อประหยัดงบ จึงแก้ปัญหาโดยการออกแบบโครงสร้างใน library ใช้ link เพื่อเปิดดูข้อมูลแบบ online ในกรณีมีปัญหาหรือต้องการค้นหา นอกจากนี้ยังสร้าง Person List เพื่อกำหนดรายชื่อเจ้าหน้าที่ผู้ปฏิบัติงาน

 

 

รูปที่ 2 แสดงหน้าจอที่จะเริ่มกรอกข้อมูล ในกรณีนี้ผมออกแบบโดยใช้ InfoPath และ publish ขึ้น SharePoint ในรูปแบบ Content type ซึ่งเป็นสิ่งใหม่เริ่มใช้ตั้งแต่เวอร์ชั่น 2007 เป็นต้นมา เมื่อผู้ร้องขอเข้ามาที่ site ของ หน่วยงานนี้ เพียงคลิก Pharmacy Form

 

 

รูปที่ 3 แบบฟอร์ม Pharmacy ที่เดิมเป็นกระดาษถูกออกแบบเป็น e-Form ด้วย InfoPath และใช้ความสามารถของ InfoPath Form Services ที่มีเฉพาะใน Enterprise edition ซึ่งทำให้เปิดฟอร์มนี้ได้ด้วย browser ดังนั้นเครื่อง Client ของ user จึงไม่จำเป็นต้องลงโปรแกรม InfoPath ครับ

 

รูปที่ 4 แสดงส่วนที่เหลือชองเอกสารต่อจากรูปที่ 3 เมื่อกด scroll down ลงมา

 

รูปที่ 5 แสดงตัวอย่างเมื่อกรอกข้อมูลเสร็จแล้วกดปุม submit ขึ้น SharePoint

 

รูปที่ 6 แสดงผลลัพธ์หลังจากกดปุ่ม submit จะปรากฏเอกสารใหม่หนึ่งใบ

 

รูปที่ 7 เป็นขั้นตอนที่จะเริ่มสั่งให้ระบบ Workflow เข้ามาควบคุมกระบวนการทำงานโดยอัตโนมัติ โดยเลือก dropdown list

แล้วคลิกที่ Workflow

 

รูปที่ 8 เมื่อ Workflow เริ่มควบคุมการทำงาน จะสังเกตเห็น site column ที่ชื่อ Send Pharmacy Form WF มีข้อความ status ว่า In Progress

 

รูปที่ 9 เมื่อลองคลิกที่ In Progress จะเป็นการ tracking เอกสารใบนี้ว่า เรื่องนี้ไปถึงขั้นตอนไหนแล้ว ในขั้นตอนการทำงานนี้ จากตัวอย่างนี้บอกว่า เมื่อวันที่ 1/12/2012 เวลา 8:05 PM เรื่องได้ถูกส่งเข้าระบบเพื่อดำเนินการแล้ว ขั้นตอนต่อไปคือ Helpcenter  จะเป็นผู้รับผิดชอบโดยการเลือกเจ้าหน้าที่ที่จะต้องรับผิดชอบ แต่ขณะนี้ยังไม่ได้กำหนด ข้อมูลนี้นอกจากจะเห็นผ่าน web page นี้แล้ว ทาง Helpcenter จะได้รับแจ้งเรื่องทางอีเมล์โดยอัตโนมัติด้วย

 

รูปที่ 10 Helpcenter  จะได้รับแจ้งเรื่องทาวอีเมล์ โดยอัตโนมัติด้วย



รูปที่ 11 เป็นการแจ้งการ assign งานให้ทราบ ซึ่งขึ้นอยู่กับการออกแบบนะครับ สำหรับประเด็นสำคัญที่ต้องการแสดงคือ Workflow สามารถแจ้งให้ทราบโดยอัตโนมัติครับ

 

รูปที่ 12 แสดงข้อความในอีเมล์

 

รูปที่ 13 เมื่อ Helpcenter ได้รับเรื่อง เขาจะมีหน้าที่ปฏิบัติหน้าที่ โดยกำหนดบุคคล (person1) แล้วกดปุ่ม Complete Task เพื่อแจ้งให้ระบบ Workflow รับรู้ว่าเขา/เธอ ได้ทำงานตามที่ได้รับการกำหนดโดยระบบ Workflow เสร็จแล้ว

 

รูปที่ 14 แสดงการเลือก บุคคลที่ต้องรับผิดชอบในขั้นแรก

 

รูปที่  15 แสดง Person1 ถูกเลือก

 


รูปที่ 16 เมื่อ Person1 ถูกเลือกให้ทำงานระบบ Workflow ก็จะส่งอีเมล์ให้ทราบเช่นกัน ซึ่งเป็นกลไก alert ใน SharePoint

 

รูปที่ 17 เมื่อ Person1 ได้รับการกำหนดงานจากระบบ Workflow ๆ จะบอกถึง procedure หรือ work instruction ในการทำงานให้ทราบเพื่อให้มั่นใจว่าผู้ปฏิบัติงานเข้าใจขั้นตอนการทำงานต่างๆดีแล้ว และจะปฏิบัติตาม

 
รูปที่ 18 เป็นการแสดงให้เห็นประโยชน์จากการติดตามเรื่อง (Tracking) ว่าตอนนี้ดำเนินการไปถึงขั้นตอนไหนแล้ว จากรูปจะพบว่า Helpcenter ได้กำหนดงานให้ Person1 แล้ว เมื่อวันที่ 1/12/2012 เวลา 8:27 PM และ Person1 กำลังปฏิบัติงานอยู่ ยังไม่แล้วเสร็จ

 

รูปที่ 19 เมื่อ Person1 ปฏิบัติงาน โดยพิจารณาแล้วพบว่าสามารถทำเสร็จในขั้นนี้ได้ม่ต้องส่งต่อให้ Person2

 

รูปที่ 20 Person1 จะมาลงรายงานใน DRP โดยเข้ามาที่ DRP library แล้วกดปุ่ม DRP ตามรูป

 

รูปที่ 21 เป็นรายละเอียดที่ต้องกรอกในรายงาน ซึ่งเดิมทำใน excel ตอนนี้มาทำแบบ e-Form

 

รูปที่ 22 ส่วนอื่นๆของท้ายเอกสารที่ต้องลงในรายงาน เมื่อกด scroll down ลงมา


  
รูปที่ 23 เมื่อ Person1 กรอกข้อมูลรายงานใน e-Form DRP แล้ว submit ขึ้น SharePoint แล้วจะได้ชื่อไฟล์ที่เป็น xml ต่อไปก็จะมาแจ้งให้ระบบ Workflow ทราบว่าได้ทำงานทุกขั้นตอนเสร็จแล้ว โดนใส่ข้อมูลตามภาพ และเลือกไฟล์รายงาน ใน dropdown list เสร็จแล้วกดปุ่ม Complete Task อันเป็นการเสร็จขั้นตอน 

รูปที่ 24 เมื่อกลับมาดูที่หน้า site นี้จะเห็นว่า งานเสร็จแล้ว โดยสังเกตุจาก status ที่ site column เป็น Completed และสามารถรู้ว่า คำร้องนี้ลงรายงานอะไร โดยการคลิก link ที่ site column ชื่อ DRP และบุคคลที่เกี่ยวข้องคือใคร จึงทำให้สามารถสร้าง view เพื่อ filter ดูหรือหาข้อมูลได้โดยง่าย

               จากตัวอย่างการใช้ workflow ควบคุมการทำงาน ร่วมกับ InfoPath form ในรูปแบบ e-Form จะทำให้ระบบงานที่ทำมีประสิทธิภาพ ลดการใช้กระดาษ จากตัวอย่างนี้จะเห็นว่า workflow ไม่ได้มีไว้เพื่อ flow เอกสารไปเพื่อการอนุมัติ เหมือนอย่างที่ หลายๆคนเข้าใจผิด มันคือ workflow ของการทำงานจริงๆทุกขั้นตอน ที่นักพัฒนาจะต้องออกแบบและพัฒนา เพื่อแก้ปัญหาหรือพูดง่ายๆก็เพื่อปรับปรุงประสิทธิภาพการทำงานให้สามารถติดตามได้ว่า ตอนนี้ขั้นตอนของเรื่องอยู่ที่ใคร และใครทำอะไรไปบ้าง เมื่อวันและเวลาอะไร พูดอีกอย่างก็คือสามารถ Tracking ได้นั่นเอง

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

ศยามพล เชื้อแพทย์ MCTS (MOSS 2007)
tomcat_nz@hotmail.com

 

 

No comments:

Post a Comment