OSGi Tooling Workshop 2012
|
| Time | Session | Speaker |
|---|---|---|
| 09:00 - 09:30 | Welcome and Introduction | Andreas Kraft |
| 09:30 - 11:30 | Focus on Productivity with Bndtools | Neil Bartlett |
| 11:30 - 13:00 | Lunch | |
| 13:00 - 14:00 | OSGi Development Process in Action – GIT, Maven, Pax Tools and Jenkins | Dmytro Pishchukhin |
| 14:00 - 14:30 | Coffee Break | |
| 14:30 - 16:00 | Maven and Eclipse Tycho | Christian Baranowski |
Speaker: Neil Bartlett
Workshop Source Code:
https://github.com/OSGiUsersGermany/Focus-on-Productivity-with-Bndtools
OSGi has a reputation for being complex and difficult. We often counter — with some justification — that the goal of modularity is intrinsically complex, especially when introduced late to a legacy project. Unfortunately, accidental complexity arises, and developing OSGi applications is still not as easy or as productive as we would like.
Nevertheless we firmly believe that developing for OSGi can actually be easier and more productive than traditional Java application development. It is the goal of Bndtools to achieve this. We want to make OSGi fast and fun!
For example: it's just not productive to manually specify imported packages, nor to reason about package versions and import ranges. It's not productive to write fragile XML descriptors by hand. It's not productive to manage lists of bundles needed to get our application working, nor to puzzle over where to find a missing bundle to satisfy some unresolved import. All of these things can and should be handled by tooling.
In this workshop we will build a small services-based application, which will give a flavour of how Bndtools can enhance your productivity as developer while increasing the quality and robustness of your bundles.
Links:
Speaker: Dmytro Pishchukhin
Workshop Source Code:
https://github.com/OSGiUsersGermany/Maven-And-Pax-Tools
The workshop session shows on a running example, how an OSGi development process based on OpenSource tools can work. This process is used by Dmytro successfully in many real-world OSGi projects at KnowHowLab. In the illustrated process the following tools are used and will be shown in the workshop session:
The session gives an overview how a tool chain for an OSGi project might look like.
Links:
Speaker: Christian Baranowski
Workshop Source Code:
https://github.com/OSGiUsersGermany/Maven-and-Eclipse-Tycho
The workshop session shows how to build, test and run an OSGi application with Apache Maven [0]. Apache Maven is one of the most common build tools for Java applications. Therefore, it is often the standard build tool in projects; also when the project should be build as OSGi based application. Maven and OSGi do not really fit together. But with the right Maven plugins and some XML configuration an OSGi build can be done also with Maven.
The workshop shows two approaches, which can be used to build an OSGi application with Maven [5]. First approach is called “Manifest first” in this approach the compile and runtime dependencies are described in the OSGi manifest of the project. The second approach is called “Generate Manifest” the idea is to generate the manifest from the bytecode information of the project.
The manifest first approach is used for the most Eclipse plug-ins builds. Therefore exists in the Eclipse universe a project with the name Eclipse Tycho [1]. The Tycho project provides a Maven integration of the Eclipse Plug-in Development Environment [2]. With Tycho the build and runtime dependencies of project can be defined in the manifest file of a project not in the Maven pom. The workshop shows hands on how to use Maven, Tycho and Eclipse as IDE for developing an OSGi based application. The workshop also shows how to integrate OSGi in-container tests in a Maven Tycho build.
The second part of the workshop shows how to use bnd [3] in a Maven build. Bnd is a tool to generate the manifest based on the bytecode and some configuration instructions. For bnd exists also a maven plugin called maven bundle plugin [4] which is developed in the apache felix project. The workshop session also shows how to use bnd and tycho together in a Maven based build.
In short, the workshop gives an overview how to get an OSGi build running with Maven.
Links:
[0] Apache Maven - http://maven.apache.org
[1] Eclipse Tycho - http://www.eclipse.org/tycho/
[2] Eclipse PDE - http://www.eclipse.org/pde/
[3] bnd - http://www.aqute.biz/Bnd/Bnd
[4] Maven Bundle Plugin - http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html
[5] OSGi Tooling Approaches - http://wiki.osgi.org/wiki/Tooling_Approaches
If you have questions about the workshop please send us an e-mail to workshop-germany@osgiusers.org.
Copyright © 2013 OSGi™ Alliance. Comments about the site? Send them to: OSGi Alliance WebMaster.