Monday, 9 July 2007

เจาะแก่น SOA ตอนที่ 2 WebService กับ SOA

จากภาคแรก ผมเกริ่นเกี่ยวกับ SOA เอาไว้ ในตอนที่ 2 นี้ผมจะเขียนความเกี่ยวข้องระหว่าง SOA กัน web services

ที่ SOA เป็นพูดถึงกันมากส่วนหนึ่งก็เพราะ web services นั่นเอง ความจริง SOA ไม่ใช่ของใหม่ ถ้าเราสังเกตลักษณะของ service จะมีส่วน implementation แยกกับ interface เสมอ
เพื่อลด coupling ระหว่าง service กับผู้เรียก ซึ่งแนวคิดนี้มีใน J2EE (RMI), CORBA และ COM อยู่แล้ว นั่นคือเราสามารถใช้ RMI technology (ซึ่งเป็น distributed technology) ทำ SOA ได้

แต่ว่า จุดขายที่สำคัญของ web services คือ platform independent ผู้เรียกกับ service ไม่จำเป็นต้องเป็น platform เดียวกัน (java application เรียกใช้ .NET service) ซึ่งต่างจาก RMI ที่ต้องเป็น java หรือ CORBA ที่ต้องเป็น Java หรือ C++

ในปัจจุบันถ้า web services คือหัวใจของ SOA, XML ก็คือเส้นเลือดหล่อเลี้ยงหัวใจ เพราะ XML ทำให้ Web services เป็น platform independent technology ซึ่งช่วยให้สามารถ communicate ระหว่าง B2B หรือ new system กับ legacy system ที่เป็นต่างภาษา หรือ platform ได้

XML เป็น markup language มีลักษณะเป็น text ใครก็เปิดอ่านได้ และอ่านรู้รื่องได้ไม่ยาก ขอให้ผู้เรียกกับ service เข้าใจ xml ก็เป็น web services ได้แล้ว
ซึ่ง technology ที่เกี่ยวกับ web services ส่วนใหญ่เกี่ยวข้องกับ XML ทั้งนั้น เช่น WSDL, SOAP, BPEL

SOA กับ web services จะเป็นเครื่องมือสำคัญในการพัฒนา enterprise application ในอนาคต ด้วยจุดเด่น คือ
1. loose coupling
2. ความคล่องตัว ปรับเปลี่ยนง่าย
3. high reusability
4. ที่สำคัญช่วยลด cost ในการ mainteinence

ตามหลักการแล้ว web service สามารถเรียกข้ามองค์กร (cross organization)ได้ แต่ว่า spec บางอย่างของ Web services ยังไม่นิ่ง เช่น security, trasaction, และ QoS ต่าง ๆ
ดังนั้น การใช้ SOA ส่วนใหญ่จึงเป็นการเรียกใช้ web service ภายในองค์กรของตัวเองเท่านั้น
สิ่งที่ทำได้ตอนนี้ คือ เกาะติดความก้าวหน้าของ SOA และพิจารณาความเสี่ยงเมื่อนำ SOA มาใช้อย่างรอบคอบ เพราะ SOA ก็มีต้นทุนสูง, learning curve พอสมควร
และที่สำคัญจะได้ไม่เป็นเหยื่อคำโฆษณาของเหล่า vendor นั่นเอง

บทความที่เกี่ยวข้อง

No comments: