Domain Store
Start course
4h 56m

This course takes an in-depth look at how to use design patterns in your Java projects. We will then run through some example questions of what you could expect from the Oracle Certified Java EE exam.

Learning Objectives

  • Understand what design patterns are
  • Learn about the myriad of design patterns that you can use in your projects

Intended Audience

This course is intended for anyone who already has basic knowledge of Java and now wants to learn about Java EE 6.


Basic knowledge of Java programming.



Hello dear friends. In this video, we will examine the domain store design pattern. Let's begin. Domain store is used for separating persistence from object model. A domain store is a set of persistence classes that transparently persist business objects. With domain store pattern, you can implement a custom domain store implementation, but this is quite a bit of work. Although few developers are likely to implement this pattern themselves, learning the pattern will help you learn how these products work. 

As you can see, the pattern has a lot of participants. Application service is an application service object and it interacts with persistable business objects. Persistable is an interface or base class that all business objects that will be persisted must implement. PersistenceManagerFactory creates and manages persistence managers. PersistenceManager manages the persistence inquiries of the object model. The PersistenceManager interacts with the state manager not the business object.

The PersistenceManager instructs the state manager to update object state when necessary. State manager manages the state of persistable objects. The persistable object shares the responsibility for managing its state with the state manager. The state manager enforces transactional storage and retrieval of the state from the data resource. StoreManager. You think of this like a data gateway. It interacts with the data resource to perform CRUD operations. StoreManager is a dhow and encapsulates all the data resource mechanisms. 

Data resource is any resource service that manages data. It can be a relational database, object-oriented database, EIS and so on. These are classes that are typical when implementing domain store, but are not central to the pattern. Session facade is entry point into service layer, communicates with one or more application services. PersistMap contains the relationships among the objects and the mappings between persistable objects and the data resource. The transaction is an artifact of PersistenceManager and not an independent component. It's used to set transaction-oriented policies and delimit transactions in non-managed environments. Query encapsulates a query.

Typically, the extent of instances to query, filtering criteria, ordering and parameter declarations. This pattern creates a robust persistence mechanism that is transparent to the business objects without using entity beans. This pattern allows many benefits of entity beans without the overhead of other entity bean services. It creates more robust and transparent persistence capabilities than the dhow pattern and separates the persistence from the business objects. The dhow pattern separates the persistence code from the business objects, but the pattern does not make the code transparent to the business objects. We have now finished looking at the domain store design pattern. In the next lesson, we will start looking into the web service broker pattern. Until then, take care.


About the Author
Learning Paths

OAK Academy is made up of tech experts who have been in the sector for years and years and are deeply rooted in the tech world. They specialize in critical areas like cybersecurity, coding, IT, game development, app monetization, and mobile development.

Covered Topics