องค์กรธุรกิจในปัจจุบันได้ให้ความสนใจในการนำซอฟต์แวร์มาใช้จัดการเกี่ยวกับการทำงานภายในองค์กร และนอกองค์กรมากขึ้น เช่น การใช้ระบบ ERP (Enterprise Resource Planning) หรือ “การบริหารทรัพยากรขององค์กร”, การใช้ระบบ CRM (Customer Relationship Management) หรือ “ระบบการบริหารลูกค้าสัมพันธ์”, การจัดซื้อวัตถุดิบจาก Supplier โดยใช้ “ระบบการบริหารผู้จัดส่งสัมพันธ์” หรือ SRM (Supplier Relationship Management) เป็นต้น
ซึ่งในองค์กรที่ต้องใช้หลายระบบงานร่วมกัน จำเป็นต้องมีการสร้างมาตรฐานขึ้นมาเพื่อที่จะช่วยให้แต่ละระบบเชื่อมต่อกันและติดต่อสื่อสารกันได้ จึงเกิดแนวคิดของสถาปัตยกรรมเชิงบริการ (SOA : Service-Oriented Architecture) ขึ้นมา แล้ว SOA คืออะไร? เรามาทำความรู้จักกับ SOA กันก่อน...
SOA คืออะไร?
SOA หรือ Service Oriented Architecture คือ สถาปัตยกรรมแบบแผน (Architecture Pattern) ที่มี Service ต่างๆ อยู่รวมกันแบบอิสระ (Independent) ในแต่ละ Service จะมีหน้าที่ (Functional) ที่แตกต่างกันไปตามความต้องการ (Requirement) ที่ได้กำหนดไว้ เพื่อให้แอปพลิเคชั่น (Application) อื่นๆ เรียกใช้
Enterprise SOA คืออะไร?
Enterprise SOA หรือ SOA ที่ใช้ในระดับองค์กร จะเหมือนกับ SOA แต่ต่างกันตรงที่ Enterprise SOA ได้เอา Service ต่างๆ ที่ใช้ในระดับองค์กร (Enterprise Service) ไปเก็บไว้ในที่เก็บเฉพาะ หรือที่เรียกว่า Enterprise Service Repository (ให้ดูรูปเปรียบเทียบระหว่าง SOA กับ Enterprise SOA ประกอบ) ซึ่งในแต่ละ Enterprise Service จะมี Business Function ของแต่ละ Requirement อยู่ และอยู่บนมาตรฐานของ Web Service เพื่อให้ Web Service Client เรียกใช้ได้ ดังนั้น ในการที่จะให้สามารถเรียกใช้ Service ต่างๆได้ จะต้องมีการกำหนดมาตรฐานขึ้นมาเพื่อให้อยู่ในรูปแบบเดียวกัน เช่น กำหนดให้มีการใช้ Customer Number ในรูปแบบเดียวกันทั่วทั้ง Enterprise Service และตั้งชื่อแต่ละ Service ให้สื่อความหมายเพื่อให้เรียกใช้ได้ง่ายขึ้น
![]() |
![]() |
จากรูปเป็นตัวอย่างของการอัพเดทใบสั่งซื้อสินค้า (Update Order) ถ้าเป็น SOA ผู้ใช้งานจะต้องกำหนดขั้นตอนการเรียกใช้ Service เองจนจบกระบวนการ Update Order เมื่อสร้างมาแล้วก็รับประกันไม่ได้ว่าจะทำงานได้จริงหรือไม่ และไม่มีระบบการจัดการรองรับ แต่สำหรับ Enterprise SOA ที่มี Enterprise Services Repository สำหรับจัดเก็บความหมายและกฏเกณฑ์ต่างๆ (Semantics) ทาง Business ทั้งหมด เช่น Process Component, Process Component Interaction Models, Global Data Type, Interfaces, Message Types, Services เป็นต้น ทำให้ผู้ใช้งานไม่ต้องไปกำหนด Service สำหรับกระบวนการ Update Order เอง เพราะได้มีการกำหนดมาตรฐานการจัดเก็บ Service ที่สามารถใช้งานได้จริงไว้ให้แล้ว
การสร้าง Enterprise SOA มีขั้นตอนอย่างไร?
การสร้าง Enterprise SOA จะทำอย่างต่อเนื่องเป็นวงจรการพัฒนา หรือที่เรียกว่า Enterprise SOA Development Lifecycle ให้มองว่าใน Enterprise SOA จะมี Service ต่างๆ อยู่ ถ้ามี Requirement ใหม่ๆ เกิดขึ้น ก็จะต้องสร้าง Service ขึ้นมาใหม่ โดยมีขั้นตอนตามรูปดังนี้
Business Requirements ในขั้นตอนนี้จะต้องกำหนด Business Requirement ที่ชัดเจน รวมทั้งกำหนด Process ที่ต้องการสร้าง, กำหนด Service และ User Interface ที่ต้องใช้ จากนั้นเป็นขั้นตอน Service Modeling ซึ่งจะต้องมีการกำหนด Business Context Semantic และ Relation ของแต่ละ Service จากนั้นจะต้องกำหนดความหมาย หรือคำจำกัดความของ Service ในขั้นตอน Service Definition เพื่อสร้าง Service ในขั้นตอน Service Implementation จากนั้นเป็นขั้นตอน Discovery & Description เป็นการเพิ่ม Document เข้าไปใน Service และ Publish Service ออกไปที่ส่วนกลาง จนถึงขั้นตอน Service Consumption ที่ Application สามารถหา Service ใหม่ๆ ที่ถูก Publish ออกมา และเพื่อนำไปใช้ในการกำหนด Business Requirement ได้
มีผลิตภัณฑ์อะไรที่เกี่ยวข้องบ้าง?
SAP ได้พัฒนาผลิตภัณฑ์หลักๆ เพื่อรองรับแนวคิดของ Enterprise SOA อยู่ 2 ตัว คือ
บทความที่เกี่ยวข้อง : SAP NetWeaver คืออะไร? , ERP คืออะไร?
ที่มา : http://www.sap.com