SOA (Service-Oriented Architecture)

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

 ความหมายของ SOA

               ระบบสถาปัตยกรรมเชิงบริการหรือ SOA เป็นแนวคิดในการจะออกแบบระบบไอทีในองค์กรให้เป็นระบบเชิงบริการ (Service-Oriented) ที่สามารถนำกลับมาใช้ใหม่ได้ ทั้งนี้ระบบไอทีขององค์กรต่างๆ ในปัจจุบันมักจะมีสถาปัตยกรรมแบบ Silo-Oriented Architecture ซึ่งการพัฒนาระบบไอทีในแต่ละระบบต่างเป็นอิสระต่อกัน อาจมีระบบที่ใช้เทคโนโลยีที่แตกต่างกันเช่น Java, .NET, Oracle หรือ SAP เป็นต้น จึงทำให้ยากต่อการเชื่อมต่อ บำรุงรักษายาก มีค่าใช้จ่ายสูง ปรับเปลี่ยนระบบได้ยาก และการพัฒนาระบบใหม่ๆ เป็นไปด้วยความล่าช้า ดังแสดงในรูปที่ 1

รูปที่ 1 Silo-Oriented Architecture
               แนวคิดของระบบ SOA คือการจัดระบบ Silo-Oriented Architecture ใหม่ โดยการสร้างระบบไอทีให้เป็น 4 ชั้น (Layer) ดังแสดงในรูปที่ 2 และ 3

               • Resource Layer ซึ่งจะเป็นชั้นของระบบโครงสร้างไอทีต่างๆ ในปัจจุบัน เช่นระบบฐานข้อมูล Oracleระบบโซลูชัน SAP หรือ PeopleSoft เป็นต้น
               • Service Layer ซึ่งเป็นชั้นของส่วนประกอบเซอร์วิสต่างๆ ที่สามารถนำมาใช้ใหม่ได้ โดยส่วนประกอบเซอร์วิสเหล่านี้จะพัฒนามาจากโมดูล (Module) ต่างๆ ที่ทำงานบน Resource Layer เช่นโมดูลของฐานข้อมูล Oracle โมดูลของระบบโซลูชัน SAP หรือ PeopleSoft และโมดูลของโปรแกรมประยุกต์ที่อาจพัฒนาด้วย Java หรือ .NET เป็นต้น
               • Process Layer ซึ่งเป็นชั้นของกระบวนการทางธุรกิจ (Business Process) ที่พัฒนาขึ้นมาจากการส่วนประกอบเซอร์วิสต่างๆ
               • Access Layer ซึ่งเป็นชั้นของการเรียกใช้กระบวนการทางธุรกิจที่พัฒนาขึ้น โดยอาจผ่านทางเว็บไซต์ (Web Site) หรือโทรศัพท์เคลื่อนที่ (Mobile Phone)


รูปที่ 2 SOA Layers

รูปที่ 3 SOA Conceptual Diagra
               ดังนั้นจะเห็นได้ว่า SOA เป็นการเปลี่ยนระบบ Silo-Oriented Architecture มาสู่ระบบ Service-Oriented ซึ่งออกแบบเป็นชั้นๆ ทำให้สามารถพัฒนาปรับปรุง หรือเพิ่มเติมโปรแกรมใหม่ได้ง่าย ดังแสดงในรูปที่ 4

               เนื่องจาก SOA เป็นหลักการในการออกแบบ จึงทำให้การทำความเข้าใจและนำไปพัฒนาให้ใช้งานได้จริงจึงเป็นเรื่องที่ยาก จนเมื่อเว็บเซอร์วิส (Web Service) ซึ่งเป็นวิธีการหนึ่งในการพัฒนาตามหลักการของ SOA เกิดขึ้นมา จึงทำให้แนวคิด SOA ได้รับความนิยมขึ้นมาอย่างมาก จนบางครั้งอาจทำให้คิดว่า SOA และ เว็บเซอร์วิสเป็นเรื่องเดียวกัน ซึ่งในความจริงนั้น SOA เป็นแนวคิดหรือรูปแบบในการออกแบบการให้บริการ ส่วนเว็บเซอร์วิสเป็นวิธีการหนึ่งในการพัฒนาตามหลักการของ SOA เท่านั้น ทั้งนี้อาจใช้แนวทางอื่นในการพัฒนาระบบ SOA เช่นการใช้ CORBA (Common Object Request Broker Architecture) หรือ Java RMI (Remote Method Invocation)ก็ได้เช่นกัน


รูป ที่ 4 แนวคิดสถาปัตยกรรม SOA
 
