blob: c26242b8c24fd7eac694fd9889d68e37b59d0911 [file] [log] [blame]
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter&nbsp;5.&nbsp;What is new?</title><link rel="stylesheet" href="css/html.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.72.0"><link rel="start" href="index.html" title="Eclipse Gemini Blueprint Reference Guide"><link rel="up" href="introduction.html" title="Part&nbsp;I.&nbsp;Introduction"><link rel="prev" href="get-started.html" title="Chapter&nbsp;4.&nbsp;Getting Started"><link rel="next" href="reference.html" title="Part&nbsp;II.&nbsp;Reference Documentation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="what-is-new"></a>Chapter&nbsp;5.&nbsp;What is new?</h2></div></div></div><p>While a relatively young project, each version of Gemini Blueprint (even minor ones) offers new functionality. This chapter is a guide to the new
and improved feature and intended as a high-level, short summary. Please follow the appropriate links for more in-depth information.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/admons/note.png"></td><th align="left">Note</th></tr><tr><td align="left" valign="top">This section includes the updates from Spring Dynamic Modules (Spring DM) project and previous gemini blueprint versions.</td></tr></table></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="dm-2.0.0"></a>5.1.&nbsp;Gemini Blueprint 2.0.0+</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="dm-2.0.0.x:blueprint"></a>5.1.1.&nbsp;OSGi 5.x Blueprint Reference Implementation (RI)</h3></div></div></div><p>Gemini Blueprint served as the basis for the Blueprint Container specification, introduced by OSGi 5 Gemini Blueprint stands as the RI for the
aforementioned specification, providing the Blueprint API and implementation out of the box. Various aspect of Gemini Blueprint have been adjusted for
consistency to the Blueprint specification. For more information on the two models, see <a href="blueprint.html" title="Chapter&nbsp;6.&nbsp;OSGi 4.2 Blueprint Container">Chapter&nbsp;6, <i xmlns:xlink="http://www.w3.org/1999/xlink">OSGi 4.2 Blueprint Container</i></a> for more information.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="dm-2.0.0.x:jdk5"></a>5.1.2.&nbsp;Java 7</h3></div></div></div><p>Gemini Blueprint requires <a xmlns:xlink="http://www.w3.org/1999/xlink" href="https://java.sun.com/j2se/1.7.0/" target="_top">JDK 7</a> to run (or compile). The framework code has been
revised to take advantage of the JDK 7 features.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="dm-2.0.x:spring-3.x"></a>5.1.3.&nbsp;Spring 4.2.x</h3></div></div></div><p>Besides the Java 7 upgrade, Gemini Blueprint requires Spring 4.2.x to get access to the latest framework features and JDK optimizations.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="dm-2.0.x"></a>5.2.&nbsp;Gemini Blueprint 1.x</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="dm-2.0.x:blueprint"></a>5.2.1.&nbsp;OSGi 4.2 Blueprint Reference Implementation (RI)</h3></div></div></div><p>Gemini Blueprint served as the basis for the Blueprint Container specification, introduced by OSGi 4.2. Gemini Blueprint stands as the RI for the
aforementioned specification, providing the Blueprint API and implementation out of the box. Various aspect of Gemini Blueprint have been adjusted for
consistency to the Blueprint specification. For more information on the two models, see <a href="blueprint.html" title="Chapter&nbsp;6.&nbsp;OSGi 4.2 Blueprint Container">Chapter&nbsp;6, <i xmlns:xlink="http://www.w3.org/1999/xlink">OSGi 4.2 Blueprint Container</i></a> for more information.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="dm-2.0.x:jdk5"></a>5.2.2.&nbsp;Java 5</h3></div></div></div><p>Gemini Blueprint requires <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://java.sun.com/j2se/1.5.0/" target="_top">JDK 5</a> to run (or compile). The framework code has been
revised to take advantage of the JDK 5 features such as language improvements, concurrency and generics: for example, various enum-like classes
used by the exporter and importer API have been deprecated and replaced with proper Java 5<code class="classname">enum</code>s.
Considerable effort has been spent to keep the code backwards compatible however, it is recommended to compile the code against the Gemini Blueprint 2.x
code and perform sanity checks before upgrading.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="dm-2.0.x:spring-3.x"></a>5.2.3.&nbsp;Spring 3.x</h3></div></div></div><p>Besides the Java 5 upgrade, Gemini Blueprint requires Spring 3.x to get access to the latest framework features and JDK optimizations.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="dm-2.0.x:imports"></a>5.2.4.&nbsp;Service Importer Improvements</h3></div></div></div><p>Gemini Blueprint provides several improvements for service imports (whether single or collection based) in terms of speed, configuration and
service lifecycle. <a href="service-registry.html#service-registry:refs" title="9.2.&nbsp;Defining References To OSGi Services">Section&nbsp;9.2, &#8220;Defining References To OSGi Services&#8221;</a> provides more details. </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="dm-2.0.x:security"></a>5.2.5.&nbsp;Java 2 Security Integration</h3></div></div></div><p>Continuing the work in Spring DM 1.2.x, Gemini Blueprint executes all user code using its credentials (the managed bundle permissions).
See <a href="appendix-security.html" title="Appendix&nbsp;A.&nbsp;Security Integration">Appendix&nbsp;A, <i xmlns:xlink="http://www.w3.org/1999/xlink">Security Integration</i></a> for more information.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="dm-1.2.x"></a>5.3.&nbsp;Spring DM 1.2.x</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="dm-1.2.x:security"></a>5.3.1.&nbsp;Java 2 Security Integration</h3></div></div></div><p>Since 1.2.x, Spring DM is aware of <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://java.sun.com/javase/technologies/security/#overview" target="_top">secured</a>
environments by making use of dedicated <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://java.sun.com/j2se/1.4.2/docs/guide/security/doprivileged.html" target="_top">privileged blocks</a>
for executing security sensitive code. Thus, Spring DM can run as a <span class="emphasis"><em>trusted</em></span> library without requiring escalated
permissions for its managed bundles. See <a href="appendix-security.html" title="Appendix&nbsp;A.&nbsp;Security Integration">Appendix&nbsp;A, <i xmlns:xlink="http://www.w3.org/1999/xlink">Security Integration</i></a> for more information.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="dm-1.2.x:compendium"></a>5.3.2.&nbsp;Compendium Services Support</h3></div></div></div><p>1.2.x provides integration with the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.osgi.org/javadoc/r4v401/org/osgi/service/cm/package-summary.html" target="_top">Configuration Admin</a>,
part of the OSGi compendium services. <a href="compendium.html" title="Chapter&nbsp;11.&nbsp;Compendium Services">Chapter&nbsp;11, <i xmlns:xlink="http://www.w3.org/1999/xlink">Compendium Services</i></a> provides more details on the topic.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="dm-1.2.x:sym-name-change"></a>5.3.3.&nbsp;Changed Spring DM Symbolic Names</h3></div></div></div><p>Since 1.2.0 M2, the Spring DM bundles symbolic names have been aligned with Spring's 2.5.6+. Thus the prefix
<code class="literal">org.springframework.bundle.osgi</code> has been changed to <code class="literal">org.eclipse.gemini.blueprint</code>; for example
Spring DM extender symbolic name was changed from <code class="literal">org.springframework.bundle.osgi.extender</code> to <code class="literal">org.eclipse.gemini.blueprint.extender</code>
(notice the missing <code class="literal">bundle</code> word). Additionally, the documentation has been updated to reflect Spring 2.5.6+ symbolic names.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="dm-1.2.x:ebr-usage"></a>5.3.4.&nbsp;Usage of SpringSource Enterprise Bundle Repository (EBR)</h3></div></div></div><p>To minimize the number of repositories used and the confusion caused by OSGified vs non-OSGified artifacts especially to users using SpringSource dm Server,
after 1.2.0 RC1, Spring DM aligned as many of its dependencies as possible with SpringSource <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.springsource.com/repository" target="_top">EBR</a>.
In practice this means that Spring framework artifacts, such as <code class="literal">spring-aop.jar</code> can be now found as <code class="literal">org.springframework.aop.jar</code>;
We apologize for any inconvenience created to users relying on these naming conventions.</p></div></div></div><div xmlns:fo="http://www.w3.org/1999/XSL/Format" class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="get-started.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="reference.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;4.&nbsp;Getting Started&nbsp;</td><td width="20%" align="center"><span style="color:white;font-size:90%;"><a href="http://www.SpringSource.com/" title="SpringSource - Spring from the Source">Sponsored by SpringSource
</a></span></td><td width="40%" align="right" valign="top">&nbsp;Part&nbsp;II.&nbsp;Reference Documentation</td></tr></table></div></body></html>