Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EclipseLink/UserGuide/JPA/Introduction/Architecture"

m (New page: ==EclipseLink Application Architectures == You can use EclipseLink in a variety of application architectures, including three- and two-tier architectures, with or without Java EE, to acces...)
 
m (Replacing page with ''''Warning See the [http://www.eclipse.org/eclipselink/documentation/ EclipseLink Concepts Guide]'''')
 
(18 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==EclipseLink Application Architectures ==
+
'''[[Image:Elug_draft_icon.png|Warning]] See the [http://www.eclipse.org/eclipselink/documentation/ EclipseLink Concepts Guide]'''
You can use EclipseLink in a variety of application architectures, including three- and two-tier architectures, with or without Java EE, to access a variety of data types on both relational and nonrelational data sources.
+
 
+
'''''EclipseLink and Your Application Architecture '''''
+
 
+
[[Image:whytl.gif|EclipseLink and Your Application Architecture]]
+
 
+
 
+
For more information on strategies for incorporating EclipseLink into your application architecture, see [[Introduction to EclipseLink Application Development (ELUG)#Designing Your Application with EclipseLink|Designing Your Application with EclipseLink]].
+
 
+
This section introduces some of the following common enterprise architectures used by EclipseLink applications:
+
* '''Three-Tier''' -- The three-tier (or Java EE Web) application is one of the most common EclipseLink architectures. This architecture is characterized by a server-hosted environment in which the business logic, persistent entities, and the EclipseLink Foundation Library all exist in a single Java Virtual Machine (JVM). See [[Introduction to EclipseLink Application Development (ELUG)#Considering Three-Tier Architecture|Considering Three-Tier Architecture]] for more information.<br>The most common example of this architecture is a simple three-tier application in which the client browser accesses the application through servlets, JavaServer Pages (JSP) and HTML.<br>The presentation layer communicates with EclipseLink through other Java classes in the same JVM, to provide the necessary persistence logic. This architecture supports multiple servers in a clustered environment, but there is no separation across JVMs from the presentation layer and the code that invokes the persistence logic against the persistent entities using EclipseLink.
+
* '''EJB Session Bean Facade'''-- A popular variation on the three-tier application involves wrapping the business logic, including the EclipseLink access, in EJB session beans. This architecture provides a scalable deployment and includes integration with transaction services from the host application server. See [[Introduction to EclipseLink Application Development (ELUG)#Considering EJB Session Bean Facade Architecture|Considering EJB Session Bean Facade Architecture]] for more information.<br>Communication from the presentation layer occurs through calls to the EJB session beans. This architecture separates the application into different tiers for the deployment. The session bean architecture can persist either Java objects or EJB entity beans.
+
* '''EJB 3.0 Entities with JPA''' -- The EJB 3.0 specification includes an additional persistence specification called the Java Persistence API (JPA). You can use this API for creating, reading, updating, and deleting plain old Java objects (POJO) within both a compliant EJB 3.0 Java EE container and a standard Java SE 5 (or later) environment.<br>EclipseLink JPA is a standards compliant JPA persistence provider built on the EclipseLink foundation library. EclipseLink JPA offers a variety of vendor extensions (annotations and persistence properties) that give you full access to the underlying EclipseLink API.<br>For more information, see:
+
** [[Introduction to Java Persistence API (ELUG)#Java Persistence API Overview|Java Persistence API Overview]]
+
** [[Introduction to EclipseLink JPA (ELUG)#EclipseLink JPA Overview|EclipseLink JPA Overview]]
+
** [[Developing Applications Using EclipseLink JPA (ELUG)|Application Development with EclipseLink JPA]]
+
** <tt>http://www.oracle.com/technology/products/ias/toplink/jpa/index.html</tt>
+
** [[Introduction to EclipseLink Application Development (ELUG)#Considering JPA Entity Architecture|Considering JPA Entity Architecture]]
+
 
+
* '''Web Services''' -- A Web services architecture is similar to the three-tier or session-bean architecture. However, in a Web services architecture you encapsulate business logic (the service) in a Web service instead of (or in addition to) using session beans. In a Web services architecture, clients communicate with your application using XML.<br>As in any architecture, you can use EclipseLink to persist objects to relational or EIS data sources. However, in a Web services architecture you can also use EclipseLink to map your object model to an XML schema for use with the Web service or as the Web service XML serializer.<br>See [[Introduction to EclipseLink Application Development (ELUG)#Considering Web Services Architecture|Considering Web Services Architecture]] for more information
+
* '''EclipseLink Database Web Services''' -- EclipseLink database Web services architecture (introduced in 1.1) is similar to the Web services architecture. However, in an EclipseLink database Web services architecture, you use EclipseLink to automatically generate Web services that expose database operations such as queries, DML statements, and stored procedures and stored functions. Using EclipseLink database Web services, you can provide Java EE compliant, client-neutral access to a relational database without having to write Java code.<br>As in any Web services architecture, clients communicate with your application using SOAP (XML) messages. However, in an EclipseLink database Web services architecture you need only specify an XSD for persistent classes. Clients need only invoke the operations the EclipseLink database Web service exposes to create, read, update, and delete these persistent objects. EclipseLink database Web services return objects or row set data, depending on the type of operation. See [[Introduction to EclipseLink Application Development (ELUG)#Considering EclipseLink Database Web Service Architecture|Considering EclipseLink Database Web Service Architecture]] for more information.
+
* '''Two-Tier''' -- A two-tier (or client/server) application is one in which the EclipseLink application accesses the database directly. Although less common than the other architectures discussed here, EclipseLink supports this architecture for smaller or embedded data processing applications. <br>See [[Introduction to EclipseLink Application Development (ELUG)#Considering Two-Tier Architecture|Considering Two-Tier Architecture]] for more information.
+
 
+
 
+
 
+
{{EclipseLink_jpa}}
+

Latest revision as of 09:07, 18 January 2013

Warning See the EclipseLink Concepts Guide

Back to the top