OSGI with Apache Karaf
Introduction Gerald Preissler
Talend Professional Services
Consultant & Architect Talend ESB CXF
Camel
Karaf
ActiveMQ
Talend Open Studio [email_address] Document Identifier
Agenda Why OSGI?
What is Apache Karaf?
How can I develop for Apache Karaf?
What are the advanced features?
What is coming? Document Identifier
Why OSGI? Component-based modularity
SOA in the small
Standard services Document Identifier
Component-based modularity An individual component is a bundle A bundle is a jar file with additional metadata Imports Exports Dependency management is enabled through metadata Imports Exports Bundle lifecycle is controlled by the OSGI container Classloading environments are separated between bundles Multiple bundles can be combined into a feature Feature Document Identifier Bundle Classes & Ressources Metadata Classes & Ressources Metadata
Component-based modularity Metadata is located in MANIFEST.MF Can be created manually Peter Krien's bnd tools and derived utilities provide a convenient way to create it automagically Manifest­Version: 1.0 Bundle­ManifestVersion: 2 Bundle­Version: 2.1.6 Bundle­Name: Talend Logger Bundle­SymbolicName: t_logger Export­Package: org.talend.osgi.logger;version=2.1 Import­Package: org.apache.log4j;version=”[1.2,2)” Private­Package: org.talend.osgi.logger.internal Document Identifier
SOA in the small ● OSGi Service Registry allows a bundle to expose or use  services ● A service is specified by an interface ● A provider  bundle registers an interface implementation Service Registry Bundle Bundle register get listen ● A consumer bundle searches and uses a service Document Identifier B A Interface Impl Interface

More Related Content

PDF
OSGi ecosystems compared on Apache Karaf - Christian Schneider
PDF
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
PDF
ApacheCon EU 2014: Enterprise Development with Apache Karaf
PDF
Apache Aries Overview
PPT
Apache Aries: A blueprint for developing with OSGi and JEE
PPTX
Introduction to-osgi
PDF
CamelOne 2013 Karaf A-MQ Camel CXF Security
PDF
Jahia DX 7.2 : Bye bye felix, hello karaf
OSGi ecosystems compared on Apache Karaf - Christian Schneider
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
ApacheCon EU 2014: Enterprise Development with Apache Karaf
Apache Aries Overview
Apache Aries: A blueprint for developing with OSGi and JEE
Introduction to-osgi
CamelOne 2013 Karaf A-MQ Camel CXF Security
Jahia DX 7.2 : Bye bye felix, hello karaf

What's hot (20)

PPTX
Alfresco devcon 2019: How to track user activities without using the audit fu...
KEY
Apache, osgi and karaf par Guillaume Nodet
PDF
Developing Java based microservices ready for the world of containers
PDF
RESTful web service with JBoss Fuse
PDF
Intro To OSGi
ODP
Using Apache Camel connectors for external connectivity
PDF
Introduction to Apache Camel
PDF
Spring framework 4.x
PDF
Developing Java based microservices ready for the world of containers
PPT
The Web on OSGi: Here's How
PDF
Apache Camel Introduction & What's in the box
PPT
Simplify your integrations with Apache Camel
PPTX
Introduction to Apache Camel
ODP
Developing Microservices with Apache Camel
KEY
Jug Poitou Charentes - Apache, OSGi and Karaf
PDF
Play Framework: async I/O with Java and Scala
PPTX
Java Play RESTful ebean
PDF
Taking Apache Camel For A Ride
PPTX
ApacheCon EU 2016 - Apache Camel the integration library
PDF
JavaCro'14 - Building interactive web applications with Vaadin – Peter Lehto
Alfresco devcon 2019: How to track user activities without using the audit fu...
Apache, osgi and karaf par Guillaume Nodet
Developing Java based microservices ready for the world of containers
RESTful web service with JBoss Fuse
Intro To OSGi
Using Apache Camel connectors for external connectivity
Introduction to Apache Camel
Spring framework 4.x
Developing Java based microservices ready for the world of containers
The Web on OSGi: Here's How
Apache Camel Introduction & What's in the box
Simplify your integrations with Apache Camel
Introduction to Apache Camel
Developing Microservices with Apache Camel
Jug Poitou Charentes - Apache, OSGi and Karaf
Play Framework: async I/O with Java and Scala
Java Play RESTful ebean
Taking Apache Camel For A Ride
ApacheCon EU 2016 - Apache Camel the integration library
JavaCro'14 - Building interactive web applications with Vaadin – Peter Lehto

