EWD allows you to persist information throughout the lifespan of the user's session using a data structure known as the EWD Session. The EWD Session is manipulated programmatically using a set of built-in API methods. These APIs abstract EWD Session manipulation in a technology-independent way, allowing your Caché-based pre-page and action scripts to work with any of the technologies supported by EWD (eg PHP, Java Server Pages, CSP etc) without the need for any changes in your code.

You should always use EWD's built-in Session rather than the alternative that is usually built-in to your target technology. EWD's Session provides all the functionality you'd expect in the natively-provided Session structures but provides very high performance, scalability and technology-independence. Many of EWD's features depend on the use of EWD's Session, so it really is a fundamental and critical part of the EWD technology.

For example, EWD's form automation makes use of implicit mappings between the EWD Session and HTML form field names. This massively simplifies form handling, and is one of the key ways in which EWD reduces the maintenance overhead of your web applications.

The EWD Session allows you to create and manipulate not only simple scalar values as name/value pairs but also multi-dimensional sparse arrays. Additionally the EWD Session allows the creation and manipulation of lightweight Session Objects and Session ResultSets. Their use can significantly enhance the readability and maintainability of your EWD pages.