Let's go through a quick overview of the management console.
If everything went well in the previous steps, then pointing a browser to http://localhost:8080/system/console
should pop up an authentication request.
The authentication mechanism used is a simple one (the default administrator username and password for the Web Console are admin
/ admin)
and it allows for a single user to be set up. Those defaults can be modified by reconfiguring the Web Console (refer to the previous note).
After authentication, the Web Console opens its default page, the bundles listing.
We'll go over a few of those tabs here, just to show you around.
The Bundles tab, which is the default view, shows a listing that groups the functions of the system service. It combines many of the command-line bundle-related operations seen earlier, such as lb, start, stop
, and update
.
Clicking on the bundle name shows the bundle information details page, a combination of information from the bundle manifest and framework bundle instance-related information such as the bundle ID or the bundle location.
Additional operations on the top (and bottom) strip allow filtering for the listing, as well as installing or updating a bundle from a file:
This is the same as using the install
command; it can be used to install bundles that are located on the system such as the JSON bundle (json-20090211-osgi.jar
) that we've repackaged earlier in the chapter.
The Log Service tab integrates with the log reader, if one is installed, and displays the available log entries based on the severity filter criterion on the top-right. It is a graphical version of the log
command.
The page must be reloaded to see new log entries.
The OSGi Repository tab provides a graphical view to the OBR service. The top view lists the currently registered repositories along with operations to refresh and remove each one of them or add new ones.
This part combines the obr:repos
command operations.
The lower portion of the page lists the bundles available in the repositories along with an indication if a version of the bundle is installed.
Those can be filtered using the browse links and the search bar. Here, for example, I've searched for book:
Resource entries can be expanded to show a list of the available versions for a bundle. Each links to a page that displays the details of the version along with the deploy operations. We will use this later in this chapter to install the iPOJO WebConsole Plugins bundle.
The Services tab shows the bundle listing from the perspective of the services they have registered. It also includes (when expanding an entry) the service properties and the bundles that use it.
Here, for example, we find the bookshelf-inventory-impl-mock
bundle providing a service that implements the BookshelfInventory
type that we've installed in Chapter 5, The Book Inventory Bundle, along with the name of the factory (the component) and instance, and get a confirmation that the bookshelf-service
is using it.
Clicking on the bundle name in the right column displays the bundle information details page.
When the right shell service is installed, the Shell tab acts as a user interface for the shell service. This version of the Web Console has not yet been updated to use the Gogo Shell service and therefore shows a Shell Service not available message.
The Gogo Shell replaces the older Shell Service. You can install it if you want to see this tab in action (deploy -s "Apache Felix Shell Service"
). If you do, the result is a web-based command console.
The System Information tab gives access to additional system bundle operations as well as Virtual Machine statistics.
The System Start Level was introduced in Chapter 1, Quick Intro to Felix and OSGi, and used in later chapters. The Default Bundle Start Level is the start level at which a bundle is placed, by default. In this case, it's set at 5, as we've just changed it before installing the Web Console bundle.
The Server Information section allows the stop and restart of the server. And the Java Information provides some statistics on the Java environment and its memory consumption.