ระบบ SOA จะมีคุณลักษณะที่สำคัญหลักๆ ดังนี้

               • การติดต่อสื่อสารระหว่างเซอร์วิส จะใช้เอกสารที่เป็น XML ที่นิยามผ่าน XML Schema (.xsd) ทำให้ไม่จำเป็นต้องทราบรายละเอียดของแฟลตฟอร์มและเทคโนโลยีของเซอร์วิสที่ ใช้อยู่
               • เซอร์วิสจะมีตัวเชื่อมต่อ (Interface) ที่อธิบายเซอร์วิส เช่น Service Name, Input Parameter, Output Parameter และข้อมูลอื่นๆ ในรูปแบบของไฟล์ XML ทำให้ไม่ขึ้นกับแฟลตฟอร์มและเทคโนโลยีที่เซอร์วิสนั้นใช้อยู่ โดยมากมักจะใช้มาตรฐาน WSDL (Web Service Description Language) ในการอธิบายเซอร์วิส
               • โปรแกรมประยุกต์ (Application) หรือกระบวนการทางธุรกิจต่างๆ สามารถพัฒนาขึ้นมาจากการใช้เซอร์วิสเดิมที่มีอยู่ ซึ่งมาตรฐานที่นิยมใช้คือ WS-BPEL (Web Service Business Process Execution Language)
               • SOA จะมี Registry ในการเก็บเซอร์วิสต่างๆ ที่มีอยู่ ซึ่ง Registry จะทำหน้าที่เหมือนไดเร็กทอรี่ของเซอร์วิส โดยโปรแกรมประยุกต์หรือกระบวนการทางธุรกิจต่างๆ จะค้นหาและเรียกใช้เซอร์วิสจาก Registry นี้ มาตรฐานที่ใช้ในการเก็บ Registry ที่นิยมใช้คือ UDDI (Universal Description Definition and Integration)
               • เซอร์วิสแต่ละตัวจะมีส่วนการควบคุมคุณภาพที่เป็น QoS (Quality of Service) อาทิเช่นการควบคุมความปลอดภัยด้าน Authentication, Authorization, Reliable Message และ Policy


พัฒนาการของ ระบบ Distributed Computing


               ระบบสถาปัตยกรรมเชิงบริการหรือ SOA มีพัฒนาการมาจากระบบ Distributed Computing ซึ่งเริ่มตั้งแต่ยุคแรกที่เป็น Single Tier ไปสู่ Web Tier ดังแสดงในรูปที่ 5 ในปัจจุบันหลายๆ องค์กรได้พัฒนา Web Applications ซึ่งส่วนมากจะพัฒนาโดยใช้ Java EE (Servlet/JSP), .NET (ASP) หรือ PHP ทั้งส่วนแสดงผล (Presentation Logic) และส่วนประมวลผล (Business Logic) ภายใน Web Server และผู้พัฒนาจะต้องพัฒนาส่วนที่เป็นเซอร์วิสระบบ (System Service) เช่น Concurrency, Load Balancing, Transaction และ Security เอง ทำให้การพัฒนา Web Application แบบ Web Tier สำหรับระบบขนาดใหญ่ทำได้ยาก



รูปที่ 5 Web Application Architecture
               แนวทางการพัฒนาระบบ Distributed Computing ในยุคถัดมา คือการพัฒนาระบบแบบ N-Tier ดังแสดงในรูปที่ 6 ซึ่งจะมีการนำเอา Application Server มาเป็นมิดเดิ้ลแวร์ (Middleware) เพื่อจัดการส่วนที่เป็นเซอร์วิสระบบและเรื่องที่เกี่ยวข้องกับทรัพยากรต่างๆ ของระบบ ทำให้นักพัฒนาสามารถที่จะเน้นการพัฒนาเฉพาะส่วนประมวลผล โดยการสร้างส่วนประกอบซอฟต์แวร์ (Software Component) หรือเซอร์วิส (Service) เพื่อให้ส่วนแสดงผลใน Web Server เรียกใช้งานได้

              
ซึ่งวิธีการพัฒนาส่วนประกอบ ซอฟต์แวร์หรือเซอร์วิส อาจใช้ Java EE (EJB), .NET (NET Managed Component) หรือระบบ Legacy (IDL/CORBA) โดยใช้โพรโทคอลเฉพาะที่เป็น Binary Protocol ดังนี้


               • RMI/IIOP สำหรับ Java EE
               • COM สำหรับ Microsoft
               • CORBA สำหรับระบบมาตรฐานทั่วไป


