Open service interface definition: Difference between revisions

Content deleted Content added
Tjcoppet (talk | contribs)
AnomieBOT (talk | contribs)
m Dating maintenance tags: {{No footnotes}}
 
(37 intermediate revisions by 28 users not shown)
Line 1:
{{no footnotes|date=July 2023}}
[[Image:oki-logo.gif|right]]
 
An '''Openopen Serviceservice Interfaceinterface Definitionsdefinition''' (OSIDs)'''OSID''') areis a programmatic interface specificationsspecification describing servicesa service. These interfaces are specified by the [[Open Knowledge Initiative]] ('''O.K.I.'''OKI) to implement a [[Service Orientedservice-oriented Architecturearchitecture]] (SOA) to achieve [[interoperability]] among applications across a varied base of underlying and changing technologies.
==Description==
 
== Rationale ==
'''Open Service Interface Definitions (OSIDs)''' are programmatic interface specifications describing services. These interfaces are specified by the [[Open Knowledge Initiative]] ('''O.K.I.''') to implement a [[Service Oriented Architecture]] (SOA) to achieve [[interoperability]] among applications across a varied base of underlying and changing technologies.
 
To preserve the investment in developmentsoftware engineering, program logic is separated from underlying technologies through the use of software interfaces each of which defines a contract between a service [[consumer]] and a [[service provider]]. 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 [[Protocol (computing)|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]] 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]].
Line 13:
An OSID provider implementation may be composed of an arbitrary number of other OSID providers. This layering technique is an obvious means of [[abstraction]]. 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 DefinitionsList ==
 
* [[Agent OSID]]
* [[Assessment OSID]]
* [[Authentication OSID]]
* [[Authorization OSID]]
* [[CourseManagement OSID]]
* [[Dictionary OSID]]
* [[Filing OSID]]
* [[Grading OSID]]
* [[Hierarchy OSID]]
* [[Logging OSID]]
* [[Messaging OSID]]
* [[Repository OSID]]
* [[Scheduling OSID]]
* [[Workflow OSID]]
 
==More InformationReferences ==
 
*Baving, T., Cook, D., Green, T. 2005. [http://simba.cs.uct.ac.za/~honsproj/cgi-bin/view/2003/baving_green.zip/baving_green/coursetool/downloads/paper.pdf Baving, T., Cook, D., Green, T. ''Integrating the Educational Enterprise'']. 2003.]
[[Open Knowledge Initiative]]
*Kraan, W. 2005. [http://www.okiproject.org/documents/OKIandIMS-WiresAndSocketsRevisited.pdf Kraan, W. ''O.K.I. and IMS, wires and sockets revisited''].]
*Kahn, J. 2005. [http://www.okiproject.org/library/doc_41.html Kahn, J. ''Screen Shots: Repository OSID Interoperability'']. 2005.]
* [http://www.okiproject.org/filemgmt/visit.php?lid=44 Kumar, V., Merriman, J., Thorne, S. ''Open Knowledge Initiative Final Report''. 2004.]
* Kahn, J. 2005. [http://www.okiproject.org/documentsfilemgmt-data/files/RepositoryDevelopersGuide-Draft01v1.0.pdf Kahn, J. ''Repository Developer's Guide'']. 2006.]
* Kahn, J. 2005. [http://www.okiproject.org/documents/OKIManagingComplexity_rel_1_0.pdf Kahn, J. ''Managing Complexity and Surviving Technology Change'']. 2005.]
 
== External links ==
Current Version 2 [[OSID]] specifications can be downloaded from [http://sourceforge.net/projects/okiproject Sourceforge]. Articles and whitepapers are available from the [http://www.okiproject.org/library O.K.I. library].
 
* {{Official website|http://osid.org}}
==References==
* [https://okapia.atlassian.net/wiki/spaces/OSID/overview OSID wiki]
* [https://web.archive.org/web/20081226161331/http://www.phpoki.org/ PHP OSIDs]
 
{{internet-stub}}
*Baving, T., Cook, D., Green, T. 2005. [http://simba.cs.uct.ac.za/~honsproj/cgi-bin/view/2003/baving_green.zip/baving_green/coursetool/downloads/paper.pdf ''Integrating the Educational Enterprise''].
*Kraan, W. 2005. [http://www.okiproject.org/documents/OKIandIMS-WiresAndSocketsRevisited.pdf ''O.K.I. and IMS, wires and sockets revisited''].
*Kahn, J. 2005. [http://www.okiproject.org/library/doc_41.html ''Screen Shots: Repository OSID Interoperability''].
*Kumar, V., Merriman, J., Thorne, S. 2004. [http://www.okiproject.org/documents/%20%20OKI%20Report%20to%20Mellon.pdf ''Open Knowledge Initiative Final Report''].
* Kahn, J. 2005. [http://www.okiproject.org/documents/RepositoryDevelopersGuide-Draft01.pdf ''Repository Developer's Guide''].
* Coppeto, T. 2005. [http://www.ontapsolutions.com/articles/oki/20050421-oki_impllayering.shtml ''OSID 2.0 Design Patterns: OSID Layering''].
* Kahn, J. 2005. [http://www.okiproject.org/documents/OKIManagingComplexity_rel_1_0.pdf ''Managing Complexity and Surviving Technology Change''].
 
[[Category:Software_architectureSoftware architecture]]
[[Category:Service-oriented (business computing)]]