29 September 2007

บริหารจัดการแบบ SOA : กฎของการแข่งขันในธุรกิจ

บริหารจัดการแบบ Service Oriented Architecture SOA : กฎของการแข่งขันในธุรกิจ

SOA (Service-Oriented Architecture) สถาปัตยกรรมระบบแบบมุ่งให้บริการและเป็นอีกก้าวหน้าที่พัฒนาขึ้นเพื่อให้องค์กรได้รับประโยชน์มากที่สุด โดยเน้นไปที่การนำโค้ดกลับมาใช้ใหม่ ลดค่าใช้จ่ายโดยรวมขององค์กร มีการรักษาความปลอดภัยที่ดีขึ้น และแน่นอนว่าจุดสำคัญหนีไม่พ้นที่เพิ่มโอกาสทางธุรกิจให้มากขึ้นอีกด้วย มีการดำเนินธุรกิจที่คล่องตัวรวดเร็วเมื่อองค์กรได้รับผลประโยชน์ตามที่กล่าวมา แต่บางครั้งการจะได้ประโยชน์ทั้งหมดที่กล่าวมานั้นอาจจะต้องพึ่งพาการกำหนดโพลิซีและกำหนดรูปแบบการทำงานมากกว่า การให้ความสำคัญกับการเขียนโค้ดหลายเท่าตัวนัก

SOA ต้องการองค์กรที่มีรูปแบบในการทำงานที่ดีมากกว่าโมเดลในการพัฒนารูปแบบอื่น ซึ่งโดยความรู้สึกแล้วคุณอาจจะคิดว่าเราควรจะได้ผลลัพธ์ที่ยืดหยุ่นมากกว่าการโค้ดที่สั้นกว่าเดิม แต่สำหรับบางกรณีก็ไม่แน่เสมอไป

เมื่อนึกถึงธุรกิจรถยนต์ในวันนี้ คุณคงไม่ไปร้านขายยางรถยนต์ของฟอร์ดเพื่อซื้อยางรถยนต์ชุดใหม่สำหรับรถฟอร์ดของคุณ เหตุผลโดยตรงมาจากเรื่องของมาตรฐาน การวางระเบียบ และวิธีการปฏิบัติงาน ซึ่งทุกคนก็รู้ดีอยู่แล้วว่าไม่ว่าจะซื้อยางจากร้านไหนก็ตามที่มีขนาดเท่ากัน ยังไงซะก็ใส่กันได้และรถเก่าของคุณก็ยังคงวิ่งได้เหมือนใหม่ไม่ต่างจากเดิม

การกำหนดมาตรฐานเป็นการเสริมสร้างรากฐานสำหรับการบริหารจัดการแบบ SOA ระหว่างหน่วยงานต่าง ๆ ภายในองค์กร เพื่อป้องกันการพัฒนาด้านไอทีอย่างไม่เหมาะสมด้วยความสลับซับซ้อน ในอุตสาหกรรมต้องมีการจัดสร้างชั้นของซอฟต์แวร์ในเรื่องการลงทะเบียน ที่เก็บรวบรวม และระบบการจัดการใช้งาน นั่นเป็นการช่วยรักษากฎให้เป็นไปตามระเบียบ โดยไม่มีการสร้าง SOA ตามความต้องการ มากกว่าการที่จะนำ SOA ไปใช้เป็นเครื่องมือรากฐาน การบริหารจัดการแบบ SOA ต้องการองค์กรด้านไอทีที่ทำงานอย่างเอาจริงเอาจังในการเลือกเกี่ยวกับการออกแบบที่ซึ่งเป็นผลในกฎที่ออกแบบ

ชีวิตที่ขึ้นอยู่กับกฏ