Similar to W-JAX 2011: OSGi with Apache Karaf (20)

PDF
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
PPT
OSGi & Blueprint
PDF
OSGi toolchain from the ground up - Matteo Rulli
PDF
ApacheCon NA '19 - Apache karaf on cloud, the kloud initiative
PDF
Microservices OSGi-running-with-apache-karaf
PPT
Gert Vanthienen Presentation
PPTX
Apache Karaf in DX 7.2 - Developers Meetup - March 2017
PDF
OSGI in Java EE servers:Sneak peak
PPTX
Intro to OSGi and Eclipse Virgo
PDF
Modular Java applications with OSGi on Apache Karaf
PDF
OSGi as Enterprise Integration Platform
PPTX
Zero Downtime with OSGi - Chicago Coder Conference 05-15-2015
PDF
Develop apps with Camel and GWT on OSGi
PDF
Has code123
KEY
Is OSGi modularity always worth it?
PDF
Intro to OSGi – the Microservices kernel - P Kriens & T Ward
PDF
Jee conf 2015
PPT
OSGi Overview TomTom DevDay May 2009
PDF
Easy-peasy OSGi Development with Bndtools - Neil Bartlett
PDF
OSGi In Anger - Tara Simpson
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi & Blueprint
OSGi toolchain from the ground up - Matteo Rulli
ApacheCon NA '19 - Apache karaf on cloud, the kloud initiative
Microservices OSGi-running-with-apache-karaf
Gert Vanthienen Presentation
Apache Karaf in DX 7.2 - Developers Meetup - March 2017
OSGI in Java EE servers:Sneak peak
Intro to OSGi and Eclipse Virgo
Modular Java applications with OSGi on Apache Karaf
OSGi as Enterprise Integration Platform
Zero Downtime with OSGi - Chicago Coder Conference 05-15-2015
Develop apps with Camel and GWT on OSGi
Has code123
Is OSGi modularity always worth it?
Intro to OSGi – the Microservices kernel - P Kriens & T Ward
Jee conf 2015
OSGi Overview TomTom DevDay May 2009
Easy-peasy OSGi Development with Bndtools - Neil Bartlett
OSGi In Anger - Tara Simpson

Recently uploaded (20)

PDF
The AI Revolution in Customer Service - 2025
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
ment.tech-Siri Delay Opens AI Startup Opportunity in 2025.pdf
PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PPTX
Rise of the Digital Control Grid Zeee Media and Hope and Tivon FTWProject.com
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PDF
Build Real-Time ML Apps with Python, Feast & NoSQL
PDF
Launch a Bumble-Style App with AI Features in 2025.pdf
PPTX
How to Convert Tickets Into Sales Opportunity in Odoo 18
PDF
Identification of potential depression in social media posts
PDF
Advancing precision in air quality forecasting through machine learning integ...
PPTX
Build automations faster and more reliably with UiPath ScreenPlay
PDF
Altius execution marketplace concept.pdf
PDF
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
PPTX
Blending method and technology for hydrogen.pptx
PDF
NewMind AI Journal Monthly Chronicles - August 2025
PPTX
How to use fields_get method in Odoo 18
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PDF
Examining Bias in AI Generated News Content.pdf
The AI Revolution in Customer Service - 2025
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
ment.tech-Siri Delay Opens AI Startup Opportunity in 2025.pdf
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
Rise of the Digital Control Grid Zeee Media and Hope and Tivon FTWProject.com
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
Build Real-Time ML Apps with Python, Feast & NoSQL
Launch a Bumble-Style App with AI Features in 2025.pdf
How to Convert Tickets Into Sales Opportunity in Odoo 18
Identification of potential depression in social media posts
Advancing precision in air quality forecasting through machine learning integ...
Build automations faster and more reliably with UiPath ScreenPlay
Altius execution marketplace concept.pdf
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
Blending method and technology for hydrogen.pptx
NewMind AI Journal Monthly Chronicles - August 2025
How to use fields_get method in Odoo 18
Lung cancer patients survival prediction using outlier detection and optimize...
Examining Bias in AI Generated News Content.pdf

