Java Reference
In-Depth Information
B.3.1
OSGi and Jigsaw
OSG
i has had a long relationship with the Java
SE
specification, but the relationship is
slightly uneasy. The first flirtation with incorporating
OSG
i into Java
SE
goes all the
way back to 1999, with
JSR
-8. This
JSR
was withdrawn and never made it into the Java
specification.
OSG
i continued to gain popularity as an independent add-on to Java
until the subject of Java modularity was re-introduced with
JSR
-277, “Java Module Sys-
tem.”
JSR
-277 was followed by two more
JSR
s,
JSR
-291, “Dynamic Component Support
for Java
SE
,” and
JSR
-291, “Improved Modularity Support in the Java Programming
Language.”
JSR
-291 is based on the
OSG
i specification, and provides modularity as a
layer that sits on top of core Java.
JSR
-277 and
JSR
-294, together known as Jigsaw, inte-
grate modularity support into the architecture Java
SE
platform. The design of
JSR
-294
and
JSR
-277, and which release the implementation should be targeted for, has been
subject to regular revision. After slipping from Java 7 to Java 8, it's currently slated for
delivery with Java 9. The extent to which these new specifications should borrow ideas
from
OSG
i or interoperate with
OSG
i is controversial. It does seem that neither Java 7's
nor Java 8's baked-in modularity will be sufficient to satisfy the requirements currently
satisfied by
OSG
i, and that
OSG
i won't be made obsolete by Jigsaw in the near future.