Difference between revisions of "Edge Server Architecture"
From RifidiWiki
(→Overview) |
|||
Line 2: | Line 2: | ||
=Overview= | =Overview= | ||
==OSGi== | ==OSGi== | ||
+ | OSGi is a dynamic modules system for Java. It provides several pieces of functionality including the following: | ||
+ | # A deployment unit (called a bundle), which is a normal JAR with some extra information in the Manifest. | ||
+ | # A lightweight runtime that allows bundle lifecycle to be controlled. In other words, you can start, stop, and update bundles at runtime. | ||
+ | # Dependencies are explicitly stated in the Manifest either as "bundle dependencies" or "package dependencies". | ||
+ | # Classes are only visible to other bundles if their containing packages have been exposed. This allows developers to hide classes that should be strictly internal. | ||
+ | # The runtime provides a service registry -- a system-wide repository for bundles to provide functionality. | ||
+ | |||
+ | In the edge server, all code is deployed as OSGi bundles. | ||
==Layers== | ==Layers== | ||
===Sensor Abstraction Layer=== | ===Sensor Abstraction Layer=== |
Revision as of 19:18, 23 September 2009
This page describes several aspects of the Rifidi Edge Server Core. It is intended for developers to understand how the core is structured.
Contents
Overview
OSGi
OSGi is a dynamic modules system for Java. It provides several pieces of functionality including the following:
- A deployment unit (called a bundle), which is a normal JAR with some extra information in the Manifest.
- A lightweight runtime that allows bundle lifecycle to be controlled. In other words, you can start, stop, and update bundles at runtime.
- Dependencies are explicitly stated in the Manifest either as "bundle dependencies" or "package dependencies".
- Classes are only visible to other bundles if their containing packages have been exposed. This allows developers to hide classes that should be strictly internal.
- The runtime provides a service registry -- a system-wide repository for bundles to provide functionality.
In the edge server, all code is deployed as OSGi bundles.