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.

Table of Contents
excludeSummary

The OSID View

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

  • osid: a bunch of interfaces an enumerations
  • enumeration: a list of values
  • interface: a bunch of method definitions
  • method: something that is invoked with parameters, returns a value or an error
  • parameter: defines what may be supplied to a method as an argument, can be an interface, enumeration, or a language primitive
  • return: defines what may be returned from a method, if anything, can be an interface, enumeration, or a language primitive
  • language primitive: boolean, byte, cardinal. decimal integer, object. string, timestamp
  • error: an error from a method such as OPERATION_FAILED or ILLEGAL_STATE
  • compliance: a compliance statement for a method - mandatory or optional

Gliffy
size500
nameOSID Schema Model

GliffynameOSID Model

The Java View

  • package: a bunch of interfaces, classes, enums, annotations, and other sub-packages
  • enums: constants and methods
  • interface: a bunch of method definitions
  • class: a pile of attributes that include methods and may implement one or more interfaces
  • object: an instance of a single class
  • method: something that is invoked with parameters, returns a value or throws an exception
  • parameter: defines the type supplied to a method as an argument, can be a class, interface, enum, or a primitive
  • return: defines the type of return value, can be a class, interface, enum, primitive, or void
  • primitive: boolean, byte, char, double, float, int, long, short
  • exception: an event that occurs during the execution of a program that disrupts the normal flow of instructions such as SecurityException or NullPointerException 

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

  • osid: a Java packages and its sub-packages
  • package: a bunch of interfaces and enums
  • enums: constants and methods
  • interface: a bunch of method definitions
  • method: something that is invoked with parameters, returns a value or throws an exception
  • parameter: defines the type supplied to a method as an argument, can be an interface, enum, or a primitive
  • return: defines the type of return value, can be an interface, enum, primitive, or void
  • primitive: boolean, byte, or long
  • exception: an error from a method such as such as OperationFailedException or IllegalStateException 

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.

Gliffy
size300
namePackage Entity Diagram

The Web Services View

  • endpoint: 
  • enums: constants and methods

What's a 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.