| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" |
| "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"> |
| <chapter id="get-started"> |
| <title>Getting Started</title> |
| |
| <para>Learning a new framework is not always straight forward. In this section, we (the Spring DM/Gemini Blueprint team) |
| tried to provide, what we think is, an easy to follow guide for starting with Gemini Blueprint. |
| Of course, feel free to create your own learning 'path' as you see fit and, if possible, please report back |
| any improvements to the documentation that can help others.</para> |
| |
| <section id="get-started:first-steps"> |
| <title>First Steps</title> |
| |
| <para>As explained in <xref linkend="why-Spring DM"/>, Gemini Blueprint provides integration between |
| Spring framework and OSGi. Thus, it is important to become acquainted with both of these frameworks (libraries or |
| environments depending on how you want to name them). Throughout the Gemini Blueprint documentation, each section provides |
| links to resources relevant however, it is best to become familiar with these topics beforehand.</para> |
| |
| <section id="get-started:first-steps:spring"> |
| <title>Knowing Spring</title> |
| <para>Gemini Blueprint uses heavily Spring framework's <ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/spring-core.html">core</ulink> functionalty, |
| such as the <ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/beans.html">IoC</ulink> container, |
| <ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/resources.html">resource</ulink> abstract or |
| <ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/aop.html">AOP</ulink> infrastructure. While it is not important |
| to know the Spring APIs, understanding the concepts behind them is. At a minimum, the idea behind IoC should be familiar. |
| These being said, the more knowledge one has about the Spring, the faster she will pick Gemini Blueprint. |
| Besides the very comprehensive (and sometimes disarming) documentation that explains in detail the Spring Framework, |
| there are a lot of articles, blog entries and books on the matter - take a look at the Spring framework |
| <ulink url="http://www.springsource.org/documentation">home page</ulink> for more information. In general, this should be the starting point for |
| OSGi (or Eclipse plugin) developers wanting to try Gemini Blueprint.</para> |
| </section> |
| <section id="get-started:first-steps:osgi"> |
| <title>Knowing OSGi</title> |
| <para>Java developers, new to OSGi, can start by reading the OSGi Alliance <ulink url="http://www.osgi.org/About/HowOSGi">introduction</ulink>, |
| the OSGi <ulink url="http://www.osgi.org/Specifications/HomePage">specifications</ulink> or one of the articles/blogs |
| available on the internet (such as the SpringSource <ulink url="http://blog.springsource.com/category/osgi/">blogs</ulink>). |
| Additionally, the Gemini Blueprint home <ulink url="http://www.springframework.org/osgi">page</ulink> hosts various links to useful materials. |
| </para> |
| </section> |
| <section id="get-started:first-steps:blueprint"> |
| <title>Quick start - OSGi 4.2 Blueprint Container</title> |
| <para>As an alternative to the recommended Spring documentation, if OSGi 4.2 is an option, one can read the Blueprint Container specification |
| for a quick introduction to dependency injection and Gemini Blueprint functionality. Note that Blueprint is a subset of Spring and Gemini Blueprint and we recommend |
| the official documentation to get access to the whole set of features. |
| </para> |
| </section> |
| <!-- |
| <section id="get-started:first-steps:samples"> |
| <title>Trying Out The Samples</title> |
| <para>Once one is familiar with the concepts behind Spring and OSGi, she can start reading the Gemini Blueprint reference documentation (this document) and |
| take the Gemini Blueprint samples for a spin. The samples are available either in the .zip distribution or from the Gemini Blueprint repository. |
| The samples are a convenient way to get started quickly with Gemini Blueprint as they show various features of Gemini Blueprint and help one get pass the |
| initial struggles with OSGi. However, they are not meant as the definitive guide in using OSGi rather, they aim to be a launching pad |
| for "newbies" trying out OSGi in Spring. |
| </para> |
| <para>The current distribution contains:</para> |
| <itemizedlist> |
| <listitem> |
| <para>Simple Service Sample</para> |
| <para>A simple example that illustrates OSGi service publication and consumption through Gemini Blueprint. This is a good starting point |
| for users learning the basics.</para> |
| </listitem> |
| <listitem> |
| <para>Weather Sample</para> |
| <para>A demo that shows more advanced features of Gemini Blueprint and OSGi. The application creates a very simple weather information services |
| presenting some best practices in designing an application to take advantage of the modularity offered by OSGi.</para> |
| </listitem> |
| <listitem> |
| <para>Simple Web App Sample</para> |
| <para>As the name implies, this is a simple web application, containing Servlets, JSPs and JSP tags, that runs inside OSGi through Gemini Blueprint.</para> |
| </listitem> |
| <listitem> |
| <para>Web Console Sample</para> |
| <para>A more complicated sample that demos a Spring MVC annotation based, web application that runs inside OSGi through Gemini Blueprint, featuring |
| class path scanning and various Spring taglib. Additionally, the web application interacts with the OSGi environment through the web UI.</para> |
| </listitem> |
| </itemizedlist> |
| <para>Each project contains instructions regarding its content and startup procedure. Users are encouraged to experiment with the samples to get a better |
| understanding of the technologies used.</para> |
| </section> |
| --> |
| </section> |
| |
| <section id="get-started:help"> |
| <title>Need Help?</title> |
| |
| <para>If you encounter issues or you are just looking for an advice, feel free to use one of the links below:</para> |
| |
| <section id="get-started:help:community"> |
| <title>Community Support</title> |
| <para>The Gemini Blueprint <ulink url="http://www.eclipse.org/forums/index.php/f/153/">forum</ulink> |
| (and Spring DM previous <ulink url="http://forum.springframework.org/forumdisplay.php?f=43">forum</ulink>) is a message board for all Gemini Blueprint users to |
| share information and help each other. Note that registration is needed <emphasis>only</emphasis> for posting. |
| </para> |
| </section> |
| <section id="get-started:help:professional"> |
| <title>Professional Support</title> |
| <para>Professional, from-the-source support, with guaranteed response time, is available from <ulink url="http://www.springsource.com">SpringSource</ulink>, |
| the company behind Gemini Blueprint and Spring. |
| </para> |
| </section> |
| </section> |
| |
| <section id="get-started:up-to-date"> |
| <title>Following Development</title> |
| |
| <para>For information on the Gemini Blueprint source code repository, nightly builds and snapshot artifacts please see the Gemini Blueprint home |
| <ulink url="http://www.springsource.org/osgi">page</ulink>. |
| </para> |
| <para>You can help make Gemini Blueprint best serve the needs of the Spring community by interacting with developers through the Spring Community |
| <ulink url="http://forum.springsource.org">forums</ulink>.</para> |
| <para>If you encounter a bug or want to suggest an improvement, |
| please create a ticket on the Gemini Blueprint issue <ulink url="http://jira.springframework.org/">tracker</ulink>.</para> |
| <para>To stay up to date with the latest news and announcements in the Spring eco system, subscribe to the |
| Spring Community <ulink url="http://www.springframework.org/">Portal</ulink>.</para> |
| <para>Lastly, you can follow the SpringSource OSGi <ulink url="http://blog.springsource.com/category/osgi/">blog</ulink> or the project team on Twitter |
| (<ulink url="http://twitter.com/adriancolyer">Adrian</ulink>, <ulink url="http://twitter.com/costinl">Costin</ulink>)</para> |
| </section> |
| |
| </chapter> |