การออกแบบกฎต้องกำหนดในเรื่องต่าง ๆ ไม่ว่าจะเป็นอินเทอร์เฟซ การพิจารณาแยกแยะส่วนประกอบที่แน่นอน และการแยกแยะขอบเขตระหว่างระบบย่อย เนื่องจากเป้าหมายเบื้องต้นของการออกแบบก็เพื่อเพิ่มเกณฑ์สำหรับการวัด และสร้างความชัดเจนในส่วนพื้นฐานที่เป็นนามธรรมของเซอร์วิส APIs หลังจากเลือกออบชันทั้งหมดแล้วสิ่งที่จำเป็นก็คือการบันทึก การสื่อสารให้รับรู้ และบังคับใช้ ซึ่งท้ายที่สุดแล้วเมื่อเรานำกฏที่ออกแบบขึ้นมาบังคับใช้ กฏนั้นก็จะกลายเป็นนโยบายที่ปฏิเสธไม่ได้อีกต่อไป

การพัฒนาและการบังคับให้เป็นไปตามกฎของนโยบาย SOA และระเบียบปฎิบัติเป็นไปโดยชื่อ การบริหารจัดการ(Governance)แบบ SOA การบริหาร การจัดการและสถาปัตยกรรมที่ออกแบบจะไปพร้อมกัน ในวิธีเดียวกันกับการสร้างโค้ด, มาตรฐาน และแม้แต่วิธีการตรวจสอบกระบวนการต่าง ๆ เพื่อให้ทุกอย่างเป็นไปตามกรอบที่วางเอาไว้ และSOA Governance นั้นก็จะเป็นส่วนนอกที่ครอบทั้งในเรื่องจองการออกแบบและสถาปัตยกรรมต่าง ๆ เอาไว้ทั้งหมดอีกเช่นกัน

“ถ้าหากไม่มีการบริหารจัดการแบบ SOA คุณก็จะลงเอยแบบ Web services ที่เป็น DLL แย่ ๆ ออกมา” Roman Stanek หัวหน้าการออกแบบซอฟต์แวร์และผู้ก่อตั้ง Systinet ผู้ให้บริการเกี่ยวกับ SOA กล่าว “การบริหารจัดการแบบ SOA ช่วยให้เกิดความแน่นอนในการดำเนินงาน ความสามารถในการคาดการณ์ และทำให้สามารถสร้างแอพพลิเคชันขนาดใหญ่จากงานในส่วนเล็กๆออกมาได้”

ถ้าคุณมีการปฏิบัติงานทางด้านไอทีเต็มรูปแบบอยู่ภายในองค์กรแล้ว นี่จะช่วยส่งเสริมการก่อตั้งการบริหารจัดการแบบ SOAมาได้ง่ายขึ้น ถ้าคุณมีความเชื่อมั่นการบริหารจัดการแบบอย่างไม่เป็นทางการในอดีต การขยับไปสู่การบริหารจัดการแบบ SOA ต้องการการเปลี่ยนแปลงบางสิ่งบางอย่างในการที่จะทำอย่างไรในการจัดการด้านการพัฒนาและการปฏิบัติงาน “องค์กรส่วนใหญ่จะประสบความล้มเหลวถ้าพวกเขาไม่ดำเนินการในสิ่งที่ถูกต้องในการบริหารจัดการ” Anne Thomas Manes ตำแหน่งรองประธานและผู้อำนวยการด้านวิจัยที่กลุ่มธุรกิจ Burton กล่าว “SOA เป็นเรื่องเกี่ยวกับพฤติกรรม ไม่ใช่บางสิ่งบางอย่างที่คุณจะสร้างหรือซื้อหา คุณจะต้องมีการเปลี่ยนพฤติกรรมเพื่อทำให้เกิดผลอย่างแท้จริง”

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

การกำหนดนโยบายให้เป็นที่พอใจ

จากข้อมูลของ Systinet’s Stanek ระบุว่าการจะให้ได้ผลในการบริหารจัดการนั้นขึ้นอยู่กับกระบวนการปฏิบัติงาน ที่ใช้สร้างนโยบายออกมา หรืออธิบายได้ว่า เป็นวิธีที่คุณใช้ทำ, สื่อสาร และกำหนดตัวเลือกที่บังคับใช้

