Easy-peasy OSGi Development with Bndtools - Neil Bartlett
Upcoming SlideShare
Loading in...5
×
 

Easy-peasy OSGi Development with Bndtools - Neil Bartlett

on

  • 5,445 views

Developing OSGi bundles is just too hard! That gnarly old manifest; listing all the imported packages (again!); writing all those XML files... who needs that kind of hassle? ...

Developing OSGi bundles is just too hard! That gnarly old manifest; listing all the imported packages (again!); writing all those XML files... who needs that kind of hassle?

My goal when I began development of Bndtools was to change this picture drastically: to make it actually _easier_ to develop and test OSGi applications, composed of high quality reusable bundles, than it is to develop "traditional" non-modular Java applications. Now with the help of a growing community of contributors and brave alpha testers, that vision is beginning to come true.

Bndtools is an Eclipse IDE for OSGi development, based on bnd. In this talk I will demonstrate the features of Bndtools that help to make it fun and easy to build bundles. I will also talk about: Declarative Services with Java annotations; OBR for release management and provisioning; and integration testing strategies.

Statistics

Views

Total Views
5,445
Views on SlideShare
4,795
Embed Views
650

Actions

Likes
1
Downloads
88
Comments
0

3 Embeds 650

http://blogs.paremus.com 644
http://servicefabric.paremus.com 5
http://webcache.googleusercontent.com 1

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Easy-peasy OSGi Development with Bndtools - Neil Bartlett Easy-peasy OSGi Development with Bndtools - Neil Bartlett Presentation Transcript

  • Easy-peasy OSGi Development withBndtoolsNeil BartlettParemus Ltd21 September 2011 OSGi Alliance Marketing © 2008-2010 . All1 PageCOPYRIGHT © 2008-2011 OSGi Alliance. All Rights Reserved Rights Reserved
  • Good News Everyone!Hardly any slides!
  • My Mission• To mercilessly destroy sources of OSGi pain and bafflement.• Make it easy to do the right thing, and hard to do the wrong thing.• Don’t just talk Best Practices... create them.
  • MakeOSGiFun!
  • “OSGi developmentcannot be made [...] easy or productive” – Rod Johnson (emphasis added for comic effect)
  • Bugbear #1• Require-Bundle is evil• Import-Package is a nightmare to maintain
  • But... The Packages are RIGHT THERE!!! package org.example.auction.basic; import org.example.auction.AuctionService; import org.osgi.framework.Constants; import org.osgi.service.event.Event; import org.osgi.service.event.EventAdmin;
  • D.R.Y.
  • Bugbear #2• The rules of versioning are not hard to understand, but...• Managing thousands of versioned packages is impossible• Therefore version only bundles, or ignore versioning entirely
  • Bugbear #2• Managing thousands of versioned packages is impossible... FOR HUMANS• Use the machine!
  • Pure API Bundle api 1.0.0
  • Service Provider api [1.0,1.1) api 1.0.0
  • Service Consumer api
  • Without API Bundleapi [1.0,1.1) api 1.0.0 api
  • With API Bundle api 1.0.1api [1.0,1.1) api 1.0.0 api
  • Oops! api 1.0.1api 1.0.0 api
  • In-Container Testing OSGi Framework Bundles Under Test Auction Event ... Server Admin Test Bundles Test Test ... Bundle 1 Bundle 2 JUnit Runner
  • But I Use Maven!• Maven and Bndtools, sitting in a tree, k.i.s.s.i.n.g.
  • Bndtools: Maven:• Designing Bundles • Build dependencies• Instant Build/Run • Repeatable offline builds• Bundle Analysis • Reports