What is Web SOA ?


SOA Sparkling

         เมื่อเราพอจะทราบว่าอะไรคือ Web Service(WS) คร่าว ๆ  แล้วก็พอจะมองภาพออกแล้วว่า WS นั้นทำงานอย่างไร แต่จะมีใครพอสังเกตได้หรือไม่ว่า WS นั้นยังมีข้อจำกัดของมันอยู่อีก
        นั่นก็คือ  ในหน้า UDDI  เราจะเห็นว่ามันมีข้อมูลของ service  ที่มาฝากข้อมูล file wsdl ของแต่ละ service เยอะมาก ๆ จนในบางครั้งเราก็หา service ที่เราต้องการจริง ๆ ไม่ได้ ถึงแม่ว่า UDDI จะมีความสามารถในการค้นหา service ต่าง ๆ ก็ตาม จากปัญหานีจึงได้มีผู้ที่คิดค้นพัฒนา WS ให้ดีขึ้นกว่าเดิม จนเกิดเป็น Service Oriented Architecture(SOA) แต่ก่อนที่จะมาอธิบายส่วนนี้ ผมจะขออธิบาย ยุคของการพัฒนาของ application ก่อนที่จะเข้าสู่การอธิบายลักษณะของ SOA 

         เริ่มมาจาก ยุคแรก เลยก็คือ ยุคของ mainframe เป็นแบบโปรแกรมเดียวที่มีขนาดใหญ่เอามากๆจนเข้าสู่ช่วงกลาง ๆ จะเป็นยุค แห่ง OOP  มองทุกอย่าง เป็น Object แล้วก็มาเป็น WS หลังจากนั้นก็ พัฒนามาเป็น SOA ที่มอง ทุกอย่างเป็น service เหมือน เรามอง เป็นObject(แต่ใน SOA หรือ WS นั้นจะมีมีคำว่า Object)

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

          หลังจากที่ได้เกริ่นนำไปว่า WS นั้นมีข้อเสียตรงที่ UDDI นั้นเก็บรวบรวม service(wsdl file) ต่างๆ  ไว้มากมาย จนค้นหายากอยู่พอสมควร แต่แล้วก็มี SOA มาช่วยกู้วิกฤตนั่นก็คือ SOA นั้นจะเก็บเฉพาะ service ที่ต้องการในแต่ละ Business เท่านั้น จึงทำให้ เราสามารถเลือกใช่service ที่เราต้องการได้อย่างเต็มประสิทธิภาพ แล้วมันเต็มประสิทธิภาพยังงัยละ นั่นก็คือ WS นั้น เราจะเก็บ UDDI เป็นหมื่นเป็นแสน service ก็ได้ แต่มันจะเยอะจนเกินไป แต่ SOA นั้นจะเป็นตัวที่ แต่ละ Business นั้นได้พัฒนา service ของตัวเองแล้วก็รวบรวมเอา service ทั้งหมดที่เกี่ยวข้องกับธุรกิจของตนเองเอาไว้โดยที่มี application ตัวนึงเป็นตัวรวบรวมเอาไว้ ทำให้เราสามารถใช้งาน service ที่เกี่ยวข้องกับ Business นั้นได้นั่นเอง ซึ่งในรายระเอียดที่ลงลึกลงไปนั้น จะเป็นในส่วนของ การ implementation หลักการลึกๆ ของ SOA เช่นการ reuse, service bus ฯลฯ ส่วนเหล่านี้ผมจะขอยกยอดไปอธิบายในหัวข้อหลังๆ นะครับ เดี๋ยวจะงงกันไปหมด

หมายเลขบันทึก: 151479เขียนเมื่อ 5 ธันวาคม 2007 05:23 น. ()แก้ไขเมื่อ 9 มิถุนายน 2012 13:58 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (9)

เทคโนลยีใหม่น่าสนใจ มีเปิดสอนที่ไหนช่วยกระจายข่าวด้วยนะครับ

ปล.ถ้ามีรูปกิจกรรมด้วยยิ่งดีครับ ^^ 

ขอบคุณมากนะครับที่ให้ความสนใจ

คือตอนนี้เรากได้มีจัดอบรมให้กับ อาจารย์ นักพัฒนา หรือแม่กระทั้งนักศึกษาที่สนใจในเทคโนโลยี 

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

แล้วถ้าต้องการข้อมูลเพิ่มเติมสามารถเข้าไปดูได้ที่

www.hitcha.co.th ครับ ขอบคุณครับ 

ผมอยากรู้ว่า SOA มีการที่จะพัฒนาต่อไปเป็น อะไรต่อได้