การบริหารจัดการแบบ SOA ที่ดีเป็นการปฏิบัติที่เหมือนกับการมาประชุมกันของคนจำนวนมาก ๆ มากกว่าเป็นการทำการแบบเผด็จการ “สิ่งผิดพลาดที่ใหญ่ที่สุดขององค์กรที่ได้ทำคือการขาดการติดต่อสื่อสารทำความเข้าใจกันอย่างเพียงพอและขาดการทำงานร่วมกัน” จากคำกล่าวของ Burton’s Manes

ในส่วนของการปฏิบัติการตัดสินใจสามารถดำเนินการได้หลายทาง แต่ท้ายที่สุดกระบวนการทางสังคมที่ทำงานตามวัฒนธรรมในองค์กรเป็นวิธีที่ดีที่สุด “การเพิ่มขึ้นของระบบสังคมซอฟต์แวร์นั้นไม่ต่างจาก LinkedIn ที่ช่วยให้หลายๆ ส่วนเกิดความพอใจในการบริหารจัดการแบบ SOA” Miko Matsumura รองประธานด้านการตลาดที่ Infravio กล่าว “ขึ้นอยู่กับการวิเคราะห์ว่าบุคคลต่างๆ นั้นจะถูกจัดการอย่างไร การบริหารจัดการแบบ SOA ช่วยดึงเอาลักษณะการดำเนินงานหรือเคลื่อนไหวขององค์กรกับพฤติกรรมการทำงานของบุคคลภายในองค์กรเข้ามารวมกันไว้ในจุดที่เกิดประโยชน์สูงที่สุด”

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

หลายองค์กรสร้างศูนย์อื่นๆ หรือศูนย์กลางข้อมูลขึ้นในกลุ่มการสร้างและออกแบบซอฟต์แวร์สำหรับกิจการ เพื่อจะเป็นผู้ให้คำแนะนำและให้ทรัพยากร เป็นคลังเก็บข้อมูลวิธีปฏิบัติที่ดีที่สุด และใช้บริหารเครื่องมือที่ใช้สนับสนุนกระบวนการบริหารจัดการ (Governance) แนวคิดเกี่ยวกับการสร้างและออกแบบซอฟต์แวร์ (SOA)

ที่ Aeroplan ซึ่งเป็นผู้วางแผนเกี่ยวกับความซื่อสัตย์จงรักภักดีของผู้บริโภคชาวแคนาดานั้น มิสเตอร์อังเดร เฮอร์เบิร์ต ได้พยายามสร้างให้การบริหารจัดการ (Governance) แนวคิดเกี่ยวกับการสร้างและออกแบบซอฟต์แวร์ (SOA) เข้าเป็นหนึ่งในการปฏิบัติงานของเขา “เรามีแผนผังการสร้างและออกแบบซอฟต์แวร์นี้เป็นส่วนหนึ่งของความรู้สึกนึกคิดของเรา หากคุณชอบ เวลาใดก็ตามที่มีโครงการใดถูกคิดขึ้นมาและต้องการองค์ประกอบทั้งภายในและภายนอกใหม่นั้นจะต้องผ่านคณะกรรมการการสร้างและออกแบบซอฟต์แวร์เสมอ” มิสเตอร์เฮอร์เบิร์ตซึ่งเป็นผู้อำนวยการฝ่ายเทคโนโลยีและอีบิซสิเนสของ Aeroplan อธิบาย “ดังนั้น สิ่งนี้จึงเป็นตัวกรองชนิดหนึ่งในแต่ละวันภายในองค์กรของเรา”

กล่าวง่ายๆ คือกระบวนการบริหารจัดการ (Governance) นั้นควรทำให้ง่ายเข้าไว้เพื่อความถูกต้อง และยากที่จะทำผิดพลาด “สร้างโรงเรียน ไม่ใช่สร้างคุก” มิสเตอร์มาร์ค อีริคสัน หัวหน้าด้านเทคโนโลยีของ Mindreef กล่าว “เป้าหมายก็เพื่อช่วยให้บุคลากรเห็นพ้องกับวิธีปฏิบัติที่ดีที่สุด ไม่ใช่ไปกำกับควบคุมพวกเขา”

