Opentopia Directory Encyclopedia Tools

WebObjects

Encyclopedia : W : WE : WEB : WebObjects


WebObjects is a Java Web application server by Apple Computer which is available, at no additional cost, as part of the company's Mac OS X platform. It has a range of tools and frameworks to develop and deploy Web applications and Web services. Its hallmark features are its deep object-orientation, powerful data connectivity features and rapid prototyping tools. Applications created with WebObjects can be Web browser-based, have the full interactivity of stand-alone Java desktop applications or be offered as standards-based Web services.

Originally released by NeXT Software in March 1996, WebObjects was the world's first object-oriented Web application server. The time and cost benefits of object-oriented development attracted major corporations to WebObjects in the early days of e-commerce, with clients including Disney, Dell Computer and BBC News. However, following NeXT's merger into Apple Computer in 1997, WebObjects' profile has languished in the marketplace. With many early adopters having since switched to alternative technologies, Apple is itself now the biggest client for WebObjects, relying on it to power its Apple Store, .Mac online services and the iTunes Music Store — WebObjects' most high-profile implementation to date.

The WebObjects development tools and frameworks are part of the install package for Apple's free Xcode IDE for Mac OS X, and the deployment runtime and license are included with Mac OS X Server (from $499, or included with Apple's Xserve hardware).

While WebObjects is supported only on the Mac OS X platform, the deployment runtime is, nonetheless, pure Java and Apple allows users to deploy WebObjects applications on any platform which supports Java (the WebObjects 5.3.1 license update allows free deployments). You can use the included WebObjects Java SE application server or deploy on third-party Java EE application servers such as JBoss, Apache Tomcat, BEA WebLogic or IBM WebSphere.

To ease the transition to a Mac OS X-only development solution, Apple continues to sell the earlier version 5.2, which includes development tools for Windows 2000 Professional and official deployment support for Windows 2000 Server and Solaris 8.

What Is WebObjects?

History of WebObjects

Under Apple's ownership WebObjects has aligned more closely with the company's corporate strategy of using software to drive hardware sales. In 2000, the price was dramatically slashed from $50,000 (for the full deployment license) to $699. WebObjects (both runtime software and an unlimited license) has been included with Apple's OS X Server since May 2001.

With the release of version 5.3 in June 2005, WebObjects fully transitioned from a stand-alone product to an integral part of the Mac OS X platform. The developer tools and frameworks, which previously sold for $699, were now bundled free with Apple's Xcode IDE. The corollary of this move was that support for other platforms, such as Windows, was discontinued.

Apple has said it will further integrate WebObjects development tools with Xcode in future releases.

Advantages of WebObjects

WebObjects has a number of key technologies that give it a significant advantage over other application servers:

Core WebObjects frameworks

A WebObjects application is essentially a server-side executable, created by combining prebuilt application framework objects with the developer's own custom code. WebObjects' frameworks can be broken down into three core parts:

Rules-Based Rapid Application Development (RBRAD)

WebObjects features a set of rapid development technologies that can automatically create a Web application without the need to write any Java code. Given a model file for a database, WebObjects will create an interface supporting nine common database tasks, including querying, editing and listing. Such applications are useful for prototyping or administering a database, perhaps to check relationships or to seed the database with data.

The user interface is generated dynamically, on-the-fly at runtime using a rules-based system — no code is generated. Consequently, you can modify your application's configuration at runtime (using an assistant program) without recompiling or relaunching the application.

Developers can utilize one of three different technologies, depending upon the type of interface they wish to employ:

Advantages of RBRAD

Java compatibility

WebObjects is a 100% Pure Java solution with the following Java-based features:

WebObjects version history

WebObjects was originally released by NeXT Computer in March 1996, but was acquired by Apple Computer when Apple bought NeXT in December of that year.

right

OpenSource alternatives

With the move of WebObjects from Objective-C (last version WO 4.5.1) to Java (first version WO 5.0), people's interest grew in OpenSource alternatives to WebObjects which kept using the Objective-C language. The two frameworks available are SOPE which is used as the basis of the OpenGroupware.org groupware server for about eight years, and GNUstepWeb, which is part of the GNUstep project.

An open-source rewrite of the EOF framework also exists: AJRDatabase [link].

There are Java-based alternatives, also. Apache Tapestry has a similar design and philosophy with WebObjects. There are areas in which it clearly outclasses WO: its templating system is far more powerful; it doesn't rely on Apple's somewhat-obscure and proprietary Cocoa framework; and it allows much more flexibility with packages than WebObjects. However, in some ways it is more quirky - page-level caching is straightforward in WebObjects but something of a minefield in Tapestry. Also, tapestry is a less stable platform: the next major release will involve significant changes affecting users whereas WebObjects hasn't undergone a major upgrade for several years. Wotonomy tries to implement the WOF part of WO 5.x Java API, but is not under current development.

Tapestry is frequently combined with [Cayenne], a persistence framework inspired by EOF. Again, there are notable differences. Cayenne does not offer nested editing contexts. However, it does allow developers to un-insert objects from contexts (a feature often missed in EOF). Also, Cayenne is much less wordy than EOF, which is notorious for making the developer deal with methods like addObjectToBothSidesOfRelationshipWithKey(Object, Object). Again, Cayenne is evolving rapidly. The upcoming 1.2 release is expected to be a significant change from 1.1 and this will incurr maintenance.

Well-known sites using WebObjects

See also

External links

Information and code examples

Alternative Development Platforms

Mailing Lists

Open Source Alternatives

Apple Computer software
Consumer

.Mac > Front Row | iLife | iWork | Mac OS X | Photo Booth | QuickTime
Prosumer:

Final Cut Express > Logic Express
Pro:

Aperture | Final Cut Studio | Logic Pro | Shake
Server:

Apple Remote Desktop > Mac OS X Server | WebObjects | Xsan
Discontinued:

AppleWorks > HyperCard | MacDraw | Mac OS | MacPaint | MacProject | MacTerminal | MacWrite

 


From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.

Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: