Client Interface and Control Layers
The EOInterface and EOControl layers on the client--implemented as the com.apple.client.interface and com.apple.client.control packages--contain classes almost identical (in terms of APIs and behavior) to their counterparts on the server, which are implemented as Yellow Box frameworks. Basically, the EOInterface layer displays, in the user interface, properties of the enterprise objects in the control layer, using display groups and associations. Changes to the object graph are automatically synchronized with the user interface and user-entered data is automatically reflected in the object graph. The primary mechanisms behind this synchronization are display groups (EODisplayGroup) and associations (EOAssociation subclasses). As in the server, the EOControl layer's primary responsibility is the management of the object graph through an EOEditingContext. It also implements faulting (on-demand fetching) and tracks editing changes. The differences between the client and server layers are:-
The client Java classes are written in "100% Pure Java" and do not, as the server classes do, use bridging technology to access Objective-C code.
-
The EOInterface layer on the client is implemented in terms of the Java Foundation Classes (instead of using Application Kit objects).
-
The object store and the data source used by the client EOControl layer are objects in the distribution layer; basically, these objects communicate changes to the object graph across the channel to the server.
-
The client layers include APIs that enable remote invocations of server methods.
-
The EOControl layer on the client does not implement undo or redo.
© 1999 Apple Computer, Inc. (Last Updated 13 Sep 99)