นโยบายที่ 1

นโยบายสามารถมีผลกระทบต่อทุกมุมมองด้านระยะเวลาของโปรแกรม รวมถึงการออกแบบ การนำไปใช้งาน และการปฏิบัติการ ตัวอย่างเช่น นโยบายในขณะออกแบบอาจเป็นการเริ่มการสะสมของชื่อเพื่อวัตถุประสงค์เฉพาะต่างๆ ที่เกี่ยวกับบริษัท (Corporate namespace) ส่วนนโยบายการนำไปใช้งานอาจต้องการให้โปรแกรมของระดับผลิตภัณฑ์ตรงตามความต้องการที่กำหนดไว้โดยองค์กร WS-I(Web Service Interoperability) นโยบายการปฏิบัติการอาจต้องการให้โปรแกรมทั้งหมดที่นำมาใช้ประโยชน์ได้รับการจัดการและใช้ระบบพื้นฐานความปลอดภัยของบริษัท

แต่ในองค์กรส่วนใหญ่ถือว่าเป็นเหตุเป็นผลที่จะเริ่มต้นพยายามกำหนดนโยบายให้เป็นมาตรฐาน เพราะหลังจากนั้นมาตรฐานต่างๆ จะทำให้การสร้าง SOA มีความเป็นไปได้ กิจการแต่ละแห่งจะต้องกำหนดว่าจะใช้มาตรฐานใดที่ไหนและเวลาใด ตัวอย่างเช่น ความปลอดภัยของบริการบนเว็บ (WS-Security) และนโยบายบริการบนเว็บ (WS-Policy) จะนำมาใช้หรือไม่ และภายใต้สถานการณ์เช่นไรที่จะต้องนำมาใช้

คุณสามารถทำให้เห็นมาตรฐานเฉพาะบางประการในนโยบายส่วนบุคคล แต่กลยุทธ์ที่ดีกว่าคือการสร้างกรอบของการปฏิบัติงานร่วมกัน (IF:Interoperability Framework) กรอบของการปฏิบัติงานร่วมกันนี้เป็นนโยบายพิเศษที่จะแจงรายการมาตรฐานต่างๆที่องค์กรของคุณจะนำมาใช้ และบ่งชี้ข้อมูลอ้างอิงและสถานภาพของตัวเลือกที่ผ่านการเห็นชอบแล้ว เป็นความจริงในทางปฏิบัติ กำลังจะเกิดขึ้น ยังรักษาไว้ให้คงอยู่ ล่วง/ตกลงไปแล้ว หรือยังอยู่ในกระบวนการ

ตัวบ่งชี้เหล่านี้มีคำอธิบายอยู่ในตนเองเป็นส่วนมาก แต่มีสองประการที่ควรกล่าวถึง “การรักษาไว้ให้คงอยู่” บ่งชี้ว่าถึงแม้องค์กรจะเลือกสนับสนุนมาตรฐานอื่นอีกอันหนึ่งในเรื่องนี้ การใช้มาตรฐานเดิมจะต้องยังได้รับการสนับสนุน “การล่วง/ตกลง” บ่งชี้ว่าผู้พัฒนาควรย้ายจากมาตรฐานเดิมได้แล้วในทางปฏิบัติ

กรอบของการปฏิบัติงานร่วมกันนั้นแยกข้อมูลอ้างอิงต่อมาตรฐานการเปลี่ยนแปลงอย่างรวดเร็วออกจากนโยบายส่วนบุคคล ทำให้มันง่ายมากขึ้นสำหรับการจัดการ โดยรวมแล้ว กรอบของการปฏิบัติงานร่วมกันเป็นจุดที่เหมาะแก่การเริ่มต้นอย่างยิ่ง ถ้าเพียงเพราะว่าการเห็นชอบกับมาตรฐานนั้นจะเป็นงานนโยบายที่ง่ายที่สุดที่คุณต้องเผชิญ

