TidBITS#584/18-Jun-01
=====================
So what the heck is WebObjects and where did it come from? Read on
for the first installment of Jonathan Rentzsch's two-part article
explaining just what WebObjects is, where it came from, and how it
compares to other ways of creating Web applications. Also this
week, Adam gets grumpy about a report about "severe market
dominance" on the Internet, and we cover the releases of
IPNetSentry 1.1.1, Rewind 1.2, BBEdit Lite 6.1.1 and icWord 1.2.
Topics:
MailBITS/18-Jun-01
We Must Retain Control of the Horizontal...
WebObjects: WO Is Me, Part 1
<
http://www.tidbits.com/tb-issues/TidBITS-584.html>
<
ftp://ftp.tidbits.com/issues/2001/TidBITS#584_18-Jun-01.etx>
Copyright 2001 TidBITS Electronic Publishing. All rights reserved.
Information: <
[email protected]> Comments: <
[email protected]>
---------------------------------------------------------------
This issue of TidBITS sponsored in part by:
* READERS LIKE YOU! You can help support TidBITS via our voluntary <- NEW!
contribution program. Our special thanks this week to Theresa,
Virgil Harder, and Kazuyuki Tanaka for their generous support!
<
http://www.tidbits.com/about/support/contributors.html>
* APS Tech -- 800/395-5871 -- <
[email protected]>
Burn a full CD in less than five minutes with the APS CD-RW
16x10x40 FireWire Plus. FireWire and USB ports let you easily
connect to all recent Macs. Order at: <
http://www.apstech.com/>
* WinStar Northwest Nexus. Visit us at <
http://www.nwnexus.com/>.
Internet business solutions throughout the Pacific Northwest.
* Small Dog Electronics: PowerLogix G4/450 Upgrade: $389! <---------- NEW!
FREE RAM & FREE VST CD-RW with PowerBook G4 Titaniums!
FREE RIO MP3, $69 Epson Rebate, FREE RAM with new iMacs!
VST Zip 250 FireWire: $129! <
http://smalldog.com/> 802/496-7171
* Bare Bones Software BBEdit 6.1 -- Built for Mac OS X
The award-winning HTML and text editor is now native for
Mac OS X. Buy, upgrade, or download the demo at our Web site:
<
http://www.barebones.com/> It doesn't suck.
* ConceptDraw v1.61 -- Create your concept! Ideal tool <------------- NEW!
for interactive diagrams, org charts, building
schematics, UML, flowcharts. Mac/PC compatible.
Give it a try at <
http://www.conceptdraw.com/>
* Share Your Internet Connection! IPNetRouter turns almost any Mac <- NEW!
into a powerful router. Share network connections with Macs,
Windows, Unix, and Palm OS devices. An Eddy award winner from
Sustainable Softworks! Just $89! <
http://www.sustworks.com/tb/>
---------------------------------------------------------------
MailBITS/18-Jun-01
------------------
**Rewind Advances to 1.2** -- Power On Software has updated
Rewind, its $100 utility for reverting to previous incarnations
of files or the system in the event of a crash or mistake (see
"Macworld SF 2001 Trend: Cool Utilities" in TidBITS-564_). Rewind
1.2 adds the capability to limit the size of the Rewind archive
(the catalog of changes made to files as you work on the Mac),
improves stability with programs that handle memory in unusual
ways, and now correctly handles Virtual PC 4 disk images, among
other fixes. Although the upgrade is free, you must enter your
serial number to download the full version of Rewind 1.2,
including manual (a 7 MB file). Rewind runs under Mac OS versions
8.1 to 9.1 and requires at least 10 percent of your hard disk
space to operate. [JLC]
<
http://www.poweronsoftware.com/products/rewind/>
<
http://db.tidbits.com/getbits.acgi?tbart=06280>
**icWord 1.2 Adds Double-Byte Support** -- The recently released
1.2 update to Panergy's icWord utility for viewing and printing
Microsoft Word documents can now read files created by the Far
East version of Microsoft Word, including those in Chinese,
Japanese, Korean, and other double-byte languages. Other feature
additions include support for sound, display of footnotes as
endnotes, and support for Unicode text files. Panergy also
improved support for Word's built-in graphics, table viewing, and
paragraph spacing. The update is free and is a 2.0 MB download.
[ACE]
<
http://www.icword.com/>
<
http://db.tidbits.com/getbits.acgi?tbart=06074>
**IPNetSentry 1.1.1 Traces Intruders** -- Sustainable Softworks
has released IPNetSentry 1.1.1, a minor update to the company's
personal firewall software (see "Macworld SF 2001 Trend: Personal
Firewalls" in TidBITS-564_). This version adds an internal Log
window for the last 32K of log entries and the capability to
bypass the splash screen by holding down Command while launching
the IPNetSentry Companion application. More significant, when
IPNetSentry detects an intrusion, it enables the user to perform a
trace route on the intruder's IP address, which can help identify
the source of an attack. The actual trace route is done through a
separate Sustainable Softworks' product, IPNetMonitor. Although
the update to IPNetSentry is free, IPNetMonitor costs $30, and
it's also included in a variety of bundles with discounted
pricing. IPNetSentry 1.1.1 is a 1.2 MB download and requires Mac
OS 7.6.1 and Open Transport 1.1 or later running on a PowerPC-
based Mac. [ACE]
<
http://www.sustworks.com/site/prod_ipns_overview.html>
<
http://www.sustworks.com/site/prod_ipmonitor.html>
<
http://www.sustworks.com/site/bundles.htm>
<
http://db.tidbits.com/getbits.acgi?tbart=06281>
**BBEdit Lite 6.1.1 Fixes Bugs** -- Bare Bones Software has
released BBEdit Lite 6.1.1, a bug fix update to the company's free
text editor. BBEdit Lite 6.1.1 now remembers changes to the
Default Font setting, honors search options in multi-file
searches, provides dynamic scrolling under Mac OS 8.1 and earlier,
improves Mac OS X clipboard performance, and fixes a crashing bug
related to the Hard Wrap command. BBEdit Lite 6.1.1 is a 4.3 MB
download and requires a PowerPC-based Mac. [ACE]
<
http://www.barebones.com/products/bbedit_lite.html>
<
http://db.tidbits.com/getbits.acgi?tbart=06448>
We Must Retain Control of the Horizontal...
-------------------------------------------
by Adam C. Engst <
[email protected]>
A recent report from Jupiter Media Metrix made the seemingly
provocative claim that as of March of 2001, a mere four companies
control just over 50 percent of all user minutes spent online in
the U.S. (both home and work). That's down from 11 companies
controlling 50 percent of online minutes in March of 1999, two
years ago. Even more provocative is that the number of companies
controlling 60 percent of online minutes was only 14 in March of
2001, versus 110 in March of 1999.
<
http://www.jup.com/company/pressrelease.jsp?doc=pr010604>
The four top companies are AOL Time Warner (32 percent), Microsoft
(7.5 percent), Yahoo (7.2 percent), and Napster (3.6 percent).
Speaking from a position outside these corporate monoliths, I find
this report troubling due to its implicit assumptions, and in the
end, it leads me to an understanding diametrically opposed to the
report's conclusion that market dominance on the Internet is
possible.
**Assumption 1: All User Minutes Are Equal** -- Jupiter Media
Metrix doesn't reveal methodology in the report's summary, but
in one footnote they do give a hint of the extent to which these
numbers aren't necessarily comparable. AOL Time Warner's
percentage seems wildly high, and that's in large part due to the
fact that two-thirds of the total comes from proprietary
communications services such as email and instant messaging.
Remove those services and AOL Time Warner remains in first place,
but drops to 10.7 percent. None of the other companies (other than
second-tier Juno, with its proprietary free email service) exert
the kind of control necessary over communications services to
include those in this "user minutes" calculation. It's also
unclear if standard Internet email and non-proprietary instant
messaging services are included in the user minutes calculation -
I know I spend a lot more time in Eudora than any other Internet
application.
In fact, once you start thinking about what a "user minute" is,
you wonder why Napster is included at all. Combine the large size
of MP3 files with the large proportion of the Internet community
still using modems, and you can see how all those slow downloads
would confer a vast number of user minutes to Napster. It makes
some sense to include AOL Time Warner's communications services in
the calculation, since AOL's use of proprietary software ensures
they can flash ads or otherwise affect the user experience for the
entire usage time. Most Napster usage, on the other hand, is
almost certainly happening in the background, unseen and ignored
until completion.
**Assumption 2: Users Are Mindless Minute Generators** -- TidBITS
exists primarily to help information flow to and from the
individuals who make up the Macintosh Internet community. That
involves constantly interacting with our readers, who are
intelligent, interesting people who have chosen to spend their
time reading and responding to our articles. It's a constant give
and take, and although our approach to publishing would
undoubtedly require modification if we had millions of readers,
I still find myself cringing whenever I read phrases like
"controlling user minutes" or "monetizing the user."
The implication in the report seems to be that users don't have
any choice in what they do, that they're compelled to use the
services provided by the big four. I use Yahoo a fair amount, but
that's because I like Yahoo's services and design, not because
Yahoo has in some way locked me in. In fact, my impression is that
Internet users are incredibly fickle, and it wouldn't take much
for any one of the top four to drop fast in the rankings.
Napster's suffering that drop even now, thanks to losing the first
rounds in its legal battle with the recording industry, reducing
the amount (and accessibility) of popular material previously
available through its service. Plus, other services are quickly
filling in the vacuum Napster has left behind.
<
http://db.tidbits.com/getbits.acgi?tbart=06346>
For anyone in the Internet media business, I'd recast the entire
situation in terms of needing to earn and retain the loyalty of
online users. There are certainly ways of encouraging users to
stick within a single company's services, ranging from AOL's
proprietary interface to Microsoft's pushing of MSN on the Windows
desktop, but in the end, it comes down to providing quality
services that offer real value to users.
**Assumption 3: The Rest of the Internet Is Uninteresting** --
What about the 40 percent of user minutes that aren't "controlled"
by these 14 companies? They don't warrant even a mention in the
report, and yet, I'd wager that if you asked people what they
remembered about an online session, it would be more likely to be
some piece of personal email or an unusual Web page or service,
not the bland portal that delivered the day's weather report. What
sets the Internet apart from other mass media vehicles is that
it's incredibly deep. Consider how shallow television, radio,
movies, and even books, software, and magazines are. In these
other arenas, there are relatively few producers, and the barriers
to production remain high. In theory, such a situation lets the
market create quality, but as we've seen, it means instead that
the market enforces only a least common denominator.
This isn't to imply that independent content is good, because most
isn't. Sturgeon's Law states that 90 percent of science fiction is
crud, but that's because 90 percent of everything is crud. So if
90 percent of television shows are crud (an optimistic estimate),
the remaining 10 percent add up to a small number. But when you
apply the same logic to the Internet, if only 10 percent of the
Web sites and services out there are any good, you still end up
with a vast number of worthwhile spots in the morass of crud.
That's an important difference, and is an interesting shift in the
standard quality versus quantity argument. The sheer quantity of
Internet sites almost ensures that quality can't be lost, as it is
so often in situations where the barriers to entry are essentially
insurmountable.
**Assumption 4: Information Monocultures Are Good** -- Are there
any lessons to be learned from Jupiter Media Metrix's report? Yes,
but not the one the report's authors expect. They portray it as
evidence that severe market dominance is indeed possible on the
Internet, despite the infinite number of "channels," as they so
quaintly state it. That's true, but isn't particularly
interesting, for the simple reason that most of the heavily used
services on the Internet have been replicated numerous times with
little variability. Headline news, stock quotes, telephone number
lookups, mapping services, Web-based email, search engines,
comparison shopping services - you name it and it's been done by
many different companies at this point. So when you look at Yahoo,
MSN, AOL, and Netscape, they're all offering roughly the same
content and functionality, and which one any given person uses is
likely due to either to personal preference or to some outside
factor. The fact that other companies offering similar services
have fallen away or been acquired isn't much of a revelation or
even, frankly, much of a concern.
Diversity is the most important aspect of the Internet, and the
kinds of content and services from the largest companies are the
information equivalent of cash crop monocultures. Biological
monocultures trade off high levels of production against
susceptibility to catastrophic disease and environmental damage,
and I'd argue there's a similar trade-off in the world of data,
information, knowledge, and thought. One commonly cited biological
parallel is the modern computer virus, which thrives in the near-
monoculture of Microsoft Windows and Microsoft's Outlook email
client. Another parallel is the concept of the meme, a self-
replicating, contagious idea, which has also become well accepted.
<
http://www.memecentral.com/>
Apply that analogy to information and thought in general, and I
think it's clear that the Internet, and more specifically, the bit
of the Internet that isn't generated in a corporate monoculture,
is an essential part of our intellectual evolution. Why? Because
evolution requires raw materials with which to work. That's why
sexual reproduction has proven so evolutionarily successful - the
immense number of possible DNA combinations ensures constant
change and experimentation. The information made accessible by the
Internet can be seen as the DNA of new ideas, without which we
can't move forward and may even inflict significant damage on
ourselves as a species. So do your part for the intellectual
future of the human race and venture out to some of the lesser-
travelled nodes of the Internet!
WebObjects: WO Is Me, Part 1
----------------------------
by Jonathan "Wolf" Rentzsch <
[email protected]>
AppleScript used to be Apple's best kept secret. It broke
technological ground that is still unmatched by any other
platform, but was largely ignored except by a handful of
enthusiasts. The situation has improved in the last few years,
with the technology even making it into a Steve Jobs keynote
(although widespread AppleScript support in Mac OS X remains
elusive). One way or another, these days more people know about
AppleScript, but now Apple has a new best kept secret: WebObjects.
In NeXT's waning days, WebObjects was the product that kept the
company going. It wasn't cheap: an unlimited connection license
cost $50,000. But even at that price, WebObjects was cost-
competitive with other similar products.
At last year's World Wide Developer Conference (WWDC), Jobs
dropped a bombshell: a new, flat price of $700 for WebObjects.
Although WebObjects isn't an attention-getting consumer product
like the much-hyped iTools or iDVD, the price drop caused interest
to b
oom. And at this year's WWDC, Apple released WebObjects 5,
written entirely in Java, which promises to be especially
interesting for customers running Mac OS X or Mac OS X Server.
<
http://www.apple.com/webobjects/>
<
http://db.tidbits.com/getbits.acgi?tbart=05950>
<
http://db.tidbits.com/getbits.acgi?tbart=06440>
Before we talk about WebObjects specifically, though, it helps to
gain an understanding about WebObjects' class of software:
application servers. This article provides a brief history of
application servers and offers an overview of the various software
architectures used by WebObjects and its competitors. The next
installment will focus on WebObjects, including its three major
tools and sore points.
**Application Servers** -- WebObjects was the original application
server - an environment for developing and deploying applications
meant to be accessed via a Web browser.
In many ways, application servers are a throwback to the days of
the mainframe. Back then, a single big machine would do
everything, while multiple inexpensive terminals plugged into the
mainframe. The terminals were extremely lightweight computers -
they could do little more than display received text and transmit
keystrokes back to the mainframe.
The personal computer revolution gave individual users the
capability to run their own software, freeing them from the
tyranny of the corporate information systems priesthood. But a
funny thing happened on the way to the revolution: people wanted
to share their information and programs.
Personal and centralized file sharing helped folks share their
information, but sharing software was problematic. Programs
developed for one platform wouldn't run on another. Software had
to be purchased, installed and maintained for each and every
computer, dramatically raising costs and complexity. Programs also
had to be specialized to handle different types of data; for
example, some shared information should only be accessed through
programs which can ensure validity, such as customer databases.
Then the Web happened. The message was HTML and the medium was
HTTP. Any computer could retrieve documents from any other
computer, diminishing the platform problem. Even more exciting was
that the Web enabled folks to set up programs that could be
accessed using HTML's rudimentary support for inputting data.
In short order, the Macs in Graphics and the PCs in Accounting
could access the same vacation forms served by the Unix box in
Human Resources. What's more, the capability to communicate
between platforms meant that software installation and maintenance
could happen on the company's central server. When a bug was fixed
or a feature was added, only the server needed to be updated - all
the clients instantly and automatically took advantage of the
upgrade the next time they used it.
"Thin clients" - inexpensive computers running lightweight
software like a browser or Java interpreter - captured all the
buzz. Why spend resources catering to lots of individual computers
on a network when you can manage them centrally like the former
mainframe system? But to remove weight from the clients, weight
had to be added to the servers. The servers held all the program's
logic as well as all of the user's data. Multiple users across the
company (or the world!) would all simultaneously hammer the
servers night and day.
Programmers faced tight software development timelines, amazing
software complexity, and the requirement that the server almost
never go down. NeXT was in a unique position to create and sell
tools and services that addressed all these issues.
NeXT was known from the beginning as having some of the finest
development tools available. Object-oriented to the core, these
tools enabled quick development of complex applications. And
NeXT's software ran on Unix and Windows NT - industrial strength
operating systems that could provide the needed uptime
requirements of mission-critical servers. NeXT leveraged all this
to create WebObjects.
**Three Fundamentals** -- Application servers consist of three
parts: the interface, the program's logic, and the data access.
* The interface is what we users see and interact with. Typically
it's the HTML we view via our Web browsers, though Java can also
provide an interface.
* The program's logic is composed of the rules and procedures that
run businesses. For example, it's the program's logic that won't
let you purchase a book from an online bookseller if the book is
no longer in circulation. Applications contain hundreds or
thousands of such rules. When to add tax. How much tax to add. How
big a box to use for the shipment. Is the credit card valid? Do
any ongoing sales apply to the current purchase? And so on.
* Finally, data access is the portion of the application which
interacts with the database to create, view, update and delete
information. As I discussed in "Relational Databases and Mac OS X"
in TidBITS-580_ and TidBITS-581_, businesses prefer relational
databases for these kinds of tasks.
<
http://db.tidbits.com/getbits.acgi?tbser=1197>
WebObjects is no longer alone in the application server
marketplace. There are now numerous players, and they differ
primarily in how they separate the three fundamentals above. It's
instructional to study the different models: you can see a clear
evolution of design. What I find most impressive is that all these
models are slowly moving towards a common design: the design of
WebObjects.
Follow along with this slightly artificial evolution of
application servers. For each one, I'll lay out the background and
talk about some of the different packages out there. Some are
free, open source. Some cost tens of thousands of dollars per
_processor_. Although these lists are cursory, over-generalized
and will be outdated quickly, they should give you the lay of the
land.
**Stone Age: Logic First, Everything Bound Together** -- The Stone
Age design is typified by a focus on the logic of dynamic page
generation. Almost all programming languages can be made to accept
Web queries and generate HTML documents based on the query's
results (some commonly used languages are C, Perl, AppleScript,
and Java).
These Web applications usually access a data source to answer the
incoming query. Some may manually scan a file for the information,
others will generate an SQL query based on the client's query, and
fire it off to a database. If the Web application is calculation-
focused, then it may not need to access a data source.
I don't intend to disparage the Logic First design with the Stone
Age label. Instead, I'm simply trying to indicate its age (it was
the first design) and complexity (not much at all). The Stone Age
design is lightweight, and everything lightweight has advantages.
It feels natural to programmers, and it is quick and easy to get
a dynamic page up because everything is in one place. For
calculation-intensive applications, Stone Age design may be the
best.
However the Stone Age design is not without disadvantages. The
first problem is that data access information is embedded into the
logic. Technologies were introduced to help deal with this hard-
wired database reliance. C and C++ programmers on Windows (and to
a much lesser extent, on the Mac) have Microsoft's Open Database
Connectivity (ODBC), Java programmers have Java Database
Connectivity (JDBC), while Perl has its Database Interface (DBI).
It's important to understand that these technologies only provide
a means of finding and _connecting_ to a database. When it comes
to moving data in and out of a database, you must still write and
embed SQL into your program logic. Since SQL refers to specific
table and column names, the onus is on you to keep the embedded
queries synchronized with your database.
Another disadvantage is that the logic plus interface plus data
design fundamentally ties one page to one chunk of code. If you
need to share logic among multiple pages, it's up to you to work
out a code sharing strategy and keep it all up to date.
The final disadvantage of the Stone Age design is that the
interface is embedded within the application's logic. This means
only a programmer can change how a page looks, or how it displays
its information.
Examples of Stone Age tools include AppleScript, C/C++, Java,
JavaScript, Perl, Python, and the Windows-only Visual Basic. You
can tell that these tools focus on logic because they're all
programming languages. They're great at representing logical
decisions and operations, but suffer when forced to deal with data
access and interface generation. Later models use some of these
languages to handle the logical part of a Web application.
**Bronze Age: Interface First, Everything Bound Together** --
After churning out a few hundred dynamic pages, programmers found
themselves in an interesting situation. Quite often, their dynamic
pages were a thin veneer of logic and data access, containing a
huge glob of interface in HTML. Plus, the business folks and
graphic artists were always bugging the programmers with
appearance change requests.
Programmers, being the lazy clever folks they are, simply flipped
the Stone Age design relationship. Instead of embedding interface
within logic, they embedded logic within interface. Now you had
pages composed predominately of HTML, with custom tags containing
the globs of logic. With a sigh of relief, the programmers could
give the files to the better Web designers (the kind who work at
the raw textual HTML level), tell them to avoid the logic globs,
and the Web designers could change the page's appearance without
going through the programmer.
Some programmers even went so far as to write WYSIWYG-style HTML
editors which knew about (and hid) the logic globs, so even non-
professional Web designers could change a page's appearance.
Like the Stone Age, the Bronze Age design has the advantages that
it's easy to start and everything is in one place. But while the
Bronze Age design somewhat relieved the Stone Age design's final
disadvantage, it didn't address the first two. Namely, data access
is still embedded (either within the page's interface or logic)
and code sharing among pages is still a problem.
Examples of Bronze Age tools include Active Server Pages (ASP),
Java Server Pages (JSP), Lasso, and PHP. These tools all embed
programming logic inside HTML. ASP typically uses Visual Basic,
JSP uses Java, Lasso has its own proprietary tag-based language,
and PHP uses its own language as well.
With some fancy footwork, all of these solutions can be moved to
the Industrial Age model, but that's not how they were initially
designed. Although both JSP and PHP run fine on Mac OS X, Lasso is
uniquely Macintosh friendly, with the capability to run under the
Classic Mac OS and offering direct connections to FileMaker Pro
and 4D. Future versions of Lasso will also work with Mac OS X.
**Industrial Age: Interface First, Separate Interface** -- As
projects got larger, the code duplication of the Bronze Age design
became a nightmare.
Whenever a bug was discovered or a feature added, the programmers
would have to go through each file and apply the fixes.
Programmers had to spend time keeping track of all code copies and
variants, or just hope they remembered to update everything.
Software quality quickly degraded as everything became an
entangled patchwork of slightly different code.
The Industrial Age design solved the code duplication problem by
moving logic out of the interface. However, the data access is
still embedded within the logic, leading to much of the same
synchronization problems as the Bronze Age's embedded logic model.
Examples of Industrial Age tools include Cold Fusion, WebLogic,
WebSphere, and customized Bronze Age tools. For instance, with
some up-front work and consistent discipline, you can use the
Industrial Age model for projects using Active Server Pages, Java
Server Pages, and PHP. Lasso also supports server-side JavaScript
in addition to its proprietary tag-based language.
Alas, short of Lasso, none of these tools are offered explicitly
for the Mac. Cold Fusion puts most of its logic in separate
server-side files containing a proprietary JavaScript-like
language called CFScript. WebLogic and WebSphere are
implementations of the so-called "Enterprise Java Beans" (EJB)
container specification, and they provide Java-based logic and
object storage to Java Server pages. Although WebLogic and
WebSphere don't disallow putting logic directly into pages, most
folks know enough not to make a habit of it.
**Information Age: Everything Balanced and Separated** -- The
Information Age design separates everything from each other.
Interface, logic and data access all stand alone and interact via
explicit architectural channels.
You can hand a bunch of pages to an outside Web design firm
without handing them your business logic. The crazed nerds in the
back room can crank code without having to worry about color
coordination of Web pages, or which brand of database the company
is currently using. The database folks can move and rename
databases, tables and columns without fear of breaking the Web
application.
Or one developer can work incredibly quickly.
The Information Age design is not without it flaws. Everything is
spread out, in different places. Often it's not immediately
obvious how modifying one aspect changes another, and the learning
curve tends to be much steeper.
The only two examples of Information Age tools in my mind are
customized Lasso and WebObjects. Since Lasso can shield you from
SQL and allows separation of your JavaScript-based application
logic from its interface, it fits into the Information Age model.
It's the only product that spans the Bronze Age all the way to the
Information Age. That's interesting - you can start off using the
fairly easy-to-understand Bronze Age model and work your way up to
the Information Age model as necessary. Sure, you'll throw away a
lot of work as you grow, but it's an option that simply doesn't
exist with other tools.
Although WebObjects has a much steeper learning curve than Lasso,
and doesn't run on the Classic Mac OS, it beats Lasso in terms of
maturity and power. In the next installment of this article, I'll
look more closely at exactly what WebObjects provides.
[Jonathan "Wolf" Rentzsch is the embodiment of Red Shed Software,
and runs a monthly Mac programmer get-together in Northwest
Illinois.]
$$
Non-profit, non-commercial publications may reprint articles if
full credit is given. Others please contact us. We don't guarantee
accuracy of articles. Caveat lector. Publication, product, and
company names may be registered trademarks of their companies.
This file is formatted as setext. For more information send email
to <
[email protected]>. A file will be returned shortly.
For information: how to subscribe, where to find back issues,
and more, email <
[email protected]>. TidBITS ISSN 1090-7017.
Send comments and editorial submissions to: <
[email protected]>
Back issues available at: <
http://www.tidbits.com/tb-issues/>
And: <
ftp://ftp.tidbits.com/issues/>
Full text searching available at: <
http://www.tidbits.com/search/>
-------------------------------------------------------------------