WebObjects Now Free With Tiger
Reverberant writes "Macworld reports that has Apple released WebObjects as a free application. From $50,000 to free, the software used to build the iTunes Music Store and Dell's original online store is now available for free to Tiger users via Xcode 2.1." From the article: " The software has historical importance to Apple-watchers: it was originally released in March 1996 - but not by Apple. In fact, WebObjects was developed by NeXT Computer and became Apple's software only when that company acquired Steve Jobs' second computer company later that year. While not software on the tip of every Mac users tongue, WebObjects sits behind several significant implementations - the most famous current example being Apple's iTunes Music Store."
Free as in beer no doubt.
http://www.apple.com/webobjects/
Doesn't that 999$ include a (lease) of a computer system? It's not just the price of the software...
A few questions that are unanswered by the article and Apple's store. Does Mac OS X client include a deployment license? What about Mac OS X server? What about deployment licenses for other platforms, like Solaris or Linux? I think a fair number of existing WebObjects deployments are on platforms other than Mac OS X.
Maybe you'd rather they buy you a Mac and give you all the software, including the source, for free? Or better yet, they should give you a Mac, PAY you to use it, and give you all the software for free. That will really help Apple thrive...
. . . Well, the average Tiger user will also never use the developer toolkit that came with the OS, but that doesn't stop Apple from including it, does it? Why does something have to be useful to every user to be released?
Warning: Apple/Nintendo fangirl. Likes her electronics cute & cuddly. May be rabid.
I bought WebObjects yesterday!
I managed to answer some of my questions by looking at http://www.apple.com/webobjects/. Tiger Client includes a development license for WebObjects. Tiger Server includes a deployment license.
The article quoted only explains the WebObjects DEVELOPMENT environment.
While Apple did give you free WebObjects 5.3 Development on every XCode 2.1, you have to buy a MacOS X Tiger Server to run the applications. Yes, you can still build a WAR file to deploy the application on Tomcat/JBoss/Jetty but you still need the server license to deploy your applications.
The old way (pay $699usd, you get development environment on Mac and Windows, plus deployment on any JVM):
You can deploy WebObjects 5.0 to 5.2.4 applications on any Windows, Linux, Solaris, MacOS X and even FreeBSD with a compliant JVM. In short, WebObjects 5.0 - 5.2.4, you spent $699 usd to buy from Apple (I bought my copy $88 usd from eBay. Apple used to has student developer discount for $99 usd).
The New Way ("Free development license, but $$$$ on each deployment license from Tiger server):
Enough said, starting from 5.3, you've to buy the license for each deployment license.
Anyway I'm pissed because I like to write apps on my Powerbook, and deploy the apps to my Debian Linux server running Apache with mod_webobjects adaptor. I would never switch to a Apple machine running Tiger Server.
Look I love WebObjects... with all the Direct To Web and the EOF goodies, it runs circles around Ruby on Rails and the EJB/JDO toys... but I felt being sold by Apple this time.
-cocoa ninja
Is there a database that comes with it too?
... on a classic three-tier architecture with intrinsic clustering support... deliver maintainable, scalable applications... create enterprise-level web services backed by robust business logic ...object-oriented frameworks to transparently use the automated data persistence..."
Well, here's what the WebObjects home page has this to say on the subject:
"..extends your reach by ensuring flexible, maintainable design... build or use standards-based web services.. enable code-free generation, configuration and testing... standards-based web services... opening up enterprise development
Having read that, I can quite confidently say that I have NFI.
A pizza of radius z and thickness a has a volume of pi z z a
What for? I still got my Claris Home Page 3.0. Makes web pages that download easily are are compatible with 99% of the browsers in use. Runs great under Classic too.
EOF -- an object relational mapper, providing isolation from the database and from the database model -- in particular is very, very nice. Not the final answer to everything, but still quite cool :-)
The sad thing with Apple's current WebObjects is that it's only java (it's even a J2EE environment), while originally (at NeXT) it was Objective-C based (plus WebScript, an ObjC-like script language). They dropped the Objective-C bit with WebObjects 5, sadly (4.5 had ObjC and Java). Well, ok, beeing a J2EE env has its own advantages, but still...
The documentation of WO 4.5 is here, the documentation for the current WO is here.
There is a free software implementation of WebObjects 4.5 from the GNUstep project, GNUstepWeb, which work well. OpenGroupware.org also has its own WO 4.5 implementation, NGObjWeb, which works very well too (it's the foundation of SOPE). I wrote an article showing how to do simple (html) components, but it's in french ;-)
Though, if you want to discover a really interesting project, have a look to Seaside. It's inspired by WebObjects, with an excellent component model, but is even better (support of continuations, etc). And it's completely dynamic, letting you change things at runtime easily (Smalltalk rulez ;-). It's one of the best thing I know :-)
And some of the best Web sites have been done using WebObjects, including the Apple Store (http://www.apple.com/store) and the entire infrastructure for iTunes. Don't blame the tool for lousy site workflow.
However, I would say that the people who program in WO tend to understand a great deal about software architecture and theoretical IT issues - but in truth, many WO programmers are former NeXT GUI programmers who always will look on the Web as a bastard UI.
WebObjects is a fantastic development environment, a hell of a lot nicer than JSP/J2EE, but requires substantially more training than the lamp stack.
/* Dang, I can't type that well. */
According to an article at AppleInsider.com: "Employees working the show floor of the Apple's developers conference last week could be overheard discussing the prospect of open-sourcing the company's WebObjects environment used for rapidly building and deploying web-based applications." Perhaps releasing the dev kit for free is just the first step to going open source with it.
There has been a discussion about this a few days ago at heise.de (this is rather old news from the last Apple Developer meeting, but was buried under the big news of switch to Intel).
...
The news seems to boil down to this:
a) WebObjects Development (not deployment) is included in XCode and therefore free.
b) WebObjects Deployment is included for free with Tiger Server.
c) Other licences aren't available any longer. So that means, that you'll have to buy MacOS Tiger Server to get a valid licence. Deployment on all other platforms isn't supported any longer (it should work, cause it's java only, but there's no guarantee).
If Apple doen't change its mind on point c, this news is not good news
Bye egghat.
-- "As a human being I claim the right to be widely inconsistent", John Peel
I have been developing a hosted application (Application as a Service) with WebObjects and I must say it has completely spoiled me over all these other technologies. I have been able to rollout release after release of high quality, maintainable, fast and scalable code. I have used quite a few other technologies except for Ruby and .Net, but I really cannot believe that productivity I have had with WebObjects. Plus, its caching has made people comment on "is this really a web application".
It so far has played nicely with other frameworks, like jFreeChart, and I cannot recommend WebObjects enough.
It kind of reminds me of some article I read where a company chose to use LISP. They were able to constantly stay ahead of the competition etc., until Yahoo bought them out. Well, WebObjects has been our secret weapon and we are able to run rings around the competition wih our productivity.
- jimijon
Mind | Body | Spirit | Cash
Right here.
Apple, apple, apple... all I really want is xcode to have as good as support for LAMP (PHP mainly) as it does with java and obj c.. please apple, pretty please.....
Later,
Phil
Disney uses WebObjects for booking vacations to Disneyland, Disneyworld and Disneycruise. See this URL I just pulled from their site:
O bjects/TravelDLIBC.woa/
/ IndvGate?Request=CustomerInquiry
:)
http://dlr.reservations.disney.go.com/cgi-bin/Web
TIAA-CREF, an institutional and individual investment house has over 200+ WebObjects applications still in productcion. Here's another live URL:
https://ais2.tiaa-cref.org/cgi-bin/WebObjects.exe
Those are just a few of the "small" companies using WebObjects
I've been developing in J2EE for over 3 years now (WebObjects before that) and I can say that nothing beats EOF. Entity EJBs are still way too slow of a technology to get up and running. The change notification and delegation that is present in the EOF framework stack is so powerful and the level of caching that's given to the developer are way too easy. Hibernate, CMP EJBs and JDO don't compare. Note that Apple was actually on the JDO specification board. I'm not sure if they voted for or against JDO but it was interesting to see they were on the board. Maybe there were thoughts creating a specification around EOF? HAHAHA!
The programming language is mostly irrelevant. WebObjects uses Java simply because that's better known by programmers. What WebObjects brings to the table is exactly what OS X does - ridiculously complete and versatile object frameworks. Who cares what code glues together these objects? It's the richness of the framekworks that matters. Anybody who does J2EE or .Net should really look into it. Every application we have reviewed lately that was built on WebObjects works great. We even bought one of them.
IIRC, the USPS uses WebObjects for a number of systems. I sure love their new "automated postal systems."
There exists no way of exchanging information without making judgments. --Bene Gesserit Axiom
No. JBoss is the J2EE container. WebObjects is everything that goes inside the container -- a whole bunch of doodads (beans, scripts, code, whatever) that you now deploy in a standard container.
JBoss has been used as the container since Panther shipped, or shortly thereafter.
WebObjects was one of the leading Application Servers (along with NetDynamics and Kiva) 3 or 4 years before J2EE even existed. Since the price went from $50K to free, it saw a fairly significant drop in market share. Sorta strange what a big price drop and drop in marketing will do... now BEA can plunder peoples pocketbooks instead.
[Christian Kent] I was forwarded this today by a Macintosh MPEG software developer:
Okay, stop, I have to make an argument about why this article fails, before I explode. MySQL has a disgusting tendency to fork() at random moments, which is bad for performance essentially everywhere but Linux. OS X server includes a version of MySQL that doesn't have this issue.
No real arguments that Power Macs are somewhat behind the times on memory latency, but that's because they're still using PC3200 DDR1 memory from 2003. AMD/Intel chips use DDR2 or Rambus now ... this could be solved without switching CPUs.
The article also goes out of its way to get bad results for PPC. Why are they using an old version of GCC (3.3.x has no autovectorization, much worse performance on non-x86 platforms), then a brand spanking new version of mySQL (see above)? The floating point benchmark was particularly absurd: "The results are quite interesting. First of all, the gcc compiler isn't very good in vectorizing. With vectorizing, we mean generating SIMD (SSE, Altivec) code. From the numbers, it seems like gcc was only capable of using Altivec in one test, the third one. In this test, the G5 really shows superiority compared to the Opteron and especially the Xeons" In fact, gcc 3.3 is unable to generate AltiVec code ANYWHERE, except on x86 where they added a special SSE mode because x87 floating point is so miserable. This could have been discovered with about 5 minutes of Google research. It wouldn't had to have been discovered at all if they hadn't gone out of their way to use a compiler which is the non-default on OS X 10.4. Alarm bells should have been going off in the benchmarkers head when an AMD chips outperforms an Intel one by 3x, but, anyway ...
I hate to seem like I'm just blindly defending Apple here, but this article seems to have been written with an agenda. There's no way one guy could stuff this much stuff up. To claim there's something inherently wrong with OS X's ability to be a server is going against so much publicly available information it's not even funny. Notice Apple seems to have no trouble getting Apache to run with Linux-like performance.
WebObject rocks. I started using webobjects four years ago. I've been away and worked on projects in raw struts, raw jsp, have played with other frameworks in my own time, and laughed. I've written a couple of my own, and am currently part of a team working to replicate the best of WebObjects using Cayenne and Tapestry. For the most part all the alternatives *completely suck*. That people do commercial work on struts - this is laughable. It is inelegant, heavy, and yuck.
:) so I could continue to use that command-line approach in preference to the mac tools.
A few tools go some way towards recreating the success of parts of WebObjects - I've not played with Hibernate but hear it's a good. We use Cayenne, which is better in many respects (no addToBothSidesOfRelationshipWithKey - the default setters do this), although there are some bugs in the latest major release (1.1). Still, Andrus has really improved on some of the weak points of EO, and it's nice to see some people taking some pride in the interface with more recent releases of Cayenne - after fifteen years Apple (who pride themselves on their interfaces) still don't be able get the interface for EO to a point where it's acceptable. Focus doesn't work properly - there are mandatory fields hidden in strange places. And it's made awkward to work outside of the standard toolkit. All this is stupid. Stupid!
Some of the templating systems are comparable to the WOBuilder. The WOBuilder has some bugs in it, and there are templating systems around that are more powerful. Nevertheless, having now used Tapestry and the wo templating system I can see advantages to the less powerful WO system. It doesn't scale to seriously complicated pages as well as tapestry, and really is a lot less powerful, but for simple pages it's a lot quicker to make magic happen. That'll be OK for us, we're planning to hack tapestry to allow us to store the quivalent of a wod file within a single tapestry tag.
In the past, I've worked with some top notch people who develop on WebObjects. One of them is just the quintisenial guru programmer. He can look at a problem, sit down and start typing, and have a working product out in a tenth the time it would take me to produce an equivalent. Another guy is a perl guru. He's recreated the entire WebObjects development system in pure perl and moved the platform to linux. We do all our WO development on linux using text editor of choise (mostly emacs but I'm a bim type of guy) and the java libraries on linux. I have a mac laptop and had the privilege of porting them to BSD
Apple disappoints me. Releasing webobjects with the OS is a good idea, but they're not doing it to maek WebObjects the next best thing, they're just looking for an exit. The wasted opportunities are so disappointing, and the history of WebObjects is ridden with them. WebObjects is the best of breed and has been as long as it's been out. I'd love to know how the original team conceived it. Did they hire a team of people who'd worked on a web-like thin client system for unix or VMS? It has that feel about it that says that the people who pieced it together had a really good grasp of the problem they were trying to solve, and they did it near the beginning of the web application era. Don't take away the impression that WebObjects is some sort of golden hammer - it's quirky as hell. For example, instead of using List or evven Vector, every time you use a list by default you need to use a java implementation of NSArray. All the NS objects are default, and it's blatant that this is a quick port of Next's objective-C system to java. This is offputting at first as are all the other annoying interface quirks, stupidly long methods names and strange things that go wrong without meaningful explanation when you accidentally leave a colon sitting at the bottom of a wod file (binding file between the temaplted html file and java view file) but - it really is a mile ahead of all competition. Yet1 Apple have kept it on the backburner. They haven't dedicated de
Dell dropped WebObjects and went with ASP because, as the site grew in popularity, they needed more developers and ASP knowledge was far more prevalent than WebObjects. I know this from my tenure at Dell in 1998. The move to ASP.NET was an evolutionary one.
It uses a different architecture altogether. WebObjects was born in 1996, before J2EE containers even existed. And it was written in Objective-C. In 2000 they rewrote WO in Java, and that's when the trouble started; they basically just rewrote the whole thing, and it looks like the work was done by the ObjC people, because they even migrated the ObjC collection classes (there was no need for this, really, they could have used the Java collection classes) and this caused a bunch of compatibility problems. A patch was released later that added conversion methods from the java collection classes to the WO foundation collection classes. And supposedly you can deploy a WO app into a J2EE container, but EOF has issues with multithreading, you have to lock a lot of stuff manually, and generally it's easier to just use the same old WO way of deploying stuff, which is via the WOMonitor, launching many instances of your application and letting the apache WO adaptor handle the load balancing. In short, you can deploy WO apps using only J2SE without a container.
Go hug some trees.
EOF
Sorry, I didn't read past this.
Here's the truth: the article should read "Apple gives away $699 software package with every copy of OS X Server!"
You can buy WebObjects from the Apple store just like always, and
just as it's been for some time. The only new thing is that the developer tools are free ( for OS X ) and the entire package is free ( for new OS X Server purchases ). Now it only costs money ( exluding developer time, of course ) to develop and deploy WebObjects if you want to do so entirely on Windows 2000, or if you want to avoid buying an XServe. This is actually a brilliant move by Apple, although it is one likely triggered in part by low sales due to increased competition from J2EE, LAMP, andNote to parent: do your research before jumping to conclusions and making false claims, it helps prevent you from looking silly. I know. I've learned this the hard way myself...
Here's the link to the story you mentioned. This story also includes the infamous washing machine interview.
My other sig is extremely clever...
...actually I was in the feedback session for WebObjects at WWDC and when the question of using the license key from tiger came up to deploy on other platforms, they said don't do it because it's tied to the OS X architecture and wouldn't work.
However, they are looking to clarify their licensing policy and legalese, and I feel confident they'll provide some sort of path for the non-Tiger user.