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
- "Apache Maven":http://maven.apache.org
- "Apache Felix":http://felix.apache.org
- "OCRopus":http://code.google.com/p/ocropus

