Service Oriented Architectures หรือ SOA ที่เราเคยได้ยินได้ฟังกันนั้น เป็นคำที่ใช้กันอย่างกว้างขวาง โดยที่พวกเราเองก็รู้จักแค่ว่า “นี่แหละ SOA” ไม่ก็ “นี่ไงรูปแบบ SOA” โดยที่ไม่ได้รู้ลึกถึงหลักการ หรือ รูปแบบองค์ความรู้ที่แท้จริงของมันว่าอะไรคือสิ่งที่มันเป็น SOA และ อะไรไม่ใช่ SOA
ผู้ ใช้บริการทุกระดับตั้งแต่คนธรรมดา(User) หรือแม้กะทั่งแบบเราๆ (Developer) เองนั้นก็มักจะสับสนกับศัพท์เทคโนโลยีรูปแบบใหม่มากมาย เช่น Cloud Computing, Web Services, Web 2.0, SaaS (Software as a Service), WOA, POA, PaaS เป็นต้น เอาเป็นว่าเราจะมาพยายามพิสูจน์ เรื่องพวกนี้ให้กระจ่างเป็นที่ชัดเจนในการเปรียบเทียบ ศัพท์ หรือ บริการต่างๆข้างต้นที่เกริ่นมา และ ความสัมพันธ์ของเทคโนโลยีเหล่านั้นกับ SOA
Service Oriented Computing ไม่ใช่เรื่องที่ใหม่ ไม่ใช่เทคนิคอะไร พูดตรงๆคือมันไม่ได้ใหม่อะไรมากมายครับ ไอ้รูปแบบ Model ตัวนี้มันมีกว่า 30 ปีแล้วตั้งแต่สมัย ที่คอมพิวเตอร์หน้าจอสีเขียวดำเป้นที่นิยมนู่นครับ ซึ่งผู้ที่ใช้ Model ตัวนี้เป้นหลักในช่วงนั้นก็ไม่ใช่ใครที่ไหน IBM นั่นเองครับซึ่งขณะนั้น IBM เป็นหนึ่งในผู้ผลิต MainFrame Computer รายใหญ่ที่สุดครับ
ต่อมา Mainframe Computer ได้ถูกปรับเปลี่ยนเป็น สถาปัตยกรรมคอมพิวเตอร์แบบ Client Server ซึ่งถ้าพิจารณาดูแล้ว Server เนี่ยประสิทธิภาภของการประมวลผลนั้นอาจจะดูด้อยกว่า Mainframe ก็จริงแต่อย่างน้อยก็การจัดการระบบก้สะดวกกว่า เพราะ Server นั้การประมวลผลดีกว่าเจ้า Client ซึ่ง client มีหน้าที่แสดงผลเท่านั้นเอง ซึ่ง Model ของ Client และ Sever นั้นค่อยเปลี่ยนแปลงกลายเป็นการประมวลผลอบบ กลุ่มเมฆ (Cloud) โดยยกให้ Serve หลายๆตัวช่วยกันประมวล นั้นคอยให้บริการบนเครือข่ายโดยไม่ต้องกังวลเรื่องพื้นที่หรือขนาดของ Server แต่ะเครื่อง ซึ่ง คำถามหลักที่ นักพัฒนาหลายท่านต้องสงสัยนั้นก็คงจะเป็น
“ทำไมถ้ามันมีมานานกว่า 30 ปี แล้วทำไมเพิ่งมาเอาจริงเอาจังกับมันล่ะ?”
เมื่อ มีคำถามก็ต้องมีคำตอบ เมื่อ Computer ทำการประมวลผลข้อมูล ในแต่ละวันช่วงแรกๆ ขนาดของข้อมูลมีขนาดใหญ่มาก หากเปรียบเทียบกับการประมวลผลของพวก Terminal Device จำนวนข้อมูลรับส่งในเครื่อง Computer แต่ละตัว ข้อมูลมีขนาดใหญ่, กระจัดกระจาย, มีการเปลี่ยนแปลงบ่อย, ต้องการ Back Up Data บ่อยครั้ง, ความต้องการของระบบขั้นต้ำกับขนาดของข้อมูลและที่สำคัญที่สุดที่ สมัยนี้มี แต่ สมัยก่อนไม่มีคือ ความเร็วของ Network Protocol
Service Based Computing เป็นจุดชี้ไปสู่คำว่า SOA หรือ Service Oriented Architecture สถาปัตยกรรมเทคโนโลยีที่เน้นการสร้าง บริการผ่านระบบ ซึ่งคำว่า Service ในสถาปัตยกรรม SOA นั้นไม่ได้หมายถึง Software และตัว SOA เองนั้นก็ไม่ได้กำหนดตายตัวว่า Service จะเป็นอะไร
ในความเป็นจริง เวลาที่คุณค้นหา ความหมายของ SOA ใน Internet SOA จะถูกนิยามมากมายหลากหลายต่างๆ แต่เอาเข้าจริงแล้วนะครับ ข้อสรุปที่คล้ายกันและเป็นหัวใจหลักๆของ SOA คือ
“คือสถาปัตยกรรมการบริการ เป็นรูปแบบของซอฟต์แวร์ที่พัฒนาโดยมุ่งเน้นในการให้บริการโดยที่ออกแบบ ซอฟต์แวร์
โดยให้มีเงื่อนไขและข้อกำหนดน้อยที่สุดในการเรียกใช้ซอฟต์แวร์
ทำให้ซอฟต์แวร์สามารถถูกเรียกใช้จากแพลตฟอร์มและระบบปฏิบัติการใดๆ”
รูปแบบ Model ดูไม่ยุ่งยากซับซ้อนใช่มั้ยครับ ว่างๆจะหาตัวอย่างของ ศัพท์ เทคโนโลยีเหล่านี้มาให้
Cloud Computing, Web Services, Web 2.0, SaaS (Software as a Service), WOA, POA, PaaS
แชร์ๆ อิอิ