Open Service Interface Definitions
Encyclopedia
Open Service Interface Definitions (OSIDs) are programmatic interface specifications describing services. These interfaces are specified by the Open Knowledge Initiative
Open Knowledge Initiative
The Open Knowledge Initiative is an organization responsible for the specification of software interfaces comprising a Service Oriented Architecture based on high level service definitions.-Description:...

 (O.K.I.) to implement a Service-Oriented Architecture
Service-oriented architecture
In software engineering, a Service-Oriented Architecture is a set of principles and methodologies for designing and developing software in the form of interoperable services. These services are well-defined business functionalities that are built as software components that can be reused for...

 (SOA) to achieve interoperability
Interoperability
Interoperability is a property referring to the ability of diverse systems and organizations to work together . The term is often used in a technical systems engineering sense, or alternatively in a broad sense, taking into account social, political, and organizational factors that impact system to...

 among applications across a varied base of underlying and changing technologies.

To preserve the investment in development
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

, program logic is separated from underlying technologies through the use of software interfaces each of which defines a contract between a service consumer
Consumer
Consumer is a broad label for any individuals or households that use goods generated within the economy. The concept of a consumer occurs in different contexts, so that the usage and significance of the term may vary.-Economics and marketing:...

 and a service provider
Service provider
A service provider is an entity that provides services to other entities. Usually, this refers to a business that provides subscription or web service to other businesses or individuals. Examples of these services include Internet access, Mobile phone operators, and web application hosting...

. This separation is the basis of any valid SOA. While some methods define the service interface boundary at a protocol or server level, OSIDs place the boundary at the application level to effectively insulate the consumer from protocols, server identities, and utility libraries that are in the domain to a service provider resulting in software which is easier to develop, longer lasting, and usable across a wider array of computing environments.

OSIDs assist in software design
Software design
Software design is a process of problem solving and planning for a software solution. After the purpose and specifications of software are determined, software developers will design or employ designers to develop a plan for a solution...

 and development by breaking up the problem space across service interface boundaries. Because network communication issues are addressed within a service provider and below the interface, there isn't an assumption that every service provider implement a remote communications protocol (though many do). OSIDs are also used for communication and coordination among the various components of complex software which provide a means of organizing design and development activities for simplified project management
Project management
Project management is the discipline of planning, organizing, securing, and managing resources to achieve specific goals. A project is a temporary endeavor with a defined beginning and end , undertaken to meet unique goals and objectives, typically to bring about beneficial change or added value...

.

OSID providers (implementations) are often reused across a varied set of applications. Once software is made to understand the interface contract for a service, other compliant implementations may be used in its place. This achieves reusability
Reusability
In computer science and software engineering, reusability is the likelihood a segment of source code that can be used again to add new functionalities with slight or no modification...

 at a high level (a service level) and also serves to easily scale software written for smaller more dedicated purposes.

An OSID provider implementation may be composed of an arbitrary number of other OSID providers. This layering technique is an obvious means of abstraction
Abstraction
Abstraction is a process by which higher concepts are derived from the usage and classification of literal concepts, first principles, or other methods....

. When all the OSID providers implement the same service, this is called an adapter pattern. Adapter patterns are powerful techniques to federate, multiplex, or bridge different services contracting from the same interface without the modification to the application.

Service definitions

  • Agent
    Agent Open Service Interface Definition
    The Agent Open Service Interface Definition is an O.K.I. specification which supports the creation, retrieval and deletion of Agent and Groups...

  • Assessment
    Assessment Open Service Interface Definition
    The Assessment Open Service Interface Definition is an O.K.I. specification which supports creating, organizing, administrating, evaluating, storing and retrieving assessment information...

  • Authentication
    Authentication Open Service Interface Definition
    The Authentication Open Service Interface Definition is an O.K.I. specification which supports invoking an authentication process...

  • Authorization
    Authorization Open Service Interface Definition
    The Authorization Open Service Interface Definition is an O.K.I. specification which provides the means to define who is authorized to do what, when...

  • CourseManagement
    CourseManagement Open Service Interface Definition
    The CourseManagement Open Service Interface Definition is an O.K.I. specification which supports the creation and management of a course catalog...

  • Dictionary
    Dictionary Open Service Interface Definition
    The Dictionary Open Service Interface Definition is an O.K.I. specification which supports creating and populating dictionaries of tag-value pairs...

  • Filing
    Filing Open Service Interface Definition
    The Filing Open Service Interface Definition is an O.K.I. specification.OSIDs are programmatic interfaces which comprise a Service Oriented Architecture for designing and building reusable and interoperable software....

  • Grading
    Grading Open Service Interface Definition
    The Grading Open Service Interface Definition is an Open Knowledge Initiative specification. OSIDs are programmatic interfaces which comprise a Service Oriented Architecture for designing and building reusable and interoperable software....

  • Hierarchy
    Hierarchy Open Service Interface Definition
    The Hierarchy Open Service Interface Definition is an Open Knowledge Initiative specification. OSIDs are programmatic interfaces which comprise a Service Oriented Architecture for designing and building reusable and interoperable software....

  • Logging
    Logging Open Service Interface Definition
    The Logging Open Service Interface Definition is an O.K.I. specification which supports a means of reading and writing log files...

  • Messaging
    Messaging Open Service Interface Definition
    The Messaging Open Service Interface Definition is an O.K.I. specification which provides a means of sending, subscribing and receiving messages...

  • Repository
    Repository Open Service Interface Definition
    -Summary:The Repository Open Service Interface Definition is an O.K.I. specification which defines the storing and retrieving of digital content, referred to as Assets...

  • Scheduling
    Scheduling Open Service Interface Definition
    The Scheduling Open Service Interface Definition is an O.K.I. specification. OSIDs are programmatic interfaces which comprise a Service Oriented Architecture for designing and building reusable and interoperable software....

  • Workflow
    Workflow Open Service Interface Definition
    The Workflow Open Service Interface Definition is an O.K.I. specification which provides the means to define a Process composed of Steps. OSIDs are programmatic interfaces which comprise a Service Oriented Architecture for designing and building reusable and interoperable software.Each Step has...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK