|
Javelin: the JDJ 'World Class Award' winning, leader in visual, model driven Java development since 1996! |
Javelin
Evaluation try it FREE for 15 days and realize the benefits and efficiencies of managing a POJO based domain model via live class diagrams instead of a plethura of text files. Read more>> |
exPOJO: feedback, contributions, questions,
suggestions:
|
![]() |
![]() |
expose your POJOs! |
So you are confident in your ability to develop well engineered, robust and reusable domain model objects (POJOs) and you thought that now that popular transparent persistence technologies like JDO and Hibernate (ORMs) have matured that it should be an easy job to persist your POJOs and use simple dependency injection.... well then you took it a step further and from your reading 'assumed' that you must jump on the learning curve of some well known, heavy weight, steep learning curve, high jar dependency frameworks et al. You were hoping that the 'nirvana' that is 'transparent persistence' was going to be a lot, God damn, more easier than what it seemed from your initial reading - and you were right in hoping that!
Welcome to exPOJO, the light weight, dependency injection, persistence engine wrapping, model exposing framework, that is the fastest and easiest way to persist your POJO domain model in a web or desktop application environment using your favourite popular transparent persistence engine: whether that be JDO or Hibernate. exPOJO is all about exposing POJOs that make up your object model - it has no reference or dependencies on any particular user interface framework: it can work with any framework eg., Wicket, Echo2, JSP, JSF, Tapestry etc.,
exPOJO is a free, open source, light weight framework, for use in open source and commercial projects, that makes it simple and easy to build sophisticated web and desktop applications using the exciting and highly productive "Exposed Domain Model pattern" popularized in Chris Richardson's excellent book: "POJOs IN ACTION" published by Manning (exPOJO is not associated with the author nor the publisher - we just think they've done an excellent job of telling the world about an excellent pattern/architecture for the highly productive development of object oriented web and desktop applications).
Version 1.3 now makes dependency injection possible without requiring any changes to your source code via a new Servlet filter. Simply add a few lines to your web.xml file and every class in your system has access to the ModelExposer object instance appropriate to the current session.
Download exPOJO (<200kb)
Download example exPOJO project
Download complete JAR bundle required for above example
(includes exPOJO, JPOX and compact Hypersonic SQL database + auxiliary jars)
To view the class diagrams in the examples you might also want to download the freeware Javelin Modeler. If you want to make changes to the classes via the class diagrams and automatically update the underlying code and ORM meta data then download a trial of the Javelin Modeler + Coder
| Version | Date | Description |
| 1.0 | 2007/1/16 | First public release |
| 1.1 | 2007/1/17 | Added support for Hibernate persistence. |
| 1.2 | 2007/3/8 | Redistributed under changed licensing to allow free use in commercial applications. |
| 1.3 | 2007/9/12 | Codeless dependency injection via a new exPOJO servlet filter. |
| 1.3.1 | 2007/9/30 | Renamed ExpojoServletContext
to ExpojoServletContextListener. Updated documentation. Added Javadoc pages. ExpojoServletFilter now accesses correct root exception via getRootCause(). |
| 1.3.2 | 2008/5/31 | Added flushChanges to assist
when your ORM generates FK constraints when committing complex
object graphs with cyclic references. Added an updated JDOQueryResultCollection from Guido to make clean up of query resources completely automatic when the caller has finished with them. |
The download contains compiled jars and all source code. The distribution is divided into 3 sub libraries which each build an appropriately named jar file: core, jdo and hibernate. Separating the core library from the libraries specific to the various persistence engines means that it's not necessary to download jars for persistence engines that you are not using in order to compile the libraries you are interested in. As the "Mock" persistence classes have no dependency on any real persistence engine jars they are included in the core library.
In order to build your project with exPOJO you only need expojo_core-x.y.jar and expojo_engine-x.y.jar where engine is either jdo or hibernate.
Note for users of the Echo2 exPOJO Mod
exPOJO now supports OpenSessionInView (Hibernate) and OpenPersistenceManagerInView (JDO) in view and dependency injection without any code changes to the framework. Thus the Echo2 mod is no longer required if that is the UI framework you use. Simply download the latest Echo2 jars from the Echo site.
For exPOJO feedback, contributions, questions, suggestions please visit: http://expojo.blogspot.com
home | Javelin Home | Visual Classworks Home
Custom software development services
Copyright ©
1996, 2007 Step Ahead Software Pty Ltd. All rights reserved.
Java™ and Java™-based marks are trademarks or registered trademarks of Sun
Microsystems.
Flash™ is a trade mark of Macromedia Inc.