SOA คืออะไร Service Oriented Architecture เรื่องเก่ามาเล่าใหม่
SOA คืออะไร ?
SOA หรือ Service Oriented Architechture
คือการให้บริการในเชิง Service
เท่าที่ดูในปัจจุบัน ในองค์กรใหญ่ๆ มักจะมี ระบบหลังบ้านอยู่หลากหลาย
ระบบแต่ละตัวก็บริหารจัดการข้อมูลที่แตกต่างกัน
SOA เป็นแนวความคิดที่ว่าจะ Integrate ระบบต่างๆ นี้ได้อย่างไร
และ ติดต่อสื่อสาร เพื่อสร้าง Business Process ใหม่ๆ ได้อย่างไร
ในภาพของ SOA อยู่ใน Level ของ Service เป็นการคุยกันระหว่าง App to App หรือ แม้กระทั่ง B2B
ในโลกของ SOA มีหลายสิ่งหลายอย่างที่พูดถึงเช่น
- Business Service เป็น Service ต่างๆ ที่มีอยู่ในระบบ
- ESB เป็นตัวที่คอง Integrate เข้ากับ Service ต่างๆ ที่มีอยู่ในระบบ
- BPM BPEL , BPMN เป็นตัวจัดการ Business Process
พอพูดถึง Service ขอนิยามคำว่า Service ซักหน่อยครับ
1. Services are reusable การนำกลับมาใช้ใหม่
2. Services share a formal contract ต้องบอกวิธีการติดต่อที่ชัดเจน
3. Services are loosely coupled ต้องเสร็จสรรพในตัวเองไม่ขึ้นอยู่กับใคร
4. Services abstract underlying logic การทำงานข้างในไม่จำเป็นต้องเปิดเผย และคนใช้ไม่จำเป็นต้องรู้ คือ รู้แค่ว่าส่งอะไรเข้ามาแล้วได้อะไรออกไปก็พอ
5. Services are composable เกิดจากหลายๆ Service รวมกันได้
6. Services are autonomous ทำงานภายใต้ขอบเขตของตัวเองไม่ขึ้นกับใคร
7. Services are stateless ทำงานแบบ Steteless คือไม่มีการ keep state ภายในตัวเอง
8.Services are discoverable ตรงนี้คือเรื่องของ UDDI ครับเหมือนสมุดหน้าเหลืองที่เก็บข้อมูลของ Service ต่างๆ ไว้
ดูเรื่อง SOA แล้วก็งงๆ ครับ
บ้างก็ว่ามันเป็นเรื่องของ การออกแบบ เพื่อลดช่องว่างระหว่าง Business กับ IT โดยสื่อสารกันผ่าน BPMN
บ้างก็ว่าเน้านการ Integrate กันกับหลายๆ ระบบที่แตกต่าง ให้ทำงานร่วมกันได้
บ้างก็ว่ามันคือ Webservice ????
สรุปแล้วมันคืออะไรกันแน่ ?