WebService : Processes and Work Flows

Processes and Work Flows

  • Business processes

-    ภาพรวมของ Process

- > Process เป็นลำดับของ step มาเรียงกัน โดยมี event มา trigger ให้เกิด process ต่างๆ
- > มีการแปลง input ที่เข้ามา โดยผลลัพธ์ของ Process จะได้ output ออกมา

-    Business Process

- > Business Process :  เน้นกลุ่มของงานค่างๆ ที่นำมาจัดกลุ่มตาม logic เพื่อที่จะได้ผลลัพธ์ทางธุรกิจตามที่ออกแบบไว้
- > มี view ในแนวนอนในองค์กรที่จะมอง process เป็น activity ที่ขึ้นต่อกันให้ได้ผลลัพธ์ออกมาตามต้องการ
- > กำหนดว่าต้องการได้ผลลัพธ์เป็นอย่างไร, ความสัมพันธ์ระหว่างกิจกรรมต่างๆ กับ resource อื่น จะถูกำหนดไว้อย่างละเอียด

-    Characteristic of Process

- > มีการกำหนดเงื่อนไขที่จะมา trigger ในแต่ละ instance ใหม่ๆ และมีการนิยาม output เมื่อ process สิ้นสุด
- > Process อาจจะมีการปฏิสัมพันธ์กันทั้งทางการและไม่ทางการระหว่างผู้ที่เกี่ยวข้อง
- > Process ใช้เวลาไม่เท่ากัน สามารถเปลี่ยนแปลงได้
- > decision point ประกอบด้วยกิจกรรมเกิดต่อกันอย่างอัตโนมัติซึ่งกิจกรรมในแต่ละขั้นตอนจะมีความซับซ้อน
- > ภายใน process จะต้องมีการตัดสินใจเลือก เช่น เลือกเส้นทางในการทำงานต่อ, แบ่งงาน
- > Process ประกอยด้วย application หลายอันประกอบกันมากๆ และข้ามองค์กร
- > สามารถแสดง diagram โดยธรรมชาติขึ้นกับข้อมูลที่มีการเปลี่ยนแปลงและปกติใช้เวลานานในการทำงาน

  • Work Flows

-    Process-Oriented workflow

- > ถูกเอาไปใช้สำหรับโปรเซสที่ทำงานอัตโนมัติที่ไม่ค่อยมีการเปลี่ยนแปลง
- > สามารถแสดงให้เห็นลักษณะของ business rule, decision point, business rules,parallel and sequential work route เช่น โปรเซสในการจัดการ order หรือการยืมเงิน
- > บางประเภทอาจจะมีสมบัติ transactional properties ซึ่งส่วนใหญ่ใช้เวลานาน

-    Web Service and Business Process

- > ด้วยลักษณะตามธรรมชาติของ Web Service ที่ไม่ขึ้นกับ platform จึงง่ายที่จะผสมกันของ service ซึ่ง service ต่างๆก็มาจากหลายองค์กร ในที่สุดเมื่อ composition service เสร็จจะถูกเสนอออกมาเป็น High-level service ให้กับ client อีกที
- > Composite service (related processes) : มีการรวบรวบ service ทั้งที่พัฒนาใหม่และมีอยู่เดิม
- > นิยามของ Composite service  : ต้องมีการประสานงานกันของ flow control ของข้อมูลระหว่าง composite service

-    Syndicated Web Service

SOA_1.jpg

1. ลูกค้าเช็คราคา
2. ลูกค้าสั่งสินค้า
3. supplier เช็คไปยังธนาคาร
4. supplier ยืนยันการสั่งสินค้า
5. supplier สร้าง shipping ไปยัง 3rd party
6. supplier ยืนยันกับลูกค้า
7. ลูกค้าส่ง payment ไปยังธนาคาร
8. ธนาคารส่งใบเสร็จมาให้

  • Service composition meta-model

-    Flow Model

SOA_2.jpg

-> Flow Model ถูกใช้สำหรับบอกเกี่ยวกับปฏิสัมพันธ์กันของ service
-> Flow Model จะอธิบายว่า
1. อธิบายว่าแต่ละ activity มารวมกันยังไง
2. ลำดับแต่ละ activity ที่จะถูก execute โดยใช้ลูกศร
3. มี decision point ในการตัดสินใจ
4. มีการส่งผ่าน data แต่ละขั้นตอน

-    Transition Conditions

-> decision point ขึ้นกับ transition condition ซึ่งเป็นเงื่อนไขที่เป็นจุดเปลี่ยน

-    Service Composition : Process flow as a Web Service

SOA_3.jpg

-> แปลงหน้า transition condition และมีการเพิ่มเติม
-> ประกอบด้วยหลายๆ activities,flow,decision
-> มีการเชื่อมโยงกันกับองค์กรอื่น
-> Client เรียกใช้ Operation ผ่าน Interface

  • Web services orchestration and choreography

-    WS Orchestration

SOA_4.jpg

