It contains components that are used from more than one (other) packages. The bottom-line (or a bottom-rule) is: If one wants to run clients, it must be sufficent for him to pack all classes from {@link org.biomoby.client} and from this package only. If one wants to create a registry oriented component, it is enough for him to pack org.biomoby.registry and this package. And similarly for service providers which would pack org.biomoby.service and again this package.

Additionally this is a good place for putting here Java interfaces - assuming that they are expected to be used more generally. The cornerstone piece is the interface {@link org.biomoby.shared.Central} that defines how to access Moby registry without any knowledge of the used transport protocol (SOAP, XML, etc.). This interface uses several container classes representing pieces of the Moby mosaic.

Talking about a mosaic, it looks sometimes confusing what data containers we have here (and in sub-packages). Let's try to briefly explain them: