SOA


SOA  คือ ????

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

การอธิบายแนวคิด SOA สามารถแบ่งได้เป็น 2 คำ คือ Service-Orientedและ Architecture

- Service-Oriented เป็น Software ที่ไม่ใช่ซอฟต์แวร์แพ็คเกจ แต่เป็นซอฟต์แวร์ตัวเล็ก ทำงานเฉพาะด้าน ขึ้นอยู่กับว่าจะแบ่งเป็นบริการอะไรบ้าง

- Architecture คือ การออกแบบ โดยจะมององค์กรโดยรวมว่าต้องการบริการอะไรบ้าง ก็จะแบ่งบริการนั้นๆออกเป็นส่วนย่อยๆ
             
ทั้งนี้ หลายคนมองว่า SOA คือ web service แต่จริงๆแล้วไม่ใช่เพราะweb service เป็นแค่เครื่องมือในการใช้งาน ดังนั้น SOA จึงไม่ใช่สินค้า หาซื้อไม่ได้ แต่มันคือแนวคิดที่ต้องสร้างเองในองค์กร
ปัจจุบัน SOA (Service-Oriented Architecture) เป็นหลักการการออกแบบสถาปัตยกรรมซอฟต์แวร์ที่มีการพูดถึงกันมาก โดยหลายๆ องค์กรพยายามที่จะออกแบบระบบทางด้านไอทีให้เข้าสู่ระบบ SOA แต่เนื่องจากSOA เป็นหลักการในการออกแบบ ดังนั้นการทำความเข้าใจและนำไปพัฒนาให้ใช้งานได้จริงนั้น ยังเป็นเรื่องที่ยาก จนเมื่อเว็บเซอร์วิส (Web Service) ซึ่งเป็นวิธีการหนึ่งในการพัฒนาตามหลักการของ SOA เกิดขึ้นมา จึงทำให้แนวคิดSOA ได้รับความนิยมขึ้นมาอย่างมาก จนบางครั้งทำให้หลายๆ คนคิดว่า SOAและ web service เป็นเรื่องเดียวกัน แต่จริงๆ แล้ว SOA เป็นแนวคิดหรือรูปแบบในการออกแบบการให้บริการ ส่วนเว็บเซอร์วิสเป็นวิธีการหนึ่งในการพัฒนาตามหลักการของ SOA เท่านั้น ทั้งนี้อาจใช้แนวทางอื่นในการพัฒนาระบบ SOAก็ได้ เช่นการใช้ CORBA (Common Object Request Broker Architecture)หรือ Java RMI (Remote Method Invocation)

ที่มาของ SOA

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

 Silo-Oriented Architecture

        แนวคิดของระบบ SOA คือการจัดระบบ Silo-Oriented Architecture ใหม่ โดยการสร้างระบบไอทีให้เป็น 4 ชั้น (Layer) ดังแสดงในรูป

- Resource Layer ซึ่งจะเป็นชั้นของระบบโครงสร้างไอทีต่างๆ ในปัจจุบัน เช่น ระบบฐานข้อมูล Oracle   ระบบโซลูชัน SAP หรือPeopleSoft เป็นต้น 

- Service Layer ซึ่งเป็นชั้นของส่วนประกอบเซอร์วิสต่างๆ ที่สามารถนำมาใช้ใหม่ได้ โดยส่วนประกอบเซอร์วิสเหล่านี้จะพัฒนามาจากโมดูล (Module) ต่างๆ ที่รันบน Resource Layer เช่น โมดูลของฐานข้อมูล Oracle โมดูลของระบบโซลูชัน SAP หรือ PeopleSoft และโมดูลของโปรแกรมประยุกต์ที่อาจพัฒนาด้วย Java หรือ .NETเป็นต้น 

- Process Layer ซึ่งเป็นชั้นของกระบวนการทางธุรกิจ (Business Process) ที่พัฒนาขึ้นมาจากการส่วนประกอบเซอร์วิสต่างๆ 

