Design Technique for Transaction Design

  • TTSA04
  • Classroom
  • Fundamental
  • Thai
Software Architecture and Design

หลักสูตรนี้ มุ่งเน้นการสร้างความเข้าใจในหลักการด้าน transaction และการออกแบบ transaction ให้มีคุณภาพทั้งด้านประสิทธิภาพ (performance), ความน่าเชื่อถือ (reliability) และรองรับการเปลี่ยนแปลงได้ (modifiability) นอกจากนี้ หลักสูตรนี้ยังมีเวิร์กช็อปให้ผู้เรียนร่วมทำเพื่อเสริมความเข้าใจเพื่อให้ผู้เรียนสามารถนำความรู้ที่ได้กลับไปประยุกต์กับงานได้

Course description

Time
Days :
3 Day(s)
Duration :
18 Hour(s)
Time :
10:00:00 - 17:00:00
Training Date :
20 April 2022 - 22 April 2022
Status :
Class postponed
Instructor
Name :
avatar
Mr.Narong Chansoi

Language :
Thai
Venue
Venue :
Software Park Training Room 3rd floor, Software Park Building Chaengwattana Road, Pakkred Nonthaburi
Type :
Classroom
Design Technique for Transaction Design

     ปัจจุบันมีวิกฤติสำคัญหนึ่งในการพัฒนาระบบซอฟต์แวร์และแอพพลิเคชั่นมากมาย คือปัญหาและผลกระทบจากการทำงานของ transaction อันเกิดจากการออกแบบและจัดการ transaction ที่ไม่ถูกต้อง ซึ่งรวมถึงการเขียนโปรแกรม และ/หรือการคอนฟิกการจัดการ transaction อีกด้วย ปัญหามากมาย เช่น ปัญหา dead lock, bottle neck, overload, access violation, dirty read, transaction ถูก reject หรือ cancel, การ commit/rollback ที่ไม่สอดคล้องกับ business process และ rule, การออกแบบ data model (เช่น ER diagram) ที่ไม่สอดคล้องกับ transaction และพฤติกรรมการเข้าถึงข้อมูล, การไม่สามารถติดตาม (monitor) การทำงานของ transaction ได้, การคอนฟิกค่าต่างๆ ไม่เหมาะสมกับทรัพยากรที่มี และพฤติกรรมของ transaction ฯลฯ

    การแก้ไขปัญหาที่มักพบได้บ่อยๆ คือการแก้โค้ด? การปรับแก้คอนฟิกของฮาร์ดแวร์และซอฟต์แวร์? การเพิ่มทรัพยากรและ/หรือฮาร์ดแวร์? ซึ่งสาเหตุแท้จริงที่มักพบได้บ่อยคือการออกแบบ transaction ที่ไม่สอดคล้องกับปัจจัยต่างๆ เช่น พฤติกรรมของ client, business process, rule, layer, tier, resource ฯลฯ และการขาดความรู้ และทักษะด้าน transaction อย่างดีพอของนักออกแบบและโปรแกรมเมอร์ จึงมักสร้าง transaction ใหญ่เกินไป หรือคอนฟิก transaction attribute ที่ผิด หรือไม่สอดคล้องกับปัจจัยต่างๆ ดังกล่าว

    โดยเฉพาะอย่างยิ่งระบบมากมายในปัจจุบันมักเป็น component-based application ที่ทำงานบน middleware เช่น แอพพลิเคชั่นเซิร์ฟเวอร์ ซึ่ง middleware มากมายสมัยนี้มักมีบริการ transaction management อยู่ภายใน โดยผู้ออกแบบและโปรแกรมเมอร์ไม่ต้องเขียนโปรแกรมไปจัดการมาก ซึ่งถือเป็นดาบสองคม ทำให้นักออกแบบและโปรแกรมเมอร์อาจละเลยการใส่ใจศึกษาความรู้พื้นฐานที่สนับสนุนการจัดการ transaction ไป เช่น multi-thread, scheduling, state management, data structure, ACID, distributed transaction management ฯลฯ หรืออีกวิกฤติหนึ่งในปัจจุบันในหลายองค์กรคือการพึ่งพา container หรือเฟรมเวิร์กต่างๆ มากจนเกินไป ปัญหาที่พบบ่อยครั้งคือผู้ใช้มักขาดความเข้าใจในสิ่งเหล่านี้อย่างดีพอ ทำให้ไม่สามารถรับมือได้เนิ่นๆ ตั้งแต่ตอนออกแบบระบบ ฉะนั้นเราจะออกแบบ พัฒนา และจัดการ transaction อย่างไรให้มีประสิทธิภาพ มีความน่าเชื่อถือ และรองรับการเปลี่ยนแปลงได้ โดยไม่ต้องมาพบปัญหาเอาตอนทำ performance testing ภายหลังพัฒนาระบบเสร็จหรือใกล้เสร็จ หรือมาเจอเอาตอนใช้งานระบบจริง หรือตอนจะ enhance ระบบ และจะได้ไม่ต้องตกเป็นเหยื่อด้านค่าฮาร์ดแวร์และ license ของซอฟต์แวร์มหาโหดในปัจจุบัน การจงใจปกปิดหรือละเลยการใส่ใจด้านการติดตาม (monitor) transaction และมักแฝงเร้นไม่ยอมบอกให้เคลียร์ตั้งแต่เนิ่นๆ มักมาบอกกันตอนเจอทางตันที่ไม่อาจปฏิเสธได้แล้ว

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

     หลักสูตรนี้ มุ่งเน้นการสร้างความเข้าใจในหลักการด้าน transaction และการออกแบบ transaction ให้มีคุณภาพทั้งด้านประสิทธิภาพ (performance), ความน่าเชื่อถือ (reliability) และรองรับการเปลี่ยนแปลงได้ (modifiability) โดยยึดหลักการ ACID เป็นหลักสำคัญต่อการออกแบบ transaction โดยหลักสูตรนี้เน้นทั้งพื้นฐานและหลักการวิเคราะห์และออกแบบ โดยมุ่งหวังให้ผู้เรียนสามารถนำความรู้ที่ได้กลับไปประยุกต์กับงานได้ ไม่ว่าผู้เรียนจะออกแบบและพัฒนาระบบประเภทใดหรือใช้เทคโนโลยีใดอยู่ และหากมีข้อสงสัยต้องการปรึกษากับผู้สอนภายหลังการอบรม อันเนื่องจากจำนวนวันอบรมที่จำกัด ก็สามารถทำได้โดยผ่านเว็บไซต์สังคมออนไลน์ต่างๆ และการติดต่อผ่านทางช่องทางต่างๆ ตามตกลงกันระหว่างผู้สอนและผู้เรียนระหว่างอบรม

  • การอบรมนี้ออกแบบมาสำหรับ solution architect, system analyst, software architect, enterprise architect, IT architect, requirement engineer, IT manager, programmer, developer, performance engineer, tester และผู้ที่สนใจทั่วไป
