1. Introduction to
Service Oritened Architecture
Assoc Prof. Dr.Thanachart Numnonda
and
Asst Prof.Thanisa Kruawaisayawan
May 2010
www.thaijavadev.com
Thanachart Numnonda and Thanisa Kruwaisayawan www.thaijavadev.com 1
2. บทท 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 ซ!งจะเห/นว+าในแต+ละย.คจะมเทคโนโลย ภาษาคอมพ,วเตอร และ
เหต.ผลเช,งธ.รก,จทแตกต+างกน
Thanachart Numnonda and Thanisa Kruwaisayawan SOA: สถาปตยกรรมเชงบรการ 2
3. ตารางท 1.1 การพฒนาการของสถาปตยกรรมซอฟตแวรองคกร
สถาปตยกรรม ชวงเวลา ภาษาคอมพวเตอร เหตผลธรกจในการผลกดน
Mainframe 1960s - 1980s Procedural (COBOL) ธ.รก,จแบบอตโนมต,
Client/Server 1980s - 1990s Database (SQL) และ Fat การกระจายการค-านวนไปท
Client (VB, เคร0องเดสตท/อป
PowerBuilder)
Web / N-Tier 1990s - 2000s Object-Oriented (Java, Internet / e-Business
PHP, COM)
Service Oriented 2000s Message Oriented Business Agility
(XML)
สถาปตยกรรมทหลายๆ องคกรพฒนาอย+ในปจจ.ปนค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.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
Thanachart Numnonda and Thanisa Kruwaisayawan SOA: สถาปตยกรรมเชงบรการ 3
4. ซ! งว, ธ การพฒนาส+ ว นประกอบซอฟตแวรหร0 อ เซอรว, ส อาจใช' Java EE (EJB), .NET (NET Managed
Component) หร0อระบบ Legacy (IDL/CORBA) โดยใช'โพรโทคอลเฉพาะทเปน Binary Protocol ดงน2
• RMI/IIOP ส-าหรบ Java EE
• COM ส-าหรบ Microsoft
• CORBA ส-าหรบระบบมาตรฐานทวไป
รปท 1.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) ได'ดนนเอง
Thanachart Numnonda and Thanisa Kruwaisayawan SOA: สถาปตยกรรมเชงบรการ 4
5. รปท 1.3 N -Tier Architecture Using Web Service
รปท 1.4 .NET and Java EE Interoperability
1.2 ความหมายของ SOA
ระบบสถาปตยกรรมเช,งบร,การหร0อ SOA เปนแนวค,ดและว,ธการออกแบบระบบสถาปตยกรรมองคกร ให'อ,ง
กบเซอรว,ส (Service)แบบกระจาย (Distributed) ทสามารถใช'งานร+วมกนได' และน-ากลบมาใช'ใหม+ได' ท2งน2ระบบ
ไอทขององคกรต+างๆ ในปจจ.บนมกจะมสถาปตยกรรมแบบ Silo-Oriented Architecture ซ!งการพฒนาระบบไอทใน
แต+ละระบบต+างเปนอ,สระต+อกน อาจมระบบทใช'เทคโนโลยทแตกต+างกนเช+น Java, .NET, Oracle หร0อ SAP เปนต'น
จ!งท-าให'ยากต+อการเช0อมต+อ บ-าร.งรกษายาก มค+าใช'จ+ายสง ปรบเปลยนระบบได'ยาก และการพฒนาระบบใหม+ๆ เปนไป
ด'วยความล+าช'า ดงแสดงในรปท 1.5
Thanachart Numnonda and Thanisa Kruwaisayawan SOA: สถาปตยกรรมเชงบรการ 5
11. 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 ทพฒนาข!นใน Process Layer
2
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
Thanachart Numnonda and Thanisa Kruwaisayawan SOA: สถาปตยกรรมเชงบรการ 11
12. 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) เปนตวอย+างหน!งทน+าสนใจ เพราะ
Thanachart Numnonda and Thanisa Kruwaisayawan SOA: สถาปตยกรรมเชงบรการ 12
13. เปนการพฒนาระบบ SOA ทใหญ+ทส.ดในโลกแห+งหน!ง โดยการเช0อมโยงระบบไอทของโรงพยาบาลกว+า 250 แห+ง คล
น,กและสถานพยาบาลกว+า 600,000 แห+งทวประเทศ เพ0อเช0อมโยงระบบไอทกว+า 10,000 ระบบ โครงการน2ให'บร,การ
ประชาชนกว+า 50 ล'านคน และมจ-านวนธ.รกรรม (Transaction) ต+อปDกว+าหกพนล'าน โดยโครงการน2มมลค+าการลงท.น
สงถ!ง 2.3 พนล'านเหรยญสหรฐ
แต+อย+างไรก/ตามการท-าระบบ SOA เพ0องานเฉพาะด'านและแก'ปญหาต+างๆเช+น การเช0อมโยงระบบบางระบบท
แตกต+างกน การสร'างเซอรว,ส และการปรบเปลยน Business Process จะเหมาะสมกบองคกรส+วนใหญ+และสามารถ
เร,มต'นได'ง+ายกว+า ถ'ามการออกแบบและว,เคราะหระบบให'ด
รปท 1.9 สถาปตยกรรมระบบ SOA ขนาดใหญ
Thanachart Numnonda and Thanisa Kruwaisayawan SOA: สถาปตยกรรมเชงบรการ 13
14. รปท 1.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
Thanachart Numnonda and Thanisa Kruwaisayawan SOA: สถาปตยกรรมเชงบรการ 14
28. เอกสารอ!างอง
• Ramesh Nagappan, Robert Skocaylas and Rima Sriganesh, Developing Java Web Services, Wiley,
2003
• Eric Newcomer and Greg Lomow, Understanding SOA with Web Services, Addison-Wesley, 2005
• Thomas Erl, Service-Oriented Architecture Concepts Technology and Design,Prentice Hall, 2005
• Shan Shin, Web Services Overview, http://www.javapassion.com/webservices
Thanachart Numnonda and Thanisa Kruwaisayawan เว!บเซอรวส: มาตรฐานเพ#อการพฒนา SOA 28
29. บทท 3 การพฒนา Business Process ส&าหรบ SOA
การพฒนา SOA มข2นตอนในการพฒนากระบวนการทางธ.รก,จ (Business Process) ใหม+โดยอ'างอ,งจาก
เซอรว,สเด,มทมอย+ การพฒนาเซอรว,สของ SOA แม'จะสามารถท-าได'หลายว,ธ แต+เทคโนโลยทได'รบความน,ยมทส.ดใน
ปจจ.บนค0อการใช'แพลตฟอรมเว/บเซอรว,ส ซ!งจะท-าให'สามารถเล0อกใช'ภาษาและเคร0องม0อในการพฒนา Business
Process ได' ห ลายภาษา ซ! งภาษาในการเขยน Business Process ทน, ย มมากทส. ด ภาษาหน! งค0 อ ภาษา BPEL ซ! ง
สามารถเขยน Business Process โดยการประกอบเว/บเซอรว,สทอธ,บาย Interface โดยใช'โปรโตคอล WSDL ได'
บทความน2จะเปนการแนะน-าหลกการของ Business Process Management การพฒนา Business Process
โดยใช'ภาษา BPEL และค-าสงในภาษา BPEL
3.1 แนวคดพ'นฐานของ Business Process Management
/
Business Process หร0อกระบวนการทางธ.รก,จเปนธ.รกรรม (activity) ทประกอบด'วยภารก,จ (task) หลายๆ
อย+างทต'องกระท-าตามล-าดบข2นตอน Business Process จะให'ผลลพธตามข'อก-าหนดทต2งไว'เม0อมการประมวลผลตาม
ข2นตอนทก-าหนดเสร/จส,2น ตวอย+างหน!งของ Business Process ค0อการขออน.มต,ส,นเช0อซ!งอาจประกอบไปด'วยภารก,จ
หลายอย+างทต'องกระท-าเช+น ค-านวณดอกเบ2ยและเง,นทต'องช-าระในแต+ละงวด ตรวจสอบเครด,ตของลกค'า ขออน.มต,การ
ก'ย0มจากส-านกงานใหญ+ ท2งน2ระยะเวลาในการท-าธ.รกรรมของ Business Process มต2งแต+ใช'เวลาส2นๆเพยงไม+กนาทไป
จนถ!งใช'เวลาเปนเด0อนหร0อปD
Business Process Management (BPM) เปนการบร,หารจดการกระบวนการทางธ.รก,จโดยจะกล+าวถ!ง การ
จ-าลอง การพฒนา การต,ดต2ง และการตรวจสอบ Business Process รวมไปถ!งกระบวนการทจะต'องเกยวข'องกบระบบ
ไอทและคน ในแง+ของไอท BPM เปนเร0องทมมานานแล'วต2งแต+ย.คแรกทกล+าวถ!งเร0อง workflow จนมาถ!งย.คของ
เว/บเซอรว,สทพดถ!งการท-า Web Services Orchestration และ Web Services Choreography
จ.ดประสงคและประโยชนของ BPM มดงน2
• ท-าให'ความต'องการทางธ.รก,จ (Business Requirement) สอดคล'องกบระบบไอททจะพฒนาข!น ท2งน2
2
เพราะ BPM ช+วยให'ผใช'ทางฝ?ายธ.รก,จสามารถจ-าลอง Business Process แล'วมอบหมายให'ฝายไอทพฒนา
' ?
ซอฟตแวรหร0อระบบเพ0อทจะท-างานให'สอดคล'องกบ Business Process เหล+าน2
• เพ,มประส,ทธ,ภาพการท-างานของพนกงานและลดค+าใช'จายในการด-าเน,นงานโดยการพฒนา Business
+
Thanachart Numnonda and Thanisa Kruwaisayawan การพฒนา Business Process ส$าหรบ SOA 29
30. Process ให'เปนระบบอตโนมต,
• องคกรสามารถจะปรบเปลยน Business Process ได'อย+างรวดเร/ว ท-าให'สามารถแข+งขนเช,งธ.รก,จได'
• ลดต'นท.นและเวลาในการพฒนาโซลชน เน0องจากการพฒนา Business Process จะเปนการพฒนา
โปรแกรมในระดบสงทใช'สญลกษณทางกราฟฟ@ก ท-าให'นกว,เคราะหทางธ.รก,จ (Business Analyst) และนก
พฒนาโปรแกรม (Developer) สามารถท-างานร+วมกนได'เพ0อพฒนาและปรบเปลยนระบบไอทได'อย+างรวดเร/ว
และสอดคล'องกบความต'องการเช,งธ.รก,จ
จากทเคยกล+าวไว'ว+าแนวค,ดของ SOA จะเปนการจดสถาปตยกรรมไอทโดยแบ+งออกเปน 4 ช2นค0อ Resource,
Services, Process และ Access น2 น BPM จะเข' า มาเกยวข' อ งในช2 น Process เพ0 อพฒนาและบร, ห ารจดการ
Business Process เพ0อความเข'าใจในเร0องน2จะขอยกตวอย+างระบบไอทขององคกรในรปท 3.1 ซ!งอาจประกอบไปด'วย
โปรแกรมประย.กตต+างๆทพฒนามาจากเทคโนโลยทหลากหลาย ซ!งยงเปนสถาปตยกรรมแบบ Silo (ในรปน2จะเห/นว+า
ท2ง Application Layer และ Technology Layer หมายถ!ง Resource Layer) เราสามารถทจะพฒนาระบบไอทน2
ให'เปน SOA โดยการใช'เทคโนโลยเว/บเซอรว,ส โดยอาจก-าหนดให'มเซอรว,สในหมวดต+างๆเช+นบร,การด'านบ.คลากร
(HR services) และบร,การด'านการเง,น (Planning services) เซอรว,สเหล+าน2จดเปนเซอรว,สทางเทคน,ค (Technical
service) ทสามารถน-ามาใช'ใหม+ได' และ BPM ทอย+ใน Business Layer สามารถน-าเอาเซอรว,สเหล+าน2มาประกอบ
เปน Business Process ต+างๆได'ตามรปท 3.2 ข'อดของการสร'าง Business Process จากเซอรว,สทอย+ใน Services
Layer มดงน2
รปท 3.1 สถาปตยกรรมแบบ Silo [อางองจาก E.Newcomer]
Thanachart Numnonda and Thanisa Kruwaisayawan การพฒนา Business Process ส$าหรบ SOA 30
31. • มการก-าหนดน,ยามของเซอรว,สทชดเจน โดยอาจใช'มาตรฐาน WSDL และไม+ย!ดต,ดกบเทคโนโลย ดงน2น
เราสามารถทจะพฒนา Business Process โดยไม+ต'องค-าน!งถ!งเทคโนโลยทใช'ในการซอรว,ส
• ม Service Registry ท-าให'เราสามารถค'นหาเซอรว,สได'แบบพลวต (dynamic)
• สามารถน,ยามโมเดลของข'อมลทเปนอ,สระจากโมเดลของข'อมลของแต+ละโปรแกรมประย.กตในแต+ละ
เทคโนโลยของ Resource Layer
• สามารถทจะก-าหนดระดบความปลอดภยของเซอรว,สต+างๆ เช+นการก-าหนด Single Sign On หร0อการ
ก-าหนดส,ทธ,การใช'แบบ RBAC (Role Based Access Control) ท-าให'การพฒนา Business Process ไม+
จ-าเปนต'องไปจดการเร0องความปลอดภยโดยตรงกบส+วนโปรแกรมประย.กตหร0อระบบใน Resource Layer
รปท 3.2 BPM โดยใช Services Layer [อางองจาก E . Newcomer]
จะเห/ น ได' ว+ า การพฒนา SOA จะแตกต+ า งกบการท- า Business Workflow ของระบบแบบเก+ า ทไม+ ม ช2 น
Service Layer โดยจะต,ดต+อตรงกบ Application Layer ดงรปท 3.3 การท-า BPM โดยไม+ม Services Layer จะซบ
ซ'อนกว+าและปรบเปลยน Business Process ได'ยากกว+า เน0องจากจะต'องพฒนา Business Process โดยผกต,ดกบ
Thanachart Numnonda and Thanisa Kruwaisayawan การพฒนา Business Process ส$าหรบ SOA 31
32. เทคโนโลยใน Resource Layer แต+ละตวโดยตรง
รปท 3.3 BPM โดยไมม Services Layer [อางองจาก E . Newcomer]
3.2 Orchestration และ Choreography
ว,ธการพฒนา Business Process โดยมากจะใช'เทคโนโลยเว/บเซอรว,ส โดยจะน-าเว/บเซอรว,สทประกาศโดยใช'
มาตรฐาน WSDL มาประกอบเปนกระบวนการทางธ.รก,จใหม+โดยมว,ธการอย+สองว,ธค0อ
• Orchestration ค0อการพฒนา Business Process โดยมกระบวนการตวกลาง (Central Process) ทจะ
ท-าหน'าทจดการกบธ.รกรรมท2งหมดโดยจะส+งงานไปให'เว/บเซอรว,สอ0นท-าการประมวลผลและรบผลลพธ
กลบมาพร'อมท2งควบค.มการล-าดบการท-างานของเว/บเซอรว,สดงรปท 3.4 ซ!ง Central Process น2ก/อาจ
ก-าหนดให'เปนเว/บเซอรว,สใหม+อกตวหน!ง การประกอบเว/บเซอรว,สแบบ Orchestration โดยมากจะ
พฒนาโดยใช'ภาษา BPEL ทจะกล+าวถ!งต+อไป
• Choreography ค0อการพฒนา Business Collaboration ในกรณน2จะไม+มตวกลางทคอยควบค.มอย+ แต+
เว/บเซอรว,สจะทราบเองว+าเม0อไรทจะต'องท-าการประมวลผลและส+งผลลพธไปยงเว/บเซอรว,สใดโดยการ
ส+งข+าวสารระหว+างเว/บเซอรว,สดงรปท 3.5 เว/บเซอรว,สท.กตวทเกยวข'องกบ Business Collaboration
จะต'องทราบถ!ง Business Process ทท-าความร+วมม0อกนอย+เช+น รปแบบของข+าวสาร เอเปอรเรชนทต'อง
Thanachart Numnonda and Thanisa Kruwaisayawan การพฒนา Business Process ส$าหรบ SOA 32
33. ประมวลผล หร0อเวลาทต'องส+งข+าวสาร เปนต'น ซงแตกต+างกบกรณของ Orchestration ซ!งเว/บเซอรว,ส
แต+ ล ะตวจะไม+ ท ราบรายละเอยดของ Business Process เลย การประกอบเว/ บ เซอรว, ส แบบ
Orchestration โดยมากจะพฒนาโดยใช'ภาษา WS-CDL
รปท 3.4 การประกอบเว%บเซอร'วสแบบ Orchestration
รปท 3.5 การประกอบเว%บเซอร'วสแบบ Choreography
การประกอบเว/บเซอรว,สแบบ Orchestration มข'อเด+นกว+าแบบ Choreography ดงน2
Thanachart Numnonda and Thanisa Kruwaisayawan การพฒนา Business Process ส$าหรบ SOA 33
34. การประสานงานกนระหว+างเว/บเซอรว,ส สามารถควบค.มโดยตวประสานงานกลาง
เว/บเซอรว,สแต+ละตวสามารถถกเรยกใช'ใน Business Process โดยไม+จ-าเปนต'องทราบว+าเปนส+วน
หน!งของ Business Process น2นๆ
สามารถปรบเปลยน Business Process ได'ง+ายกว+า
3.3 ภาษาในการพฒนา Business Process
ภาษาในการพฒนา Business Process จะมอย+หลายภาษาตามไดอะแกรมในรปท 3.6 ซ!งจะเห/นได'ว+ามการ
พฒนาภาษาต+างๆมาอย+างต+อเน0องและหลายภาษามองคกรทเกยวข'องมารองรบมาตรฐานอาท,เช+น
รปท 3.6 ววฒนาการของภาษาในการพฒนา Business Process
Thanachart Numnonda and Thanisa Kruwaisayawan การพฒนา Business Process ส$าหรบ SOA 34