-> Orchestration เป็นแนวคิดที่ว่าด้วยการจัดลำดับการทำงานของแต่ละงานในกระบวณการตามสถานการณ์ต่างๆ ที่ต้องการ และสนับสนุนความสามารถในการทำงานระหว่างกันของ application ทำให้สามารถสร้างกระบวณการทางธุรกิจที่มีขนาดใหญ่ได้
-> อธิบายว่าวิธีการของ web service ปฏิสัมพันธ์กับ web service อื่นโดยมองในระดับ message, มองว่าหนึ่งคนเป็นคนควบคุม
-> ประโยชน์ คือ เมื่อต้องการกระทำกระบวณการแบบใหม่ ไม่จำเป็นต้องสร้างงานใหม่ขึ้นมา แต่ใช้วิธีการจัดการกับ work flow ให้เป็นลำดับแบบใหม่เท่านั้นเอง

-    WS Choreography

SOA_5.jpg

-> Choreography คือ กระบวณการร่วมมือกันขององค์กร ที่มีการติดต่อและการทำงานระหว่างกัน โดยที่ไม่มีองค์กรใดเป็นเจ้าของ Environment ที่เกิดขึ้น
-> มีลักษณะเป็นการแลกเปลี่ยน message กัน, มีกฏ ข้อตกลงของธุรกิจหลาย process ซึ่งทำให้ service ที่แตกต่างกันสามารถร่วมมือกันได้
-> จะต้องติดตาม sequence ของ message และอธิบายมุมมองของทุกๆ party ร่วมกัน

SOA_6.jpg

  • The Business Process Execution Language

-    Business Process Execution Language

-> BPEL เป็นภาษาที่ใช้ในการสร้าง service ขึ้นมาในการ modeling
-> Model อะไรบ้าง

1. การทำงานร่วมกันระหว่างองค์กรโดยใช้ element partnerlink
2. ลำดับขั้นตอนของโปรเซส
3. แยก abstract definition จาก concrete binding
4. รองรับ fault, error และแก้ไข
5. รองรับการ compose หลาย service  เข้าด้วยกัน
6. รองรับ context ผ่าน <scope>
7. มีการจัดการการแตก หรือรวมโปรโซสโดยใช้ <pick>,<receive>

-    BPEL Structure

1. message flow : การไหลของ message , กิจกรรมที่เกิดขึ้น
2. control flow : ส่วนที่เอา activity มาจัดเรียงกัน
3. data flow : ประกาศ data โดยใช้ <variable> กับ state ของโปรเซส
4. process orchestration : ส่วนที่มีการคุยกับ web service ของ partner
5. fault and exception handing : มี element <compensationHandles> จะดูว่ามีการชดเชยการทำไม่สำเร็จ และมี element <eventHandler> ใช้จัดการ event เมื่อเกิดพร้อมกัน

-    BPEL Abstract processes

-> พูดถึงการแลกเปลี่ยนข้อมูลของ web service ไม่รวมถึงรายละเอียดภายในของโปรเซส
-> ใช้ model public message interaction : ดูการคุยกันระหว่าง web service โดยไม่ดู logic ภายใน

-    BPEL Executable processes

-> การแลกเปลี่ยนข้อมูลของ web service รวมถึงรายละเอียดภายในของโปรเซส จึงทำให้สามารถ execute ได้

-    Message Flow

-> อธิบายการรับส่ง message เพื่อให้ดูว่า Process สามารถคุยกับ web service อื่นได้
-> ใช้ basic activities : Invoke(กระตุ้นคนอื่น), Receive(รอคนอื่น), Reply(หลัง receive ส่งผลกลับไป)
-> service อื่นๆ จะเรียกว่า partner ซึ่งก็คือ web service ที่ไป invoke หรือเป็น client ที่มา Invoke กับ web service เรา
-> match กับ <portType> ของ WSDL
->จะคุยกับ partnerอื่นโดยใช้ <partnerLink> ซึ่งเป็นโปรเซสเฉพาะเจาะจงที่บอกว่า partner ที่ link ปลายทาง link ได้

-    Synchronous and Asynchronous Communication

-> Synchronous : requester ส่ง Invoke input mesage ไปยัง provider ซึ่ง requester จะต้องรอจนกว่าจะได้ reply message จาก provider, มี operation ไม่ซับซ้อน
-> Asynchronous : Requester จะไม่ถูก block หรือต้องรอ reply message จาก provider , ใช้กับ operation ที่ใช้เวลานานและซับซ้อน

-    Control Flow

-> Basic activities : การปฏิสัมพันธ์ที่ง่ายไม่ได้บอกลำดับและการเปลี่ยนแปลงข้อมูลในแต่ละขั้นตอน
->Structured activities : อธิบายวิธีที่ business process โดยเอา basic activity มาประกอบเป็นโครงสร้าง

