1
บทท 1
SOA: สถาปตยกรรมเชงบรการ
SOA (Service-Oriented Architecture) เปนหลกการการออกแบบสถาปตยกรรมซอฟตแวรองคกร (Software Enterprise Architecture) ทมการพดถ!งกนมาก โดยหลายๆ องคกรพยายามทจะออกแบบระบบทาง
ด'านไอทให'เข'าส+ระบบ SOA ซ!งส,งทท-าให' SOA ถกพดถ!งอย+างมากในปจจ.บน ก/ค0อการออกแบบทม.+งเน'นให' แอพพล,เคชนสามารถท-างานร+วมกนได' โดยไม+ขน!2 อย+กบแพลตฟอรม ภาษาคอมพ,วเตอร และเทคโนโลยทใช'ในการ พฒนา แต+เน0องจาก SOA เปนหลกการในการออกแบบ ดงน2นการท-าความเข'าใจและน-าไปพฒนาให'ใช'งานได'จร,ง น2น ยงเปนเร0องทยาก จนเม0อเว/บเซอรว,ส (Web Service) ซ!งเปนว,ธการหน!งในการพฒนาตามหลกการของ SOA เก,ดข!2นมา จ!งท-าให'แนวค,ด SOA ได'รบความน,ยมข!2นมาอย+างมาก จนบางคร2งท-าให'หลายๆ คนค,ดว+า SOA และ เว/บเซอรว,สเปนเร0องเดยวกน แต+จร,งๆ แล'ว SOA เปนแนวค,ดหร0อรปแบบในการออกแบบการสถาปตยกรรม ซอฟตแวรองคกรแบบหน!ง ส+วนเว/บเซอรว,สเปนว,ธการหน!งในการพฒนาเซอรว,สตามหลกการของ SOA เท+าน2น ท2 ง น2อาจใช' แนวทางอ0 นในการพฒนาเซอรว, ส ของระบบ SOA ก/ไ ด' เช+น การใช' CORBA (Common Object Request Broker Architecture) หร0อ Java RMI (Remote Method Invocation) บทความน2จะอธ,บายถ!งหลกการของ SOA โดยจะกล+าวถ!งต2งแต+พฒนาการของ Distributed Computing จนมาถ!งสถาปตยกรรมแบบ SOA และโซลชนในการพฒนา SOA ทต'องใช' ESB (Enterprise Service Bus) และเคร0องม0อทางด'านซอฟตแวร (Software Tool) อ0นๆ 1.1
พฒนาการของระบบ Distributed Computing
ระบบสถาปตยกรรมเช,งบร,การหร0อ SOA มพฒนาการมาจากระบบ Distributed Computing ทเปนการ พฒนาสถาปตยกรรมซอฟตแวรองคกร (Software Enterprise Architecture) ซ! งเร, มต2 ง แต+ ย. ค แรกทเปน MainFrame ไปส+ Web Tier ดงแสดงในตารางท 1.1 ซ!งจะเห/นว+าในแต+ละย.คจะมเทคโนโลย ภาษาคอมพ,วเตอร และเหต.ผลเช,งธ.รก,จทแตกต+างกน
SOA: สถาปตยกรรมเชงบรการ
Thanachart Numnonda and Thanisa Kruawaisayawan
2
ตารางท 1 การพฒนาการของสถาปตยกรรมซอฟตแวรองคกร สถาปตยกรรม
ชวงเวลา
ภาษาคอมพวเตอร
เหตผลธรกจในการผลกดน
Mainframe
1960s - 1980s
Procedural (COBOL)
ธ.รก,จแบบอตโนมต,
Client/Server
1980s - 1990s
Database (SQL) และ Fat Client (VB, PowerBuilder)
การกระจายการค-านวนไปท เคร0องเดสตท/อป
Web / N-Tier
1990s - 2000s
Object-Oriented (Java, PHP, COM)
Internet / e-Business
Service Oriented
2000s
Message Oriented (XML)
Business Agility
สถาปตยกรรมทหลายๆ องคกรพฒนาอย+ในปจจ.ปนค0อ Web Application แบบ Web Tier ดงแสดงในรป ท 1.1 ซ!งส+วนมากจะพฒนาโดยใช'ภาษาหร0อเทคโนโลยเช+น Java EE (Servlet/JSP), .NET (ASP) หร0อ PHP บนเคร0อง Web Server ซ!งจะต'องพฒนาโปรแกรมท2งส+วนแสดงผล (Presentation Logic) และส+วนประมวลผล (Business Logic) นอกจากน2 ผ' พ ฒนาจะต' อ งพฒนาส+ ว นทเปนเซอรว, ส ระบบ (System Service) เช+ น Concurrency, Load Balancing, Transaction และ Security เอง ท- า ให' ก ารพฒนา Web Application แบบ Web Tier ส-าหรบระบบขนาดใหญ+ท-าได'ยาก
รรปท 1 Web Application Architecture แนวทางการพฒนาระบบ Web Applications อกรปแบบค0อการพฒนาระบบแบบ N-Tier ดงแสดงในรป ท 1.2 ซ!งจะมการน-าเอา Application Server มาเปนม,ดเด,2ลแวร (Middleware) เพ0อจดการส+วนทเปนเซอรว,ส ระบบและเร0องทเกยวข'องกบทรพยากรต+างๆ ของระบบ และให'นกพฒนาสามารถทจะเน'นการพฒนาเฉพาะส+วน ประมวลผลบนเคร0อง Application Server โดยการสร'างส+วนประกอบซอฟตแวร (Software Component) หร0อ เซอรว,ส (Service) และแยกการพฒนาส+วนแสดงผลไว'บน Web Server
SOA: สถาปตยกรรมเชงบรการ
Thanachart Numnonda and Thanisa Kruawaisayawan
3
ซ!งว,ธการพฒนาส+วนประกอบซอฟตแวรหร0อเซอรว,ส อาจใช' Java EE (EJB), .NET (NET Managed Component) หร0อระบบ Legacy (IDL/CORBA) โดยใช'โพรโทคอลเฉพาะทเปน Binary Protocol ดงน2 RMI/IIOP ส-าหรบ Java EE COM ส-าหรบ Microsoft CORBA ส-าหรบระบบมาตรฐานทวไป
รปท 2 N-Tier Architecture ระบบ Web Application ในรปแบบถดมาก/ค0อการน-าเว/บเซอรว,สเข'ามาใช' โดยการเปลยนโพรโทคอล เฉพาะเหล+าน2นให'เปนโพรโทคอลกลางทมมาตรฐาน เช+นการน-าโพรโทคอล SOAP หร0อ REST มาใช'ในการเรยก เซอรว,สแทนทการใช'โพรโทคอล RMI/IIOP หร0อการน-า WSDL มาใช'ในการประกาศเซอรว,ส ดงตวอย+างในรปท 1.3 ซ!งเปนการแสดงการเปลยนส+วนประกอบซอฟตแวรทใช' Java EE ให'เปนส+วนประกอบเซอรว,ส (Service Component) โดยการเพ,ม Web Service Layer (ในทางปฏ,บต, Java Application Server จะสนบสน.นการเพ,ม Web Service Layer อย+แล'ว จ!งไม+จ-าเปนต'องเพ,มเคร0อง Server) การน-าเว/บเซอรว,สมาใช' จะท-าให'การต,ดต+อกนของส+วนประมวลผลและส+วนแสดงผลสามารถท-าได'หลาก หลายข!2น กล+าวค0อการพฒนาส+วนแสดงผลไม+จ-าเปนต'องผกต,ดอย+กบเทคโนโลยของส+วนประมวลผล ตวอย+างเช+น ไม+จ-าเปนต'องใช' JSP/Servlet ในการเรยกเว/บเซอรว,สทพฒนาโดยใช' Java EE แต+สามารถใช' ASP.NET เรยก แทนได' ดงแสดงในรปท 1.4 ดงน2นการพฒนา Web Application โดยใช'เว/บเซอรว,ส จ!งสามารถเช0อมโยงระบบ ไอททหลากหลาย (Heterogeneous System) ให'สามารถท-างานร+วมกน (Interoperability) ได'ดนนเอง
SOA: สถาปตยกรรมเชงบรการ
Thanachart Numnonda and Thanisa Kruawaisayawan
4
รปท 3 N -Tier Architecture Using Web Service
รปท 4 1.2
.NET and Java EE Interoperability
ความหมายของ SOA
ระบบสถาปตยกรรมเช,งบร,การหร0อ SOA เปนแนวค,ดและว,ธการออกแบบระบบสถาปตยกรรมองคกร ให'อ,งกบเซอรว,ส (Service)แบบกระจาย (Distributed) ทสามารถใช'งานร+วมกนได' และน-ากลบมาใช'ใหม+ได' ท2งน2 ระบบไอทขององคกรต+างๆ ในปจจ.บนมกจะมสถาปตยกรรมแบบ Silo-Oriented Architecture ซ!งการพฒนา ระบบไอทในแต+ละระบบต+างเปนอ,สระต+อกน อาจมระบบทใช'เทคโนโลยทแตกต+างกนเช+น Java, .NET, Oracle หร0อ SAP เปนต'น จ!งท-าให'ยากต+อการเช0อมต+อ บ-าร.งรกษายาก มค+าใช'จ+ายสง ปรบเปลยนระบบได'ยาก และการ พฒนาระบบใหม+ๆ เปนไปด'วยความล+าช'า ดงแสดงในรปท 1.5
SOA: สถาปตยกรรมเชงบรการ
Thanachart Numnonda and Thanisa Kruawaisayawan
5
รรปท 5 Silo-Oriented Architecture แนวค,ดของระบบ SOA ค0อการจดระบบ Silo-Oriented Architecture ใหม+ โดยการสร'างระบบไอทให' เปน 4 ช2น (Layer) ดงแสดงในรปท 1.6 และ 1.7 •
•
•
•
ซ!งจะเปนช2นของระบบโครงสร'างไอทต+างๆ ในปจจ.บน เช+นระบบฐานข'อมล Oracle ระบบโซลชน SAP หร0อ PeopleSoft เปนต'น ซ!งในช2นน2จะถกพฒนามากจากเทคโนโลยต+าง เช+ น Java EE, .NET, PHP หร0 อ โปรแกรมส- า เร/ จ รปต+ า งๆเช+ น SAP,PeopleSoft หร0 อ ระบบฐาน ข'อมลเช+น Oracle, MySQL Service Layer ซ! งเปนช2 น ของส+ ว นประกอบเซอรว, ส ต+ า งๆ ทสามารถน- า มาใช' ใ หม+ ไ ด' โดยส+ ว น ประกอบเซอรว,สเหล+าน2จะพฒนามาจากโมดล (Module) ต+างๆ ทรนบน Resource Layer Process Layer ซ!งเปนช2นของกระบวนการทางธ.รก,จ (Business Process) ทพฒนาข!2นมาจากการ ประกอบส+วนประกอบเซอรว,สต+างๆ Access Layer ซ!งเปนช2นของการเรยกใช'กระบวนการทางธ.รก,จทพฒนาข!2นผ+านผ+านทางโปรแกรม ทางเว/บ (Web Application) โดยอาจเคร0องคอมพ,วเตอรหร0อโทรศพทเคล0อนท (Mobile Phone) Resource Layer
SOA: สถาปตยกรรมเชงบรการ
Thanachart Numnonda and Thanisa Kruawaisayawan
6
รรปท 6 SOA Layers
รปท 7 SOA Conceptual Diagram ดงน2นจะเห/นได'วา+ SOA เปนการเปลยนระบบ Silo-Oriented Architecture มาส+ระบบ ServiceOriented ซ!งออกแบบเปนช2นๆ ท-าให'สามารถพฒนา ปรบปร.ง หร0อเพ,มเต,มโปรแกรมใหม+ได'ง+าย ดงแสดงในรปท 1.8
SOA: สถาปตยกรรมเชงบรการ
Thanachart Numnonda and Thanisa Kruawaisayawan
7
รปท 8 แนวคดสถาปตยกรรม SOA ระบบ SOA จะมค.ณลกษณะทส-าคญหลกๆ ดงน2 •
•
•
•
•
เซอรว,ส (Services) ระบบ SOA จะมการพฒนาเซอรว,สทสามารถกลบน-ามาใช'ใหม+ไ ด' และเปน เซอรว,สทใช'งานร+วมกนได' โดยเซอรว,สจะสร'างมาจาก Resource Layer การพฒนาเซอรว,สท-าได' หลายรปแบบแต+ทน,ยมกนมากค0อเว/บเซอรว,ส (Web Services) การต,ด ต+อ ส0 อสารระหว+า งเซอรว,ส จะใช'เ อกสารทเปน XML ทน,ยามผ+าน XML Schema (.xsd) ท-าให'ไม+จ-าเปนต'องทราบรายละเอยดของแฟลตฟอรมและเทคโนโลยของเซอรว,สทใช'อย+ เซอรว, ส จะมตวเช0 อมต+ อ (Interface) ทอธ, บ ายเซอรว, ส เช+ น Service Name, Input Parameter, Output Parameter และข' อ มลอ0 นๆ ในรปแบบของไฟล XML ท- า ให' ไ ม+ ข!2 น กบแฟลตฟอรมและ เทคโนโลยทเซอรว, ส น2 น ใช' อ ย+ โดยมากมกจะใช' ม าตรฐาน WSDL (Web Service Description Language) ในการอธ,บายเซอรว,ส Business Process หร0อกระบวนการทางธ.รก,จต+างๆ สามารถพฒนาข!2นมาจากการใช'เซอรว,สเด,มทม อ ย+ ซ! ง ม า ต ร ฐ า น ท น, ย ม ใ ช' ค0 อ WS-BPEL (Web Service Business Process Execution Language) ม Registry ในการเก/บเซอรว,สต+างๆ ทมอย+ ซ!ง Registry จะท-าหน'าทเหม0อนไดเร/กทอรของเซอรว,ส
โดยโปรแกรมประย.กตหร0อกระบวนการทางธ.รก,จต+างๆ จะค'นหาและเรยกใช'เซอรว,สจาก Registry น2 มาตรฐานทใช'ในการเก/บ Registry ทน,ยมใช'ค0อ UDDI (Universal Description Definition and Integration)
SOA: สถาปตยกรรมเชงบรการ
Thanachart Numnonda and Thanisa Kruawaisayawan
8
•
เซอรว,สแต+ละตวจะมส+วนการควบค.มค.ณภาพทเปน QoS (Quality of Service) อาท,เช+นการควบค.ม ความปลอดภยด'าน Authentication, Authorization, Reliable Message และ Policy
1.2.1 ประโยชนของการพฒนา SOA การพฒนาระบบโครงสร'างไอทในองคกรให'เปนระบบ SOA จะเก,ดประโยชนในด'านต+างๆ ดงน2 •
•
•
•
สามารถเช0อมโยงธ.รก,จต+างๆ การพฒนา SOA มการเช0อมโยงระบบไอทต+า งๆ ภายในองคกรและภายนอกองคกรทอาจใช' เทคโนโลยทต+างกน ท-าให'เราสามารถเช0อมโยงธ.รก,จต+างๆ ทอาจอย+ต+างระบบกน และสามารถให' บร,การกบลกค'า ค+คา' และบ.คลากรในองคกรได' ระบบไอทสามารถปรบเปลยนได'ง+าย การพฒนา SOA สามารถทจะท- า ให' น- า ระบบไอทเด, ม มาใช' ใ หม+ ไ ด' ดงน2 น การปรบเปลยน กระบวนการทางธ.รก,จจ!งเปนไปได'อย+างรวดเร/ว และท-าให'สามารถแข+งขนในตลาดธ.รก,จได'อย+าง รวดเร/ว การลดค+าใช'จา+ ยในการบ-าร.งรกษา และให'ผลตอบแทนการลงท.นทค.ม' ค+า การพฒนา SOA ท-าให'องคกรสามารถทจะใช'เทคโนโลยทหลากหลาย จ!งท-าให'เราสามารถทจะ เล0อกใช'เทคโนโลยต+างๆ ได' โดยไม+ต'องผกต,ดกบเทคโนโลยใดเทคโนโลยหน!ง ท-าให'ค+าใช'จ+าย ด'านไอทในระยะยาวลดลง การท-างานของฝ?ายธ.รก,จและฝ?ายไอทสอดคล'องกนมากข!2น การพฒนา Business Process ของฝ?ายไอทจะมข2นตอนทชดเจนสามารถแสดงในเช,งกราฟฟ@กได' และเข'าใจง+ายข!2น และหน+วยงานทางธ.รก,จทต'องเข'าใจด'านกระบวนการทางธ.รก,จสามารถทจะเข'า มาร+วมท-าการพฒนาร+วมกบฝ?ายไอทได'ดข!น2
1.2.2 เหตผลของการพฒนา SOA การพฒนาสถาปตยกรรม SOA จะมประโยชนต+อองคกรในหลายๆ ด'านอาท,เช+น การท-าให'ข'อมลต+างๆ ภายในองคกรเช0อมโยงกน การลดค+าใช'จ+ายในการบ-าร.งรกษา การท-าให'การพฒนาโปรแกรมใหม+เปนไปด'วยความ รวดเร/วข!น2 และท-าให'ระบบไอทในองคกรไม+ผกต,ดอย+กบระบบใดระบบหน!ง โครงสร'างของระบบไอทขององคกรขนาดใหญ+ (Information Technology Enterprise) จะประกอบไป ด'วยระบบทหลากหลายท2งในด'านระบบปฏ,บต,การ (Operating System) โปรแกรมประย.กต และระบบซอฟตแวร
SOA: สถาปตยกรรมเชงบรการ
Thanachart Numnonda and Thanisa Kruawaisayawan
9
ซ!งโปรแกรมประย.กตบางโปรแกรม อาจใช'ในการท-างานกบกระบวนการทางธ.รก,จบางอย+าง ทอาจท-างานภายใต' ระบบโครงสร'างไอทเด,ม เช+นพฒนาโดยใช'เคร0องเมนเฟรม ดงน2นเม0อมความจ-าเปนต'องเปลยนแปลงกระบวนการ ทางธ.รก,จ จะท-าให'การเปลยนแปลงโดยใช'โครงสร'างไอทเด,มท-าได'ยาก จนอาจมความต'องการทจะยกเล,กระบบเด,ม และพ!งพาเทคโนโลยใหม+ ระบบ SOA จะช+วยค.'มครองการลงท.นขององคกร เพ0อให'สามารถน-าระบบโครงสร'าง ไอทเด,มมาใช'ต+อไปได' โดยการพฒนาระบบโปรแกรมเด,มให'เปนเซอรว,ส และสามารถพฒนากระบวนการทาง ธ.รก,จ จากเซอรว, สต+ างๆ ทมอย+ จ!งท-า ให'อ งคกรสามารถเปลยนกระบวนการทางธ.ร ก,จ ได' อย+า งรวดเร/ว โดยใช' โปรแกรมประย.กตเด,ม และโครงสร'างไอทเด,มทมอย+ เหต.ผลหลกขององคกรในการพฒนาระบบ SOA จ!งมกจะเร,มจากความต'องการในการเช0อมโยงระบบ โครงสร'างไอทต+างๆ ในปจจ.บนเข'าด'วยกน หร0อการท-า Enterprise Application Integration (EAI) แต+ระบบ SOA จะแตกต+างกบระบบ EAI เด,มในแง+ทของความสามารถในการพฒนากระบวนการทางธ.รก,จใหม+จากเซอรว,ส เด,มทมอย+ และมการใช'ถ!งมาตรฐานต+างๆ จากน2นก/จะเปนการน-า SOA มาใช'เพ0อพฒนากระบวนการทางธ.รก,จ ใหม+ๆ 1.3
สถาปตยกรรมฮารดแวรส"าหรบการพฒนา SOA
แม'ว+า SOA จะเปนแนวค,ดในการพฒนาสถาปตยกรรมไอท แต+โซลชนในการพฒนา SOA ได'ก/จ-าเปนจะ ต'องมผล,ตภณฑ (Product) และเคร0องม0อต+างๆ ดงน2
1.3.1 Enterprise Service Bus Enterprise Service Bus (ESB)จะท-าหน'าทเปนม,ดเด,2ลแวรทใช'ในการเช0อมต+อเซอรว,สต+างๆ ทพฒนามา
จาก Resource Layer เข'าด'วยกน ท-าหน'าทต+างๆดงน2
ESB เปรยบเสม0อนถนนเพ0อให'เซอรว,สต+างๆ ต,ดต+อกนได' โดยทวไป ESB จะ
ต,ดต+อส0อสารระหว+างเซอรว,สต+างๆทอาจมโปรโตคอลทแตกต+างกนเช+น HTTP, FTP, SMTP หร0อ JDBC เปนต'น มความสามารถในการตรวจจบข+าวสาร (Message) ทส+งกนระหว+างเซอรว,ส มความสามารถในการ Routing ข+าวสาร มความสามารถในการแปลงข+าวสาร (Message Transformation)ระหว+างเซอรว,ส บร,หารจดการเช+น การต,ดต2ง การใช'งานและการบ-าร.งรกษาเซอรว,สต+างๆ ควบค.มคณภาพของเซอรว,ส (Quality of Services หร0อ QOS)
SOA: สถาปตยกรรมเชงบรการ
Thanachart Numnonda and Thanisa Kruawaisayawan
10
1.3.2 Business Process Engine หลกการของ SOA ให'ความส-าคญกบการพฒนากระบวนการทางธ.รก,จทจะสามารถปรบเปลยนได'ง+าย โดยการน- า เซอรว, ส ทมอย+ ม าประกอบเปนกระบวนการทางธ. ร ก, จ (Business Process) ท2 ง น2 ข!2 น อย+ ก บว+ า จะ เขยน Business Process ในรปแบบของ XML ซ! งในปจจ. บ นมภาษาทสามารถเขยนได' ห ลายภาษาอาท, เ ช+ น BPEL, BPSS หร0อ UML เปนต'น แต+ การจะเรยกใช' Business Process ได'อย+างอตโนมต, จะต'องมซอฟตแวร Business Process Engine ทจะท-าหน'าทรน ตรวจสอบ และจดการซอฟตแวร Business Process ดงกล+าว รวม ถ!งเรยกใช'เซอรว,สต+างๆทเกยวข'อง ซ!งอาจรวมถ!งการรน Business Rules ทเกยวข'อง ซอฟตแวร Business Process Engine อาจจะเปนโปรแกรมส+ ว นหน! งทมากบ ESB หร0 อ อาจเปน ซอฟตแวรทแยกต+างหากก/ได' ซ!งภาษามาตรฐานทน,ยมใช'ในการพฒนา Business Procss ค0อ BPEL หร0อเรยก ว+ า WS4BPEL(Web Services- Business Process Execution Language) ด งน น จ ะ พ บ ว+ า ซ อ ฟ ต แ ว ร Business Process Engine ส+วนใหญ+จะสนบสน.นภาษาดงกล+าว
1.3.3 Web Server สถาปตยกรรม SOA สามารถพฒนา Access Layer ได'หลายรปแบบ แต+ว,ธการทน,ยมในปจจ.บนค0อการ เรยกใช'ผา+ นเว/บ โดยใช' Web Server ซ!งสามารถทจะเล0อกใช' Web Server ทมเทคโนโลยใดๆก/ได'โดยไม+ได'ผกต,ด กบเทคโนโลยของ Process Layer โปรแกรม Web Application ทพฒนาข!2 น จะท- า หน' า ทในการเปน User Interface และเรยกใช' Business Process ทพฒนาข!น 2 ใน Process Layer
1.3.4 Registry & Repository Server ซอฟตแวรม, ด เด,2 ล แวรเพ0 อทจะเก/ บ เซอรว, ส ต+ า งๆ ทมอย+ รวมไปถ! ง การเก/ บ โกระบวนการทางธ. ร ก, จ (Business Process) ต+างๆ ทพฒนาข!2นมา ซ!ง Registry Server ส-าหรบกรณของเซอรว,สทเปน Web Services ค0อ UDDI Server
1.3.5 Messaging Server ซอฟตแวรม,ดเด,2ลแวรเพ0อทจะเปนตวกลางในการส+งผ+านข+าวสาร (message) ระหว+างเซอรว,สต+างๆ ท2งน2 เพ0อประกนได'ว+าข+าวสารสามารถส+งถ!งเซอรว,สปลายทางได'อย+างถกต'อง (Guarantee Message Delivery) โดย สามารถส+งข+าวสารได'ท2งในรปแบบ Queue และ Topic
SOA: สถาปตยกรรมเชงบรการ
Thanachart Numnonda and Thanisa Kruawaisayawan
11
1.3.6 เคร#$องม#อการพฒนาโปรแกรม การพฒนา Business Process และ Web Application จะต'องมเคร0องม0อในการพมนาโปรแกรม โดยอาจ ใช'เคร0องม0อช.ดเดยวกนหร0อ อาจใช'เคร0องม0อส-าหรบแต+ละส+วนทต+างกนก/ได' เช+น อาจใช' BPEL Designer ส-าหรบ การพฒนา Business Process แยกออกจาก Programming Tool ส-าหรบพฒนา Web Application
1.3.7 ระบบ Secure SOA การพฒนา SOA ทดต'องมการท-า QoS ในด'าน Authentication ของเซอรว,สาต+างๆ ดงน2นระบบ SOA ส+วนใหญ+จ!งมระบบ Identity Management ในการก-าหนดส,ทธ,Bผ'ใช' และมระบบ SSO (Single Sign On) เพ0อ ให'ผใ' ช'ล/อกอ,นเพยงคร2งเดยว ระบบ SOA ขนาดใหญ+อาจมสถาปตยกรรมฮารดแวรดงแสดงในรปท 1.9 แต+องคกรส+วนมากมกจะสร'าง ระบบ SOA ส-าหรบงานเฉพาะด'านและเล0อกใช' ESB ทไม+ได'มความซบซ'อนมาก (Lightweight ESB) จ!งมกจะม โครงสร'างดงรปท 1.10 1.4
องคกรท&$น"าระบบ SOA มาประยกตใช(
แม'ว+า SOA จะมประโยชนและผลตอบแทนการลงท.นในระยะยาว (ROI: Return of Investment) จะค.'ม ค+ า แต+ ก ารลงท. น เร, มต' น ค+ อนข'า งสง เพราะต' อ งการซอฟตแวร ESB และฮารดแวรขนาดใหญ+ ท มหลาย CPU ประกอบกบค+าพฒนาระบบค+อนข'างสงเน0องจากต'องการทมงานทเข'าใจกระบวนการธ.รก,จด'านน2น ในปจจ.บน องคกรในประเทศไทยหลายๆ องคกรเร,มมโครงการ SOA เข'ามาท2งในภาคธ.รก,จการเง,น โทรคมนาคม และภาครฐ ซ!งจะเห/นได'ว+าโครงการเหล+าน2มมลค+าหลายส,บล'านบาท และผ'พฒนาไม+ใช+แค+นกพฒนาโปรแกรม (Developer) แต+ต'องเปนผ'เชยวชาญด'านธ.รก,จน2นๆ ด'วย เพราะการน,ยามเซอรว,สและการพฒนากระบวนการทางธ.รก,จต'องม ความเข'าใจธ.รก,จน2นเปนอย+างด ในต+างประเทศมการน-า SOA มาประย.กตใช'ในองคกรต+างๆ จ-านวนมากท2งในภาคการเง,น โทรคมนาคม ค'าปลก ภาครฐ และระบบสาธารณส. ข ตวอย+างเช+น Australia Department of Defense, Us Army, Center Point of Energy, Blue Cross, General Motors, ABN-AMRO และ Smart เปนต'น ตวอย+า งของระบบสาธารณส. ข ใน UK (National Healthcare System) เปนตวอย+า งหน! งทน+ า สนใจ เพราะเปนการพฒนาระบบ SOA ทใหญ+ทส.ดในโลกแห+งหน!ง โดยการเช0อมโยงระบบไอทของโรงพยาบาลกว+า
SOA: สถาปตยกรรมเชงบรการ
Thanachart Numnonda and Thanisa Kruawaisayawan
12
250 แห+ ง คลน, กและสถานพยาบาลกว+า 600,000 แห+ งทวประเทศ เพ0 อเช0 อมโยงระบบไอทกว+า 10,000 ระบบ
โครงการน2ให'บร,การประชาชนกว+า 50 ล'านคน และมจ-านวนธ.รกรรม (Transaction) ต+อปDกว+าหกพนล'าน โดย โครงการน2มมลค+าการลงท.นสงถ!ง 2.3 พนล'านเหรยญสหรฐ แต+อย+างไรก/ตามการท-าระบบ SOA เพ0องานเฉพาะด'านและแก'ปญหาต+างๆเช+น การเช0อมโยงระบบบาง ระบบทแตกต+างกน การสร'างเซอรว,ส และการปรบเปลยน Business Process จะเหมาะสมกบองคกรส+วนใหญ+ และสามารถเร,มต'นได'ง+ายกว+า ถ'ามการออกแบบและว,เคราะหระบบให'ด
รปท 9 สถาปตยกรรมระบบ SOA ขนาดใหญ
SOA: สถาปตยกรรมเชงบรการ
Thanachart Numnonda and Thanisa Kruawaisayawan
13
รปท 10 สถาปตยกรรระบบ SOA ขององคกรทวไป 1.5
บทสรป SOA เปนแนวค,ดในการพฒนาสถาปตยกรรมไอทขององคกรให'เปนแบบเช,งบร,การ เพ0อทจะท-าให'ระบบ
ไอทในองคกรสามารถเช0อมโยงกนได' การพฒนาเซอรว,สของ SOA สามารถท-าได'หลายว,ธ และเว/บเซอรว,สเปนว,ธ หน!งทเหมาะสม การพฒนาระบบ SOA จ-าเปนทจะต'องมผล,ตภณฑและเคร0องม0อในการพฒนา ทส-าคญทส.ดค0อ ต'องม ESB เพ0อเช0อมโยงระบบไอทต+างๆ โดยผ+าน Protocol/Adapter ซ!งจะเห/นได'ว+าการเช0อมโยงทดอาจไม+ จ-าเปนต'องแปลงระบบเด,มมาส+เว/บเซอรว,สท2งหมด ท2งน2เพราะ Adapter สามารถต,ดต+อกบโมดลเด,มทอาจใช'โพร โทคอลอ0นได' การพฒนา SOA มต'นท.นทค+อนข'างสง และจ-าเปนต'องมทมงานทเข'าใจธ.รก,จเฉพาะน2นๆ แต+ผล ตอบแทนระยะยาวจะค.'มค+ามาก
เอกสารอ!างอง 1) Kyle Gabhart and Bibhas Bhattacharyam, Service Oriented Architecture Field Guide for Executives, John-Wiley & Son, 2008 2) Eric Newcomer and Greg Lomow, Understanding SOA with Web Services, Addison-Wesley, 2005 3) Thomas Erl, Service-Oriented Architecture Concepts Technology and Design, Prentice Hall, 2005
SOA: สถาปตยกรรมเชงบรการ
Thanachart Numnonda and Thanisa Kruawaisayawan