Java Reference
In-Depth Information
(continued)
You'll therefore have to include all the bundles needed by the application (including
shared code) inside the EBA, which acts as a local repository. On a beefier server this
could be done more elegantly. One other limitation of this development platform is
that it can't define datasources, so you have to build your own datasource bundles.
To avoid complexity in this application, we'll ignore the datasource bundle, but to run
the application it would need to be added. In the real world this wouldn't be necessary.
One more thing to note is that the development stack you're using doesn't enforce
any of the application isolation boundaries. You could add a few more Aries bundles
to enable this, but it isn't necessary for any of the examples covered here. The EBAs
described in the enterprise OSGi 5 specification will include isolation.
4.5.1
Building your metadata
The most important part of the application, from a structural perspective, is the appli-
cation manifest, but if you were happy to have no sharing between your application
and others, then it could be entirely omitted. This sort of application isn't particularly
interesting, but it does give you an excellent way to build up the application, filling in
metadata as you go. Let's start with the most basic metadata—none!
THE ZERO METADATA APPLICATION
If you include no metadata in your application, then you must include the bundles
that make it up inside the EBA . This tells the server that the bundles inside the EBA are
the application content. The current application would look like figure 4.6.
This figure shows how simple an EBA can be; the zip archive fancyfoods.eba con-
tains the six application bundles from chapter 3. No other metadata is required for this
application, which is called fancyfoods , versioned at 0.0.0 , and it runs all six bundles as
fancyfoods.eba
fancyfoods.persistence
fancyfoods.api
fancyfoods.department.chocolate
fancyfoods.business
fancyfoods.department.cheese
fancyfoods.web
Figure 4.6
The minimum-effort EBA contains no metadata, only bundles.
Search WWH ::




Custom Search