- Access Layer ซึ่งเป็นชั้นของการเรียกใช้กระบวนการทางธุรกิจที่พัฒนาขึ้น โดยอาจผ่านทางเว็บไซต์ (Web Site) หรือโทรศัพท์เคลื่อนที่ (Mobile Phone)


 SOA Layers
  


SOA Conceptual Diagram

ดังนั้นจะเห็นได้ว่า SOA เป็นการเปลี่ยนระบบ Silo-Oriented Architecture มาสู่ระบบ Service-Oriented ซึ่งออกแบบเป็นชั้นๆ ทำให้สามารถพัฒนา ปรับปรุง หรือเพิ่มเติมโปรแกรมใหม่ได้ง่าย



คุณลักษณะที่สำคัญของระบบ SOA

- การติดต่อสื่อสารระหว่างเซอร์วิส จะใช้เอกสารที่เป็น XML ที่นิยามผ่าน XML Schema (.xsd) ทำให้ไม่จำเป็นต้องทราบรายละเอียดของแพลตฟอร์มและเทคโนโลยีของเซอร์วิสที่ใช้อยู่

- เซอร์วิสจะมีตัวเชื่อมต่อ (Interface) ที่อธิบายเซอร์วิส เช่น Service Name, Input Parameter, Output Parameter และข้อมูลอื่นๆ ในรูปแบบของไฟล์ XML ทำให้ไม่ขึ้นกับแพลตฟอร์มและเทคโนโลยีที่เซอร์วิสนั้นใช้อยู่ โดยมากมักจะใช้มาตรฐาน WSDL (Web Service Description Language) ในการอธิบายเซอร์วิส

- โปรแกรมประยุกต์ (Application) หรือกระบวนการทางธุรกิจต่างๆ สามารถพัฒนาขึ้นมาจากการใช้เซอร์วิสเดิมที่มีอยู่ ซึ่งมาตรฐานที่นิยมใช้คือ WS-BPEL (Web Service Business Process Execution Language)

- SOA จะมี Registry ในการเก็บเซอร์วิสต่างๆ ที่มีอยู่ ซึ่ง Registry จะทำหน้าที่เหมือนไดเร็กทอรี่ของเซอร์วิส โดยโปรแกรมประยุกต์หรือกระบวนการทางธุรกิจต่างๆ จะค้นหาและเรียกใช้เซอร์วิสจากRegistry นี้ มาตรฐานที่ใช้ในการเก็บ Registry ที่นิยมใช้คือ UDDI (Universal Description Definition and Integration)

- เซอร์วิสแต่ละตัวจะมีส่วนการควบคุมคุณภาพที่เป็น QoS (Quality of Service) อาทิเช่น การควบคุมความปลอดภัยด้าน Authentication, Authorization, Reliable Message และ Policy

