« Open Source Tools: Fedora Directory Server | Main | What Corporate Projects Should Learn from Open Source »
March 07, 2006
WebObjects
I've been toying with Apple's WebObjects a bit lately - partly due to an on-the-horizon project that's written with it, and partly due to the fact that I've wanted to try it out since the days when it cost $50K, required coding in Objective-C and ran on NeXTSTEP. Of course, now it's pretty much free, requires coding in Java, and runs on Mac OS X (but with a little luck and effort, applications are deployable on most any J2EE container).
It's pretty interesting so far. You can deploy (rudimentary) applications with very little code - I wrote an insanely simple app that copied from one textfield to another, and it only required writing one line of Java. There's also the "Direct To Web" deployment option, which, given an EOModel (more on that later), will generate an entire skeletal application for you much like Ruby on Rails. Lastly, there's a "Direct to Web Services" option, which can build SOAP Web Services (using Apache Axis, apparently - I haven't tried the D2WS option yet) based on your model.
EOModeler (one of the applications in WebObjects), is really interesting. It can scan the schema of a JDBC or JNDI(i.e. LDAP) store and allow you to graphically connect together the relationships between your tables, and then (optionally) generate the necessary SQL or Java code to re-create the database again (for, say, an installer).
There are some things I don't like - check out the URLs for products at store.apple.com - they're horrendously long, and not easily bookmarkable - there's a session ID built into the URL, though with a little mod_rewrite magic, you might be able to cope with them a little better.
As far as I've read, the closest to WebObjects in the regular J2EE world would be Cayenne (for object modeling) and Tapestry (as the web framework). Outside of J2EE, it's similar to a lot of the MVC web frameworks coming out, such as Rails or Catalyst.
Posted by sdh7 at March 7, 2006 04:12 PM
Trackback Pings
TrackBack URL for this entry:
http://blog.case.edu/sdh7/mt-tb.cgi/6406