Artit's profileHi! e^a^kPhotosBlogListsMore Tools Help

Blog


    June 28

    เจาะแก่น SOA ตอนที่ 3 BPEL

    เจาะแก่น SOA ตอนที่ 3 BPEL

           จากบทความก่อนหน้า ผมบอกว่า web service (WS) ก็คล้าย
    method แต่ว่าถูกดึงออกมาอยู่ข้างนอกลอย ๆ ที่นี้เราจะทำอย่างไร
    เพื่อเรียกใช้มันเพื่อสร้าง application หรือ business process
    ที่ประกอบด้วย web service หลาย อัน

           ก่อนอื่นขอแบ่งประเภทของเว็บเซอร์วิสเป็น 2 ประเภท

    1. Atomic web service - เว็บเซอร์วิสทำงานด้วยตัวเอง ไม่จำเป็นต้องพึ่งพาเว็บเซอร์วิส
    2. Composite web service - เว็บเซอร์วิสที่ต้องเรียกใช้เว็บเซอร์วิสอื่น เพื่อสร้าง service ของตัวเอง

    จากนั้นเราแบ่งจุดประสงค์ของการเรียกใช้ WS เป็น 2 แบบ

    1. เรียกใช้ เพราะเราต้องใช้จริงๆ ผู้เรียกมักเป็นend user client
                 เช่น ผู้ใช้ส่งข้อมูลไปยัง WS ของบริษัททัวร์ เพื่อซื้อ packageทัวร์

    2. เรียกใช้ เพราะจะไปให้คนอื่นใช้ต่อ ก็คือ Composite WS นั่นละ 
                 ต้องเรียกใช้หลายๆ WS มาประกอบกันเพื่อสร้าง service ของตัวเอง

    เช่น WS ของบริษัททัวร์ เรียกใช้ WS ของโรงแรมเพื่อจองห้อง,
    สายการบินเพื่อจองตั๋ว และธนาคารเพื่อตัดยอดเงิน

           การเรียกใช้ web service มี 2 วิธีหลักๆ ได้แก่

    1. ใช้ Web service client API เช่น WSIF, WSE เป็นต้น

    ก็คือเราเขียน application (ด้วยJava หรือ .NET) ของเราไปตามปกติ
    เมื่อถึงเวลาต้องเรียกใช้ WS ก็เรียกใช้ API แทน เหมือนกับการเขียนโปรแกรมปกติทั่วไป

    วิธีนี้เหมาะกับ end user client ที่เป็นผู้ใช้ปลายทางจริงๆ
    เพราะไม่ค่อยมีการเปลี่ยนแปลงบ่อย และมักเรียกเพียงไม่กี่ service

    อย่างไรก็ตามวิธีนี้ไม่เหมาะกับการสร้าง Composite WS
    เพราะเรามักใช้ Composite WS เพื่อสร้าง business process

    (business process คือ บริการที่เห็นหรือสัมผัสได้โดยตรง
    จากผู้ใช้หรือลูกค้า และให้ผลตอบแทนกับองค์กร นั่นก็คือservice
    นอกสุดที่ให้บริการลูกค้าโดยตรงนั่นเอง)

    ซึ่งมี business logic ซึ่งอาจเปลี่ยนแปลงบ่อยๆ นอกจากนี้ business goal
    ของการสร้างapplication ด้วย WS ก็เพื่อความคล่องตัว (agility) ปรับเปลี่ยนง่าย
    จะได้สอดคล้องกับสภาพธุรกิจปัจจุบันที่มีการแข่งขันสูง

    ดังนั้นการผูกแต่ละ WS ไว้ด้วยการ coding แบบเก่านั้น
    งไม่เหมาะกับการสร้าง business process ด้วย WS
    ตามหลักการของ SOA

    2. ใช้ WS ตัวกลาง (mediator) มาเรียกใช้ sub-WS นั่นคือใช้ BPEL
    (Business Process Execution Language) นั่นเอง

    การจะสร้าง business process หรือ composite WS จาก BPEL ต้องประกอบด้วย 2 ส่วน ได้แก่

    2.1 BPEL file - BPEL เป็นภาษาที่ไว้ใช้กำหนด business process

    ซึ่งจริงๆ แล้ว เป็นภาษา xml ลักษณะของ BPEL คือ เป็น procedural language
    คล้ายกับ flow chart ทำหน้าที่กำหนดว่าจะเรียก WS ไหน, เมื่อไหร่ และอาจเก็บตัวแปรด้วย
    การทำงานจะไปข้างหน้าเรื่อย ๆ จนจบไฟล์
    ลองนึกถึง file build.xml ของ Ant อาจเข้าใจ การทำงานคล้ายอย่างงั้นเลย)

    2.2 BPEL engine คือ ตัวที่จะมาอ่าน BPEL ที่เราเขียน และ สร้าง composite WS
    ให้ทำงานตามที่กำหนดใน BPEL นั่นเอง (คล้าย Ant tool ที่อ่าน build.xml)

    client ที่เรียกใช้จะเห็น composite WS ที่สร้างขึ้นเป็นเหมือน WS ทั่วไป

    BPEL engine ปัจจุบันก็เช่นBPEL manager ของ oracle ซึ่ง vendor 
                      ส่วนใหญ่จะมี BPEL designer ติดมาด้วย เพื่อสร้างและแปลง flow chart เป็น bpel
                     (อย่างที่บอกว่าbpel เป็นภาษาที่เหมือน flow chart อยู่แล้ว ไม่มีแยก function 
                      มี control flow แค่switch-case, loop และก็อย่างอื่นอีกนิดหน่อย 
                      สามารถดูตัวอย่างได้ที่ link อ้างอิง)

           นอกจากนี้ BPEL ยังสนับสนุนการทำงานแบบ concurrent, asynchronous
    และ exception handling ด้วย

           อย่างไรก็ตาม BPEL ก็คือ procedural languageที่ไว้ใช้สร้าง
    Composite web service โดยการระบุการเรียกใช้ WS อื่นๆ
    เพื่อสนับสนุนแนวความคิดของ SOA นั่นเอง

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

    REF: http://blog.middleware.co.th/

    June 22

    Spain - Italy in Euro2008

    โรแบร์โต้ โดนาโดนี่ แบกความคาดหวังอันยิ่งใหญ่

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

        "มันไม่เคยเป็นเรื่องง่าย เมื่อทุกคนมีความคาดหวังมากขนาดนั้น อย่างไรก็ตาม
    ทีมนี้ตอบคำถามได้อย่างสมบูรณ์แบบในทุกๆ แง่ ตอนที่ผมมารับงานนี้
    ผมได้รับช่วงต่อกลุ่มนักเตะชั้นยอด และ ทีมสต๊าฟฟ์โค้ชชั้นดีที่สนับสนุนผม
    อย่างเต็มที่ หลังจากนั้นทุกอย่างก็ไปได้สวยมาก"

        อย่างไรก็ตาม เทรนเนอร์วัย 44 ปี รู้ดีว่า คำชมที่เขาได้รับมาในรอบคัคเลือก
    จะถูกลืมไปอย่างรวดเร็ว หาก อิตาลี ทำผลงานที่ ออสเตรีย และ สวิตเซอร์แลนด์ ไม่ดี
    "คุณต้องเริ่มต้นใหม่จากศูนย์ ตอนนี้ รอบคัดเลือก เป็นอดีตไปแล้ว และ
    ฟอร์มการเล่นที่แล้วมา ก็ไม่ทำให้เราได้เปรียบอะไรในรอบสุดท้าย ก็เหมือนที่แล้วมา
    เราต้องประเมินทีมเรากับคู่แข่งที่จะลงมาเล่นเพื่อสร้างปัญหาให้เรา
    มันไม่ใช่อะไรที่แปลกใหม่เลย เราแค่ต้องมีทัศนคติที่ถูกต้อง"

        โดนาโดนี่ ที่เพิ่งต่อสัญญาคุมทีมบ้านเกิดต่อไปอีก 2 ปี เมื่อวันพุธที่ผ่านมา
    คงไม่ผิดอะไรหากจะคิดว่าพระเจ้าต่างร่วมกันกลั่นแกล้งเขา
    หลังจากทัพนักเตะแดนมะกะโรนีถูกจับสลากให้ไปอยู่กลุ่ม ซี
    ร่วมกับ ฮอลแลนด์, ฝรั่งเศส (อีกแล้ว) และ โรมาเนีย เขารู้ว่าทุกอย่าง
    ต้องไปได้สวยในการเตรียมทีมก่อนลงเตะแมตช์แรก กับ "อัศวินสีส้ม"
    ในวันที่ 9 มิถุนายนนี้ ถ้าหากทีมของเขาจะมีโอกาสได้สัมผัสถ้วยแชมป์
    อีกใบในช่วงซัมเมอร์นี้

        "ความปรารถนาของผมเหรอ? ผมคิดว่ามันเห็นชัดอยู่แล้ว
    ผมอยากมีทีมที่อยู่ในสภาพร่างกายที่ดี เรื่องนี้เป็นจุดที่ผมเป็นห่วงมากที่สุด
    ก่อนการแข่งขันรอบสุดท้าย หลังจากนั้นไป มันก็ไม่ได้แตกต่างอะไรมากมาย
    ถ้าคุณเจอ ฝรั่งเศส, ฮอลแลนด์ หรือ ทีมอย่าง ออสเตรีย
    ถ้าคุณมีทีมอยู่ในสภาพร่างกายที่ดีที่สุด คุณจะเจอใครก็ได้ โดยไม่ต้องกลัวเลย"

        "บิ๊กดอน" คงจะรู้สึกโล่งอกได้บ้าง ที่ มาร์โก แวน บาสเท่น
    อดีตเพื่อนร่วมทีม "รอสโซเนรี่" ทำหน้าที่เป็นแค่โค้ช เมื่อทั้ง 2 ทีมเจอกันที่
    เบิร์น เพราะกุนซือจากแดนกังหันลม เคยเล่นในศึกชิงแชมป์แห่งชาติยุโรป 2 สมัย
    ตอนที่ยังเป็นนักเตะและนำทีมบ้านเกิดเป็นแชมป์ยุโรปในปี 1988
    หลังจากที่ โดนาโดนี่ และ อิตาลี โดน สหภาพโซเวียต เขี่ยตกรอบตัดเชือกไปก่อนแล้ว
    "ผมคิดว่าประตูของ มาร์โก แวน บาสเท่น ในนัดชิงเป็น 1 ในประตูที่สุวยที่สุดเท่าที่เคย
    ยิงกันมาในรายการนี้เลยทีเดียว" โดนาโนี่ กล่าวถึงลูกวอลเล่ย์สุดเฉียบของ อดีตสตาร์ดัตช์

        เส้นทางอาชีพของแวน บาสเท่น และ โดนาโดนี่ นั้นคล้ายกันอย่างน่าขนลุกนับแต่นั้นมา
    หลังจากที่ช่วย มิลาน คว้าแชมป์ ยูฟ่า ยูโรเปี้ยน แชมเปี้ยน คลับส์ คัพ 3 สมัย
    ทั้งคู่ต่างก็รับหน้าที่รั้งบังเหียนทีมชาติของตัวเอง แม้จะมีประสบการณ์ในการเป็นโค้ชระดับสูง
    ไม่มากก็ตาม โดนาโดนี่ เคยคุมทีมอย่าง กัลโช่ เลชโช่ 1912, ลิวอร์โน่ และ เจนัว ช่วงสั้นๆ
    ก่อนจะมาได้ตำแหน่งในทีมชาติอิตาลี แต่เขาก็รู้สึกว่าอาชีพค้าแข้งที่โดดเด่นช่วยเขาเตรียมตัว
    สำหรับตำแหน่งนี้ด้วย

        "การลงเล่นในศึกชิงแชมป์แห่งชาติยุโรป เป็นประสบการณ์ที่สำคัญมาก
    สำหรับนักฟุตบอลแล้ว การมีส่วนร่วมในทัวร์นาเมนต์ใหญ่ขนาดนั้นมีค่าเป็นอย่างยิ่ง
    ไม่ว่าผลงานจะเป็นยังไงก็ตาม ในปี 1988 เราแพ้ในรอบตัดเชือก และ 4 ปีต่อมา
    เราไม่ได้เข้ารอบ หลังจากพลาดจุดโทษในเกมชี้ชะตา อย่างไรก็ตาม
    ทั้ง 2 ครั้งเป็นประสบการณ์ที่ดีมาก"

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

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


    REF : www.siamsport.co.th


    ปล.ผ่านมาถึงรอบ 8 ทีม ผมเพิ่งหาทีมถูกใจได้ ครับ
        สรุปปีนี้ผมเชียร์ ตรุกี ครับ (ทีมสปิริตดูดี ที่สุดมั้ง) ฮ่า ฮ่า ฮ่า ~