เหตุผลของการพัฒนา SOA

        การพัฒนาสถาปัตยกรรม SOA จะมีประโยชน์ต่อองค์กรในหลายๆ ด้าน อาทิเช่น การทำให้ข้อมูลต่างๆภายในองค์กรเชื่อมโยงกัน การลดค่าใช้จ่ายในการบำรุงรักษา การทำให้การพัฒนาโปรแกรมใหม่เป็นไปด้วยความรวดเร็วขึ้น และทำให้ระบบไอทีในองค์กรไม่ผูกติดอยู่กับระบบใดระบบหนึ่ง
       โครงสร้างของระบบไอทีขององค์กรขนาดใหญ่ (Information Technology Enterprise) จะประกอบไปด้วยระบบที่หลากหลายทั้งในด้านระบบปฏิบัติการ (Operating System) โปรแกรมประยุกต์ และระบบซอฟต์แวร์ ซึ่งโปรแกรมประยุกต์บางโปรแกรม อาจใช้ในการทำงานกับกระบวนการทางธุรกิจบางอย่าง ที่อาจทำงานภายใต้ระบบโครงสร้างไอทีเดิม เช่นพัฒนาโดยใช้เครื่องเมนเฟรม ดังนั้นเมื่อมีความจำเป็นต้องเปลี่ยนแปลงกระบวนการทางธุรกิจ จะทำให้การเปลี่ยนแปลงโดยใช้โครงสร้างไอทีเดิมทำได้ยาก จนอาจมีความต้องการที่จะยกเลิกระบบเดิมและพึ่งพาเทคโนโลยีใหม่ ระบบ SOA จะช่วยคุ้มครองการลงทุนขององค์กร เพื่อให้สามารถนำระบบโครงสร้างไอทีเดิมมาใช้ต่อไปได้ โดยการพัฒนาระบบโปรแกรมเดิมให้เป็น SOA Service และสามารถพัฒนากระบวนการทางธุรกิจจากเซอร์วิสต่างๆ ที่มีอยู่ จึงทำให้องค์กรสามารถเปลี่ยนกระบวนการทางธุรกิจได้อย่างรวดเร็ว โดยใช้โปรแกรมประยุกต์เดิม และโครงสร้างไอทีเดิมที่มีอยู่
           เหตุผลหลักขององค์กรในการพัฒนาระบบ SOA จึงมักจะเริ่มจากความต้องการในการเชื่อมโยงระบบโครงสร้างไอทีต่างๆ ในปัจจุบันเข้าด้วยกัน หรือการทำ Enterprise Application Integration (EAI) แต่ระบบ SOA จะแตกต่างกับระบบ EAI เดิมในแง่ที่ของความสามารถในการพัฒนากระบวนการทางธุรกิจใหม่จากเซอร์วิสเดิมที่มีอยู่ และมีการใช้ถึงมาตรฐานต่างๆ จากนั้นก็จะเป็นการนำ SOA มาใช้เพื่อพัฒนากระบวนการทางธุรกิจใหม่ๆ

ประโยชน์ของการพัฒนา SOA


               การพัฒนาระบบโครงสร้างไอทีในองค์กรให้เป็นระบบ SOA จะเกิดประโยชน์ในด้านต่างๆ ดังนี้ 

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

- ระบบไอทีสามารถปรับเปลี่ยนได้ง่าย
การพัฒนา
 SOA สามารถที่จะทำให้นำระบบไอทีเดิมมาใช้ใหม่ได้ ดังนั้นการปรับเปลี่ยนกระบวนการทางธุรกิจจึงเป็นไปได้อย่างรวดเร็ว และทำให้สามารถแข่งขันในตลาดธุรกิจได้อย่างรวดเร็ว

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

- การพัฒนา
 Business Process ของฝ่ายไอทีจะมีขั้นตอนที่ชัดเจนสามารถแสดงในเชิงกราฟฟิกได้และเข้าใจง่ายขึ้น และหน่วยงานทางธุรกิจที่ต้องเข้าใจด้านกระบวนการทางธุรกิจสามารถที่จะเข้ามาร่วมทำการพัฒนาร่วมกับฝ่ายไอทีได้ดีขึ้น

โซลูชันสำหรับการพัฒนา SOA

            แม้ว่า SOA จะเป็นแนวคิดในการพัฒนาสถาปัตยกรรมไอที แต่การจะพัฒนา SOA ได้ก็จำเป็นจะต้องมีผลิตภัณฑ์ (Product) ต่างๆ ดังนี้

            1. Enterprise Service Bus เป็นโครงข่ายสำคัญในการขับเคลื่อน SOAทั้งหมด เป็นการเชื่อมต่อระหว่างแอพพลิเคชัน
            2. Design-Time Governance เป็น database กลางช่วยรวบรวมว่าองค์กรมีบริการอะไรบ้าง และช่วยนำบริการออกไปยังหน่วยงานและควบคุมบริการให้เหมาะสมกับองค์กรด้วย
           3. Run-Time management เป็นตัวจัดการ ทำอย่างไรให้บริการทำงานสอดคล้องกับ SOA ที่ตั้งไว้
            4. Security Gateway ในที่นี้ไม่ได้หมายถึง Firewall ที่เป็นเน็ตเวิร์ก แต่เป็น Application Firewall ที่เข้าใจคำสั่ง XML นอกจากนี้ต้องมี Application Delivery Control ช่วยเร่งความเร็วในการทำงานของ SOA ด้วย

