วันเสาร์ที่ 15 ตุลาคม พ.ศ. 2554

Service Oriented Architecture ความหมายของ SOA คืออะไร? ระบบสถาปัตยกรรมเชิงบริการหรือ SOA เป็นแนวคิดในการจะออกแบบระบบไอทีในองค์กรให้เป็นระบบเชิงบริการ (Service Or

Service Oriented Architecture

ความหมายของ SOA คืออะไร?

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

องค์กรส่วนใหญ่เริ่มทำ SOA เพราะอะไร ?

จากข้อมูลขององค์กรวิจัยด้านไอทีพบว่าหน่วยงานส่วนใหญ่จะเริ่มต้นทำ SOA ด้วยเหตุผลของความต้องการจะทำ Internal Integration หรือ EAI ภายในองค์กร ส่วนเหตุผลอื่นๆที่บางหน่วยงานอาจพัฒนา SOA ก็คือการต้องการสร้าง Business Process ได้โดยง่าย และความต้องการที่จะนำ code เก่ากลับมาใช้ใหม่ (reuse)

SOA กับ Web Services คือเรื่องเดียวกันหรือไม่ ?

SOA เป็นหลักการหรือวิธีการที่จะพัฒนาสถาปัตยกรรมซอฟต์แวร์ให้เป็นชิงบริการ (Service Oriented) การ implement ระบบ SOA สามารถทำได้หลายวิธีและใช้โปรโตคอลต่างๆได้หลากหลายเช่น Web Services, CORBA, RMI หรือแม้แต่โปรโตคอลพื้นฐานอย่าง TCP/IP หรือ FTP แต่ Web Services จะเป็นโปรโตคอลที่ได้รับความนิยมมากที่สุดทั้งนี้เพราะ Web Services มีมาตรฐานที่เป็น XML ที่สามารถใช้กับเทคโนโลยีต่างๆได้ จริงๆแล้วผู้ที่ออกแบบ SOA ไม่จำเป็นต้องอิงกับโปรโตคอล Web Services เพียงอย่างเดียว

SOA จำเป็นต้องใช้ ESB หรือไม่ ?

ESB หรือ Enterprise Service Bus เป็นมิดเดิ้ลแวร์ในการจะพัฒนา SOA ซึ่ง ESB จะทำหน้าที่ต่างๆอาทิเช่น แปลงโปรโตคอลต่างๆของ services ผ่าน Adapter หรือ Wrapper แปลงชนิดข้อมูลต่างๆเช่น table, XML, ebXML, SWIFT หรือ HL7 ทำการ orchestrate service ต่างๆเพื่อสร้าง Business Process และ ทำหน้าที่ในการส่ง message ระหว่าง services ต่างๆ

BPM คืออะไร ?

BPM ย่อมาจาก Business Process Management คือการจัดการด้าน Business Process ซึ่งรวมไปถึงการสร้าง Business Process การรัน Business Process และการตรวจสอบมอนิเตอร์ Business Processการสร้าง Business Process จะเป็นการประกอบ Technical/Business services ที่อยู่ในชั้นของ ESB ซึ่งมาตรฐานหลักในการพัฒนา Business Process มักจะใช้ภาษาที่ชื่อ WS-BPEL (Web Services - Business Process Execution Language)

เราเริ่มต้นสร้าง Web Services เพื่อทำ SOA ใช่หรือไม่ ?

จากที่ได้กล่าวมา SOA คือหลักการ Web Service คือหนึ่งในวิธีการสร้าง Services ที่นำมา reuse ได้ การพัฒนา SOA ไม่จำเป็นต้องเริ่มต้นจากการสร้าง Web Services เราสามารถใช้โปรโตคอลต่างๆในการทำ SOA โดยอาจไม่อิงกับ Web Services ก็เป็นได้ นอกจากนี้การพัฒนา Web Services ก็ไม่ได้หมายความว่าได้พัฒนา SOA ให้กับสถาปัตยกรรมซอฟต์แวร์ในองค์กร ทั้งนี้ Web Sevices ที่พัฒนาขึ้นยังอาจอิงอยู่กับสถาปัตยกรรมซอฟต์แวร์แบบ Silo Oriented Arcitecture ก็เป็นได้

Composite Application คืออะไร?

Composite Application คือการพัฒนา Application โดยการใช้ resource หรือ โปรแกรมที่มีอยู่แล้ว การพัฒนา Application โดยใช้หลักการ Composite Application ควรจะมีการเขียน code ใหม่ไม่เกิน 10% ส่วนที่เหลือเป็นการพัฒนาจาก technical/business service ที่มีอยู่ การสร้าง Business Process โดยใช้ WS-BPEL ก็เป็นวิธีการหนึ่งในการพัฒนา Composite Application

เราสามารถพัฒนา Business Process โดยไม่ต้องใช้ SOA ได้หรือไม่?

Business Process คือกระบวนการในการพัฒนากระบวนการทางธุรกิจโดยการเขียน Flow ของ Business ที่อาจประกอบด้วย Process หรือ Service ต่างๆ ซึ่งการพัฒนา Business Process แต่เดิมสามารถทำได้โดยไม่ต้องอิงกับ SOA กล่าวคือเป็น point-to-point integration ดังนั้นโปรแกรมที่พํฒนา Business Process หรือ Workflow บางโปรแกรม อาจไม่ได้ใช้หลักการของ SOA ซึ่งจะทำให้การพัฒนา Business Process ในอนาคตมีความซับซ้อนเพราะไม่ได้สร้าง Business Process จาก Resuable Service

Product ที่เป็น ESB มีอยู่กี่รายและมี open source หรือไม่?

vendor หลายค่ายต่างก็มี ESB ของตัวเองเช่น IBM, Sun, Oracle, BEA หรือ Microsoft โดยแต่ละรายจะมีคุณสมบัติส่วนใหญ่คล้ายกันแต่จะมีชื่อเฉพาะต่างกันเช่น IBM ก็คือ WebSphere ของ Sun ก็คือ Java CAPS (SeeBeyond) ของ Oracle ก็คือ NetFusion และ Microsoft ก็คือ Biztalk สำหรับตัวที่เป็น open source ก็มีอยู่หลายตัวอาทิเช่น Open ESB ของ Sun ผู้สนใจสามารถหารายละเอียดเพิ่มเติมได้ที่ open source ESB

การพัฒนา SOA จะทำให้เราลดเวลาในการพัฒนา Application?

การพัฒนา SOA ในระยะแรกจะมีความยุ่งยากและอาจต้องใช้เวลามาก ทั้งนี้อาจต้องเพิ่มเวลาในการเขียน code เพื่อให้สามารถกลับมาใช้ใหม่ได้หรือต้องสร้าง web services แต่ในระยะยาวอาจช่วยลดขั้นตอนในการพัฒนา ทั้งนี้ขึ้นอยู่กับการออกแบบ services ว่าสามารถจะ reuse ได้มากน้อยเพียงใด และขึ้นอยู่กับว่า application ที่จะพัฒนาในอนาคตมีความซับซ้อนเพียงใด ถ้าเป็น application ที่ซับซ้อนและสามารถใช้ reuseable services ได้มากก็จะลดเวลาในการพัฒนาลงไป

ESB มีมาตรฐานใดหรือไม่?
Java Community Process (JCP) ได้กำหนดมาตรฐานที่ชื่อ JBI (Java Business Integration) หรือ JSR 208 ซึ่งเป็นมาตรฐานเพื่อให้ vendor ต่างๆสามารถที่จะพัฒนา ESB, Adapters หรือ BPEL Engine ที่มีมาตรฐานและเชื่อมต่อกันได้ ตัวอย่างเช่นโปรเจ็ค OpenESB สามารถจะใช้ Adapter ที่พัฒนาจากผู้พัฒนารายอื่นเช่น Imola ที่ทำ CORBA Adapter หรือ Vikram ที่ำทำ DCOM Adapter นอกจากนี้ Open ESB ยังสามารถที่จะใช้ workflow engine จาก vendor อื่นๆที่ใช้มาตรฐาน JBI อาทิเช่น Adnet
Submenu
.
Life Insurance Knowledge:Life Insurance , private, death, employee pensions and annuities,life insurance, educational, life insurance companies

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

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

Search for content in this blog.