Deliver applications faster with graphical tools for rich Object-Relational Mapping (O-R Mapping). Progress® DataXtend™ CE delivers the tools that best supports your development process.
Persistent data access consumes a large portion of development effort and accounts for the most expensive operations at runtime. While object-oriented development dominates in the enterprise, the majority of business-critical data is stored in relational database management systems (RDBMS).
To bridge this gap, Progress® DataXtend CE® technology provides tools for object-relational (O-R) mapping that relieve developers of this task. DataXtend CE tools offer more flexibility than the competition because they fit in naturally with your existing development process, whether that be model-driven, schema-driven, or somewhere in between.
Unlike most O-R mapping technologies, DataXtend CE supports equivalent functionality for C#, C++, and Java development. However, DataXtend CE offers much more than O-R mapping. Uniquely, DataXtend CE mapping technology builds in the performance and scalability required by data-intensive applications with closely-coupled intelligent data caching and cache clustering (or cache synchronization). Broad support for application servers, operating systems and databases make it possible to provide a unified data services layer in heterogeneous environments.

Figure 1: DataXtend CE Data Services Layer
Data services help development organizations attain to the main goals of a service-oriented architecture (reference whitepaper "Data Considerations for Building SOAs"), loose coupling and re-use. One of our customers, a major financial organization, currently leverages DataXtend CE technology as a common data service for multiple applications. This architecture allows them to achieve high transactional throughput, while saving more than 50% of development effort for each new system they roll out.
Topics:
The mismatch between objects and relational records is a well-understood and documented problem. Search the web for "object relational impedance mismatch" and you will find a range of suggestions that illustrate the difficulty involved in solving this problem efficiently. In general, the solutions fall into one of two main camps: both design and write your own persistency layer (which is necessary even if you choose to use standards like JDBC, see DataDirect, or DataXtend CE).
There are varying levels of do-it-yourself, ranging from embedding SQL to using APIs such as ADO.NET. The challenges of using these approaches include:
The ideal solution for data access relieves developers from writing low-level infrastructure and supports complex object models, while building in performance and scalability. DataXtend CE meets these requirements in three key ways:
O-R mapping requires a bridge between application architects and database schema designers. Each speaks a different language and has different objectives. Achieving business objectives usually requires compromises from both sides. DataXtend CE tools allow the object model to impose as few constraints on the relational schema as possible, and vice-versa. This results in a highly usable solution for all stakeholders.
DataXtend CE mapping classes reflect years of development, quality assurance, and testing-both internally by DataXtend CE and externally in real application environments. By using DataXtend CE mapping classes, you save the resources that would otherwise be required to write and test the persistency layer of your application. Each mapping object exposes a simple, well-defined interface that shields business objects from implementation and database-specific details and insulates developers from low-level data management details.
To be effective, development tools should fit naturally into an organization's existing process. DataXtend CE offers a choice of tools that support model-driven and schema-driven design.
Model-Driven Development
Model-driven development emphasizes the visual representation of objects and the relationships between them using tools such as IBM® Rational Rose. Model-driven development strives to separate implementation details from the architecture to improve design. DataXtend CE Add-Ins extend Rational Rose's modeling capabilities to include persistent stereotypes for entities, associations, and generalizations. The Add-Ins deliver true model-driven development by automatically producing a persistent data infrastructure from the model!
Schema-Driven Design
DataXtend CE includes Eclipse Plug-Ins for Java development and Workbench Tools for C++ and C#. These tools all provide a Database Explorer that allows you to browse an existing database schema and drag-n-drop tables into the DataXtend CE project, effectively jump-starting development.
Download an evaluation and experience the development benefits of DataXtend CE for yourself.
DataXtend CE tools support the following types of table mapping within an inheritance hierarchy:
>> Tech Brief: Modeling/Mapping Flexibility in DataXtend CE
Applications with horizontal mapping perform best when an inheritance hierarchy:
When using horizontal mapping for entities in a hierarchy, you map each concrete entity to a different database table. This means that columns must be duplicated in multiple tables for some data. Attributes common to the class hierarchy (those that originate in the base class, such as keys and common attributes) appear in each subclass; their database columns likewise appear in the corresponding database tables.
Classes mapped horizontally perform best when they:
Union table mapping in an DataXtend CE project encompasses a portion of an entity hierarchy, concrete members of which are then mapped to the same table. Entities can participate in a union table mapping if they are part of a contiguous inheritance subtree. Thus, they share a common base class, and there are no intervening horizontally mapped classes or other union mappings.
Applications using union table mapping perform best when your object model:
You will also find union mapping easier to work with if changes tend to occur in the base class. Where horizontal mapping would require you to modify a table for every class, union mapping restricts these changes to a single table.
Contact us to gain more insight and to learn more about the products and technologies from Progress Software.
Evaluate DataXtend CE
A distributed, persistent data infrastructure for applications.
> Download DataXtend CE
Data Considerations for Service-Oriented Architectures
> Read Whitepaper