รูปที่ 6 N-Tier Architecture
               ระบบ Distributed Computing ในยุดถัดมาก็คือยุคที่มีการนำเว็บเซอร์วิสเข้ามาใช้ โดยการเปลี่ยนโพรโทคอลเฉพาะเหล่านั้นให้เป็นโพรโทคอลกลางที่มีมาตรฐาน เช่นการนำโพรโทคอล SOAP/REST มาใช้ในการเรียกเซอร์วิสแทนที่การใช้โพรโทคอล RMI/IIOP หรือการนำ WSDL มาใช้ในการประกาศเซอร์วิส ดังตัวอย่างในรูปที่ 7 ซึ่งเป็นการแสดงการเปลี่ยนส่วนประกอบซอฟต์แวร์ที่ใช้ Java EE ให้เป็นส่วนประกอบเซอร์วิส (Service Component) โดยการเพิ่ม Web Service Layer (ในทางปฏิบัติ Java Application Server จะสนับสนุนการเพิ่ม Web Service Layer อยู่แล้ว จึงไม่จำเป็นต้องเพิ่มเครื่อง Server)

รูปที่ 7 N -Tier Architecture Using Web Service

รูป ที่ 8 .NET and Java EE Interoperability
 
เหตุผลของการพัฒนา SOA

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

               โครงสร้างของระบบไอทีขององค์กรขนาดใหญ่ (Information Technology Enterprise) จะประกอบไปด้วยระบบที่หลากหลายทั้งในด้านระบบปฏิบัติการ (Operating System) โปรแกรมประยุกต์ และระบบซอฟต์แวร์ ซึ่งโปรแกรมประยุกต์บางโปรแกรม อาจใช้ในการทำงานกับกระบวนการทางธุรกิจบางอย่าง ที่อาจทำงานภายใต้ระบบโครงสร้างไอทีเดิม เช่นพัฒนาโดยใช้เครื่องเมนเฟรม ดังนั้นเมื่อมีความจำเป็นต้องเปลี่ยนแปลงกระบวนการทางธุรกิจ จะทำให้การเปลี่ยนแปลงโดยใช้โครงสร้างไอทีเดิมทำได้ยาก จนอาจมีความต้องการที่จะยกเลิกระบบเดิมและพึ่งพาเทคโนโลยีใหม่ ระบบ SOA จะช่วยคุ้มครองการลงทุนขององค์กร เพื่อให้สามารถนำระบบโครงสร้างไอทีเดิมมาใช้ต่อไปได้ โดยการพัฒนาระบบโปรแกรมเดิมให้เป็น SOA Service และสามารถพัฒนากระบวนการทางธุรกิจจากเซอร์วิสต่างๆ ที่มีอยู่ จึงทำให้องค์กรสามารถเปลี่ยนกระบวนการทางธุรกิจได้อย่างรวดเร็ว โดยใช้โปรแกรมประยุกต์เดิม และโครงสร้างไอทีเดิมที่มีอยู่

               เหตุผลหลักขององค์กรในการพัฒนาระบบ SOA จึงมักจะเริ่มจากความต้องการในการเชื่อมโยงระบบโครงสร้างไอทีต่างๆ ในปัจจุบันเข้าด้วยกัน หรือการทำ Enterprise Application Integration (EAI) แต่ระบบ SOA จะแตกต่างกับระบบ EAI เดิมในแง่ที่ของความสามารถในการพัฒนากระบวนการทางธุรกิจใหม่จากเซอร์วิสเดิมที่มีอยู่ และมีการใช้ถึงมาตรฐานต่างๆ จากนั้นก็จะเป็นการนำ SOA มาใช้เพื่อพัฒนากระบวนการทางธุรกิจใหม่ๆ


ประโยชน์ของการพัฒนา SOA 


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

               • ระบบไอทีสามารถปรับเปลี่ยนได้ง่าย
               การพัฒนา SOA สามารถที่จะทำให้นำระบบไอทีเดิมมาใช้ใหม่ได้ ดังนั้นการปรับเปลี่ยนกระบวนการทางธุรกิจจึงเป็นไปได้อย่างรวดเร็ว และทำให้สามารถแข่งขันในตลาดธุรกิจได้อย่างรวดเร็ว

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

               • การทำงานของฝ่ายธุรกิจและฝ่ายไอทีสอดคล้องกันมากขึ้น
               การพัฒนา Business Process ของฝ่ายไอทีจะมีขั้นตอนที่ชัดเจนสามารถแสดงในเชิงกราฟฟิกได้และเข้าใจง่าย ขึ้น และหน่วยงานทางธุรกิจที่ต้องเข้าใจด้านกระบวนการทางธุรกิจสามารถที่จะเข้ามา ร่วมทำการพัฒนาร่วมกับฝ่ายไอทีได้ดีขึ้น


