OSF Reference Architecture

From OSF Wiki
Jump to navigation Jump to search

This section details the official Open Semantic Framework reference architecture.

Screencast Tutorial


The Open Semantic Framework — currently at version 3.x with five years of continuous development — is an integrated software stack that combines external open source components with specific enhancements developed by Structured Dynamics. OSF is a complete foundation to bring semantic technology capabilities to the enterprise.

The basic architecture of the Open Semantic Framework pivots around the OSF Web Services; there are nearly 30 providing a wealth of functionality. Full CRUD under user permissions and security is provided to all digital objects in the stack. This OSF access layer provides a means to access best-of-breed data management and indexing engines through uniform RESTful Web services. These access services: 1) abstract away the complexity of the individual engines, while 2) enabling combined capabilities orchestrated by OSF not available from the engines alone.

This intermediate OSF Web Services layer may be accessed directly via API by interfacing with standard content management systems (CMSs), or by using dedicated connectors and modules to the open source Drupal CMS. These connectors and modules, also part of the standard OSF stack and called OSF for Drupal, natively enable Drupal's existing 10,000 modules and ecosystem of developers and capabilities to work with OSF using familiar Drupal methods.

A general overview and specific layers in the OSF stack are described below.

A Web-oriented Architecture

This diagram shows the detailed architecture for the Open Semantic Framework stack:

Detailed OSF Stack

In this design, OSF is the meat in the sandwich that links a proven content management system, Drupal, with proven semantic technology engines such as Virtuoso, GATE, OWL API 2, Solr, and Memcached. All OSF-specific components are shown in yellow in the diagram. In some cases these are newly developed components; in others, they are wrappers and such surrounding existing third-party open source capabilities. All external third-party capabillities are shown in the colors other than yellow.

The overall philosophy in architecting the OSF stack is to provide a Web-based, scalable framework for integrating data and content from a variety of sources. OSF corresponds to what is known as a Web-oriented architecture. WOA has a number of features:

  • Data is generally exposed (and universally available) as linked data
  • SPARQL endpoints and APIs are generally RESTful in design
  • The overall architecture is modular, with inherent decentralized and distributed aspects
  • All display and visualization aspects are cross-browser ready and capable.

WOA builds on aspects of many of the largest properties on the Web, with proven scalability and extensibility. As used in OSF, these proven Web aspects are enhanced by adhering to open standards from the W3C (World Wide Web Consortium) in the areas of semantic technologies and vocabularies. This standards adherence helps ensure that instances built with the Open Semantic Framework have a high degree of interoperability with other sites and capabilities on the Web.

OSF provides a standardized content storage and management environment that is Web-accessible, scalable and distributed. The content that can be hosted within OSF includes documents (unstructured data), metadata (semi-structured data), conventional database information (structured data) and multimedia metadata. While this content can exist in multiple native formats in the wild, it is converted to a common RDF format that enables the development of common ("canonical") tools and operations to act upon this content.

The OSF design and architecture is explicitly generic. The same set of tools and capabilities used in OSF can be applied to manage and understand information in any domain. What changes from domain to domain are the data structures (the ontologies, schema and entity reference lists) used by OSF. Differences between domains may also determine which components are included or not for a given instantiation.

This category currently contains no pages or media.