Chapter 2. Exploring the CMIS domain model
This chapter covers
- Establishing communications with a CMIS service
- Using the features of a repository
- Navigating the folder hierarchy
- Retrieving a document with its content stream and properties (metadata)
In chapter 1, you received a high-level introduction to CMIS as a specification. Every object that lives in a CMIS repository is an instance of an object type. In this chapter, we’ll explore the basic object types that make up the CMIS domain model as well as some of the key concepts that bind them all together into a useful system. Along the way, you’ll write some Java/Groovy code (using the Workbench that was introduced in chapter 1) to illustrate key concepts.
Although it’s a bit of a cliché, a picture is still worth a thousand words, so we’ll start this chapter with an illustration of the object types we’ll be talking about. Sometimes a clear image in your mind can help you organize related ideas as they arrive. Figure 2.1 shows the interrelationships between all of the high-level object types we’ll cover in this chapter. Ordered from the highest level and progressing downward (left to right in the figure) are the CMIS service, the binding chosen between the service and the CMIS client, repository, folder, and finally, document. Refer back to this diagram as you move through the sections of this chapter to refresh your understanding of their respective roles.