SOA คืออะไร? มุ่งเน้นการบริการ Archiหลักการสอน
SOA (Service Oriented.) คืออะไร Archiเทคเจอร์)?
การบริการที่มุ่งเน้น Archiเทคเจอร์ (SOA) เป็นรูปแบบสถาปัตยกรรมในการออกแบบซอฟต์แวร์คอมพิวเตอร์ ซึ่งส่วนประกอบของแอปพลิเคชันให้บริการแก่ส่วนประกอบอื่น ๆ ผ่านโปรโตคอลการสื่อสาร โดยทั่วไปจะเป็นผ่านเครือข่าย หลักการของการมุ่งเน้นบริการนั้นไม่ขึ้นอยู่กับผลิตภัณฑ์ ผู้จำหน่าย หรือเทคโนโลยีใด ๆ
SOA ช่วยให้ส่วนประกอบซอฟต์แวร์บนเครือข่ายต่างๆ ทำงานร่วมกันได้ง่ายขึ้น
บริการเว็บที่สร้างขึ้นตามสถาปัตยกรรม SOA มักจะทำให้บริการเว็บเป็นอิสระมากขึ้น บริการเว็บสามารถแลกเปลี่ยนข้อมูลระหว่างกันได้ และเนื่องจากหลักการพื้นฐานที่ใช้สร้างบริการเว็บ จึงไม่จำเป็นต้องมีการโต้ตอบจากมนุษย์และไม่ต้องแก้ไขโค้ดใดๆ ทั้งสิ้น ทำให้มั่นใจได้ว่าบริการเว็บบนเครือข่ายสามารถโต้ตอบกันได้อย่างราบรื่น
มุ่งเน้นการบริการ Archiหลักการเทคเจอร์ (SOA)
หลักการออกแบบ SOA มี 9 ประเภทดังที่กล่าวไว้ด้านล่าง
1. สัญญาบริการที่ได้มาตรฐาน
บริการเป็นไปตามคำอธิบายบริการ บริการจะต้องมีคำอธิบายบางอย่างที่อธิบายว่าบริการเกี่ยวกับอะไร ซึ่งช่วยให้แอปพลิเคชันไคลเอ็นต์เข้าใจได้ง่ายขึ้นว่าบริการทำอะไรได้บ้าง
2. คลัปหลวม
Less การพึ่งพาซึ่งกันและกัน นี่คือลักษณะสำคัญประการหนึ่งของบริการเว็บ ซึ่งระบุว่าควรมีการพึ่งพากันน้อยที่สุดระหว่างบริการเว็บและไคลเอนต์ที่เรียกใช้บริการเว็บ ดังนั้น หากฟังก์ชันการทำงานของบริการเปลี่ยนแปลงไปในช่วงเวลาใดก็ตาม ไม่ควรทำให้แอปพลิเคชันไคลเอนต์หยุดทำงานหรือหยุดทำงาน
3. การบริการที่เป็นนามธรรม
บริการต่างๆ ซ่อนตรรกะที่ห่อหุ้มไว้จากโลกภายนอก บริการไม่ควรเปิดเผยวิธีการดำเนินการฟังก์ชันการทำงาน ควรบอกแอปพลิเคชันไคลเอนต์ว่ามันทำอะไรได้บ้าง ไม่ใช่ว่ามันทำงานอย่างไร
4. การนำบริการกลับมาใช้ใหม่ได้
ลอจิกแบ่งออกเป็นบริการต่างๆ โดยมีจุดประสงค์เพื่อเพิ่มการใช้ซ้ำให้สูงสุด ในการพัฒนาใดๆ ของบริษัท การนำกลับมาใช้ใหม่ถือเป็นหัวข้อใหญ่ เพราะเห็นได้ชัดว่าไม่มีใครต้องการใช้เวลาและความพยายามในการสร้างโค้ดเดิมซ้ำแล้วซ้ำเล่าในหลาย ๆ แอปพลิเคชันที่ต้องใช้มัน ดังนั้นเมื่อเขียนโค้ดสำหรับบริการเว็บแล้ว ก็ควรมีความสามารถทำงานกับแอปพลิเคชันประเภทต่างๆ ได้
5. บริการเอกราช
บริการควรมีการควบคุมตรรกะที่สรุปไว้ บริการรู้ทุกอย่างเกี่ยวกับฟังก์ชันการทำงานที่นำเสนอ และด้วยเหตุนี้จึงควรควบคุมโค้ดที่มีอยู่ได้อย่างสมบูรณ์
6. การบริการไร้สัญชาติ
ตามหลักการแล้ว บริการต่างๆ ควรเป็นแบบไร้สัญชาติ ซึ่งหมายความว่าบริการไม่ควรระงับข้อมูลจากรัฐหนึ่งไปอีกรัฐหนึ่ง สิ่งนี้จะต้องดำเนินการจากแอปพลิเคชันไคลเอนต์ ตัวอย่างอาจเป็นคำสั่งซื้อบนเว็บไซต์ช็อปปิ้ง ตอนนี้คุณสามารถมีบริการเว็บที่ให้ราคาของสินค้าชิ้นใดชิ้นหนึ่งแก่คุณ แต่หากสินค้าถูกเพิ่มลงในตะกร้าสินค้าและหน้าเว็บนำทางไปยังหน้าที่คุณชำระเงิน ความรับผิดชอบของราคาสินค้าที่จะโอนไปยังหน้าการชำระเงินไม่ควรกระทำโดยบริการบนเว็บ แต่จะต้องดำเนินการโดยเว็บแอปพลิเคชันแทน
7. การค้นพบบริการ
สามารถค้นพบบริการต่างๆ ได้ (โดยปกติจะอยู่ในทะเบียนบริการ) เราได้เห็นสิ่งนี้แล้วในแนวคิดของ UDDI ซึ่งดำเนินการรีจิสทรีซึ่งสามารถเก็บข้อมูลเกี่ยวกับบริการเว็บได้
8. ความสามารถในการประกอบบริการ
บริการแบ่งปัญหาใหญ่เป็นปัญหาเล็ก ๆ เราไม่ควรฝังฟังก์ชันทั้งหมดของแอปพลิเคชันไว้ในบริการเดียว แต่ให้แยกบริการออกเป็นโมดูลแต่ละโมดูลด้วยฟังก์ชันทางธุรกิจที่แยกจากกัน
9. การทำงานร่วมกันของบริการ
บริการควรใช้มาตรฐานที่อนุญาตให้สมาชิกที่หลากหลายสามารถใช้บริการได้ ในการบริการเว็บมีมาตรฐานดังนี้ XML และใช้การสื่อสารผ่าน HTTP เพื่อให้แน่ใจว่าสอดคล้องกับหลักการนี้