Summary

Interfaces, contracts, methods, operations, entities, objects, and tables, oh my! The OSID Specification defines its own language solely in reference to itself. Developers will look at it from the OSID Language Binding perspective. Others will import concepts from what they have worked with in databases, web services, or MVC-based platforms. The result is a mash of terms that matters once in a while.

The OSID Perspective

You can look at the OSID Specification schema for its specification terminology. It defines:

The Java Perspective

The OSID Specification is transformed into the OSID Java Binding. The resulting merge creates the following OSID terminology in Java:

Concepts like classes and objects disappear. Others like parameter and primitive have a narrower connotation than what a Java developer would be accustomed. And the definition of "osid" gets fuzzier.

Terminology Issues

(warning) Attributes & Data Fields

Service entities, such as OsidObjects, are expressed using interfaces.  What is presented to an OSID Consumer is the means for accessing information at that point in time. OSID Providers can provide real time information through its methods.

An OSID Provider may likely employ data objects to satisfy the contract of an OsidObject. An OSID Consumer sees this through the window of the interface. The OSID Consumer may do whatever it likes with this information, including referring to them as simple data elements. However it can be an impediment when trying to understand the nature and applications of these interfaces whose implementation may require an underlying OSID Provider rather than a pull from a database table, for example.

(warning) Boundary

(tick) Contract

The term contract is often used in service designs to distinguish an interface from a message structure or DTO. The message structure and DTO are considered data while the contract defines the operations on that data. OSIDs define the contractual agreement between service consumers and service providers. In the OSID world, everything in the specification can be considered a contract. This term doesn't help qualify anything here but is often used to emphasize the nature of the interface.

(error) DTO

A Data Transfer Object is used to transfer bags of data through system layers. However, OSIDs are just piles of method signatures organized in interfaces.  

(warning) Endpoint

(tick) Entity

(error) Message Structure

(warning) Operations

(warning) Relation

(tick) Service

The term "service" doesn't have any formal definition in the OSID Specification. It's tossed around because this is a Service Design Methodology. 

(warning) Standard