• There should always be an interface (in Odysseus marked with an I, e.g. IExecutor)
  • There should always be an abstract class (e.g. AbstractExecutor)
  • For many cases we provide default implementations, typically named „Standard“ ... (e.g. StandardExecutor)
  • In MANIFEST.MF use required plugins
    instead of Imported Packages
  • Activation: lazy for bundles with services
  • We often use: Service-Component: OSGI-INF/*
  • à Attention when using eclipse wizzard to
    create new component:
    OSGI-INF/*,OSGI-INF/NewComponent.xml
    will not work
  • Increase version number manually to allow updates via update site (we changed this recently … and due to some eclipse caching things will change this back)


  • If you want to
    • process a set of attribute value of a single input object: Write a new MEP-Function
    • process a set of attribute values of different input objects: Write a new aggregation function
    • do something else: Write a new operator
  • No labels