แม้ว่า SOA จะเป็นแนวคิดในการพัฒนาสถาปัตยกรรมไอที แต่การจะพัฒนา SOA ได้ก็จำเป็นจะต้องมีผลิตภัณฑ์ (Product) และเครื่องมือต่างๆ ดังนี้


1. ESB


               จะทำหน้าที่เป็นมิดเดิ้ลแวร์ที่ใช้ในการเชื่อมต่อระบบไอทีต่างๆ ในชั้น Resource Layer เข้าด้วยกัน ESB เปรียบเสมือนถนนเพื่อให้ Service ต่างๆ ติดต่อกันได้ โดยทั่วไป ESB จะประกอบด้วย Server ต่างๆ เพื่อทำหน้าที่ดังนี้

               • Integration Server เป็นมิดเดิ้ลแวร์เพื่อเชื่อมต่อกับระบบไอทีต่าง โดยเชื่อมต่อผ่าน Adapter ที่ต่างกัน อาทิเช่น เว็บเซอร์วิส HTTP, FTP, SMTP และ JDBC Adapters เป็นต้น รวมถึง Application Adapter ต่างๆ เช่น Oracle Finance, SAP และ PeopleSoft Adapters เป็นต้น ดังนั้นจะเห็นได้ว่า การเชื่อมต่อกับ ESB ไม่มีความจำเป็นจะต้องเปลี่ยนโปรแกรมประยุกต์เดิมที่มีอยู่ให้เป็นเว็บ เซอร์วิส แต่บางกรณีสามารถทำได้โดยเรียกผ่าน Adapter โดยตรง
               • Registry & Repository Server เป็น middle ware เพื่อที่จะเก็บ SOA Service ต่างๆ ที่มีอยู่ รวมไปถึงการเก็บโปรแกรมประยุกต์หรือกระบวนการทางธุรกิจต่างๆ ที่พัฒนาขึ้นมา
               • Messaging Server เป็นมิดเดิ้ลแวร์เพื่อที่จะเป็นตัวกลางในการส่งผ่านข่าวสาร (message) ระหว่างเซอร์วิสต่างๆ ทั้งนี้เพื่อประกันได้ว่าข่าวสารสามารถส่งถึงเซอร์วิสปลายทางได้อย่างถูก ต้อง (Guarantee Message Delivery) โดยสามารถส่งข่าวสารได้ทั้งในรูปแบบ Queue และ Topic

               รูปที่ 9 แสดงตัวอย่างฟังก์ชันการทำงานของ ESB ที่ใช้เชื่อมต่อ Resource Layer ที่ประกอบด้วยเทคโนโลยีต่างๆ อาทิเช่น Oracle Database, Custom Application, SAP, .NET, E-mail หรือ Java โดยจะเห็นว่า ESB จะมีฟังก์ชันในการทำงานต่างๆ ดังนี้
               • Adapters ที่ใช้ในการเชื่อมต่อ
               • Data Validator, Data Transformer หรือ XML Wrapper เช่น ebXML, EDI และ SWIFT
               • Messaging System สำหรับ Guarantee Message Delivery
               • QoS ของ Service เช่น Authentication และ Authorization


รูป ที่ 9 ฟังก์ชันการทำงานของ ESB ในการเชื่อมโยงระบบเดิมที่มีอยู่กับเซอร์วิส
 
2. Business Process Management (BPM) System

               BPM คือการทำงานใน Process Layer โดยมีการพัฒนากระบวนการทางธุรกิจซึ่งเป็นการเขียนภาษา BPEL ที่อยู่ในรูปของ XML ดังนั้นจึงจำเป็นจะต้องมีเครื่องมือในการพัฒนาโปรแกรม BPEL หรือ BPEL Designer โดยมากจะเป็นเครื่องมือที่สามารถเขียนกระบวนการทางธุรกิจในรูปของกราฟฟิกโดยใช้มาตรฐาน BPMN และสามารถที่จะแปลเป็น BPEL ได้ นอกจากนี้ยังจะต้องมี BPEL Engine เพื่อทำหน้าที่ในการรันโปรแกรม BPEL ที่พัฒนาขึ้นโดยการเรียกให้เซอร์วิส ตามคำสั่งของโปรแกรม BPEL

               ฟังก์ชันอีกส่วนหนึ่งที่สำคัญในการจัดการกระบวนการทางธุรกิจ คือ Business Process Monitoring เพื่อตรวจสอบการทำงานของกระบวนการทางธุรกิจที่รันอยู่ในมิดเดิ้ลแวร์