องค์กรที่นำระบบ SOA มาประยุกต์ใช้

          แม้ว่า SOA จะมีประโยชน์และผลตอบแทนการลงทุนในระยะยาว (ROI: Return of Investment) จะคุ้มค่า แต่การลงทุนเริ่มต้นค่อนข้างสูง เพราะต้องการซอฟต์แวร์ ESB และฮาร์ดแวร์ขนาดใหญ่ที่มีหลาย CPU ประกอบกับค่าพัฒนาระบบค่อนข้างสูงเนื่องจากต้องการทีมงานที่เข้าใจกระบวนการธุรกิจด้านนั้น ในปัจจุบันองค์กรในประเทศไทยหลายๆ องค์กรเริ่มมีโครงการ SOA เข้ามาทั้งในภาคธุรกิจการเงิน โทรคมนาคม และภาครัฐ ซึ่งจะเห็นได้ว่าโครงการเหล่านี้มีมูลค่าหลายสิบล้านบาท และผู้พัฒนาไม่ใช่แค่นักพัฒนาโปรแกรม (Developer)แต่ต้องเป็นผู้เชี่ยวชาญด้านธุรกิจนั้นๆ ด้วย เพราะการนิยามเซอร์วิสและการพัฒนากระบวนการทางธุรกิจต้องมีความเข้าใจธุรกิจนั้นเป็นอย่างดี
      
          ในต่างประเทศมีการนำ SOA มาประยุกต์ใช้ในองค์กรต่างๆ จำนวนมากทั้งในภาคการเงิน โทรคมนาคม ค้าปลีก ภาครัฐ และระบบสาธารณสุข ตัวอย่างเช่น Australia Department of Defense, Us Army, Center Point of Energy, Blue Cross, General Motors, ABN-AMRO และSmart เป็นต้น

          ตัวอย่างของระบบสาธารณสุขใน UK (National Healthcare System)เป็นตัวอย่างหนึ่งที่น่าสนใจ เพราะเป็นการพัฒนาระบบ SOA ที่ใหญ่ที่สุดในโลกแห่งหนึ่ง โดยการเชื่อมโยงระบบไอทีของโรงพยาบาลกว่า 250 แห่ง คลีนิกและสถานพยาบาลกว่า 600,000 แห่งทั่วประเทศ เพื่อเชื่อมโยงระบบไอทีกว่า 10,000 ระบบ โครงการนี้ให้บริการประชาชนกว่า 50 ล้านคน และมีจำนวนธุรกรรม (Transaction) ต่อปีกว่าหกพันล้าน โดยโครงการนี้มีมูลค่าการลงทุนสูงถึง 2.3 พันล้านเหรียญสหรัฐ

ข้อดีของ SOA

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

ข้อเสียของ SOA

           SOA มีปัญหาด้านการออกแบบให้เกิดความปลอดภัยและปัญหาเรื่องเสถียรภาพของระบบเครือข่าย ซึ่งถือเป็น "Infrastructure" หลักของSOA เพราะถ้าหากระบบเครือข่ายเกิดปัญหา ย่อมส่งผลกระทบกับSOA ทั้งระบบได้ การติดต่อรับส่งข้อมูลแบบ Plain Text ก็เป็นปัญหาใหญ่เหมือนกับเทคโนโลยี Web Service เช่นกัน
มีช่องว่างด้านความปลอดภัย ถูกโจมตีได้ง่าย

