An enterprise-level Web application server from Apple Computer. It's based on the OpenStep
(EOF) from NeXt
' old company.
MCI has used the EOF framework for many of its backoffice functions over the years. The United States Postal Service's call center runs on it too. For something that has had so many important (and large) deployments, its funny how little attention it gets. (Oh wait, there's SmallTalk
in that boat too. :)
(point three) is the latest version. See http://www.webobjects.com
are also available to read.
Some great OpenSource
d WO 4.5 frameworks are available at http://www.netstruxr.com/developer
. Greatly enhanced versions for WO 5 are available at http://www.sourceforge.net/projects/wonder
What I find interesting about this product was how ahead of its time it was. They released this thing back around 1994, I believe, before application servers were even a twinkle in the GartnerGroup?
's eye. It has very mature tools and very well designed object oriented frameworks. The EOModeler application, which does object-to-relational mapping, is one of the best available. It gives the programmer some excellent frameworks for eliminating TooMuchGuiCode
YUP! Like a lot from NeXT. The first GUI WebBrowser
) was built on a NeXT box using InterfaceBuilder
by a Mr. TimBernersLee
There is a project to reimplement WebObjects as free software. The project is called GNUstepWeb, and the URL is http://www.gnustepweb.org/
There's also Tapestry http://sourceforge.net/projects/tapestry/
an open source implementation of the functionality of the presentation (web) layer of WebObjects
done in Java (with definitions (.wod) files in XML -- among other enhancements).
Yet another LGPL implementation of WebObjects
is called SoPe
which is part of OpenGroupware
.org. Very mature and optimized, available together with a complete groupware application consisting of 300 reusable components. The URL is http://www.opengroupware.org
"actually, SOPE isn't an implementation of WebObjects
, but is based on an implementation of WebObjects
called NGObjWeb. NGObjWeb and GNUstepWeb are quite compatible now. NGObjWeb seems more mature than GNUstepWeb, but I think there is still a few problems to use NGObjWeb with GDL2 -- the GNUstep Database layer, compatible with EOF 4.5. A few commercial sites use GNUstepWeb."
And SeasideFramework, a WebObjects inspired framework for SqueakSmalltalk.
The official Apple Website has the developer documentation of WebObjects
Very interesting related stuff on WebObjects
is maintained by Scott Anguish on the Stepwise server: http://www.stepwise.com
is a WebObjects
based application that enables categorized contribution of Tips & Tricks related to WebObjects
, MacOS X Server Adminitration and Development.
If you know something about WebObjects
please visit WebObjectsFaq
describes IMHO, a loose functional equivalent of Apple's WebObjects framework
. Written in CommonLisp
- specifically, it uses CMUCL. Note: I've never used WebObjects
and haven't actually tried IMHO either. -- DanBarlow
I just learned WO, and I have to say that this is by far the most powerful and productive development tool I have come across!
Working with HTML? You include "dynamic elements" in the page, which translate to standard HTML at runtime. These dynamic elements have properties that bind to your objects' attributes and methods, also at runtime, totally separating presentation from the business model.
Working with relational databases? You graphically model the object-relational mapping, either for an existing database, or you let the modeling tool create a database for you. Foreign keys or join tables don't even show up in your object model, the objects simply have the necessary associations, resolved at runtime only when necessary.
Plus: The libraries are beautifully designed, the whole thing is fun to learn.
, in considerable awe
YUP. Been using it for years. But as the market side of software development is much like HerdingCats
and J2EE has gained ascendency, there aren't as many active WO projects. Sadly.
The latest version (5.1) is not only pure Java but easily co-exists with J2EE. There's a servlet that plugs into any J2EE container and serves the web (interface) layer and the rest of WebObjects
(know as EOF) is the most robust RDMS<-->O-O framework and toolset around.
Not only does it correctly (and transparently) handle relationships (via a very clever implementation of FaultObjects?
) it handles inheritance, joins, uniquing, object-rendezvous...
Check it out.
I wonder... did 5.1 ever fix the problem where updating a one-to-many relationship requires a "fault firing", i.e. performing a potentially large SQL select when all I needed was an update or insert? I know there was a "SmartFaults?
" package available somewhere, but IIRC it was for ObjectiveCee
only. -- StuCharlton
For those who work with standard server-side Java these days, but miss WebObject?
's EOF, CayenneFramework
might be just the thing for you. It's an open source ORM framework for Java that has taken its structure an patterns from EOF. I have just checked out the documentation so far, but I can say I like what I see, and it's very very very similar to EOF. I'm definitely going to try it out in depth. -- FalkBruegmann
Or maybe, the best way to get something like WebObjects
... it is to combine JavaPersistencyApi?
with the SeamFramework
to get ObjectRelationalIntegrationWithModelViewController
as we had in WebObjects