As a supplier of an OSGi platform we have since long come to the conclusion not to take a stand in this question, and instead let the user decide which model to use.
In Knopflerfish we supply every OSGi service is three different packages: <bundle>_api => API part only <bundle>_impl => impl. only, no API <bundle>_all => both API and impl. Which model works best is very dependent on what kind of system you are building with the OSGi technology. One small difference we have found in applying the two methods is between in-house closed system, compared to a system in which you install 3rd party bundles, sometimes done by an end user. In the latter case self-contained bundles can sometimes be preferred to reduce dependencies and complexity. On the other hand with a top-class provisioning system you shouldn't have to worry ;-) Regards, Christer -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Jeff McAffer Sent: den 3 juni 2008 14:16 To: 'OSGi Developer Mail List' Subject: RE: [osgi-dev] Put API/SPI/implementation into separate bundles? > I think it is crucial that bundles run out of the box and not require > you to chase other bundles to get it to work. This first level > experience is > quite important. Just doubling the number of bundles because you might > have > to stop a bundle does not like the right trade off to me. > > In the OSGi build, all the implementations care the interfaces they > implement > so they always run out of the box so setup is simplified. It is important to simplify consumption. Agreed. However, personally I don't find this to be a motivating argument here. In our experience writing large OSGi-based systems it is relatively rare that a bundle implementation is self-contained so putting the API with the impl still does not give you just one bundle you can install and run. Instead I would prefer to see people use a comprehensive provisioning mechanism (insert shameless plug for p2) rather than sacrifice architecture or flexibility. This is not to say that putting API with impl is wrong, just that the "out of the box" argument does not work for me. Jeff _______________________________________________ OSGi Developer Mail List osgi-dev@mail.osgi.org https://mail.osgi.org/mailman/listinfo/osgi-dev _______________________________________________ OSGi Developer Mail List osgi-dev@mail.osgi.org https://mail.osgi.org/mailman/listinfo/osgi-dev