ช่องโหว่ SOA ที่ไม่ควรมองข้าม

           ทว่าแนวคิด SOA ก็ต้องได้รับความปลอดภัยสูงเช่นกัน  ในมุมมองของผู้ผลิตอุปกรณ์เครือข่าย อย่างบริษัท ทรีคอม (ประเทศไทย) จำกัด โดยนายสุรชัย ไชยรังกิจรัตน์ กล่าวว่า แนวคิด SOA คือการออกแบบอยู่บนซอฟต์แวร์ที่แยกกันเป็นส่วนๆ ถ้ามีซอฟต์แวร์ 10 ตัว ระบบก็ต้องรายงาน 10 ตัว ไม่เหมือนซอฟต์แวร์แบบดั้งเดิมที่รายงานรวมกันทั้งหมดเพียงครั้งเดียว
            นอกจากนี้ เนื่องจาก SOA ใช้ web service เป็นเครื่องมือ ที่วิ่งอยู่บนProtocol XML ดังนั้นจึงเป็นมิตรกับมนุษย์ นั่นหมายถึงคนสามารถเข้าไปอ่านข้อมูลได้เพียงรู้ชื่อผู้ใช้งาน ไม่เหมือนภาษาคอมพิวเตอร์แบบสมัยก่อน  ดังนั้นแต่ละช่องของซอฟต์แวร์ที่คุยกันจึงมีช่องว่างด้านความปลอดภัย ถูกโจมตีง่าย
            เน็ตเวิร์กจึงต้องมีความปลอดภัยสูง มีความเสถียรในการใช้งาน และสามารถมอนิเตอร์ได้ ต้องแน่ใจว่าไม่มีใครมาเปลี่ยนแปลงข้อมูลในการส่งระหว่างทางไปถึงผู้รับ
            เมื่อ SOA คือคำตอบของการวางโครงสร้างพื้นฐานด้านไอทีแล้ว เพราะการใช้งานด้านไอที ไม่ได้จำกัดอยู่แต่เพียงการใช้ซอฟต์แวร์สำเร็จรูปเพื่อบันทึกข้อมูลของบุคลากรอีกต่อไป แต่ยังจำเป็นต้องวิเคราะห์และบริการจัดการข้อมูล และสร้างบริการในเชิงลึกอีกมาก สิ่งที่องค์กรต้องคำนึงถึงในการเลือกเวนเดอร์เพื่อเข้ามาสนับสนุนการวางระบบให้ สามารถเลือกได้ 2 แบบ คือ แบบแรก ใช้เวนเดอร์เจ้าเดียวเพื่อหาโซลูชันที่ต้องการให้ ซึ่งวิธีการนี้จะไม่มีปัญหาในการนำโซลูชันหลายๆอย่างมาอินทริเกรทกัน เพราะเวนเดอร์จะรู้ระบบและสามารถกระทำได้จากโซลูชันที่ได้เลือกมา วิธีที่สอง คือ  ใช้เวนเดอร์หลายเจ้าโดยเลือกจากเวนเดอร์ที่มีจุดแข็งในแต่ละโซลูชัน แต่อาจมีปัญหาเรื่องการอินทริเกรทโซลูชัน เพราะเป็นโซลูชันจากคนละเวนเดอร์มาอยู่ด้วยกัน ดังนั้น ควรเลือกโซลูชันที่เป็นโอเพ่นซอร์ส จะไม่มีปัญหาในการอินทริเกรท เนื่องจากเป็นซอฟต์แวร์เปิด

บทสรุป

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



In-House


In-House คือ อะไร

In-house (ผลิตเอง) หมายถึง การพัฒนางานภายในองค์กรเป็นหลัก

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


Outsource



Outsource คืออะไร

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

     โดยประโยชน์ของการทำธุรกิจด้วยการใช้ Outsource มีสาระสำคัญที่พอจะสรุปได้ดังต่อไปนี้

1.ต้นทุนค่าใช้จ่ายน้อยลง

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

