HOME

TheInfoList



OR:

WebObjects was a
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
web
application server An application server is a server that hosts applications or software that delivers a business application through a communication protocol. An application server framework is a service layer model. It includes software components available to a ...
and a server-based
web application framework A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build an ...
originally developed by NeXT Software, Inc. WebObject's hallmark features are its
object-orientation {{Broad-concept article Object-oriented or object-orientation is a software engineering concept, in which concepts are represented as " objects". Object-oriented topics include: * Object-oriented analysis and design * Object-oriented design * Objec ...
, database connectivity, and prototyping tools. Applications created with WebObjects can be deployed as web sites, Java
WebStart In computing, Java Web Start (also known as JavaWS, javaws or JAWS) is a deprecated framework developed by Sun Microsystems (now Oracle) that allows users to start application software for the Java Platform directly from the Internet using a web b ...
desktop applications, and/or standards-based web services. The deployment runtime is pure Java, allowing developers to deploy WebObjects applications on platforms that support Java. One can use the included WebObjects
Java SE Java Platform, Standard Edition (Java SE) is a computing platform for development and deployment of portable code for desktop and server environments. Java SE was formerly known as Java 2 Platform, Standard Edition (J2SE). The platform uses Ja ...
application server or deploy on third-party
Java EE Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web ser ...
application servers such as
JBoss WildFly, formerly known as JBoss AS, or simply JBoss, is an application server written by JBoss, now developed by Red Hat. WildFly is written in Java and implements the Java Platform, Enterprise Edition (Java EE) specification. It runs on mu ...
,
Apache Tomcat Apache Tomcat (called "Tomcat" for short) is a free and open-source implementation of the Jakarta Servlet, Jakarta Expression Language, and WebSocket technologies. It provides a "pure Java" HTTP web server environment in which Java code can also ...
, WebLogic Server or IBM
WebSphere IBM WebSphere refers to a brand of proprietary computer software products in the genre of enterprise software known as "application and integration middleware". These software products are used by end-users to create and integrate applications ...
. WebObjects was maintained by Apple for quite a while. However, because Apple has stopped maintaining the software, it now is instead maintained by an online community of volunteers. This community calls it "Project Wonder". WebObjects now also has a few competitors: see below.


History


NeXT creates WebObjects

WebObjects was created by NeXT Software, Inc., first publicly demonstrated at the Object World conference in 1995 and released to the public in March 1996. The time and cost benefits of rapid, object-oriented development attracted major corporations to WebObjects in the early days of
e-commerce E-commerce (electronic commerce) is the activity of electronically buying or selling of products on online services or over the Internet. E-commerce draws on technologies such as mobile commerce, electronic funds transfer, supply chain manag ...
, with clients including
BBC News BBC News is an operational business division of the British Broadcasting Corporation (BBC) responsible for the gathering and broadcasting of news and current affairs in the UK and around the world. The department is the world's largest broadc ...
,
Dell Computer Dell is an American based technology company. It develops, sells, repairs, and supports computers and related products and services. Dell is owned by its parent company, Dell Technologies. Dell sells personal computers (PCs), servers, data s ...
,
Disney The Walt Disney Company, commonly known as Disney (), is an American multinational mass media and entertainment conglomerate headquartered at the Walt Disney Studios complex in Burbank, California. Disney was originally founded on October ...
,
DreamWorks SKG DreamWorks may refer to: * DreamWorks Pictures, an American film production company of Amblin ** DreamWorks Television, an American television production company and division of the film studio ** DreamWorks Records, an American record label and f ...
,
Fannie Mae The Federal National Mortgage Association (FNMA), commonly known as Fannie Mae, is a United States government-sponsored enterprise (GSE) and, since 1968, a publicly traded company. Founded in 1938 during the Great Depression as part of the N ...
,
GE Capital GE Capital is the financial services division of General Electric. The company currently only runs one division, GE Energy Financial Services. It had provided additional services in the past; however, those units were sold between 2013 and 2018. ...
,
Merrill Lynch Merrill (officially Merrill Lynch, Pierce, Fenner & Smith Incorporated), previously branded Merrill Lynch, is an American investment management and wealth management division of Bank of America. Along with BofA Securities, the investment ba ...
, and
Motorola Motorola, Inc. () was an American multinational telecommunications company based in Schaumburg, Illinois, United States. After having lost $4.3 billion from 2007 to 2009, the company split into two independent public companies, Motorola ...
.


Apple acquires NeXT, and continues to maintain the software

Following
NeXT Next may refer to: Arts and entertainment Film * ''Next'' (1990 film), an animated short about William Shakespeare * ''Next'' (2007 film), a sci-fi film starring Nicolas Cage * '' Next: A Primer on Urban Painting'', a 2005 documentary film Lit ...
's merger into Apple Inc. in 1997, WebObjects' public profile languished. Many early adopters later switched to alternative technologies, and currently Apple remains the biggest client for the software, relying on it to power parts of its online
Apple Store The Apple Store is a chain of retail stores owned and operated by Apple Inc. The stores sell various Apple products, including Mac personal computers, iPhone smartphones, iPad tablet computers, Apple Watch smartwatches, Apple TV digital me ...
and the
iTunes Store The iTunes Store is a digital media store operated by Apple Inc. It opened on April 28, 2003, as a result of Steve Jobs' push to open a digital marketplace for music. As of April 2020, iTunes offered 60 million songs, 2.2 million apps, 25,00 ...
— WebObjects' highest-profile implementation. WebObjects was part of Apple's strategy of using software to drive hardware sales, and in 2000 the price was lowered from $50,000 (for the full deployment license) to $699. From May 2001, WebObjects was included with Mac OS X Server, and no longer required a license key for development or deployment. WebObjects transitioned from a stand-alone product to be a part of
Mac OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lap ...
with the release of version 5.3 in June 2005. The developer tools and frameworks, which previously sold for US$699, were bundled with Apple's
Xcode Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, and tvOS. It was initially released in late 2003; the latest stable release is version 14.2, released on December 13, ...
IDE. Support for other platforms, such as
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for se ...
, was then discontinued. Apple said that it would further integrate WebObjects development tools with
Xcode Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, and tvOS. It was initially released in late 2003; the latest stable release is version 14.2, released on December 13, ...
in future releases. This included a new EOModeler Plugin for Xcode. This strategy, however, was not pursued further. In 2006, Apple announced the deprecation of Mac OS X's Cocoa-Java bridge with the release of Xcode 2.4 at the August 2006 Worldwide Developers Conference, and with it all dependent features, including the entire suite of WebObjects developer applications: EOModeler, EOModeler Plugin, WebObjects Builder, WebServices Assistant, RuleEditor and WOALauncher. Apple had decided to concentrate its engineering resources on the runtime engine of WebObjects, leaving the future responsibility for developer applications with the open-source community. The main open-source alternative — the
Eclipse IDE Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, ...
with the WOLips suite of plugins — had matured to such an extent that its capabilities had, in many areas, surpassed those of Apple's own tools, which had not seen significant updates for a number of years. Apple promised to provide assistance to the community in its efforts to extend such tools and develop new ones. In a posting to the webobjects-dev mailing list, Daryl Lee from Apple's WebObjects team publicly disclosed the company's new strategy for WebObjects. It promised to "make WebObjects the best server-side runtime environment" by: * Improving performance, manageability, and standards compliance * Making WebObjects work well with Ant and the most popular IDEs, including Xcode and Eclipse * Opening and making public all standards and formats that WebObjects depends upon WebObjects 5.4, which shipped with Mac OS X Leopard in October 2007, removed the license key requirement for both development and deployment of WebObjects applications on all platforms. All methods for checking license limitations were then deprecated.


The end of WebObjects, and the beginning of Project Wonder

In 2009, Apple stopped issuing new releases of WebObjects outside Apple. The community decided to continue development with Project Wonder, an open-source framework which is built on top of the core WebObjects frameworks and which extends them. For example, Project Wonder has updated development tools and provides a
REST Rest or REST may refer to: Relief from activity * Sleep ** Bed rest * Kneeling * Lying (position) * Sitting * Squatting position Structural support * Structural support ** Rest (cue sports) ** Armrest ** Headrest ** Footrest Arts and enter ...
framework that was not part of the original WebObjects package. Though once included in the default installation of Mac OS X Server, WebObjects was no longer installed by default starting with Mac OS X Snow Leopard Server and shortly after, Apple ceased promoting or selling WebObjects. As of 2016, WebObjects is actively supported by its developer community, the "WOCommunity Association", by extending the core frameworks and providing fixes with Project Wonder. The organization last held a Worldwide WebObjects Developer Conference, WOWODC, in 2013. In May 2016, Apple confirmed that WebObjects had been discontinued.


Tools

As of 2016 most WebObjects architects and engineers are using the tools being developed by the WebObjects community. These tools run within the
Eclipse IDE Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, ...
and are open-source. The WebObjects plug-ins for Eclipse are known a
WOLips
Building WebObjects frameworks and applications for deployment is typically achieved using the WOProject set of tools for Apache Ant or
Apache Maven Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. The Maven project is hosted by the Apache Software Foundation, where it wa ...
. These tools are distributed with WOLips.


Core 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: * The WebObjects Framework (WOF) is at the highest level of the system. It 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 The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaS ...
, or other tag-based information display standards, such as
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
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 linking, for instance, a Java String object to interface objects like an input field in a web form. * The Enterprise Objects Framework (EOF) is, perhaps, the hallmark feature of WebObjects. EOF communicates with
relational databases A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
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 accesses 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. * Java Foundation. Both Enterprise Objects and WebObjects rest on the aptly named Java Foundation classes. This framework contains the fundamental data structure implementations and utilities used throughout the rest of WebObjects. Examples include basic value and collection classes, such as arrays,
dictionaries A dictionary is a listing of lexemes from the lexicon of one or more specific languages, often arranged alphabetically (or by radical and stroke for ideographic languages), which may include information on definitions, usage, etymologies, ...
(objects that contain key-value pairs) and formatting classes. Java Foundation is similar to the Foundation framework contained in Apple's
Cocoa API Cocoa is Apple's native object-oriented application programming interface (API) for its desktop operating system macOS. Cocoa consists of the Foundation Kit, Application Kit, and Core Data frameworks, as included by the Cocoa.h header file, and ...
for
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
desktop applications, however Java Foundation is written in Pure Java as opposed to Cocoa's Objective-C (with its Java bridge runtime wrapper). Foundation classes are prefixed with the letters "NS" (a reference to their NeXTSTEP OS heritage). Since the transition of WebObjects to Java in 2000, the functionality of many of Apple's Java Foundation classes is replicated in Sun's own
JDK The Java Development Kit (JDK) is a distribution of Java Technology by Oracle Corporation. It implements the Java Language Specification (JLS) and the Java Virtual Machine Specification (JVMS) and provides the Standard Edition (SE) of the Java ...
. However, they persist largely for reasons of backwards-compatibility and developers are free to use whichever frameworks they prefer.


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 Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
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, one can modify an 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: * Direct To Web (D2W) allows developers to rapidly create an HTML-based Web application that accesses a database. * Direct To Java Client allows developers to rapidly create a client desktop application using the
Java Swing Swing is a GUI widget toolkit for Java. It is part of Oracle's Java Foundation Classes (JFC) – an API for providing a graphical user interface (GUI) for Java programs. Swing was developed to provide a more sophisticated set of GUI com ...
toolkit. An advantage of Java Client applications is that they can take advantage of the processing power of the client computer to perform operations such as sorting a list of items received from the server. * Direct To Web Services allows developers to rapidly develop Web service-based applications that provide access to a data store.


Advantages of RBRAD

* Vastly decreased development and debugging time; * Increased stability through the use of highly exercised code; * By using the information contained in the data model file, applications will not violate database integrity. Normally you would have to write code to avoid such situations and handle errors generated by bad data; * Fully utilizes the validation services provided by WebObjects and Enterprise Objects.


Java compatibility

WebObjects is a 100% Java product with the following Java-based features: *Deployment: Applications can be deployed on any operating system that has Java 1.3 or later. Many developers have successfully deployed on
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for se ...
and various
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
systems such as
Red Hat Linux Red Hat Linux was a widely used commercial open-source Linux distribution created by Red Hat until its discontinuation in 2004. Early releases of Red Hat Linux were called Red Hat Commercial Linux. Red Hat published the first non-beta releas ...
,
Debian Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
and
SUSE SUSE ( , ) is a German-based multinational open-source software company that develops and sells Linux products to business customers. Founded in 1992, it was the first company to market Linux for enterprise. It is the developer of SUSE Linux Ent ...
. Applications can also be hosted on any
Java EE Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web ser ...
compatible application server such as
JBoss WildFly, formerly known as JBoss AS, or simply JBoss, is an application server written by JBoss, now developed by Red Hat. WildFly is written in Java and implements the Java Platform, Enterprise Edition (Java EE) specification. It runs on mu ...
. *Java EE integration: WebObjects applications can be packaged in a single directory (an exploded .war file) that make it easier to deploy to a
Java EE Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web ser ...
servlet container. *JDBC: Since WebObjects uses
JDBC Java Database Connectivity (JDBC) is an application programming interface (API) for the programming language Java, which defines how a client may access a database. It is a Java-based data access technology used for Java database connectivity. I ...
for database connectivity any
DBMS In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases ...
that has a JDBC-driver can be used within WebObjects. *Swing interface: WebObjects applications can be delivered to the user as a "Java Client application" or as a Java applet.


Version history

WebObjects was originally released by
NeXT Computer NeXT Computer (also called the NeXT Computer System) is a workstation computer that was developed, marketed, and sold by NeXT Inc. It was introduced in October 1988 as the company's first and flagship product, at a price of , aimed at the hig ...
in March 1996, but was acquired by Apple Inc. with their acquisition of NeXT in December of that year. :1.0 — March 28, 1996 :*Debut release. :2.0 — June 25, 1996 :*Pre-release version of WebObjects Builder application. :3.0 — November 1996 :3.1 :*Supports a subset of the Java APIs (NT only). :3.5 — December 1997 :*Enhanced Java support (NT only): all objects and components can be worked on as a set of Java APIs based on a complete implementation of the JDK 1.1.3. :4.0 — September 1998 :*First version of WebObjects to run on the Mac platform — specifically Mac OS X Server 1.0 (a public release of the beta OS formerly code-named ' Rhapsody'). :*
OPENSTEP OpenStep is a defunct object-oriented application programming interface (API) specification for a legacy object-oriented operating system, with the basic goal of offering a NeXTSTEP-like environment on non-NeXTSTEP operating systems. OpenStep wa ...
4.2 OS no longer supported; Windows NT now uses a new version of the
OpenStep OpenStep is a defunct object-oriented application programming interface (API) specification for a legacy object-oriented operating system, with the basic goal of offering a NeXTSTEP-like environment on non-NeXTSTEP operating systems. OpenStep wa ...
base of libraries and binary support called Yellow Box. :*Direct actions introduced whereby actions can be sent directly to an object that can handle it, allowing for simpler, static URLs. :*Direct to Web code-free development assistant introduced. :*WebObjects and Enterprise Objects Framework provide thread-safe APIs. This means that you can write a multithreaded WebObjects application where you couldn't before. This enables applications that can provide user feedback for long-running requests. :*Better tools for managing, configuring and testing the scalability of applications. :*Java capabilities are greatly improved over previous version, however compiled Objective-C is still two to three times faster; :*Possible to build a fully capable Java client either as a stand-alone app or as an applet with the Interface Builder - all sorts of Swing and Java Bean components are sitting on IB palettes for wiring up. :*Developers can now debug applications on a machine that doesn't have a web server present. :*EOF 3.0 adds support for a new database, OpenBase Lite, which ships with EOF 3.0 as an unsupported demo. :*EOF 3.0 introduces new API, mainly in EOUtilities, to facilitate common programming tasks. :*EOModeler adds support for prototype attributes and the ability to create and store complex queries (or EOFetchSpecifications). :4.5 —; March 2000 :*Integrated XML support using IBM's alphaWorks parser. :*New WebObjects Builder interface, specifically in the main window toolbar, the user interface for binding keys, and the table editing user interface. A path view, an API editor, and component validation have been added. :*Application profiling tools. :*EOF 4.5 comes with a new sample adaptor: the LDAP adaptor. :*Direct to Web now allows you to create your own visual style and exposes a great deal of new API. :*Java Client extended considerably, including a new user interface generation layer, Direct to Java Client. :4.5.1 :*First version to support Mac OS X 10.x and Windows 2000. :*Last version to support HP-UX and Mac OS X Server 1.0. :*Last version that supported the Objective-C API. :5.0 — May 2001 :* Major rewrite from Objective-C to Java. :5.1 — January 10, 2002 :*Create and deploy Enterprise JavaBeans using the built-in container based on OpenEJB. :*Deploy WebObjects applications as JSPs or
Servlets A Jakarta Servlet (formerly Java Servlet) is a Java software component that extends the capabilities of a server. Although servlets can respond to many types of requests, they most commonly implement web containers for hosting web applicat ...
on top of third-party application servers. :*Access and manipulate data stored in
JNDI The Java Naming and Directory Interface (JNDI) is a Java API for a directory service that allows Java software clients to discover and look up data and resources (in the form of Java objects) via a name. Like all Java APIs that interface with host ...
or
LDAP The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network. Directory servi ...
directory services. :*Automatically generate desktop Java client applications with rich, interactive user interfaces. :*Utilize the WebObjects template engine and object-relational mapping for seamless
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
messaging. :5.1.2 — May 7, 2002 :*Contains general bug fixes for WebObjects 5.1 on all platforms. :5.1.3 — June 7, 2002 :*Contains targeted bug fixes for WebObjects 5.1 on all platforms. :5.1.4 — August 22, 2002 :*Compatibility with Mac OS X 10.2. :5.2 — November 12, 2002 :*Web Services support. :*Improvements to
Java EE Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web ser ...
integration :*Java Web Start support. :*Improvements to robustness and stability of Enterprise Objects. :*Major bug fixes led many developers to hail this as the first stable 5.x release of WebObjects. :5.2.1 — March 21, 2003 :*Resolved some incompatibilities with the latest Java 1.4.1 implementation for Mac OS X. :5.2.2 — October 22, 2003 :*Compatibility with
Mac OS X 10.3 Mac OS X Panther (version 10.3) is the fourth major release of macOS, Apple's desktop and server operating system. It followed Mac OS X Jaguar and preceded Mac OS X Tiger. It was released on October 24, 2003. System requirements Panther's sy ...
Panther and the
Xcode Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, and tvOS. It was initially released in late 2003; the latest stable release is version 14.2, released on December 13, ...
IDE. :*JBoss on Panther Server qualification. :*Qualified for Java 1.4.1. :*Fixes for EOF runtime and WOFileUpload. :5.2.3 — March 16, 2004 :*Performance and stability update addressing issues with CLOSE_WAIT states in deployment using JavaMonitor and wotaskd and issues related to EOF under high load. :*Qualified for Java 1.4.2. :5.2.4 — May 2, 2005 :*Compatibility with Mac OS X 10.4 and the
Xcode Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, and tvOS. It was initially released in late 2003; the latest stable release is version 14.2, released on December 13, ...
2.0 IDE. :5.3 (developer) for Mac OS X 10.4 — June 6, 2005 :*WebObjects developer tools included free with the
Xcode Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, and tvOS. It was initially released in late 2003; the latest stable release is version 14.2, released on December 13, ...
IDE (v2.1). :*Development and deployment on platforms other than Mac OS X no longer supported by Apple. :*EOModels can be created and edited within
Xcode Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, and tvOS. It was initially released in late 2003; the latest stable release is version 14.2, released on December 13, ...
with a new EOModeler plugin that integrates with the CoreData modeling tools. :*WebObjects Builder has UI enhancements and generates
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaS ...
4.0.1 code. :*WebObjects runtime now supports
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaS ...
4.0.1. :*NSArray, NSDictionary and NSSet now implement the interfaces. :* Axis 1.1 integrated with the Direct To WebServices feature. :*WebObjects is qualified against
Oracle An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination. Description The word ...
10g using the 10.1.0.2
JDBC Java Database Connectivity (JDBC) is an application programming interface (API) for the programming language Java, which defines how a client may access a database. It is a Java-based data access technology used for Java database connectivity. I ...
drivers;
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washi ...
SQL Server 2000 8.00.194; MySQL 4.1.10a; OpenBase 8.0; Oracle 9i Enterprise Edition Sybase ASE 12.5 :5.3 (deployment) for Mac OS X Server 10.4 — June 23, 2005 :*Installer updates the Application Server components in Mac OS X Server 10.4 to WebObjects 5.3. :5.3.1 — November 10, 2005 :*Addresses incompatibilities with Xcode 2.2 Developer tools on Mac OS X 10.4. :*Adds a modified Developer tools license that allows WebObjects applications developed with Xcode 2.2 to be deployed on any compatible platform. The license is available at /System/Library/Frameworks/JavaWebObjects.framework/Resources/License.key after installation. :*Adds better SQL Generation in the EOModeler Plug-in design tool in Xcode. :*Improved FetchSpecification building in the EOModeler Plugin design tool in Xcode. :*Adds a "components and elements" window for improved workflow in WebObjects Builder. :*Bug fixes. :5.3.2 — August 7, 2006 :*Addresses incompatibilities with Xcode 2.4 Developer tools on Mac OS X 10.4. :*Security improvements. :*Other improvements. :*As part of the simultaneous release of Xcode 2.4, the Cocoa Java bridge is deprecated along with the following WebObjects applications: EOModeler, EOModeler Plugin, WebObjects Builder, WebServices Assistant, RuleEditor and WOALauncher. :5.3.3 — February 15, 2007 :*"WebObjects DST Update": Updates WebObjects 5.3 systems to observe the Daylight Saving Time (DST) changes due to come into effect in March 2007 in many countries, including the United States and Canada. Uses the latest DST and time zone information available as of January 8, 2007. :5.4 — October 26, 2007 :*License key no longer required or supported :*Deprecations: Java Client Nib based applications, Direct to JavaClient based applications, EOCocoaClient based applications, OpenBase no longer example database, Tools (EOModeler, WebObjects Builder, Rule editor) :*Combined Component Template Parser that reduces .wo components to single .html files :*Generation of XHTML compliant pages :*AJAX request handler for enhanced page caching :*Added support for secure URL generation :*JMX monitoring support :*Entity index management in the model :*Improved the synchronization with the database :*Added support for index generation :*Support for enum in attribute conversion :*Improved support for vendor specific prototypes (EOJDBCOraclePrototype, EOJDBCFrontBasePrototype, etc.) :*Derby support (Embedded database) :*Support for Generics :*WebServices update (Axis 1.4) :*Full support for Apple XML plist (Read and Write) :*Ant build support :*Open Specifications :5.4.1 — February 11, 2008 :*"WebObjects 5.4.1 is an update release for the version of WebObjects included in the Mac OS X Leopard tools. This release fixes several bugs in areas such as web services serialization, deployment tools, and database compatibility, among others. This update can be installed on Mac OS X 10.5 Leopard." :*Fixed bugs in web services serialization, deployment, databases. :5.4.2 — July 11, 2008 :*Addresses WOComponent parser issues :*Includes WebServices data types and API changes :*Includes EOF SQL Generation fixes :*Resolves additional issues :5.4.3 — September 15, 2008 :*EOF Database snapshot not updating :*Webassistant not available for D2W apps :*Exceptions when using WOTextField with formatters :*Duplicate primary keys generated by FrontBase JDBC Adaptor under load :*Additional issue fixes


WOWODC

Since 2007, the community has held an annual conference for WebObjects developers, WOWODC. In 2007 and 2008, the conference was held the weekend before WWDC, and in 2009, the community promoted two conferences: WOWODC West in San Francisco on June 6 and 7, immediately before WWDC, and WOWODC East in Montreal on August 29 and 30. WOWODC 2010 was held in Montreal on August 27, 28 and 29, 2010. WOWODC 2011 was held in Montreal on July 1, 2 and 3 in 2011. WOWODC 2012 was held in Montreal on June 30, July 1 and 2, 2012. WOWODC 2013 was held in Montreal. WOWODC 2014 was held in Montreal (April 12, 13 and 14). WOWODC 2015 was held in Hamburg on April 25, 26 and 27. WOWODC 2016 was held in Montréal on June 24, 25 and 26


Open-source alternatives

Interest in OpenSource alternatives to WebObjects that use the
Objective-C Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was selected by NeXT for its NeXT ...
language grew with WebObjects' move from Objective-C (last version WO 4.5.1) to Java (first version WO 5.0). The two frameworks available are SOPE,SOPE Frameworks for Objective-C
/ref> which has been used as the basis of the OpenGroupware.org groupware server for about eight years, and GNUstepWeb, which is part of the
GNUstep GNUstep is a free software implementation of the Cocoa (formerly OpenStep) Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project. GNUste ...
project. Open-source rewrites of the EOF frameworks also exist (AJRDatabase, GDL2). There are also Java-based alternatives: * Wotonomy is a project, hosted on
SourceForge SourceForge is a web service that offers software consumers a centralized online location to control and manage open-source software projects and research business software. It provides source code repository hosting, bug tracking, mirroring ...
, that implements a clean-room, open-source version of the WebObjects 5.x system. It provides a near-complete implementation of the MVC web-framework, as well as partial implementations of Foundation, Control, and Data layers, and other features. It is sufficiently functional for low-transaction volume, single-source database applications. While the project's structure was re-organized in 2006 around an
Apache Maven Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. The Maven project is hosted by the Apache Software Foundation, where it wa ...
build infrastructure and migrated to the
Subversion Subversion () refers to a process by which the values and principles of a system in place are contradicted or reversed in an attempt to transform the established social order and its structures of power, authority, hierarchy, and social norms ...
revision control In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
system, there has not been any substantial update to the codebase since 2003. * Apache Tapestry has a design and philosophy similar to that of WebObjects. Tapestry is frequently combined with
Apache Cayenne Apache Cayenne is an open source persistence framework licensed under the Apache License, providing object-relational mapping (ORM) and remoting services. Cayenne binds one or more database schemas directly to Java objects, managing atomic commit ...
, a persistence framework inspired by
EOF Eof (also Eoves) was a swineherd who claimed to have seen a vision of the Blessed Virgin Mary, Virgin Mary at Evesham, Worcestershire, Evesham in England, about 701. Eof related this vision to Egwin, Bishop of Worcester, who founded the great Eve ...
. * GETobjects is another framework with an API similar to WebObjects 5.x that is related to SOPE. An attempt to do a
Swift Swift or SWIFT most commonly refers to: * SWIFT, an international organization facilitating transactions between banks ** SWIFT code * Swift (programming language) * Swift (bird), a family of birds It may also refer to: Organizations * SWIFT, ...
version based on SOPE / GETobjects is available as SwiftObjects.SwiftObjects
/ref> The implementation for Swift 4 is limited due to the reflection capabilities of that Swift version.


See also

*
Comparison of application servers This list compares the features and functionality of application servers, grouped by the hosting environment that is offered by that particular application server. BASIC * Run BASIC - An all-in-one BASIC scriptable application server, can auto ...
*
Comparison of web frameworks Two comparisons of web frameworks are available: * Comparison of JavaScript-based web frameworks (front-end) * Comparison of server-side web frameworks This is a comparison of notable web frameworks, software used to build and deploy web applic ...
* UM.SiteMaker


References


External links


WebObjects at Apple Developer
(Archived fro
the original

Official WebObjects Community Website
{{DEFAULTSORT:Webobjects Apple Inc. software Java enterprise platform Web frameworks