สิ่งที่มีคุณค่าของการบริหารจัดการที่ยังคงเป็นข้อโต้เถียง

กระบวนการบริหารจัดการ (Governance) จะสร้างนโยบายต่างๆ แผนการเกี่ยวกับ XML เอกสารเกี่ยวกับWSDL การจัดเตรียมเอกสารต่างๆ และประดิษฐ์กรรมอื่นๆ และสิ่งเหล่านี้จะถูกแจกจ่ายให้กับผู้สนใจ

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

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

ผู้ค้าบางรายเสนอสิ่งที่พวกเขาเรียกว่า “คลัง (Repositories)” การลงทะเบียนที่ใช้เป็นที่เก็บข้อมูลที่มีการเปลี่ยนแปลงได้สำหรับบริการต่างๆ ที่ยิ่งกว่าเอกสารที่เกี่ยวกับ WSDL เพราะว่าการลงทะเบียนและคลังข้อมูลนั้นมีความสำคัญต่อกระบวนการพัฒนา ลองดูซอฟต์แวร์ที่สามารถผสมผสานได้อย่างดียิ่งกับสภาพแวดล้อมในการพัฒนาของคุณ ตัวอย่างเช่น ถ้าคุณคือ Eclipse Shop ก็ต้องมั่นใจว่าคุณเลือกการลงทะเบียนที่มี plug-in สำหรับ Eclipse

การลงทะเบียนยังมี APIs ซึ่งถูกใช้โดยแอพพลิเคชันในเวลาทำงานเพื่อค้นหาโปรแกรมและนโยบายที่เกี่ยวข้องได้อย่างแคล่วคล่อง ตัวอย่างเช่น ข้อมูลที่เปลี่ยนแปลงอื่นๆ อาจบอกแก่ผู้บริโภคโปรแกรมว่านโยบายความปลอดภัยใดที่โปรแกรมต้องการเพื่อที่ว่าลูกค้าสามารถปรับให้เข้ากับข้อเสนอโปรแกรมความเปลี่ยนแปลงได้อย่างคล่องแคล่วมีพลัง

นโยบายการแสดงระยะเวลานั้นมีประสิทธิภาพที่สุดก็ต่อเมื่อมันสามารถแสดงให้เห็นได้ด้วยระบบ WSM (Web services management) อาทิ ระบบของ Actional AmberPoint, Blue Titan, หรือซอฟต์แวร์ SOA ระบบ WSM ส่วนมากจะสื่อถึงสภาพของการถูกบังคับให้กระทำบนซอง SOAP ภายในระยะเวลาที่กำหนด ตัวอย่างเช่น WSM สามารถทำให้มั่นใจได้ว่าบริการต่างๆ ใช้ตัวแบบความปลอดภัยเป็นการเฉพาะ หรือ เอกสาร XML ที่แนบมานั้นสอดคล้องกับแผนการเฉพาะ

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

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

วางกฏในการทำงาน

การสร้างโค้ดต่างๆ จะไม่มีประสิทธิภาพมากนักหากไม่มีการวางผังการออกแบบเตรียมเอาไว้ให้ลงตัวเสียก่อน หรืออาจจะทำออกมาแล้วไม่ได้ผลเลยหากไม่มีการตรวจสอบ ในทำนองเดียวกันนโยบายแนวคิดเกี่ยวกับ SOA จะไม่มีค่าเลยถ้าไม่ถูกนำไปใช้ปฏิบัติ

นโยบายบางอย่างจะถูกนำไปทำให้เป็นระบบด้วย WSM หรือระบบการพัฒนา และสามารถถูกนำไปปฏิบัติได้โดยอัตโนมัติ บางนโยบายอาจมีเป้าหมายที่การเปลี่ยนแปลงหรือควบคุมพฤติกรรมของคน อาทิ คำสั่งที่บริการต่างๆ นำไปใช้กับโปรแกรมคุณภาพผลิตภัณฑ์นั้นจะต้องถูกบันทึกลงในทะเบียนผลิตภัณฑ์และถูกนำมาจัดระบบได้ไม่ง่ายเลย เพียงแค่นำคำสั่งใดคำสั่งหนึ่งไปปฏิบัติดีกว่า

