May 00 Viewpoint
Volume Number: 16
Issue Number: 5
Column Tag: Viewpoint
Viewpoint
By Jordan Dea-Mattson
Apple's best kept secret...
It isn't AppleScript!
For many years, Apple's best kept secret was AppleScript. An incredibly powerful
feature of Mac OS that was, when it was marketed at all, marketed by stealth. But now
the mantel of "best kept secret" has been passed and the focus of Apple's stealth
marketing activities has shifted to a new product.
And the winner is...
WebObjects! Yes, that's right. The current focus of Apple's stealth marketing activities
is WebObjects, a web application server for Windows NT, Solaris, HP/UX, and Mac OS
X Server.
Originally developed by NeXT in the early 90s and based on many of the same
technologies that underlay Apple's Mac OS X and Cocoa, WebObjects is the oldest and
most mature application server on the market. Before there was Netscape Application
Server, Visual InterDev, SilverStream, HAHTsite, or Tango, there was WebObjects.
Now on version 4.5, WebObjects' maturity shows in the cleanliness and quality of its
architecture, as well as in the performance, scalability, and reliability it delivers.
The Performance Leader
When building web-based applications responsiveness and performance are critical.
As Jakob Nielsen reminds us again and again in his AlertBox web columns (see Links of
Interest below for the URL), the longer that people have to wait for a page to be
delivered, the greater the chance that they will "bail out" and you will lose a customer.
As Nielsen's is fond of observing in his writings, in most non-Web settings, if someone
has waited more than 10 seconds without a response, they will bail out and go
somewhere else. Unfortunately, web users are use to quite a bit of abuse in the form of
unresponsive systems, and they will usually wait 15 seconds before bailing out.
What does this mean for you? Well, on the negative side, it means that for the best
user interaction and acceptance you need to get your page up there in 10 seconds or
less. On the positive side, the faster you get your page displayed, the more you will
stand out from the crowd. And as many sites have learned, strong and positive word of
mouth often trumps millions misspent on stupid SuperBowl ads.
On the performance front, WebObjects wins heads down. In a study benchmarking the
performance of a number of commercial application servers - including Netscape
Application Server, HAHTsite, Silverstream, Visual InterDev, PowerJ Enterprise,
Tango, and, of course, WebObjects - conducted by the research firm TechMetrix
Research, WebObjects beat the competition across the board.
Pretty much across the board, WebObjects beat its nearest competitors by a factor of
4, and always delivered - even under the heaviest loads - the sub-10 second
responsiveness that customers demand.
But don't believe me; check out the data for yourself. Go to the TechMetrix Research
web site and check out the Application Server Performance Results for 1 to 10
simultaneous users and for 25 to 250 simultaneous users (see Links of Interest below
for the URLs).
Scale Baby, Scale!
Hand-in-hand with performance, scalability is of equal importance to the success of
any mission critical web site. If your system can't easily scale from 100 hits an hour
to 10 million hits an hour, then you are setting yourself up for a whole lot of hurting
in the future.
First, as the TechMetrix performance benchmarks we discussed above show,
WebObjects nicely scales when servicing from 1 to 250 highly demanding
simultaneous users. On there own, these benchmarks are excellent. But they really
standout, when we compare them to the other application servers in TechMetrix's
study. When compared side-by-side, it is clear that WebObjects handily blows away
the competition not just in performance, but also in scalability.
So, WebObjects scales well when running on a single machine. But how does it perform
when you need to distribute your load over 10s or even 100s of systems? How easy is
it to build a mission critical web application that can easily be distributed across
multiple machines?
The short answer is quite easily. The long answer, is that WebObjects - like the restof
the frameworks, including Cocoa, originally developed by NeXT - is based on a
distributed objects (DO) layer. This layer allows you to easily take a WebObjects
application and scale it from 1 to 2 to 10 to 100 servers, allowing you to grow your
infrastructure to meet customer demand.
Always reliable
How many times have you found a web site or web application that intrigued you, but
when you tried to use it didn't work or broke down at some critical point? And how
quickly did you walk away from that web site? The lesson learned here is, it doesn't
matter how feature packed and interesting, or fast your web application is, or how
well it scales, if it doesn't run smoothly and reliably, customers will dump you and go
somewhere else in a New York minute.
Once again, WebObjects delivers the goods. Unlike half of the application servers that
TechMetrix studied, WebObjects successfully performed under all workloads. This
coupled with it excellent performance and scalability clearly show that WebObjects is
able to deliver the goods under all conditions.
Beyond Hygiene
Performance, scalability, and reliability are basic "hygiene". Without them, you don't
have a chance of competing, but they don't make for a compelling tool.
So, how does WebObjects move beyond hygiene? Based on the same object-oriented
foundations as OpenStep and Cocoa, WebObjects, is a highly productive development
environment. If you are impressed by the developer productivity delivered by
OpenStep or Cocoa, you already know the developer productivity delivered by
WebObjects. If you don't then you owe it to yourself to experience it.
WebObjects also includes a powerful collection of classes, Enterprise Objects
Framework (EOF), that gives WebObjects' applications easy access to new and legacy
databases. For example, the EOF features of WebObjects allowed the IS folks in the
office of the Secretary of Defense to build an application that tied together numerous
legacy systems - many running on older mainframes - into a single application with a
clean and unified user interface. When building its Personal Wealth application,
Standard & Poors ran into similar issues when trying to interface with existing
databases from various vendors. Again, EOF allowed Standard & Poors to build a single
application that presented a clean and unified human interface to users. In fact, much
of the power of WebObjects comes from EOF. Without it, WebObjects would not be as
powerful a tool as it is.
If it is so good, why isn't everyone using it?
Given what you have learned about WebObjects, you are probably asking yourself, "If
it is so good, what isn't everyone using it?
The answer in part, is Apple doesn't advertise WebObjects. But if we think that Apple
should advertise WebObjects, we have to ask ourselves, what would be the impact?
How would an ad for WebObjects from Apple be received by the average reader of The
Industry Standard or PC Week? Probably with a high degree of skepticism. Given
Apple's track record in the enterprise, it probably doesn't make a lot of sense for
Apple to throw dollars into advertising for WebObjects. Rather, they need to focus on
making sure that the decision-makers considering a project know about WebObjects
and its power.
So, how do we get WebObjects in front of decision-makers with creditability? First,
we need to have powerful success stories to which we can point. With over 3,000
mission critical applications already built using WebObjects from many high profile
companies, Apple has a rich field of candidates for success stories. And Apple has done
an excellent job of collecting WebObjects success stories from this field. If you are
interested you can find them at Apple's WebObjects web site (see Links of Interest
below for the URL).
WebObjects, like other application servers, is going to be sold one-on-one. Be it by
Apple sales reps or Apple partners, the sales of WebObjects will happen in one on one
settings. It is when someone, armed with the success stories that Apple is producing,
can talk to someone looking to build a web application, that the sales of WebObjects
will happen. Advertising won't drive it in any meaningful way. So, maybe Apple's
stealth marketing makes sense. If advertising isn't going to drive sales, why waste the
money? Maybe Apple isn't as dense as many of us thought!
Want to learn more?
If reading about the power and advantages of WebObjects above has you interested in
learning more, there are a lot of resources available to you.
First and foremost, you can start off by reading Sam Krishna and Patrick Taylor's
first article in their series on developing with WebObjects, "Everyone meet
WebObjects. WebObjects meet everyone." starting on page in
this issue. If you are serious about learning more about or using WebObjects, make
sure you read their entire series as it unfolds over the course of the next year.
Surprisingly enough, Apple has a large amount of material available for you on their
web site. If you are looking to explore things from top to bottom, then check out the
Apple WebObjects home page (see Links of Interest below for the URL). If you are
looking for a balanced, third-party perspective on WebObjects check out the IDC
WebObjects White Paper posted on Apple's web site (see Links Mentioned below for the
URL).
Links of Interest
• Jakob Nielsen's Alert Box
http://www.useit.com/alertbox
• TechMetrix Research
http://www.techmetrix.com
• TechMetrix Application Server Performance results, 1 to 10
simultaneous users
http://www.techmetrix.com/lab/benchcenter/appserverbench-bench4.shtml
• TechMetrix Application Server Performance results, 25 to 250
simultaneous users
http://www.techmetrix.com/lab/benchcenter/appserverbench-bench5.shtml
• TechMetrix Application Reliability During Testing
http://www.techmetrix.com/lab/benchcenter/appserverbench-bench3.shtml
• WebObjects at Apple
http://www.apple.com/webobjects
• IDC WebObjects White Paper
http://www.apple.com/webobjects/whitepaper/index.html