มีใครช่วยบอกผมได้ไหมครับ คือตอนนี้ยังไม้รู้อะไรเลยควรเริ่มที่ไหนก่อนครับ และควรศึกษาอะไรดี

ช่วยแนะนำผมหน่อยนะครับ

     เอาเป็นว่าจะเริ่มจาก concept คร่าว ๆ ก่อนก็แล้วกันนะครับ

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

     service คือบริการย่อย ๆ ในแต่ละระบบธุรกิจ เช่น ระบบธนาคาร มันจะมี service ของการฝากเงิน ถอนเงิน โอนเงิน โดยแต่ละส่วน จะแยกเป็น service ๆ

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

     จึงได้มีการพัฒนาสถาปัตยกรรมใหม่ขึ้นมา นั้นก็คือ SOA เพื่อเข้ามาช่วยในส่วนนี้(และส่วนอืนๆ อีกที่ยังไม่ได้กล่าวถึง) โดยประโยชน์ของมันจะมีดังนี้นะครับ
 -ทำให้ระบบการทำงานเป็นอิสระต่อกันทำให้สามารถทำการพัฒนาระบบได้อย่างต่อเนื่องไม่ต้องส่วนอืนๆ
 -สามารถนำ service เก่าๆ ที่ทำงานได้ดีมาใช้งานใหม่ได้ (reuse)
 -ช่วยลดต้นทุน/ค่าใช ้จ่ายในการพัฒนาระบบ
 -ไม่ว่าใครจะใช้ภาษาใดพัฒนาก็ไม่เป็นปัญหาสำหรับSOA เพราะ SOA พัฒนาโดย XML base จึงทำให้ทุกภาษาคุยกันได้
 -และที่สำคัญเพื่อมาตอบโจทย์ปัญหาที่เราพัฒนาได้ทีละ service นั้นก็คือ SOA นั้นสามารถนำ service หลายๆ service มารวมกัน เป็นระบบหนึ่งระบบได้ โดยที่แต่ละระบบจะเปลี่ยนแปลงแก้ไขก็จะไม่ส่งผลกระทบกับส่วนๆ อื่นๆแต่อย่างใด

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

ผมไปอบรม มาแล้ว รู้สึกว่าน่าสนใจมา

อยากได้ โปรเจคง่าย  ๆ ไปลอง ทำ ดู และ ใช้ได้จริงี ป่ะครับ

ผมไปอบรม มาแล้ว รู้สึกว่าน่าสนใจมา

อยากได้ โปรเจคง่าย  ๆ ไปลอง ทำ ดู และ ใช้ได้จริง มี ป่ะครับ

ไม่ทราบว่าที่เข้าอบรมที่ ม.แม่ฟ้าหลวง กับทาง Hitcha รึเปล่าครับ

ถ้าใช่ น่าจะได้ tutorial video clip และหนังสือแบบฝึกหัดของเราแล้ว ซึ่งสามารถทำตามขั้นตอนซึ่งเป็นตัวอย่างได้ครับ โดยอาจจะใช้การปรับแต่ ฐานข้อมูลเพื่อนำไปใช้งานจริง ในแบบฝึกหัดเราได้บอกเกี่ยวกับรายละเอียด การใช้งาน Business Process Language Execution (BPEL) ร่วมกับ Web service ซึ่งมาจาก Java และ .Net นะครับ

 แต่ถ้ายังไม่ได้เข้าร่วมอบรม คุณ มนุษย์เกาเหลา สามารถใช้ sample project ในโปรแกรม Netbean ก็ได้ครับ ลองค้นหาดูในส่วน SOA sample นะครับ 

เข้าตาม link นี้เลยนะครับ จะมีไฟลต่อไปนี้นะครับ

- ไฟล์วิดีโอ ในการทำ lab เป็นบทๆ นะครับ มี 4 บท

- ไฟล์เอกสารการทำ lab (แนะนำการใช้เบื้องต้น) 

- ไฟล์ power point ที่ทางทีมงานได้ไปบรรยาย สองไฟล์เป็นไฟล์ ซิบนะครับ

เข้าตามลิงค์นี้เลยนะครับ

http://www.hitcha.co.th นี้เป็นลิงค์ของบริษัทนะครับเราจะมีการอบรมอยู่เรื่อยๆ นะครับแล้วทำการแจ้งผ่านทางเวปนี้

http://www.hitcha.co.th/soaChiangrai.html 

นี่เป็นลิงค์เข้าดาวโหลดไฟล์ต่างๆ ครับ 

 

 

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท