About the Project

What is Wotonomy?

Wotonomy is a pure-java open-source application framework. It contains an "Object/Relational" mapping framework (such as TopLink or hibernate). It contains a Web Application framework that is J2EE compliant. It is, in particular, a clean-room re-implementation of Apple's WebObjects platform, originally written by NeXT Software, Inc.


Why is it called Wotonomy?

Wotonomy is a play on WebObjects and autonomy. One of the early project goals was to make sure that projects that relied on WebObjects would not be jepardized by WebObjects being discontinued. At the time, Apple had recently purchased NeXT, and their plan for WebObjects' long-term continuity was unclear. Therefore, using Wotonomy gives a project autonomy from WebObjects. Simple...


Do I need to run Apple hardware/software to use Wotonomy?

Wotonomy is pure-java and open-source. As such, it does not rely on any commercial software. Wotonomy should run on any standard J2SE platform, and web-applications written with Wotonomy should deploy to J2EE 1.2 compliant application servers.

* Wotonomy currently relies on xml code from www.jclark.com, but this is being refactored to avoid any licensing concerns.


Is this project active? Why have there been no releases for over a year?

Yes, the project is active, but all of the updates have been to CVS. There have been few formal packaged updates, and the project has undergone a change in active contributors.

CVS updates have been tapering off because the ui and control libraries have become vey mature. (They've verifiably saved at least one startup from extinction) Another alpha release has been cut so that the non-CVS-using audience can take advantage of the current state.


Do you need help? How can I help?

One word: yes. Grab the source, start hacking, and send in your diffs.



I'm a Java developer: what's in it for me?

Java developers will find the design patterns in wotonomy useful for greatly reducing the complexities of data-driven application development. Swing developers will additionally find a wealth of reusable components that help you "go the extra mile" in creating usable and polished Swing applications.


I'm an OpenStep developer: what's in it for me?

OpenStep developers will find that they can use familiar APIs while still writing pure java applications. Wotonomy provides clean-room and near-API-compatible implementations of the EOInterface/EOControl, WebObjects, and Foundation frameworks that interoperate with and extend the Java Swing, Servlet, and Collections packages respectively. Wotonomy tries to be as API-compatible as possible while still tightly integrating with Java. Wotonomy wants to make you feel at home.



Why not use GNUStep?

GNUStep is awesome, but it's an Objective-C framework. The Java bridge is great, but even Apple is backpedaling on that approach with their pure-Java version of WebObjects, due to performance problems and conceptual difficulties in development. Additionally, GNUStep may not be available or stable on your platform.

Wotonomy has the same license (GNU Lesser Public License), and is written completely in Java.


WebObjects is pure-java, so why would I need Wotonomy?

You don't need Wotonomy: WO5 is what wotonomy wants to be, and $499 is an absolute steal. If your project needs this capabilities in a complete and mature product, you should run, not walk, to your nearest web-browser and buy a license.

However, some people cannot or will not develop on Apple hardware or software, and some people prefer to use Free Software. Moreover, wotonomy integrates more tightly with java. For example, Foundation's collections extend J2SE 1.3+ java.util collections, which makes coding much nicer. There's also a lot of benefit in having source code to see what's going on behind the scenes. The developers have learned a heck of a lot about WebObjects by trying to implement it.

Perhaps if enough people adopt wotonomy for their Java projects, they'll see the advantage of investing in Apple technology. Additionally, applications using wotonomy will be extremely portable to Apple platforms.