NEW Training format!
This Advanced Training explains in detail how 4D works, “under the hood”. The omnipresence of references in handling every kind of object should become a natural way of approaching modern programming in order to optimize development and maintenance time.
Who should attend this session?
- 4D developers who are wanting to get the most out of ORDA in their applications.
At the end of this session, you'll be able to :
- Understand the way ORDA works
- Select the most appropriate tools and techniques to reach your goal
- Optimize your code to save time and memory use
- Spend less time debugging and maintaining your code
- Make educated guesses on data distribution between DataClasses.
What's covered in this session?
Objects in 4D
- References vs Pointers
- Understanding references
- Internal structure of objects
- Properties hash table
- How ref counting works
- Dot notation vs Bracket notation: how to choose
- Correct use of objects
- Use objects with Form to minimize Subforms coding
- Comparisons between objects and other types of structured information storage
- Objects, forms, and subforms: Sharing information & communication
- User-defined classes
- Optimizing programing with classes
- Fully understanding the code
- Traps to avoid
- This & objects
- Optimizing their use
- Using references in a clever way
- Comparisons between collections and arrays: Speed and Memory use
- Optimization of queries in collections
- Callback functions best practices
DatasStores, DataClasses & Entities
- Connections between entities and records
- Physical location of the different types of data
- Understanding stamps
- Understanding LockCounts
- Comparison between collections et entity selections: what to use and when
- Collections and entities: What does 4D load in memory and when
- Explanations about lazy loading
- Collections of entities: Memory use, managing locks, etc.
- Explanations about the data model
- How ORDA handles relations
- Converting from classic 4D to ORDA, step by step
- Getting the best from optimizations made by 4D.
- Integration within contexts
- Types of programming to avoid
- Programing for ORDA
- How do contexts work
- Analysis of data transfers (analyzing tool supplied)
- Transfer Optimization
- Finding the best balance between block sizes & block counts depending on the network
- Optimization of server cache management
- Contents of server & client Caches
- Different types of classes in 4D
- OOP inheritance detailed mechanism
- Smooth conversion from classic 4D methods to ORDA classes
- Detailed analysis of how classes work
- Comparison between class functions, formulas, and callback functions
- Using DataClasses functions to optimize client-server and external DataStores
- Preparing light client aware programming
- Understanding locks
- Optimistic vs Pessimistic locking
- Choosing which mode to use
- Complete review of optimistic programming
- Why locked becomes useless
- Multi-user & multi-process and the concept of sessions
- How to write generic code to prepare for the use of external data sources as application components
- Importance of sessions.
- Data transfer optimization on slow networks
- Slow networks techniques
- Traps to avoid
- Example application source codes for each part of the training
- PDF Files fully explaining the important points of the example applications
- The Keynote or Powerpoint presentations used during the training
- Video recording of the four sessions
Course of the training
The training takes place over four days with a 2-hour session per day (Tuesday - Friday) including a 30-minute Q&A.
Participants will receive documents and support materials at the end of the training.
Pricing in local currencies
499 USD - 449 GBP - 499 EURO - 4 990 SEK - 815 AUD - 61 400 JPY - 775 CAD (tax excluded)
599 CHF (tax included)
After registering, you will be invoiced for the training in accordance with the appropriate sales conditions.