Science Fair Project Encyclopedia
WebObjects is an application server development environment. It was originally designed at NeXT Computer, but came over to Apple Computer when Apple bought NeXT in 1996 and Steve Jobs became CEO of Apple. The latest version of WebObjects as of March 2004 is 5.2.3. Apple sells WebObjects 5.2 for $699 USD, which includes a development and deployment license.
At first WebObjects is somewhat difficult to grasp because the product name is actually used for different aspects of its usage. WebObjects consists of three different components:
- A set of tools that forms an Integrated Development Environment (IDE). The included tools are WebObjects Builder , EOModeler , WebServices Assistant and XCode (ProjectBuilder WO for Windows)
- A huge amount of classes and frameworks that accelerates development
- A J2SE-based application server with a web-based administration tool called JavaMonitor.
The WebObjects frameworks basically consists of four parts:
1. JavaFoundation. This framework contains the fundamental data structure implementations and utilities used throughout the rest of WebObjects. Examples include arrays, dictionaries (objects that contain key-value pairs) and formatting classes. For those familiar with Cocoa development on the Mac OS X they will recognize a lot of these classes.
2. Enterprise Objects Framework or EOF, communicates with relational databases and turns database rows into an object graph . Using EOModeler the developer can create an abstraction of the database in the forms of Java objects. In order to access or insert information into the database the developer simply access the Java Enterprise Objects (EOs) from their business logic. After that EOF manages the Enterprise Objects and automatically creates the required SQL-code to commit the changes to the database.
3. WebObjects Framework is responsible for the application´s user interface and state management. It uses a template-based approach to take that object graph and turn it into HTML, or other tag-based information display standards, such as XML or SMIL. It provides an environment where you can use and create reusable components. Components are chunks of presentation (HTML) and functionality (Java code) often with a parameter list to enhance reusability. WebObjects Builder is used to create the HTML-templates and creates the .wod-file linking for instance a Java String object to the interface objects like an input field in a web form.
4. DirectToWeb is a newbie´s first guide and the most advanced tool at the same time. Point to a database, and it will generate — at runtime — a web application that can query the tables and modify data and relationships in just a few mouseclicks. However, D2W powerful rule engine provides a developer with very advanced tools to automate the creation of a whole web application based on customized these rules. For instance, all these boring admin pages can be created using the rule engine instead of being handcoded from scratch each time.
5. DirectToJavaClient and JavaClient allow the development of double clickable applications which utilize the three tier WebObjects architecture. These applications are commonly developed for use in intranets and offer additional flexibility in the user interface as compared to a web based application.
WebObjects applications can now be deployed on any J2EE-compatible application server such as JBoss.
WebObjects is certified for deployment on Mac OS X Server, Solaris, and Windows 2000. However it can be deployed on any operating system that has Java 1.3 or later. Nowadays people use WebObjects on various Linux systems such as Red Hat, Debian and SuSe with great success.
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 GNUstep-web, which is part of the GNUstep project.
Sites Using WebObjects
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details