Skip to main content

Thoughts on Software Engineering: Is OSGi going to become the...

Popularity Report

Total Popularity Score: 0

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Rank

Related Lists

Bookmark History

Saved by 3 people (0 private), first by anonymouse user on 2009-01-12


Public Sticky notes

tracking services and managing all the aspects of what to do when services come and go is nasty

Highlighted by kenyth

To be honest - I'd never even think about starting an OSGi project without using Spring DM.

Highlighted by kenyth

OSGi's versioning concept (as a side effect ...) makes a first step of bringing the enforcement of architectural constraints to the developer's daily life by definining export and import packages

Highlighted by kenyth

You typically end up in a situation where you constantly tweak your modules build specifications (that creates your manifest) and spread absolutely counter-intuitive dependencies across your whole system.

Highlighted by kenyth

you cannot go on without a strong and automated integration testing suite that incorporates OSGi (another thing that Spring DM supports).

Highlighted by kenyth

First of all - before considering OSGi I would really check if I have the ultimate requirement to exchange bundles at runtime without shutting down the system

Highlighted by kenyth

I do not want my objects to be bound to a runtime environment such as OSGI - therefore I unit-test my classes with the standard Java runtime environment (and hence with the default class loader).

Highlighted by kenyth

As most of the frameworks, they only work well if used with POJOs solely. Same goes for OSGi,

Highlighted by kenyth

increased overhead of explicitly managing third party library dependencies.

Highlighted by kenyth

Any technology which provides productivity barriers will be resisted

Highlighted by kenyth

modularity is crucial for these huge software systems. Or for example LinkedIn where over 800 bundles provide the functionality for this very cool website.

Highlighted by kenyth

"low-hanging-fruits" of the OSGi mindset:

- Use bundle-scoped micro-services (e.g. by just structuring my software into
bundles and exporting/importing to/from a service registry)
- Give developers what makes life easier for them (e.g. classpath scanning,
automatic startup of bundles if they are on the classpath etc.)
- BUT: Heavily constrain the developer at build-time (like OSGi does - but
e.g. through the use of Classycle or similiar tools)
- BUT: Loosely constrain the developer at runtime (bundles can only get objects
they are intended to get, e.g. through service lookups)
- AND: put all these things into relation with existing best practices (e.g.
Spring DM like IOC, AOP, etc...)

Highlighted by kenyth

ClassLoaders mix two responsabilities:
1) Load the class (and have a chance to instrument it at load-time)
2) Define the visibility on other classes loaded in the JVM (e.g. via ClassLoader hierarchies.

Highlighted by kenyth

Ideally, the concepts of class loading and visibility should be orthogonal. Java should maybe evolve in this direction, by integrating the bundle concept into the JVM for dealing with visibility rules (in a way like .NET assemblies) and let the classloader only deal with class loading.

Highlighted by kenyth