1. อธิบายลำดับของการ run ของ activity
2. ถ้าเป็น parallel จะใช้ <flow>
3. ถ้ามีการแตก,แยกทางเลือกใช้ <sequence>
4. ถ้าเป็น loop ใช้ <while>
5. เลือกหลายทางเลือกใช้ <non-dertermistic choice>

-    Data Flow

-> state ของ business process ประกอบด้วย content ของ message ที่แลกเปลี่ยนกัน data ที่อยู่ใน business logic , ตัวที่สร้าง message ที่ส่งไปให้ partner
-> ใช้ <variable> เป็นตัวเก็บข้อมูลของ state โดย BPEL จะให้ variable จะเก็บ message ที่เกี่ยวกับ flow
-> data <variable> จะเก็บ business context ซึ่งเป็นส่วนสำคัญสำหรับ correct execution
-> ใช้ <assign> ในการ copy message ระหว่าง variable

-    Process Orchestration

-> เป็นการเอาหลายๆ web service มารวมกันโดยใช้ <partnerlink> ในการสร้าง peer-to-peer partner relationship โดยมีการกำหนดบทบาทและ abstract interface ให้แต่ละ partner
-> ใช้ <partnerlink> เป็นตัวกำหนด message และ portType รวมไปถึงใช้ในการอธิบายความสัมพันธ์ระหว่าง partner โดยประกาศเป็น role ว่า partner นี้ role ไหน และประกาศ portType ด้วย

Popularity: 1% [?]

Related posts:

Tags: ,

Leave a Reply

Leave a comment

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Your email is never shared. Required fields are marked *

Enjoy Eating

ร้านอาหารไทย »

รีวิวโดนใจ >> Rabbit in the kitchen เริงร่าอาหารไทย อร่อยแบบต้นตำรับ ณ ใจกลางสยาม

ร้านไอศกรีม »

รีวิวโดนใจ >> Cold Stone by Canon Legria Mini มุมมองใหม่ กับสาขาใหม่ ไฉไลกว่าเดิม

บุฟเฟต์ปิ้งย่างและชาบู »

รีวิวโดนใจ >> ชาบู ชาบู นางใน ร้านอาหารแนวสุขภาพ เน้นผัก แต่อิ่มท้อง อร่อยกันที่สาขาเอกมัย

ร้านเค้ก-ขนม-ของหวาน »

รีวิวโดนใจ >> Taruto (ทารุโตะ) ร้านทาร์ตผลไม้สไตล์ญี่ปุ่นแสนอร่อยที่ สีลมคอมเพล็กซ์

ร้านอาหารญี่ปุ่น »

รีวิวโดนใจ >> Chiba Cham (ชิบะแชมป์) สนุกกับการกิน แล้วลืมความอ้วนไว้ที่บ้าน ในซอยสุขุมวิท 39

ร้านอาหารนานาชาติ »

รีวิวโดนใจ >> The Coffee Club เติมเต็มอาหารเช้าให้ลงตัว พร้อมเอาใจคอกาแฟ ที่เอกมัย

ร้านอาหารซีฟู๊ด »

รีวิวโดนใจ >> Bangkok Seaview (บางกอกซีวิว) รับลมชมวิว กินซีฟู๊ดที่ทะเลกรุงเทพ

ร้านสเต็ก »

รีวิวโดนใจ >> Dairy Home ร้านสเต็กเนื้อรสชาติดี หลากรสไอศกรีมโฮมเมดแสนอร่อย เขาใหญ่

ร้านอาหารอีสาน »

รีวิวโดนใจ >> ส้มตำคุณกัญจณ์ ร้านอาหารไทย-อีสานเจ้าประจำ อร่อยได้ในราคาเบาๆ ที่สุขุมวิท 101/1

ร้านอาหารเกาหลี »

รีวิวโดนใจ >> BonChon Chicken ไก่ทอดกรอบบอนชอนสไตล์เกาหลี สาขาสีลมคอมเพล็กซ์

ร้านอาหารอิตาเลียน »

รีวิวโดนใจ >> Greyhound Cafe อร่อยโดนใจได้ทั้งเมนูหลักและของหวาน ที่สาขาสยามเซ็นเตอร์

ร้านจีนและติ่มซำ »

รีวิวโดนใจ >> Grand Peking (แกรนด์ปักกิ่ง) ภัตตาคารอาหารจีนในห้าง The Shoppes

ร้านราเมน-ก๋วยเตี๋ยว »

รีวิวโดนใจ >> ทงจิงกัง (Ton Chin Kan Ramen) มาลองกินราเม็งเปิดใหม่ในซอยอารีย์

ร้านซูชิ »

รีวิวโดนใจ >> Anata sushi (อนาตะ ซูชิ) ร้านซูิชิบาร์ ปลาสด รสชาติดี ราคาไม่แพง @ร่วมฤดี village

ห้องอาหารโรงแรม »

รีวิวโดนใจ >> Three Sixty Outdoor Lounge ปิกนิคกันท่ามกลางแสงดาวที่ Millennium Hilton