การจัดการโครงการของกิจการมักเป็น One-stop shop สำหรับการบังคับใช้นโยบาย ผู้จัดการโครงการสามารถนำโครงการไปสู่การยินยอมปฏิบัติตามโดยปราศจากการบังคับเข้มงวด เทคนิควิธีอื่นๆ รวมถึงการทบทวนโครงการโดยร่างการบริหารจัดการแนวคิดเกี่ยวกับ SOA ก่อนที่จะนำกองทุนออกมา

สิ่งสำคัญเหนืออื่นใดคือพึงระลึกไว้ว่าเป้าหมายนโยบายแนวคิดเกี่ยวกับ SOA จะต้องเป็นไปในแนวทางเดียวกับสิ่งกระตุ้นทางด้านการเงิน ถ้าไม่เช่นนั้นแล้วความเป็นไปได้ของโปรแกรมจะดำเนินไปแบบไม่ได้รับการใส่ใจเท่าที่ควร “ในความเป็นจริงองค์กรที่พัฒนาจะดำเนินไปสวนทางกับงบประมาณและกำหนดระยะเวลาและความเป็นไปได้ของโปรแกรมที่ถูกละทิ้งไว้ โดยปราศจากกระบวนการบริหารจัดการที่เข้มแข็ง แนวคิดเกี่ยวกับ SOA จะมีการใช้ประโยชน์ไม่สม่ำเสมอทั่วทั้งองค์กร” บ็อบ ลาร์ด หัวหน้าสถาปนิกที่ MCIกล่าว “ถ้าบางส่วนขององค์กรไม่สามารถนำแนวคิดเกี่ยวกับ SOA มาใช้ได้แล้วละก็ คุณจะเสียเปรียบอย่างแน่นอน”

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

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

การร่างสัญญา (Crafting Contracts)

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

“สัญญาต่างๆ จะนำวงจรชีวิตทั้งของผู้บริโภคและผู้ผลิตมารวมเข้าด้วยกัน” สตาเน็คจากซิสติเน็ตอธิบาย “สัญญาเป็นจุดที่ใช้อ้างอิงในการอธิบายความต้องการของทั้งสองฝ่าย” สัญญาไม่ใช่ข้อตกลงระดับการบริการ (Service-level agreement) แบบทางเดียว แต่สัญญาอาจกำหนดพฤติกรรมของผู้บริโภคที่สามารถยอมรับได้ก็เพื่อว่าผู้ประกอบการด้านโปรแกรมสามารถวางแผนการบริโภค แนวทางก็คือให้ผู้ผลิตเฝ้าติดตามและคาดคะเนความต้องการของผู้บริโภค

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

การเริ่มต้นในแนวทางที่ถูกต้อง

การบริหารจัดการนั้นง่ายที่จะถูกละเลยในตอนต้น ซึ่งก็ไม่เป็นไรสำหรับในระยะทดลองของการใช้แนวคิดเกี่ยวกับ SOA แต่จากนั้นควรเปลี่ยนอย่างรวดเร็วเมื่อบริการเข้าใกล้ระยะผลิตภัณฑ์ ตามที่เบอร์ตันได้บ่งชี้ไว้ว่า “องค์กรต่างๆ มากมายมิได้เริ่มคิดเกี่ยวกับการบริหารจัดการจนกระทั่งไม่สามารถควบคุมสิ่งใดได้อีกแล้ว

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

