OsidSessions
Summary
OsidSessions are accessed from OsidManagers and define a set of service operations in a small functional area.
OsidSessions
An OSID defines many OsidSessions. OsidSessions
- are spun off of OsidManagers
- slice an OSID into small chunks
- provide an easy way to understand what is supported by an OSID Provider
- foster incremental development of an OSID Provider
- represent state associated with an OSID Consumer
Typical Organization
For every entity managed through the OSIDs, the following sessions are defined:
- lookup session: defines methods to retrieve objects by Id, by Type, or other relational criteria
- query session: defines methods to perform simple queries based on its data or other relational criteria
- search session: an advanced form of the query session that manages the search
- admin session: defines methods to create, update, and delete objects
- notification session: defines methods to subscribe to new, updated, or deleted objects
- catalog session: defines methods to examine the mapping of objects into organizational catalogs
- catalog assignment session: defines methods to organize objects into catalogs
- smart catalog session: defines methods to create virtual catalogs from search criteria
Compliance
All OSID methods have a compliance statement to define if an OSID Provider must implement the method or if it is optional. OsidSessions are typically organized such that all of its methods are mandatory, while it is the session access methods in the OsidManager which are optional. This helps avoid the swiss cheese service provider who supports a random set of operations.
For example, it is more likely a provider supports retrieval of things than it supports the ability to make changes. The split between lookup and update more clearly communicates the capabilities of the OSID Provider and allows its implementation to zoom in on the desired functionality.
This also simplifies service layering whereby an OSID Adapter modifies or supplements functionality of an underlying OSID Provider by targeting the area in which the service adapter will do its job.
See Also