Technology Stack

Skip to end of metadata
Go to start of metadata

Technologies

Java

Matterhorn is written for Java Platform, Standard Edition. Please visit the Oracle Developer Network http://www.oracle.com/technetwork/java/javaee/overview/index.html for more information.

JSR 222: Java Architecture for XML Binding (JAXB) 2.0

JAXB uses annotations to marshal Java classes to and from XML Schema. Please visit JSR 222 at JCP for more information.

JSR 311: Java API for RESTful Web Services (JAX-RS)

JAX-RS uses annotations for the development of Web services built according to the Representational State Transfer (REST) architectural style. Please visit JSR 311 at JCP for more information.

Build

Apache Maven

The Matterhorn project is built using Apache Maven, which, by encouraging "convention over configuration," brings order and simplicity to the development process.

Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. 1

The Apache Maven homepage includes The 5 minute test and a Getting Started Tutorial to get you up and running. Sonatype has published an online edition of Maven: The Definitive Guide.

Maven Bundle Plugin

The Matterhorn OSGi bundles (see Apache Felix) are built using the maven-bundle-plugin. Please visit maven-bundle-plugin for more information. We also recommend reading How to build OSGi bundles using Maven Bundle Plugin.

Maven Eclipse Plugin

The Matterhorn project Eclipse IDE files are generated using the maven-eclipse-plugin. Please visit maven-eclipse-plugin for more information.

Runtime

Apache Felix

Matterhorn uses the Apache Felix implementation of the OSGi R4 Service Platform

to define a dynamic service deployment framework that is amenable to remote management... it is ideally suited for any project that is interested in principles of modularity, component-oriented, and/or service-orientation. 2

Dr. Richard S. Hall has published an introduction to OSGi, entitled OSGi R4 Service Platform: Java Modularity and Beyond. The Apache Felix homepage includes an Apache Felix OSGi Tutorial "to illustrate most of the features and functionality offered by the OSGi framework." Neil Bartlett has given a presentation entitled OSGi for Application Developers which we also recommend viewing.

Media Analysis

Matterhorn leverages several media analysis tools to extract meaningful data from video and audio files.

OCRopus

OCRopus(tm) is a state-of-the-art document analysis and OCR system, featuring pluggable layout analysis, pluggable character recognition, statistical natural language modeling, and multi-lingual capabilities. 3

OCRopus is written in C++. Please visit OCRopus for more information.

Sphinx-4

Sphinx-4 is a speech recognition engine written in Java. Please visit Sphinx-4 for more information.

Metadata

Matterhorn leverages several metadata standards to store and retrieve meaningful data about video and audio files.

Dublin Core

Matterhorn marshals and unmarshals static metadata using a subset of the Dublin Core metadata standard. Please visit Dublin Core Metadata Initiative for more information.

MPEG-7    or Multimedia Content Description Interface

Matterhorn marshals and unmarshals time-based metadata using a subset of the MPEG-7    metadata standard. Please visit MPEG-7 for more information.

Architecture

cf. Architecture

References

  1. "Apache Maven":http://maven.apache.org
  2. "Apache Felix":http://felix.apache.org
  3. "OCRopus":http://code.google.com/p/ocropus
Labels:
develop develop Delete
guide guide Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.