This section describes the general development stages for EclipseLink applications. Figure 3-1 illustrates the development process.
Figure 3-1 EclipseLink Development Process
Design the Application (1)
Define your application requirements, select an architecture, and determine the target platform. EclipseLink works with any architecture and any platform.
When designing the application, you should also create an object model for the application. It is important to create the object model before mapping objects, because defining persistent mappings for an incorrect or rapidly changing model can be very difficult. See About Persisting Objects for more information.
Develop the Application (2, 3, 4)
Create the Java classes and decide how the classes should be implemented by the data source. When working with a legacy system, decide how the classes relate to the existing data. If there is no legacy data source to integrate, decide how to store each class in the data source and create the required schema. Alternatively, you can use EclipseLink to create your initial tables.
Using a development tool such as JDeveloper, create descriptors and mappings for the persistent classes. Use sessions to manipulate the persistent classes, including querying and changing data. See Key Tools for more information.
Avoid building all your model's descriptors in a single iteration. Start with a small subset of your classes. Build and test their descriptors, then gradually add new descriptors and relationships. This lets you catch common problems before they proliferate through your entire design.
Write Java code to use database sessions. Sessions are used to query for database objects and write objects to the database.
Deploy the Application (5)
Generate, package, then deploy the necessary files to your application server. The required information will vary, depending on your environment and architecture.
Maintain the Application (6)
EclipseLink includes many options that can enhance application performance. You can customize most aspects of EclipseLink to suit your requirements. Use advanced EclipseLink features or write custom querying routines to access the database in specific ways, and to optimize performance.