2.ตัดตอนโครงสร้างการดูแลและบริหาร

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

3.ไม่ต้องเสียเวลาฝึกพนักงาน

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

4.ได้พนักงานมืออาชีพ

บุคคลหรือบริษัทที่มารับงานในลักษณะของ Outsource ต่อจากผู้ประกอบการจะมีลักษณะของความเป็นมืออาชีพติดตัวเป็นทุนเดิมมาอยู่แล้ว (ขึ้นอยู่กับการคัดเลือกของผู้ประกอบการด้วย) พวกเขาจะมี know – how และรู้ว่าอะไรคือสิ่งที่ควรทำเพื่อตอบสนองกับความต้องการทางธุรกิจของท่าน และในบางครั้งพวกเขายังอาจแนะนำเทคนิคดีๆที่ช่วยเพิ่มประสิทธิภาพการทำงานของบริษัทผู้ประกอบการได้อีกด้วย

5.เพิ่มประสิทธิภาพการทำงานของบริษัท

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

6.สร้างความน่าเชื่อถือให้กับลูกค้า

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

ส่วนข้อด้อย

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



WEKA

ซอฟต์แวร์ Weka (Software Weka)


        Weka ย่อมาจาก Waikato Environment for Knowledge Analysis ซึ่งเป็นซอฟต์แวร์สำเร็จรูปประเภทฟรีแวร์ที่สามารถดาวน์โหลดได้จากเว็บไซต์ซึ่งอยู่ภายใต้การควบคุมของ GPL License ซึ่งโปรแกรมWeka ได้ถูกพัฒนามาจากภาษาจาวาทั้งหมด ซึ่งเขียนมาโดยเน้นกับงานทางด้านการเรียนรู้ด้วยเครื่อง (Machine Learning) และการทำเหมืองข้อมูล (Data Mining) โปรแกรมจะประกอบไปด้วยโมดูลย่อย ๆ สำหรับใช้ในการจัดการข้อมูล และเป็นโปรแกรมที่สามารถที่ใช้Graphic User Interface (GUI) และใช้คำสั่งในการให้ซอฟต์แวร์ประมวลผลส่วนประกอบหลักของซอฟต์แวร์ Weka จะประกอบไปด้วยดังต่อไปนี้ 

    1. Simple CLI (Command Line Interface) เป็นโปรแกรมรับคำสั่งจากการทำงานผ่านการพิมพ์ทางระบบ
    2. Explorer เป็นโปรแกรมที่ออกแบบในลักษณะ GUI เพื่อหาความรู้ที่ต้องการเมนูหลักของ Explorer ประกอบไปด้วย 
                 -  Preprocess เป็นการเตรียมข้อมูล
                 - Classify เป็นการรวมโมดูลของการทำเหมืองข้อมูลแบบจัดแบ่งประเภท
                 - Cluster เป็นการรวมโมดูลของการทำเหมืองข้อมูลแบบการเกาะกลุ่ม
                 - Associate เป็นการรวมโมดูลของการทำเหมืองข้อมูลแบบกฎเชื่อมโยง
                 - Select attributes เป็นการรวมโมดูลสำหรับการวิเคราะห์ความเกี่ยวพันของลักษณะประจำ
                 - Visualize เป็นการนำเสนอข้อมูลด้วยภาพนามธรรมสองมิติ
                 - ส่วนประกอบอื่นของ Explorer
     3. Experimenter เป็นโปรแกรมที่ออกแบบการทดลองและการทดสอบผลโดยใช้สถิติ
     4. Knowledge Flow เป็นโปรแกรมที่ออกแบบผังในการไหลของความรู้ แสดงดังภาพ


pentaho


              เมื่อสัปดาห์ที่แล้ว Hitachi Data Systems (HDS) จัดงาน Big Data Driven Future หัวข้อหนึ่งในนั้นที่อยากนำมาเล่าให้ฟังคือ from Data to Insights ซึ่งบรรยายโดย Joerg Mutsch ชาวเยอรมันที่เป็น Pentaho Solution Engineer ประจำอยู่ที่สิงคโปร์
