|
Oracle
9i Application Server - TopLink
TopLink Value
Add Over EJB 1.1 and 2.0
Oracle9i Application Server TopLink offers a Data Integration architecture
that facilitates rapid development, deployment, and execution of e-business
applications with various data sources. It accelerates time-to-market for applications
by providing your persistence infrastructure at the onset of development. TopLink
supports any architecture including EJB (CMP and BMP), regular Java Objects,
Servlets, JSP, Session Beans, Message Driven Beans, etc. With TopLink, you are
not locked into any particular application design. You can make use of Java
Objects, EJBs, or a combination of the two.
Oracle9i Application Server TopLink greatly improves the way you build
applications, making your applications portable across databases, schema, and
servers. The object-relational features described in the EJB specifications
only address basic issues related to storing Entity Beans in relational databases.
Solid O/R mapping and runtime features are required to build enterprise-quality
applications. The tables below list some of the key features available in TopLink.
TopLink is a market proven product that reduces development and maintenance
costs by facilitating application quality and reuse. Its comprehensive features
have evolved from extensive use by thousands of developers with diverse architectures
in various vertical markets.
|
EJB
and TopLink Features and Benefits Chart
Be Free
to Meet Business Needs
TopLink mapping features provide you with the flexibility to map
beans and objects to a database with little impact on your ideal
application design. You are free to design your application to business
needs rather than forced by a particular approach to satisfy persistence
needs. |
| Mapping Options |
EJB 1.1 Spec |
EJB 2.0 Spec |
TopLink |
Description |
| Multiple Table |
No |
No |
Yes |
Map attributes of a bean or class
to more than one table |
| Map Collections |
No |
No |
Yes |
1-n and n-m relationships
through a Map instead of Collection |
| Aggregate Collections |
No |
Yes |
Yes |
1-n relationship with no required
back reference in object model |
| Aggregates |
No |
No |
Yes |
Map 1-1 related classes to a common
table |
| Direct Collections |
No |
No |
Yes |
Map collections of basic data including
Strings, Numbers, and Dates |
| Type Conversion |
No |
No |
Yes |
Convert from types between the
object and the database. For example, store a String in the database
but a number in the object |
| Object Type |
No |
No |
Yes |
Convert finite keys and values
between object and database. For example, 'male' and 'female' in
object but 'M' and 'F' in database |
| Serialization |
No |
Yes |
Yes |
Serialize objects to BLOBS and
CLOBS. TopLink supports several database representations of binary
data |
| Transformation |
No |
No |
Yes |
User provided rules for transformation
of data between database and object |
| Object Relational |
No |
No |
Yes |
Support for advanced Oracle 8i
relational structures including VArray and Nested Tables |
| Variable 1-1 |
No |
No |
Yes |
1-1 relationship through interfaces |
| Variable 1-n |
No |
No |
Yes |
1-n relationship with heterogeneous
collections |
| Custom SQL |
No |
No |
Yes |
Specify your own custom SQL or
let TopLink automatically generate for you |
| Indirection |
No |
Yes* |
Yes |
Fault data from database "just
in time". *Indirection is optional but not required to be EJB
2.0 compliant |
Achieve
Code-Free Integration
TopLink supports the same kinds of bean-to-bean and bean-to-object
and object-to-object relationships as EJB 2.0. However, TopLink
provides complete flexibility in the schema design and allows relationships
to be supported directly in a natural fashion without the need for
code generation or special classes to represent the relationships.
|
| Supported Relationships |
EJB 1.1 Spec |
EJB 2.0 Spec |
TopLink |
Description |
| 1-1 bean-bean |
No |
Yes |
Yes |
|
| 1-n bean-bean |
No |
Yes |
Yes |
|
| NM bean-bean |
No |
Yes |
Yes |
|
| 1-1 bean-object |
No |
No |
Yes |
TopLink supports mapping and querying
across beans and regular Java objects. |
| 1-n bean-object |
No |
No |
Yes |
|
| 1-1 object-object |
No |
No |
Yes |
|
| 1-n object-object |
No |
No |
Yes |
|
| NM object-object |
No |
No |
Yes |
|
| Dependent Values |
No |
Yes |
Yes |
Support for relationships to regular
Java objects that are passed between client and server by value
TopLink allows EJB QL queries to query across dependent values |
Cut Development
Time
TopLink allows you to control how beans and objects are mapped to
a schema graphically with a tool called the Mapping Workbench. When
there are changes to the schema or object model, the mappings can
be easily updated with tools that automatically generate a schema
and map beans and objects. |
| Persistence Manager Tools |
EJB 1.1 Spec |
EJB 2.0 Spec |
TopLink |
Description |
| Map beans and objects using graphical mapping
tool |
No |
No |
Yes |
Ability to graphically map and
maintain persistence information |
| Support for importing beans |
No |
No |
Yes |
Ability to import beans into tools |
| Import Schema |
No |
No |
Yes |
Ability to import schema information
from any database reachable through JDBC |
| Generate Schema |
No |
No |
Yes |
Ability to generate a schema automatically
from an business model, beans and/or regular Java objects |
| Auto-map |
No |
No |
Yes |
Given a business model and schema,
TopLink can automatically generate a lot of the mapping information |
Leverage
Current Developer Skills
TopLink provides maximum flexibility for specifying queries. SQL
and stored procedures can be used if the developer is comfortable
with that technology. Java developers will find the TOP Expression
framework easy to use and an object oriented alternative to specifying
queries. By providing several querying options, your developers
can use whichever skills they are more experienced in with no impact
to performance. |
| Finders and Queries |
EJB 1.1 Spec |
EJB 2.0 Spec |
TopLink |
|
| EJB-QL |
No |
Yes |
Yes |
TopLink supports EJBQL with Java
objects and BMP, as well as CMP |
| Refreshing |
NA |
NA |
Yes |
|
| In memory queries |
No |
No |
Yes |
Run queries in memory, against
the cache, rather than performing a round-trip to the database |
| TOP Expressions |
No |
No |
Yes |
Flexible and advanced OO based
query language |
| SQL & Stored Proc |
No |
No |
Yes |
Call stored procedures or custom
SQL instead of using EJB QL or TOP Expressions |
| Parameterized SQL |
No |
No |
Yes |
Specify SQL to take arguments at
runtime |
| Dynamic Querying |
No |
No |
Yes |
Generate OO queries, ad hoc, at
runtime |
Increase
Performance as Much as 5000%
TopLink allows you to performance tune your application and the
interaction with the relational database for maximum performance.
Applications can be sped up 5000% by using TopLink to reduce the
number of round trips to a database and retrieve data from cache.
|
| Optimization |
EJB 1.1 Spec |
EJB 2.0 Spec |
TopLink |
Description |
| Cursored Streams |
No |
No |
Yes |
Ability to read large sets of data
in small batches |
| Batched Reading |
No |
No |
Yes |
Read related data through joining
in a single round trip to the database |
| Partial Attribute |
No |
No |
Yes |
Read only required parts of a bean
or object |
| Batched Writing |
No |
No |
Yes |
Execute several update statements
in a single network round-trip |
| TopLink Events |
No |
No |
Yes |
Plug into all persistence lifecycle
messages for your bean or class |
| Caching Options |
No |
No |
Yes |
Six kinds of caches, controllable
on a per-bean and per-class basis |
Avoid
Writing Infrastructure Code
TopLink provides several locking strategies as well as sequence
number management strategies. Having these features in place means
you can focus on your application instead of building infrastructure.
Advanced features for performance tuning, logging, distribution
and support for non-CMP architectures are also available. These
are all tools that can be used to avoid writing infrastructure and
help write faster applications. |
| Other Options |
EJB 1.1 Spec |
EJB 2.0 Spec |
TopLink |
Description |
| Table Sequences |
No |
No |
Yes |
Manage sequences using a sequence
table portable across any relational database |
| Native Sequences |
No |
No |
Yes |
Manage sequences using the native
sequencing functionality of Oracle, Sybase, or Informix |
| Optimistic Version Locking |
No |
No |
Yes |
Optimistic locking using a timestamp
or reference count in the database |
| Other Optimistic Locking |
No |
No |
Yes |
Optimistic locking using any combination
of fields for a bean or object |
| Pessimistic Locking |
No |
No |
Yes |
Pessimistic locking using "SELECT
FOR UPDATE
" semantics |
| Logging options |
No |
No |
Yes |
Log all lifecycle events, SQL generations,
and interactions with the database to a console or file |
| Profiler |
No |
No |
Yes |
Analyze and chart performance aspects
of persistence and identify sources for optimizations |
| Inheritance |
No |
No |
Yes |
Ability to organize beans and object
into hierarchies with support for various schema representations |
| XML SDK |
No |
No |
Yes |
Ability to read and write XML instead
of SQL |
| EIS SDK |
No |
No |
Yes |
Ability to access legacy data is
currently supported through the TopLink SDK. WebGain is currently
working on TopLink support for J2EE Connectors |
| Clustering - Refresh |
No |
No |
Yes |
Ability to refresh cached beans
and objects between nodes of a cluster of application servers |
| Clustering - Synchronization |
No |
No |
Yes |
TopLink contains support for synchronous
or asynchronous cache synchronization between nodes in a cluster |
| TopLink for Java support for non EJB deployment |
No |
No |
Yes |
Ability to use TopLink in any Java
application using regular Java objects |
| Bean-managed persistence |
Yes |
Yes |
Yes |
Ability to use TopLink in any Java
application using BMP Entity Beans |
|
|