520442-SOA: SOA Development

26/02/2013 1:55 AM Study 871 views

SOA Development

Loose Coupling : การมีโครงสร้างแบบหลวมๆ

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

Component-Based Application Architecture

ปัญหาที่พบ

  • Coupling เป็นการทำงานของคลาสที่มีการเชื่อมโยงเข้าด้วยกัน
  • ความเกี่ยวข้องระว่างคลาสต่างๆ แสดงถึงความหนาแน่นของคลาสที่เชื่อมโยงกัน
  • Tight Coupling หมายถึง ถ้าเปลี่ยนแปลงหรือแก้ไขคลาสใดคลาสหนึ่งต้องแก้ไขคลาสอื่นตามไปด้วยทำให้การเปลี่ยนแปลงเพียงเล็กน้อยส่งผลต่อทั้งโปรแกรม

Service-Oriented Architecture

Service-Oriented Architecture

SOA Enables ประกอบด้วย (จำว่ารูปภาพไหนคืออะไรด้วย)

  • Reusability : การสร้าง Service ใหม่ โดยมีการนำ code หรือ function ที่มีอยู่แล้วนำกลับมาใช้ใหม่

Reusability

  • Legacy Leverage :

Legacy Leverage

  • Agility : มีความคล่องตัวในการทำงาน โดยโปรแกรมใหม่สามารถใช้ Service และ Service ใหม่ก็ถูกเรียกใช้โดยโปรแกรมอื่นเช่นกัน

Agility

  • Loose Coupling : ทำให้สามารถแก้ไขคลาสใดคลาสหนึ่งโดยไม่ต้องแก้ไขคลาสอื่นที่เกี่ยวข้องและโปรแกรมยังสามารถทำงานได้เหมือนเดิม ทำให้ง่ายต่อการแก้ไขหรือรองรับการขยายตัวของโปรแกรม

Loose Coupling

  • Interoperation : ความสามารถในการแลกเปลี่ยนข้อมูลหรือการเรียกใช้โปรแกรมระหว่างระบบต่างๆ เช่น ชั้นโปรโตคอลการสื่อสาร ฮาร์ดแวร์ ซอฟต์แวร์และข้อมูล สามารถเพิ่มประสิทธิภาพการทำงานในองค์กรและสร้างความน่าเชื่อถือให้กับผู้ใช้บริการ

Interoperation

 

SOA Development ประกอบด้วย 3 ขั้นตอนได้แก่

  • Service-Oriented Analysis เป็นการวิเคราะห์การทำงาน ประกอบด้วย
    • กำหนดและวิเคราะห์ขอบแขต
    • ผลที่อาจเกิดขึ้นกับระบบ
    • สร้าง Model การให้บริการโดยพิจารณาจาก
      • Service Reusability, Service Autonomy, Service Discoverability
    • Service Modelling ประกอบด้วย
      • Entity Service เป็นการระบุเกี่ยวกับ entity เดี่ยวกับองค์กร เช่น ลูกค้า พนักงาน ใบกำกับภาษี
      • Task Service เป็นบริการทางธุรกิจเกี่ยวกับฟังก์ชั่นการทำงานและขอบเขต
      • Utility Service เป็นบริการอัตถประโยชน์เช่น การบันทึกเหตุการณ์ การแจ้งเตือน
  • Service-Oriented Design
    • การออกแบบตามที่ได้วิเคราะห์ไปข้างต้น
  • Implementation
    • การสร้างระบบตามที่ได้วิเคราะห์และออกแบบไว้ เช่น
      • เลือกภาษา เครื่องมือ platform ที่จะพัฒนา
      • เขียนโค๊ดและทำเอกสารคู่มือ
      • ทอสอบการทำงานของระบบ
      • ใช้งานโปรแกรม

Popular Standards

  • BPM : Business Process Management
    • คือการจัดการ business หรือกลุ่มของธุรกิจที่ทำให้เกิดสินค้าและบริการแก่ลูกค้า รวมไปถึงการสร้าง business process การรัน business process และการตรวจสอบ business process
  • BPML : Business Process Modeling Language
    • เป็นภาษาที่ดำเนินการโดย BPMS ที่ใช้สำหรับอธิบายกระบวนการทางธุรกิจ พัฒนาโดย BPMI.org เช่น Intalio, Sterling, Sun, CSC
  • WSCI : Web Service Choreography Interface
    • มีการนิยามโดยภาษา XML เพื่อให้ทำงานร่วมกับระหว่าง Web Service เช่น Sun, SAP, Intalio, and BEA
  • BPEL4WS : Business Process Execution Language for Web Services
    • เป็นภาษาที่ใช้พัฒนา Business Process ที่อยู่ layer ขั้นบนสุดของ WSDL โดย WSDL จะใช้อธิบายข้อมูลและอ้างอิงไปยัง Service ภายนอก

 

ขอบคุณเนื้อหาจาก
– Slide วิชา SOA
– http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvsent/html/FoodMovers3.asp

 

, , , , , , , , , , , , , ,