กรุงเทพฯ--18 เม.ย.--Software Park
Date / Time : 23 - 25 April 2012 (09.00-17.00)
Venue : Training / Seminar Room, 3rd Floor, Software Park Building
Registration Fee : 12,840 Baht (Included VAT 7 %)
Course Overview
ปัจจุบันมีวิกฤติสำคัญหนึ่งในการพัฒนาระบบซอฟต์แวร์และแอพพลิเคชั่นมากมาย คือปัญหาและผลกระทบจากการทำงานของ 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 ให้มีคุณภาพทั้งด้านประสิทธิภาพ (performance), ความน่าเชื่อถือ (reliability) และรองรับการเปลี่ยนแปลงได้ (modifiability) โดยยึดหลักการ ACID เป็นหลักสำคัญต่อการ ออกแบบ transaction โดยหลักสูตรนี้เน้นทั้งพื้นฐานและหลักการวิเคราะห์และออกแบบ โดยมุ่งหวังให้ผู้เรียนสามารถนำความรู้ที่ได้กลับไป ประยุกต์กับงานได้ ไม่ว่าผู้เรียนจะออกแบบและพัฒนาระบบประเภทใดหรือใช้เทคโนโลยีใดอยู่ และหากมีข้อสงสัยต้องการปรึกษากับผู้สอน ภายหลังการอบรม อันเนื่องจากจำนวนวันอบรมที่จำกัด ก็สามารถทำได้โดยผ่านเว็บไซต์สังคมออนไลน์ต่าง ๆ และการติดต่อผ่านทางช่องทาง ต่าง ๆ ตามตกลงกันระหว่างผู้สอนและผู้เรียนระหว่างอบรม
Course Audience
การอบรมนี้ออกแบบมาสำหรับ 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 บ้าง แต่ไม่มากนัก)
Course Contents
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
Course Benefits
- เข้าใจพื้นฐานด้าน 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
- สามารถนำความรู้ที่ได้รับกลับไปประยุกต์กับงานได้
- สามารถปรึกษากับผู้สอนภายหลังการอบรมได้
สอบถามรายละเอียดเพิ่มเติมติดต่อ
Juntima Klumchaun
Technology Transfer Department
Software Park Thailand
Tel: 02-583-9992 ext. 1424
Fax: 02-583-2884
E-mail: juntima@swpark.or.th