Bndtools 101 - N Bartlett

1,312 views
1,128 views

Published on

Bndtools is the easy, powerful IDE for developing OSGi bundles and applications. Its powerful features include automated semantic versioning, advanced requirement resolution against repositories, and an extremely fast build-run development lifecycle. As a result, Bndtools is rapidly being adopted by OSGi developers, including the OSGi Alliance itself.

However, as with any tool, it can tricky to get started when faced with a completely blank workspace.

In this talk, I will walk through an example of building a simple OSGi-based application from scratch using Bndtools. Along the way I will highlight how Bndtools and OSGi work together to ensure that the application is robust, modular and reusable.

Bio:
Neil Bartlett is a consultant, trainer and developer who has been working with OSGi for nearly 10 years. He is the founder and principal developer of Bndtools, the leading IDE for OSGi. Neil works for Paremus in London.

Published in: Technology, Economy & Finance
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,312
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
56
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Bndtools 101 - N Bartlett

  1. 1. Bndtools 101 Getting Started with OSGi Development
  2. 2. – Many Java Developers “Why Use OSGi?”
  3. 3. OSGi is From the Future • Microservices since 1998 • Continuous delivery since 1999 • Software component repositories since 2003 • Runtime resolve/assemble since 2005 image credit: Sam Howzit (flickr.com/photos/aloha75/)
  4. 4. Why Aren’t We All Using It? • Steep Learning Curve…? • Complexity…? • Weak Tools…?
  5. 5. Famous Dude • “Things should be as simple as possible, but no simpler”
  6. 6. Actually He Said… • “It can scarcely be denied that the supreme goal of all theory is to make the irreducible basic elements as simple and as few as possible without having to surrender the adequate representation of a single datum of experience.”
  7. 7. Inherent vs Accidental Complexity
  8. 8. OSGi Really Is “As Simple as Possible” Holy Sh*t We Needed Better Tools! image credit: Uwe Schwarzbach (flickr.com/photos/uwebkk/)
  9. 9. Bndtools “One tool to bnd them all”
  10. 10. 0. Initial Setup • Create Workspace Config • Setup Repository image credit: Germán Poo-Caamaño (flickr.com/photos/gpoo/)
  11. 11. 1. Define API • Blog • BlogListener • Baseline • Release image credit: Jessica Spengler (flickr.com/photos/wordridden/)
  12. 12. 2. Create Provider • Add blog.api to build path. • Add MongoDB client from JPM.
  13. 13. 3. Run It! • Add blog.provider to Run Requirements • Resolve and Run image credit: Dru Bloomfield (flickr.com/photos/athomeinscottsdale/)
  14. 14. 4. Create Consumer • Add blog.api and servlet 2.5 API to build path • Publish Servlet service • Add service property: alias=/ blog • Add HTTP whiteboard & event admin to Run Requirements image credit: epSos .de (flickr.com/photos/epsos/)
  15. 15. 5. Evolve the API • Add deleteEntry() method to Blog • Fix the baselining errors • Release
  16. 16. 6. Package and Ship It • Export as standalone JAR • Run from bash image credit: Glyn Lowe Photoworks. (flickr.com/photos/glynlowe/)
  17. 17. What Did We Make? Blog Provider Blog Consumer (REST) Jetty HTTP Whiteboard Blog Servlet HttpService
  18. 18. What Did We Make? • A modular, dynamically assembled, type-safe, versioned microservice. • … in 45 minutes (give or take)
  19. 19. Over to You • Bndtools 2.4 M1 Just Released: bndtools.org • Demo Sources: github.com/ bndtools/101 NEW
  20. 20. Thanks! The Bndtools Team, Working Hard(ly)

×