กรุงเทพฯ--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: [email protected]