Pentaho กับ Hitachi Data Systems
สำหรับคนที่เคยรู้จักหรือใช้งาน Pentaho มาก่อน คงไม่แปลกใจนักที่ Pentaho ซึ่งเป็น Open Source Business Analytics แพลตฟอร์มอันดับต้นๆ ถูกซื้อไปเมื่อปี 2015 แต่อาจจะแปลกใจที่ผู้ซื้อเป็น HDS นั่นเป็นเพราะเราอาจจะไม่ได้รู้จักฮิตาชิมากไปกว่าแบรนด์เครื่องใช้ไฟฟ้าภายในบ้าน แต่ความจริงแล้วฮิตาชิมีสินค้าและบริการกว้างขวางครอบคลุมหลายอุตสาหกรรมมาก


      ธีมหลักของฮิตาชิ คือ Social Innovation ซึ่งมุ่งที่จะสร้างนวัตกรรมเพื่อสังคม ผ่านทางสินค้าและบริการตอบสนองงานด้านต่างๆ เช่น Smart City, Smart Commerce, Smart Industry และ Smart Environment โดยส่วนที่ฮิตาชิมีอยู่ก่อนแล้ว คือสินค้าและบริการในส่วน Infrastructure และในส่วน Solutions deployment services
การเข้าซื้อกิจการ Pentaho ซึ่งเป็น Analytic Platform เป็นการเติมเต็มช่องว่างในช่วงกลาง ทำให้วิสัยทัศน์ของฮิตาชิมีความครบถ้วนสมบูรณ์มากยิ่งขึ้น และในขณะเดียวกัน ก็ช่วยให้ Pentaho มีแหล่งทรัพยากรที่จำเป็นต่อการพัฒนาเทคโนโลยีต่อไปด้วย

บทบาทของ Pentaho ในการประสานโลกเก่ากับใหม่เข้าด้วยกัน
Joerg (อ่านออกเสียงว่า ยอร์ก) เล่าให้ฟังถึงปัญหาของหลายองค์กรที่กำลังเผชิญอยู่เมื่อ พยายามจะใช้ประโยชน์จาก Big Data ปัญหาก็คือ ระบบถูกแยกออกเป็นสองส่วน



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



การที่ Pentaho จะเข้ามามีส่วนช่วยผนวกรวมสองส่วนนี้เข้าด้วยกัน จะใช้องค์ประกอบสำคัญสองส่วน นั่นคือ PDI (Pentaho Data Integration) เข้ามาช่วยทำ ETL และ data integration และ BA (Business Analytics) ซึ่งเป็นแพลตฟอร์มและส่วน front-end เพื่อให้ผู้ใช้ใช้งานได้อย่างสะดวก
ตัวอย่างการใช้งาน Pentaho กับธุรกิจ
มีการเล่าถึง business case 3 ตัวอย่างโดยแบ่งตามความซับซ้อนและผลกระทบต่อธุรกิจ