W-JAX 2011: OSGi with Apache Karaf

  • 4. Consultant & Architect Talend ESB CXF
  • 8. Talend Open Studio [email_address] Document Identifier
  • 10. What is Apache Karaf?
  • 11. How can I develop for Apache Karaf?
  • 12. What are the advanced features?
  • 13. What is coming? Document Identifier
  • 15. SOA in the small
  • 17. Component-based modularity An individual component is a bundle A bundle is a jar file with additional metadata Imports Exports Dependency management is enabled through metadata Imports Exports Bundle lifecycle is controlled by the OSGI container Classloading environments are separated between bundles Multiple bundles can be combined into a feature Feature Document Identifier Bundle Classes & Ressources Metadata Classes & Ressources Metadata
  • 18. Component-based modularity Metadata is located in MANIFEST.MF Can be created manually Peter Krien's bnd tools and derived utilities provide a convenient way to create it automagically Manifest­Version: 1.0 Bundle­ManifestVersion: 2 Bundle­Version: 2.1.6 Bundle­Name: Talend Logger Bundle­SymbolicName: t_logger Export­Package: org.talend.osgi.logger;version=2.1 Import­Package: org.apache.log4j;version=”[1.2,2)” Private­Package: org.talend.osgi.logger.internal Document Identifier
  • 19. SOA in the small ● OSGi Service Registry allows a bundle to expose or use services ● A service is specified by an interface ● A provider bundle registers an interface implementation Service Registry Bundle Bundle register get listen ● A consumer bundle searches and uses a service Document Identifier B A Interface Impl Interface
  • 20. Standardized Utility Services Service Description Configuration Admin set and get the configuration information of deployed bundles Logging receives log entries and then dispatches these entries to other bundles Event Admin inter-bundle communication mechanism based on a publish-and-subscribe model User Admin database with user information (private and public) for authentication and authorization purposes ... Source : Wikipedia
  • 21. What is Karaf? - Sits “on top” of an OSGI container - Adds additional functionality via add-on features - Control of container via direct shell, ssh or web console - Provisioning and deployment via filesystem, Maven repository, archive, OBR - Administration and management via JMX - Configuration via filesystem, web console, JMX - Dependency injection with Spring DM or Blueprint Document Identifier OSGI Container Console Provisioning & Deployment Admin Management Configuration Blueprint ….
  • 22. How can I develop for Apache Karaf? Document Identifier
  • 23. Use the standard Maven project structure Organize sources and resources as usual
  • 24. No OSGI-specific configuration required For OSGI-services use Blueprint configuration Use the Maven Bundle plugin to generate your OSGI configuration Document Identifier
  • 25. Deploy locally Container Repository mvn package mvn install bundle:install file:// ... bundle:install mvn: ... Document Identifier
  • 26. Get your dependencies Bundles for 3rd party dependencies are easily available Use a pre-packaged bundle Maven Central
  • 28. SpringSource Enterprise Bundle Repository Wrap an existing JAR file By adding the MANIFEST.MF
  • 29. Using bnd or other tools Document Identifier
  • 30. Use Karaf WebConsole to control your container Provides a remote admin gui with similar capabilities like the local shell View and control bundles and features
  • 31. View and edit bundle configuration
  • 35. Dynamically configure your application Imports Exports Configuration source ConfigAdmin service monitor inject Document Identifier Bundle Classes & Ressources Metadata Container
  • 36. Package your feature for deployment Container mvn package deploy Document Identifier Karaf Archive (KAR)
  • 37. Integrate Karaf with CXF and Camel CXF Provide WebService based applications as OSGi bundles
  • 38. Simple deployment for Camel routes
  • 40. Or use pre-packaged distribution, e.g., Talend ESB Document Identifier Container
  • 41. Advanced features Child instances Provide multiple container instances from one installation Karaf Cellar Clustering for Karaf Karaf Cave (incubation) Better support for OSGi Bundle Repository ... Document Identifier
  • 42. Where to go from here? Karaf homepage karaf.apache.org Blogs Christian Schneider www.liquid-reality.de/ Dan Kulp www.dankulp.com/blog/ Jean-Baptiste Onofre blog.nanthrax.net/ Talend Forum www.talendforge.org/forum/ Document Identifier