พื้นฐานของผู้เข้ารับการอบรม (Prerequisities)
  • ผู้เรียนควรมีความรู้และทักษะพื้นฐานด้านการพัฒนาซอฟต์แวร์, Object-Orientation, การวิเคราะห์และออกแบบระบบ และ Software Development Life Cycle (หลักสูตรนี้มีการใช้ UML บ้าง แต่ไม่มากนัก)

  • เข้าใจพื้นฐานด้าน transaction และการจัดการ transaction
  • เข้าใจหลัก ACID
  • เข้าใจปัจจัยสำคัญที่ส่งผลต่อการทำงานและการออกแบบ transaction เช่น business process, rules, client behavior, service, resource, transaction data, layer, tier, session, object, data model ฯลฯ
  • เข้าใจการวิเคราะห์ และออกแบบ transaction ให้มีประสิทธิภาพ มีความน่าเชื่อถือ และรองรับการเปลี่ยนแปลงได้ โดยสอดคล้องกับปัจจัยต่างๆ
  • ได้เรียนรู้การสร้าง transaction model (แบบจำลองทรานแซกชั่น) ประเภทต่างๆ ทั้ง transaction model ใน level of abstraction ต่างๆ
  • เข้าใจหลักการการวิเคราะห์และจัดการ transaction traceability เพื่อประกอบการวิเคราะห์และการออกแบบ transaction และการจัดการ transaction เพื่อให้สอดคล้องกับปัจจัยต่างๆ
  • เข้าใจประเด็นสำคัญอื่นๆ ที่สำคัญต่อการออกแบบ transaction
  • สามารถนำความรู้ที่ได้รับกลับไปประยุกต์กับงานได้
  • สามารถปรึกษากับผู้สอนภายหลังการอบรมได้

