The following matrix contains an overview of the features available in MPF/J.
Supported
Partially supported
Not supported
Environment |
||
| Supported JREs/JDKs | JDK 1.3.x, 1.4.x, 1.5.x | |
| Supported Operating Systems | Windows (2000,XP), Linux, AIX, Solaris | |
| Requires native implementations (DLLs or Shared Libraries) | No | |
| Supports EJB environment | IBM WebSphere 3.5.x, 4.x; Fujitsu Siemens BeanTA 2.x; BEA Weblogic 6.11) | |
| Can be used "Standalone" |
|
|
| Can be used in Servlet containers | Tomcat, WebSphere 3.5.x, 4.x; others | |
| Supports Connection-Pooling | Via MPF/J pooling feature or javax.sql.DataSource | |
Mapping |
||
| Map Type to Table | ||
| Map Inheritance | ||
| Map Class hierarchy into one table | ||
| Map Foreign keys to Java relationships | ||
| Supports database constraints | ||
| Map 1:N relationships | with or without "backpointer" | |
| Map M:N relationships | ||
| Map 1:1 relationships | ||
| Mapping schema extensible by application | ||
| Verification of Mapping information | ||
| Map generic implementation | MPF/J can map generic implementations instead of classes | |
| JDBC 2.0 datatypes | Array and Struct are not supported | |
Object reading & writing |
||
| Read objects from database | Object building can be refined by an application | |
| Write objects into database | ||
| Support for database transactions | ||
| Support for working with a large number of objects | MPF/J offers persistent Streams | |
| Support for optimistic locking | Application extensible, e.g. via Timestamps | |
| Support for Sequence numbers | On Oracle native sequences | |
| Support for Queries | ||
| Support for Historization2) | User extensible, Sample 1 dimensional implementation | |
| Auto-detect changed, created and removed objects | Via object - transactions | |
| Sort SQL DML commands | Used to avoid constraint violations | |
| Requires MPF specific class implementation | Depending on the used programming model 3) | |
| Support for caches | Several cache implementation can be used | |
| Read relationships on demand | Relationships to other Objects are transparently read when the application accesses them | |
Enterprise JavaBeans (TM) |
||
| Support for usage in Session Beans | ||
| Support for BMP EntityBeans | ||
| Support for CMP EntityBeans | In Fujitsu Siemens BeanTA | |
| Supported EJB Version | 1.0, 1.1, 2.0 | |
| Support for EntiyBean relationships | All MPF/J supported relationships; 1:1, 1:N, M:N | |
| Support for Dependant classes in EntityBeans | All MPF/J supported relationships; 1:1, 1:N, M:N | |
| Optimized intra-container calls | ||
| Support for EntityBean inheritance | ||
MPF/J Tools |
||
| Graphical development tools | ||
| IDE Integration | Integration for IBM VisualAge for Java 3.x, 4.x | |
| JDK support | The tools can used with every supported JDK | |
| Forward engineering | Generate database from classes | |
| Reverse engineering | Generate classes from database | |
| Class generation | ||
| Incremental generation | Leaves user - code and formatting unaffected | |
| Model validation | Happens after every change to the model, errors are marked | |
| Programmatic access | Via Tool-API, which offers the same functionality as the GUI version | |
| Storage | Meta information is stored in XML | |
| Database and DDL generation |
1) Other EJB environments are available on request
2) Historization is a mechanism to support with different versions of a persistent object over time.
3) MPF/J is split into two frameworks; the low level and the Behavior framework. The Behavior framework offers two programming models. The "generic mode" mode makes use of special link classes to allow for read on demand. This requires a modified Class definition. The "type safe" mode uses generated proxy classes and therefore does not require modifications. MPF/J V 4 supported an instrumented model, where persistent classes are enhanced by MPF/J tools.
