Portable Distributed Objects
| Industry | Computer software |
|---|---|
| Headquarters | United States |
| Products | Portable Distributed Objects (PDO), OpenStep, WebObjects |
Portable Distributed Objects (PDO) represents an application programming interface (API) created by NeXT Computer, Inc. to facilitate the development of object-oriented applications capable of remote execution over a network. Constructed atop the OpenStep platform using Objective-C, PDO distinguished itself through its minimalistic architecture and superior performance relative to alternatives such as CORBA.
PDO versions were compatible with Solaris, HP-UX, and all OPENSTEP editions, with intentions to extend support to Digital Unix (OSF/1) following releases for SunOS and Solaris. Licensing fees varied from $2,500 for "small server" environments up to $10,000 for "large server" configurations. A Windows-adapted variant named D'OLE allowed PDO-distributed components to function as native Microsoft OLE objects.
The API exploited Objective-C’s runtime capabilities, specifically its "second chance" method mechanism, where unrecognized method invocations invoked the forwardInvocation method. Instead of generating an error, PDO’s implementation of forwardInvocation redirected these calls to remote systems over the network. This approach enabled transparent remote method invocations—once network configuration was completed, PDO objects could be utilized as if they resided locally, with communication handled seamlessly.
In comparison with CORBA, PDO applications were generally less than one-tenth the size, frequently condensing extensive multi-page CORBA codes into approximately 15 lines. This simplicity represented a significant benefit from a developer's standpoint.
Nevertheless, PDO’s dependence on Objective-C hindered widespread adoption since C++ was more dominant and transitioning to a different language and paradigm imposed substantial costs on many enterprises. As a result, PDO experienced limited commercial penetration, prompting NeXT to redirect efforts toward its WebObjects technology by 1995.
Security issues further diminished PDO’s practicality; the capability to instantiate any object remotely introduced critical vulnerabilities, causing Apple to strongly advise against its deployment.
Outside of OS X, the GNUstep initiative provides an alternative implementation of Distributed Objects founded on analogous concepts.
See also
External links
- PDO History
- Distributed Objects — guide by Apple