Developer Documentation
PATH  WebObjects 4.5 Documentation > EODistribution Reference

Table of Contents

The EODistribution Layer


Framework: System/Library/Frameworks/EOJavaClient.framework
Header File Directories: System/Library/Frameworks/EOJavaClient.framework/Headers

Introduction

The EODistribution layer is used in Java Client applications. It consists of two parts: a Yellow Box framework for the server and a Java package for the client. The EODistribution (or, simply, "distribution") layer performs by-copy object distribution and synchronization. It is responsible for synchronizing the states of the object graphs on the client and on the application server. The distribution layer handles communication over a "channel" (which use transports such as HTTP or CORBA) and moves properties in both directions, that is, as objects are fetched and changes are saved. It encodes and decodes objects as they travel back and forth over the channel.

The classes in the server side of the EODistribution layer are provided by the EOJavaClient framework, and server side APIs are available in both Objective-C and Java (the Java package for the server side APIs is com.apple.yellow.eodistribution). The classes on the client side are implemented in pure Java and live in the com.apple.client.eodistribution package.

The following table summarizes each class in the EODistribution layer:


ClassClientServerDescription
EODistributedDataSourceXFetches data using an EOEditingContext on the client as its source of objects.
EODistributedObjectStoreXHandles interaction with the distribution layer's channel, incorporating knowledge of that channel so it can forward messages it receives from the server to its editing contexts and forward messages from its editing contexts to the server.
EODistributionChannelXAbstract class for distribution channels.
EODistributionContextXEncodes data to send to the client and decodes data it receives from the client; also tracks and communicates any changes on the server object graph to the client.
EOHTTPChannelXImplements a distribution channel using HTTP as the transport.
WOJavaClientAppletXUsed to download and create the applet on the client.

In addition, EOAccessAdditions.h declares Objective-C categories on EOEntity, EOClassDescription, and EOEntityClassDescription. The methods in these categories return client-specific information stored in model files.


Table of Contents