Pax – Tools für den OSGi Alltag

1,942 views
1,755 views

Published on

OSGi ist im Java Enterprise Bereich angekommen. In immer mehr Projekten möchte man OSGi mit komfortablen Tools "schmerzlos" einführen. PAX Construct und PAX Runner vereinfachen die Entwicklung von OSGi Bundles mit Hilfe von einigen Kommandozeilen-Scripts und Maven. PAX Exam ist ein Ansatz Integrations-Tests in einer laufenden OSGi Plattform durchzuführen und auszuwerten.

Dieser Vortrag bietet Einblick wie man mit PAX Bundles erstellt, ausführt und auch testet. Was PAX ausserdem zu bieten hat lernen sie in einem Überblick über die weiteren Projekte.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,942
On SlideShare
0
From Embeds
0
Number of Embeds
77
Actions
Shares
0
Downloads
15
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Pax – Tools für den OSGi Alltag

  1. 1. PAX – Tools für den OSGi Alltag Patrick Baumgartner – Senior Software Consultant
  2. 2. Agenda <ul><li>Pax Ecosystem </li></ul><ul><li>Pax Construct </li></ul><ul><li>Pax Runner </li></ul><ul><li>Pax Exam </li></ul><ul><li>Pax Web </li></ul>
  3. 3. About me <ul><li>Patrick Baumgartner </li></ul><ul><li>Senior Software Consultant at Swiftmind </li></ul><ul><li>Web development with Spring Framework </li></ul><ul><li>OSGi with Spring DM & Spring Framework </li></ul><ul><li>Agile Software Development </li></ul><ul><li>Co-Author of “OSGi für Praktiker” </li></ul>
  4. 4. Pax Ecosystems <ul><li>Umbrella project for OSGi at OPS4J </li></ul><ul><li>Framework and platform independent </li></ul><ul><li>Tools and service implementations </li></ul>
  5. 5. Pax Ecosystem
  6. 6. Pax Construct <ul><li>Commandline Tool like Roo, Rails, Grails ... </li></ul><ul><li>Maven 2 based </li></ul><ul><li>Archetypes & shell scripts </li></ul><ul><li>Create and manage projects </li></ul>
  7. 7. Pax Construct <ul><li>pax-create-project </li></ul><ul><li>pax-add-repository </li></ul><ul><li>pax-create-bundle </li></ul><ul><li>pax-import-bundle </li></ul><ul><li>pax-embed-jar </li></ul><ul><li>pax-wrap-jar </li></ul><ul><li>pax-provision </li></ul><ul><li>pax-create-module </li></ul><ul><li>pax-move-bundle </li></ul><ul><li>pax-remove-bundle </li></ul><ul><li>pax-update </li></ul><ul><li>pax-clone </li></ul>
  8. 8. Pax Construct – Quick start <ul><li>Download from Maven repo </li></ul><ul><li>Unzip archive </li></ul><ul><li>Add bin folder to system path </li></ul><ul><li>-> You are ready to build the first OSGi project </li></ul>
  9. 9. Demo
  10. 10. Pax Runner <ul><li>Starts all major OSGi platforms </li></ul><ul><li>Provisions required artifacts </li></ul><ul><li>Generates configuration </li></ul><ul><li>Runs target platform in a new JVM </li></ul><ul><li>Runing as a deamon </li></ul>
  11. 11. Pax Runner – Quick start <ul><li>Download pax runner </li></ul><ul><li>Unzip archive </li></ul><ul><li>Add bin folder to system path </li></ul><ul><li>-> Now let's run different OSGi platforms </li></ul>
  12. 12. Demo
  13. 13. Pax Exam <ul><li>Integration test framework </li></ul><ul><li>Real integration tests </li></ul><ul><li>JUnit and Pax runner based </li></ul><ul><li>Configuration </li></ul><ul><ul><li>fluent API </li></ul></ul><ul><ul><li>pom.xml </li></ul></ul>
  14. 14. Pax Web <ul><li>OSGi R4 Http Service </li></ul><ul><li>Web Container (RFC66) </li></ul><ul><li>Based on Jetty 6 </li></ul><ul><li>JSP Support </li></ul><ul><li>WAR Extender </li></ul>
  15. 15. Pax Web – Web Bundles <ul><li>Manifest headers </li></ul><ul><ul><li>Bundle-ManifestVersion:2 </li></ul></ul><ul><ul><li>Bundle-SymbolicName </li></ul></ul><ul><ul><li>Bundle-Version (optional) </li></ul></ul><ul><ul><li>Bundle-Name (optional) </li></ul></ul><ul><ul><li>Webapp-Context </li></ul></ul><ul><ul><li>Bundle-ClassPath </li></ul></ul><ul><ul><li>Import-Package </li></ul></ul><ul><ul><li>Require-Bundle </li></ul></ul>
  16. 16. Pax Web with Pax Constuct <ul><li>Change packaging to war </li></ul><ul><li>Override maven-bundle-plugin </li></ul><ul><li>Add maven-war-plugin </li></ul><ul><li>Use web profile or get dependencies from Maven repository </li></ul>
  17. 17. Pax Web <ul><li>OSGi R4 Http Service </li></ul><ul><li>Web Container (RFC66) </li></ul><ul><li>Based on Jetty 6 </li></ul><ul><li>JSP Support </li></ul><ul><li>WAR Extender </li></ul>
  18. 18. Questions ?
  19. 19. Contact <ul><li>[email_address] </li></ul><ul><li>@patbaumgartner </li></ul><ul><li>http://www.osgi-buch.com </li></ul>
  20. 20. Pictures <ul><li>Agenda - http://www.sxc.hu/photo/1142603 </li></ul><ul><li>OSGi für Praktiker – http://www.hanser.de/buch.asp?isbn=3-446-42094-0 </li></ul><ul><li>Pax Ecosystem - http://www.abcya.com/word_clouds.htm </li></ul><ul><li>Pax Construct - http://wiki.ops4j.org/display/paxconstruct/Pax+Construct </li></ul><ul><li>Pax Web - http://wiki.ops4j.org/display/paxweb/Pax+Web </li></ul><ul><li>Pax Exam - http://wiki.ops4j.org/display/paxexam/Pax+Exam </li></ul><ul><li>Questions - http://www.flickr.com/photos/orsorama/138560428 </li></ul><ul><li>Resources - http://www.sxc.hu/photo/1184809 </li></ul>
  21. 21. Resources <ul><li>http://wiki.ops4j.org/display/ops4j/Pax </li></ul><ul><li>http://pragprog.com/titles/cwosg/modular-java </li></ul><ul><li>http://www.osgi-buch.com </li></ul>

×