3. เครื่องมือพัฒนาโปรแกรมและมิดเดิ้ลแวร์สำหรับการเรียกใช้กระบวนการธุรกิจ


               กระบวนการทางธุรกิจสามารถที่จะกำหนดเป็นเซอร์วิสใหม่และเรียกใช้ผ่าน Access Layer ที่อาจเป็นโปรแกรม Desktop หรือ Web Programming ได้ ดังนั้นจึงจะต้องมีเครื่องมือในการพัฒนาโปรแกรมที่จะเรียกใช้กระบวนการทางธุรกิจเหล่านี้ ซึ่งอาจเป็นเครื่องมือในการสร้างเว็บ Workflow หรือรายงานต่างๆเช่น BAM (Business Activity Monitoring) นอกจากนี้บางองค์กรอาจต้องการพัฒนาเว็บท่า (Portal) ดังนั้นจึงอาจต้องมีมิดเดิ้ลแวร์ที่เป็น Portal Server เพื่อให้ผู้ใช้เข้าถึงจากจุดเดียว (Single Point of Entry) ได้


4. ระบบ Secure SOA


               การพัฒนา SOA ที่ดีต้องมีการทำ QoS ในด้าน Authentication ของเซอร์วิสาต่างๆ ดังนั้น ระบบ SOA ส่วนใหญ่จึงมีระบบ Identity Management ในการกำหนดสิทธิ์ผู้ใช้ และมีระบบ SSO  (Single Sign On) เพื่อให้ผู้ใช้ล็อกอินเพียงครั้งเดียว ระบบ SOA จะประกอบด้วยเครื่อง Server จำนวนมาก โดยอาจมีสถาปัตยกรรมฮาร์ดแวร์ดังแสดงในรูปที่ 10


รูปที่ 10 Practical SOA Hardware System
 
องค์กรที่นำระบบ SOA มาประยุกต์ใช้



               แม้ว่า SOA จะมีประโยชน์และผลตอบแทนการลงทุนในระยะยาว (ROI: Return of Investment) จะคุ้มค่า แต่การลงทุนเริ่มต้นค่อนข้างสูง เพราะต้องการซอฟต์แวร์ ESB และฮาร์ดแวร์ขนาดใหญ่ที่มีหลาย CPU ประกอบกับค่าพัฒนาระบบค่อนข้างสูงเนื่องจากต้องการทีมงานที่เข้าใจกระบวนการธุรกิจด้านนั้น ในปัจจุบันองค์กรในประเทศไทยหลายๆ องค์กรเริ่มมีโครงการ SOA เข้ามาทั้งในภาคธุรกิจการเงิน โทรคมนาคม และภาครัฐ ซึ่งจะเห็นได้ว่าโครงการเหล่านี้มีมูลค่าหลายสิบล้านบาท และผู้พัฒนาไม่ใช่แค่นักพัฒนาโปรแกรม (Developer) แต่ต้องเป็นผู้เชี่ยวชาญด้านธุรกิจนั้นๆ ด้วย เพราะการนิยามเซอร์วิสและการพัฒนากระบวนการทางธุรกิจต้องมีความเข้าใจธุรกิจ นั้นเป็นอย่างดี  ในต่างประเทศมีการนำ SOA มาประยุกต์ใช้ในองค์กรต่างๆ จำนวนมากทั้งในภาคการเงิน โทรคมนาคม ค้าปลีก ภาครัฐ และระบบสาธารณสุข ตัวอย่างเช่น Australia Department of Defense, Us Army, Center Point of Energy, Blue Cross, General Motors, ABN-AMRO และSmart เป็นต้น


 ตัวอย่างของระบบสาธารณสุขใน UK (National Healthcare System) เป็นตัวอย่างหนึ่งที่น่าสนใจ เพราะเป็นการพัฒนาระบบ SOA ที่ใหญ่ที่สุดในโลกแห่งหนึ่ง โดยการเชื่อมโยงระบบไอทีของโรงพยาบาลกว่า 250 แห่ง คลีนิกและสถานพยาบาลกว่า 600,000 แห่งทั่วประเทศ เพื่อเชื่อมโยงระบบไอทีกว่า 10,000 ระบบ โครงการนี้ให้บริการประชาชนกว่า 50 ล้านคน และมีจำนวนธุรกรรม (Transaction) ต่อปีกว่าหกพันล้าน โดยโครงการนี้มีมูลค่าการลงทุนสูงถึง 2.3 พันล้านเหรียญสหรัฐ






บทสรุป


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

ที่มา : http://www.vcharkarn.com/varticle/42195

ไม่มีความคิดเห็น:

แสดงความคิดเห็น