Getting started with OSGi using a 3D OSGi Robot sample application - Christian Baranowski + Jochen Hiller

  • 2,010 views
Uploaded on

OSGi requires additional expertise from Java developers. During the first OSGi Code Camp (OCC) [1] organized by OSGi Users’ Forum Germany [2], we tried to bring OSGi beginners and experts together, to …

OSGi requires additional expertise from Java developers. During the first OSGi Code Camp (OCC) [1] organized by OSGi Users’ Forum Germany [2], we tried to bring OSGi beginners and experts together, to learn the core concepts and ideas behind OSGi. There will be a 2nd OSGi Code Camp held on 1st of October in Berlin extending the idea of a software craftsmanship training for OSGi beginners and experts. The first part of the talk describes the agile method we used to teach OSGi core concepts by developing an OSGi demo application in pair-programming mode. In the second part of the talk we will explain how we intend to advance the code camp approach by providing a running example - a Robot running on OSGi [3]. The core OSGi concepts will be demonstrated and teached through extensions to the prepared sample application, developed by the Code Camp participants. The extensions are developed in pairs with one OSGi expert and a beginner. The final part of the talk shows the running interactive 3D robot demo application, and explains which OSGi concepts we think should be added during the next code camp. [1] http://germany.osgiusers.org/Main/SummerOCC2010 |2] http://germany.osgiusers.org [3] http://code.google.com/a/eclipselabs.org/p/occ2010/

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,010
On Slideshare
0
From Embeds
0
Number of Embeds
17

Actions

Shares
Downloads
71
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Getting started with OSGiusing a 3D OSGi Robot sample applicationChristian Baranowski, SEITENBAU GmbHJochen Hiller, Deutsche Telekom AG, Products & InnovationSeptember 20th 2011 Page 1COPYRIGHT © 2008-2011 OSGi Alliance. All Rights Reserved
  • 2. What is an OSGi Code Camp?Experience from the first Camp Page 4 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved
  • 3. #1 Agile Design• Components• Interaction• “Post-it”-Design Page 6 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 4. #2 Pair Programming• Pair programming• OSGi beginners/ experts Page 7 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 5. #3 Communication• Ad-hoc design of component interaction• Interfaces agreed between pairs• All developers in 1 room!• Loud! Page 8 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 6. #4 Test Driven Development• Focus on OSGi concepts• Too much time for infrastructure setup• No time for testing! Page 9 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 7. #5 Continuous Delivery• Build server available• No one did care• Late integration Page 10 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 8. Summary and Lessons Learnedfrom the first CampWe need…• Development VM• Cool application• List of OSGi concepts to be implemented Page 11 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 9. Live Demo Mars RobotHow to teach OSGi by Example Page 12 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 10. Bundle Context APIand Lifecycle• Simple provisioning Page 13 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 11. Separate Interface (Service API)and Implementation Bundle• Mars robot API and world implementation bundle Page 14 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 12. Whiteboard Pattern• Simulator desktop bundle adding internal frames Page 15 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 13. Extender Patternand Bundle Tracker• Adding static objects to mars world Page 16 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 14. Configuration Admin andMetatype Service• Creating wall and robot instances Page 17 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 15. Event Admin Service• Integration sensor data view and world (event bus) Page 18 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 16. Extending the OSGi Console(OSGi RFC 147 Draft)• Robot commands to move and rotate the robot• Shows how to use OSGi service properties Page 19 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 17. OSGi ConceptsShould be added during the next camp• Simulator by using the Event Admin Service• Robot web control console with the HTTP Service• WAR bundles (RFC66) to build a web console• Remote robot console using OSGi Remote Services• Service handling e.g. adding other object types to the world (balls) • with Service Tracker • using Blueprint components• Offer sensor and robot data by using Monitor Admin Service• Add logging with the Log Service• Preferences Service to persist some user settings (e.g. world size) Page 20 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 18. Conclusion• Mars Robot is a cool application• OSGi concepts can be demonstrated very easily• Robot domain nice for running OSGi example• Extensible in various areasMars robot as a “PetStore” for OSGi applications? Page 21 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 19. OSGi Code Camp Berlin• about 20 participants• VirtualBox VM• Felix, bndtools• Hosted at Telekom Laboratories Page 22 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 20. Discusssion and Q&A Page 23 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  • 21. References• Simbad 3D Robot Simulator http://simbad.sourceforge.net/• Richard S. Hall et. al. OSGi in Action - Creating Modular Applications in Java• Apache Felix: RFC 147 Overview http://felix.apache.org/site/apache-felix-gogo.html• OSGi Code Camp 2010 – Konstanz http://germany.osgiusers.org/Main/SummerOCC2011• OSGi Code Camp 2011 – Berlin• http://germany.osgiusers.org/Main/SummerOCC2010• bndtools http://bndtools.org• Apache Felix Application Demonstration http://felix.apache.org/site/apache-felix-application-demonstration.html Page 24 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved