Introduction of SOA

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

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

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

การประยุกต์นำเอา SOA มาใช้ในองค์กร  กล่าวคือนำ Web Service มาประยุกต์ใช้ให้เข้ากับหลักการของ SOA แต่ก่อนที่จะใช้ Web Service นั้นได้มีการใช้ โปรโตคอลที่ชื่อว่า CORBA (Common Object Request Broker Architecture), RMI , DCOM และอาจจะมีโปรโตคอลตัวอื่น ๆ อีกเพื่อให้เข้ากับ เครื่องมือที่ใช้พัฒนา(ก็หมายความว่าใช้ .NET ก็ต้องใช้ .NET ไปตลอด หรือว่า จาวาก็ต้องจาวาไปตลอดจะเปลี่ยนไม่ได้) ซึ่งการใช้โปรโตคอลเหล่านี้ส่วนใหญ่แล้วจะใช้กับระบบเน็ตเวิร์คภายใน  แต่ในการพัฒนาค่อนข้างมีปัญหาและใช้เวลาอยู่พอสมควรจึงเป็นสาเหตุที่ทำให้หลักการ SOA ไม่เป็นที่นิยมในช่วงแรก  จนได้มีการพัฒนาโปรโตคอล Web Service ซึ่งมีความยืดหยุ่นมากกว่า และยังสามารถใช้งานกับระบบ SOA ได้มีประสิทธิภาพสูงจนทำให้เป็นที่นิยมเป็นอย่างมาก  จนในบางครั้งทำให้หลาย ๆ  คนเข้าใจผิดว่า SOA คือ Web Service แต่ในความเป็นจริงแล้ว SOA เป็นเพียงแค่หลักการในการพัฒนาบริการ  แต่ Web Service คือการที่นำเอาหลักของ SOA ประยุกต์เพื่อพัฒนาระบบบริการให้ดียิ่งขึ้น