Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

Concepts like classes and objects disappear. Others like parameter and primitive have a narrower connotation than what a Java developer would be accustomed.  An OSID Language Binding can hide certain aspects of the OSID Specification that are conceptually relevant because it is an interpretation. Java is pretty close, but can cause some head scratching about why something was done one way or the other.

Terminology Issues

These are a list of terms that often get tossed around. Mixing terminology across frameworks will always cause result in confusion. When a term is in direct conflict with the OSID Specification or its few basic concepts, it's a good idea to lose it and adapt. This . Other terms are kinda similar, but not equal. Level setting can be difficult when trying to learn something by comparing it to something else you already know.

...

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 agreement between service consumers and service providers. In the OSID world, most everything in the specification can be considered a contract,  i.e. "The AgentList is a contract."

(error) DTO (DAO, Bean, Domain Object)

A Data Transfer Object is used to transfer bags of data values. However, OSIDs are interfaces into OSID Providers. OSID Providers may be dynamic and DTOs are static. 

...