Service-oriented architecture

จากวิกิพีเดีย สารานุกรมเสรี
บทความนี้มีชื่อเป็นภาษาอังกฤษ เนื่องจากยังไม่มีชื่อภาษาไทยที่กระชับ เหมาะสม หรือไม่รู้วิธีอ่านในภาษาไทย

Service-oriented architecture SOA ซึ่งก็คือ การสร้างและพัฒนา ซอฟต์แวร์โดยใช้แนวคิดของ โครงสร้างของธุรกิจสมัยใหม่ ซึ่งมาจากแนวคิดที่ได้รับอิทธิพลมาจาก แนวคิดแบบ "รูปแบบ เป็นผลมาจาก การใช้งาน" (form follows function)

SOA คือ ชุดของซอฟต์แวร์หนึ่งๆ ที่ถูกออกแบบให้มีลักษณะที่ยืดหยุ่นต่อการใช้งานโดยจะปฏิบัติหน้าที่อยู่ระหว่างเฟส ของการพัฒนาระบบ (systems development) กับ การควบรวมการประมวลผล (integration in computing) ระบบใดๆ ที่ถูกออกแบบบนพื้นฐานของ SOA นั้น จะประกอบไปด้วยชุดของการปฏิบัติงานที่ทำหน้าที่เป็นตัวควบรวมการให้บริการ ซึ่งสามารถถูกนำมาใช้ได้กับระบบต่างๆที่หลากหลาย หรือ ระบบที่ถูกแบ่งแยกออกตาม หน่วยงานองค์กร หรือ ธุรกิจที่แตกต่างกัน

SOA ยังเป็นผู้จัดหาการให้บริการต่างๆให้กับผู้บริโภค เช่น web-based applications ที่ให้บริการในรูปแบบของ SOA-based services ตัวอย่างเช่น หน่วยงาน หรือ แผนกต่างๆที่ถูกแบ่งแยกภายในองค์กร สามารถนำ SOA service มาประยุกต์ใช้ร่วมกัน โดยระบบจะควบรวมการปฏิบัติแม้แต่ภาษาในการพัฒนาโปรแกรมที่แตกต่างกันแต่ละแผนก ดังนั้น หน่วยงานย่อยต่างๆ จึงถูกเรียกว่า Client จะได้รับผลประโยชน์ในการใช้งานและเข้าถึงระบบได้อย่างสะดวก และ เป็นที่เข้าใจง่ายยิ่งขึ้น ดังนั้น XML จึงเข้ามามีบทบาท เป็นตัวทำหน้าที่เป็น interface ให้กับ ระบบ SOA service SOA ทำหน้าที่ ควบรวม แอปพลิเคชันต่างๆ ที่ถูกพัฒนาในภาษาที่ต่างกัน ที่อยู่ภายในองค์กรเดียวกัน ด้วยวิธีการ Web-based environment และสามารถนำมาประยุกต์ใช้งานได้กับแพลทฟอร์มที่หลากหลายด้วย ในการติดต่อระหว่างหน่วยงาน แทนที่จะใช้ API ในระบบ SOA ออกแบบหน้าจอ interfaceที่ทำงานด้วย Protocols และ functionality ประเด็นสำคัญคือ การใช้งานของระบบ SOA นั้นจะร้องขอ "loose coupling of services" ด้วย Operating systems และ เทคโนโลยีอื่นที่สนับสนุนการปฏิบัติงานของแอปพลิเคชันเหล่านั้น SOA แบ่งฟังก์ชันออกเป็น หน่วยหรือ units หรือ การให้บริการ service อย่างชัดเจน ซึ่งผู้พัฒนาสามารถเข้าถึงได้ทางเครือข่ายในกรณีที่อนุญาตให้ผู้ใช้ สามารถใช้งาน ในการเพิ่มเติม หรือ นำข้อมูลกลับมาใช้ ในแอปพลิเคชันนั้นๆ

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

SOA เห็นได้อย่างชัดเจนในรูปแบบหนึ่งของการทำงานในลักษณะ distributed computing และ modular programming ที่มีลักษณะเช่นเดียวกันกับ mashups, SaaS, และ Cloud Computing เหล่านี้เป็น ลูกหลานที่เกิดจากแนวคิดของ SOA