== caTissue Client API == The client API is a way of extending the caTissue application. Jeff suspects the aim is to achieve more functionality within caTissue with less effort from the official development team.[[BR]] The client API allows you to use caTissue's domain objects (like Participant or Specimen) within another application (the client). All of the domain objects are serializable Java classes. The modus operandi is for the client to create or retrieve one of these and pass back the object to caTissue. The object gets serialized over the network for this to work. Here is some pseudo code of what a client must do to register a new participant, with comments: 1. Locate caTissue application service. 1. Start a session within caTissue. This is just like starting any other interaction. There is the possibility of time out with inactivity. Some degree of housekeeping and authentication is required. 1. Use the application service to retrieve a local copy of the !CollectionProtocol. 1. Create a local copy of the Participant and initialize it according to the !CollectionProtocol requirements. This is quite an involved process requiring detailed knowledge of the caTissue business model. 1. Use the application service to pass the Participant back to caTissue. After this action, the Participant exists in the database. Notes on the above... === The Client and The User === The client API is invoked within an application entirely separate from the caTissue