เอ็ดฮอร์ส ผู้อำนวยการฝ่ายกลยุทธ์ผลิตภัณฑ์ของ AmberPoint ได้แนะนำให้สร้างระบบพื้นฐานการบริหารจัดการแต่เนิ่นๆ “พยายามใช้การจัดการ การลงทะเบียน และความปลอดภัยที่ละน้อยตั้งแต่แรกเริ่ม” นิสัยที่ไม่ดีจะเกิดขึ้นในเรื่องเหล่านี้ซึ่งจะทำให้ความพยายามที่จะใช้บริการจัดการโดยใช้แนวคิดเกี่ยวกับ SOA นั้นยุ่งยากซับซ้อนมากขึ้น หากไม่มีระบบการจัดการ นักพัฒนาจะพัฒนาซอฟต์แวร์ที่ฝังเหตุผลของการจัดการลงซอร์สโค้ดของโปรแกรมโดยตรง (hardcode) และก็ต้องเสียเวลามาเขียน พวกเขาจะไม่มีความคิดว่าจะได้ข้อมูลการจัดการมาอย่างไรในเมื่อพวกเขาใช้ระบบการจัดการจริงๆ อยู่” เขากล่าว

เพราะแนวคิดเกี่ยวกับ SOA เป็นการกระจายอำนาจโดยปกติวิสัย การบริหารจัดการ (Governance) คือความแตกต่างระหว่างความสำเร็จกับความสับสนวุ่นวาย ตามที่เมนได้กล่าวไว้ “การทำโครงการ Web service เล็กๆ จำนวนมากโดยมิได้บริหารจัดการนั้น ยังไงก็ไม่ใช่ SOA แต่เป็นแค่ของเล่นเท่านั้น”

ข้อปฏิบัติสำคัญในสำหรับการบริหารจัดการ SOA ที่ดี

การบริหารงานการจัดการแบบ SOA เป็นการอยู่ร่วมกันในสังคมแบบธรรมชาติ เป็นการเปิดโอกาสให้มีการพุดคุยกันอย่างต่อเนื่องระหว่าวผู้พัฒนาและผู้ออกแบบ

การตั้งคณะกรรมการเพื่อพิจารณา: นโยบายในการบริหารงานการจัดการ ควรมีการพัฒนา รักษาให้คงอยู่ไว้ และปรับปรุงเปลี่ยนแปลง โดยมีคณะกรรมการเป็นผู้ดำเนินการมากกว่าทำโดยการสั่งการ คนที่รู้ว่าอะไรกำลังเกิดขึ้นในเบื้องล่างต้องได้รับรู้ในสิ่งที่เป็นจริง

การพัฒนากรอบของความสามารถในการทำงานระหว่างกันเป็นลำดับแรก: ความเป็นมาตรฐานเป็นหลักสำคัญของการบริหารงานการจัดการแบบ SOA เริ่มต้นด้วยการสร้างกรอบของความสามารถในการทำงานระหว่างกันให้กว้างขวาง โดยรายละเอียดของโพรโคอลเป็นไปตามองค์กรของคุณ

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

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

การแต่งตั้งกรรมการผู้จัดการใหญ่ (CEO)(เป็นศูนย์รวมของความเก่งความสามารถ): ในองค์กรขนาดใหญ่ กรรมการผู้จัดการ จะต้องมีพนักงานที่ทำงานเต็มเวลาอย่างเต็มที่เพื่อสนับสนุนการบริหารงานการจัดการแบบ SOA กรรมการผู้จัดการที่ทำงานอย่างมีประสิทธิผลจะช่วยชี้นำและศึกษาการบริหารงานการจัดการที่ได้พยายามทำไปด้วยกัน

สร้างนโยบายด้วยความพร้อมเพียงกัน: การปราศจากการบังคับทำให้นโยบายมีความหมายน้อยมาก สร้างนโยบายลงในเซอร์วิสในจุดที่เป็นไปได้นอกจากนั้นตรวจสอบให้แน่ใจว่าผู้พัฒนาเข้าใจและระวังไม่ฝ่าฝืนกฏต่างๆ อีกด้วย

No comments:

Copyright 2007-2010 © SOA Service Oriented Architecture. All Rights Reserved