Java Reference
In-Depth Information
and Mobile Specifications all build on the Core Specification. These three specifica-
tions also have a lot of overlap in terms of their content.
B.2.1
The Core Specification
The Core Specification is the oldest and most important part of OSG i. The Core Spec-
ification defines the API s for interacting with the framework, the structure of an OSG i
bundle, and its manifest metadata. The module layer, lifecycle layer, service layer, and
security layer are all defined by the OSG i core. Without these rules it would be impos-
sible to build anything at all.
The Core Specification also defines a handful of value-added services. For exam-
ple, there's a service that allows bundles to be started conditionally based on a start
level , and a service that allows bundle wirings to be reflectively explored.
Because it's so fundamental, implementing the Core Specification is required for
something to call itself an OSG i framework. It doesn't matter if you're running on a
tiny embedded processor in a car entertainment system or on a gigantic supercom-
puter with terabytes of memory—if it's in there you have to do it to be compliant. As a
result this means the Core Specification tends to change more slowly than some of the
other specifications, and most importantly it has to stay small. New features are only
added when it isn't possible to implement them any other way.
In this topic, when we say that the framework does something, what we mean is
“the OSG i Core Specification requires the framework to do xxx .” This is likely to be the
only interaction your application has with the Core Specification. Although in many
senses the Core Specification is the most important of all the OSG i specifications, it
isn't the main focus of this topic. What we think is exciting is what you can do with the
tools built on top of the Core Specification in the other specifications!
B.2.2
The Compendium Specification
The OSG i programming model is extremely service-oriented. Apart from the core
framework, almost every OSG i feature is defined as a service. The Core Specification
includes some particularly essential services, but there are many more services that
would be useful. A large number of these are defined in the OSG i Service Compen-
dium. The Compendium is an enormous document; at 732 pages, it's almost three
times the size of the Core Specification. It includes services for almost everything,
from preferences, to remote services, to configuration admin, to HTTP communica-
tion, to universal plug-and-play devices. It also includes some extensions to the OSG i
programming model. For example, it includes a standard for Declarative Services, and
an API for tracking services.
Unlike the Core Specification, which lays out a cohesive platform, the Compen-
dium Specification is much more of an amalgamation of bits and pieces. It would be
strange for an implementer to implement only part of the Core Specification, and
there's a Technology Compatibility Kit ( TCK ) that verifies implementations comply
with the entire Core Specification. Most implementations of the Core Specification
Search WWH ::




Custom Search