Transaction Processing and Management Overview
  • Types of Transaction Sample Transaction
  • Transaction Handling Operation
  • Understanding the ACID
  • What is Granularity?
  • State Transition, State management and Transaction Propagation
  • Working of Unit of Work, Transaction and Sub Transaction
  • Handling Simultaneous Access to Shared Resource and Types of Locking
  • Transaction Orchestration
  • Local and Distributed Transaction Processing
    Programmatic Transaction Model
  • Declarative Transaction Model and Transaction Attributes

Analysis
  • Analyzing Business Processes and Rules
  • Analyzing Client Behaviors
  • Analyzing Service (application service and/or business service)
  • Analyzing Resource Systems and Connection
  • Analyzing Transaction Data and Data Transformation
  • Analyzing Architectural Layers and Tiers
  • Using Scenario for Detailing Transaction Concerns
  • Handling Transaction Traceability
  • Where to Locate the Transaction Control

Design
  • Modeling Transaction Graph
  • Analyzing Transaction Graph Model
  • Refactoring Transactions by Applying the ACID
  • Grouping Transactions

Additional Concerns
  • Consistent Design: Transaction Model, Data Model, Business Process Model, Usage Model, Etc.
  • Handling 'Read' Operation
  • The Pitfall and Risk of Auto Commit
  • Managing Transaction for Asynchronous and Stateless call
  • Logging and Monitoring Transaction Processing
  • Handling Change Management

Payment can be made by:

  1. Cash or Credit Card or Bank Cheque payable to “Software Park Thailand #2” (a post-dated cheque is not accepted) on the first day of the service or within the last day of the service.

  2. Account transfer and send the proof of the payment (the deposit slip) via fax or email to fax no. 02-583-2884 or email ttd@swpark.or.th

 Siam Commercial Bank, Chaengwattana Branch
   Saving Account Number: 324-2-56262-0

   Account Name: Software Park Thailand#2

          Krungsri Bank, Chaengwattana (Software Park) Branch
   Saving Account Number: 329-1-34850-3

           Account Name: Software Park Thailand#2

Notes:
  • Withholding tax (3%) is exempt.
  • Should you need to withdraw, you must send the notice of the withdrawal in writing no later than 7 working days before the commencement date. The cancellation less than 7 days will be subject to a fine of 40% of the fee.
  • Software Park Thailand reserves the rights to cancel courses due to unforeseen circumstances.

Contact Person

For more information, contact our course coordinator on:

เสกสรรค์ สังสุข (อิฐ)
Mr. Seksun Sungsook
Office. +662 583 9992 Ext. 81421
Mobile. +6681 913 1828

1654166951200

You are encouraged to use the course schedule as a guide to plan your training.

The schedule is accessible at www.swpark.or.th for more information. 

12,000 THB .

Enroll nowขออภัย คลาสนี้เลื่อนอบรมและขอปิดรับลงทะเบียน

Course Detail :
Days :
3 Day(s)
Duration :
18 Hour(s)
Time :
10:00:00 - 17:00:00
Training Date :
20 April 2022 - 22 April 2022
Status :
Class postponed

Instructor info
avatar
Mr.Narong Chansoi