SOA Chapter 2


ภาพรวมและโครงสร้างพื้นฐาน

         ในเนื้อหาที่สองนี้เราจะแนะนำในส่วนของ โครงสร้างพื้นฐาน (infrastructure) ของ SOA กันนะครับ โดยจะเปรียบเทียบในเชิงของ บ้านเรื่อน ถนน ต่างๆ เพื่อให้เห็นภาพกันชัดเจนยิ่งขึ้นนะครับ

ที่มา : http://www.hinttech.com/websphere/soa.html

ต้องขอยืมรูปจาก : http://www.hinttech.com/websphere/soa.html นะครับ เพราะเค้าทำได้ดีมาก ทำให้เห็นภาพรวมทั้งหมดของ SOA ได้ชัดเจนที่สุด

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

          

โครงสร้างพื้นฐานของ SOA (Infrastructure of SOA)

          จากรูป 2.1 จะเห็นส่วนประกอบสำคัญของ SOA ดังนี้

   1. ผู้ให้บริการ (Service Provider)

คือผู้ที่เป็นเจ้าของบริการต่าง ๆ  ที่เป็นตัวแทนในการให้บริการ

   2. ผู้ใช้บริการ (Service requestor)

คือผู้ใช้บริการที่ต้องการเรียกใช้บริการจากบริการต่าง ๆ  ที่มีอยู่ในระบบ

   3. ตัวกลางในการหาบริการ (Service broker)

เป็นที่รู้จักกันในชื่อของ UDDI หรือ ตัว Registry เป็นตัวเก็บเซอร์วิสต่าง ๆ ที่มีอยู่ซึ่ง Registry จะเป็นตัวที่ใช้ในการค้นหาและเรียกใช้ เซอร์วิส

    4. ช่องทางในการส่งข้อมูลหรือแลกเปลี่ยนข้อมูล(ESB : Enterprise Service Bus)

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

ESB หลัก ๆ  จะทำงานแบบ Publish/Subscribe กล่าวคือ มีระบบที่เป็น เซอร์วิส ทำการ Subscribe Message ภายใน Bus ไว้ หากมีระบบใดก็ตามที่ทำการจัดส่งข้อความที่ตรงกับหัวข้อที่ เซอร์วิส ทำการ Subscribe เอาไว้ ก็จะได้ข้อความนั้นไปทำงาน อย่างตัวอย่างข้างต้น ระบบค้นหาประชากร ระบบจัดการข้อมูลประชากร ระบบค้นหาข้อมูลการศึกษา ระบบค้นหาข้อมูลการทำงาน ระบบค้นหาข้อมูลการกระทำผิด จะทำการ Subscribe Message ของหัวข้อเรื่องค้นหาประชากรเอาไว้ หากมีข้อความที่มีหัวข้อนี้เข้ามาก็จะได้รับข้อความนั้นเพื่อนำไปสร้างข้อมูลประชากรภายในระบบ

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

            

    ระดับต่าง ๆ  ของ SOA

    SOA จะเป็นการนำระบบเดิมมาจัดการใหม่โดยมีการจัดระดับเป็นเลเยอร์ ดังนี้

  1. ชั้นของระบบเดิม (Resource Layer) ประกอบไปด้วยระบบที่มีอยู่แล้ว
  2. ชั้นของการบริการ (Service Layer) จะเป็นชั้นที่ประกอบไปด้วย Service layer ของหลาย ๆ บริการที่สามารถนำกลับมาใช้ใหม่โดยจะเป็นบริการที่ได้พัฒนามาเป็นโมดูลย่อย ๆ  ของแต่ละระบบที่เราได้นำมาใช้งาน
  3. ชั้นของกระบวนการทางธุรกิจ (Process Layer) ซึ่งจะเป็นการนำบริการของชั้นก่อนหน้านี้ทั้งหมดมารวมกันเป็นกระบวนการทางธุรกิจกระบวนการเดียว
  4. ชั้นของการเรียกใช้งาน (Access Layer) ซึ่งจะไม่จำกัดเพียงแค่เครื่องคอมพิวเตอร์ แต่จะรองรับได้ทุก ๆ  อุปกรณ์เช่น โทรศัพท์มือถือ PDA Pocket PC และอุปกรณ์ต่าง ๆ  ที่รองรับการทำงานบนเครือข่าย
SOA Layer
รูปแสดง layer ของ SOA (ขออภัยด้วยนะครับไม่ค่อยชัด) 

         

          เครื่องมือสำคัญที่ใช้พัฒนาระบบ SOA

1. ESB (Enterprise Service Bus)

ESB หมายถึง มิดเดิ้ลแวร์ที่เป็นตัวเชื่อมให้กับระบบไอทีต่าง ๆ ที่เรานำมารวมกัน

2. BPM (Business Process Management System)

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

3. เครื่องมือพัฒนาโปรแกรมและมิดเดิ้ลแวร์เพื่อเรียกใช้กระบวนการทางธุรกิจ

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

4. ระบบความปลอดภัย (Security)

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

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

1. การติดต่อเชื่อมโยงทางธุรกิจ

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

2. ระบบไอทีสามารถเปลี่ยนได้ง่าย

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

3. ลดค่าใช้จ่าย

เนื่องจากเราสามารถนำระบบเดิมมาใช้ใหม่ได้ดังการเราจึงลดค่าใช้จ่ายทางด้านการพัฒนา
ระบบใหม่ลงไปทำให้ค่าจ่ายที่จะต้องใช้พัฒนาระบบลดลงไปได้มากอีกทั้งยังลดระยะเวลาในการพัฒนาระบบ

4. ความเข้ากันของฝ่ายพัฒนาระบบกับฝ่ายธุรกิจ

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

5. ลดความซับซ้อนในการพัฒนาและดูแลรักษาระบบ

ต้องขออภัยด้วยนะครับตอนแรกที่เขียนขึ้นมาทำบน firefox แล้วไม่เห็นว่ามันมีปัญหาตรงที่ content มันไม่ตรงกัน แล้วมันก็อบปี้ไฟล์จาก word มาแล้วมันจะเสีย มาดูอีกที อ้าว! มันทำมัยเพี้ยนแบบนี้ แต่ตอนนี้แก้ไขเรียบร้อยแล้วนะครับ ใครมีข้อเสนอแนะส่วนไหนก็สามารถเขียนเข้ามาได้นะครับ ยินดีรับทุกความคิดเห็นครับ

หมายเลขบันทึก: 159643เขียนเมื่อ 16 มกราคม 2008 20:26 น. ()แก้ไขเมื่อ 23 มิถุนายน 2012 16:09 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (0)

ไม่มีความเห็น

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท