Initially created to aid in the simple maintenance of the OSGi framework and the application during the early development of Apache Sling, the Web Console soon attracted interest from the OSGi community. Three years later, the Apache Felix Web Console 3.0 has just been released and provides an extensible console for Web based management of an OSGi framework. This talk will introduce the functionality of the core Web Console as well as some of its existing plugins and the extension points of the Web Console where developers might want to hook up to. To round it up a simple Web Console plugin will be developed and deployed.
2. 2
About
• Senior Developer at Adobe
• fmeschbe@apache.org
• http://blog.meschberger.ch
• Apache Projects:
– Sling
– Felix
– Jackrabbit
3. 3
Contents
• Problem / Solutions
• History
• Features
• Install
• Use
• Extend
• Questions
4. 4
Problem
• Manage an OSGi Framework
• Remote Access
• Ease of Use
• Extensibility
• Offline Support
5. 5
Solutions
• Text
– Apache Felix Shell
– Apache Felix Gogo
– Knopflerfish Shell
– Equinox Console (built-in)
– OSGi RFC 147 (Command Line Interface)
• GUI
– Apache Felix Web Console
– Knopflerfish Desktop (Swing)
6. 6
Contents
• Problem / Solutions
• History
• Features
• Install
• Use
• Extend
• Questions
7. 7
History
2006/09/17 Initial Commit of a
Web Management Bundle
2007/06/18 First Release
2007/09/10 Incubating Sling
2008/05/16 Move to Apache Felix
2008/05/20 First Apache Felix Release
2010/11/06 Latest Release 3.1.6
20. 20
Plugins
• javax.servlet.Servlet services
• Service Properties
– felix.webconsole.label
– felix.webconsole.title
• Extend AbstractWebConsolePlugin
(optional)
• Navigation, etc. taken care of
25. 25
Interfaces
• ConfigurationPrinter
– Service Name
– Simply print plain text
• ModeAwareConfigurationPrinter
– Extends ConfigurationPrinter
– Selective Output
• AttachmentProvider
– Additional Data for ZIP File
26. 26
Branding
• BrandingPlugin
– Service interface
• DefaultBrandingPlugin
– Default Branding
• Branding Fragment
– /META-INF/webconsole.properties
• Sample
– Sling Web Console Branding Plugin
29. 29
Security Provider
• Default
– Single configurable User
• Karaf
– JAAS based authentication
• Sling
– Authenticates against JCR Repository
– Supports Sling Authentication Setup
30. 30
Translations
• Out-of-the-box
– Bulgarian, English, German, Russian
• Extensible
– Fragment to the Web Console
– Based on Standard Bundle Localization
– OSGI-INF/l10n/bundle*.properties
31. 31
Maven Sling Plugin
• install
– Install a Bundle after a build
– Similar to deploy:deploy
• install-file
– Install a Bundle independent of a build
– Similar to deploy:deploy-file
• uninstall
– Uninstall a Bundle
• See: http://s.apache.org/yo