จากภาพ แกนนอนจะเป็นความซับซ้อนของกรณีศึกษา ตั้งแต่แบบง่ายๆ ไปจนถึงกรณีที่มีความซับซ้อนมากและในแนวตั้งจะเป็นผลกระทบต่อธุรกิจ เริ่มตั้งแต่การแค่ optimize กระบวนการและขั้นตอนการทำงาน ไปจนถึงการทำ business transformation
NASDAQ
ตัวอย่างแรกเป็นเรื่องของตลาดหุ้น NASDAQ ซึ่งเน้นให้เห็นถึงประโยชน์ของการใช้ Pentaho solution เข้ามาช่วยเรื่อง data warehouse optimization ทำงานร่วมกับ Amazon Redshift โดยมีปริมาณข้อมูลทางการเงินเข้ามากว่า 10 billion rows ต่อวัน จากการซื้อขายหุ้นมากกว่า 15 ล้านรายการ ส่งผลให้มี fact table ขนาด 150 ล้านแถว
ผลลัพธ์ที่ได้ก็คือ การที่สามารถลดเวลาในการประมวลผลลงเหลือแค่ 30 นาที ในขณะที่ลด TCO (Total Cost of Ownership) เหลือเพียง 50% ผ่านการลดจำนวน system & database admin และ development teams และยังสร้างรายได้ผ่านการขายบริการ option analysis ซึ่งนับเป็น 20% ของรายได้ของ NASDAQ เอง
CATERPILLAR
ตัวอย่างต่อไปคือระบบ Marine Asset Intelligence ของ Caterpillar ซึ่งทำหน้าที่ติดตามเครื่องจักรกลในเรือเดินสมุทรกว่า 3,000 ลำ โดยที่ในเรือแต่ละลำมีเซ็นเซอร์นับพันตัว สร้างข้อมูลรวมกันถึง 2.6 พันล้านจุดในแต่ละเดือน



ข้อมูลเหล่านี้ จำเป็นต้องถูกนำมาวิเคราะห์เพื่อ ติดตามสถานภาพ ประเมินประสิทธิภาพการทำงาน วางแผนการซ่อมบำรุง และพยากรณ์จุดล้มเหลวเพื่อหลีกเลี่ยง




โซลูชั่นของ Pentaho จะแบ่งออกเป็นสองส่วน ส่วนแรกคือ onboard ship analytics คือในเรือแต่ละลำจะมี Pentaho Server ของตัวเองเพื่อใช้งานในระหว่างเดินทาง และเมื่อเข้าเทียบท่า ข้อมูลเหล่านั้นจะถูกส่งมาที่ Onshore analytics เพื่อทำการวิเคราะห์ในภาพรวมอีกครั้ง
มีการใช้งานร่วมกับ WEKA และ R เพื่อใช้อัลกอริทึมในการพยากรณ์โอกาสที่อุปกรณ์จะล้มเหลว
ผลลัพธ์ที่ได้คือ การลดค่าใช้จ่ายโดยทั่วไปได้ $500k $1.5M ต่อปีต่อลำ และยังได้ประโยชน์จากการประหยัดค่าเชื้อเพลิงและลด downtime ของเรือลงด้วย
Tesla Motor 360 Degree View
ตัวอย่างสุดท้ายเป็นการวิเคราะห์ปรากฎการณ์ที่หุ้นของ Tesla Motor มีมูลค่ากระโดดสูงขึ้นอย่างพรวดพราด โดยเริ่มจากการที่ Tesla Motor ประกาศ open source สิทธิบัตร ผ่านทางบล็อกของ Elon Musk  (ข่าวไทย)  เมื่อวันที่ 12 มิถุนายน 2014 แล้วถัดจากนั้นอีก 3 วันมีข่าวใน Financial Times ว่ากลุ่มผู้ผลิตรถยนต์ไฟฟ้า (Nissan, BMW และ Tesla) เริ่มคุยกันถึงเรื่องความร่วมมือในการสร้างมาตรฐานเทคโนโลยีการชาร์จไฟฟ้ารถยนต์ ส่งผลให้หุ้นของ Tesla ราคาพุ่งพรวดขึ้นตามรูป (หากสังเกต จะพบว่าราคาหุ้นตกลงหลังจากประกาศ open source patent)



การวิเคราะห์ครั้งนี้ เป็นการใช้ข้อมูลจาก NASDAQ (ข้อมูลการซื้อขายระหว่างวัน ผ่าน API) ร่วมกับ Twitter data ผ่าน API เช่นกัน นำมาผสานรวมกันด้วย Pentaho Data Integration และเก็บข้อมูลไว้ใน mongoDB และใช้ Pentaho Predictive Analytics วิเคราะห์ร่วมกับ twitter sentiment score