Eclipse Modeling Framework
and plain OSGi the easy way
Mark Hoffmann
Data In Motion Consulting GmbH
1
About Us
● Founded in 2010
● Located in Jena/Thuringia - Germany
● OSGi Contributing Associate Member
● OSGi / MDSD related company
● Consulting, Independent R&D, Development, Training,
2
What are we talking about?
● EMF Registries
● EMF in Eclipse/Equinox environments
● EMF in Java-SE environments
● Gecko EMF - ResourceSet as a service
● Model Isolation
● No more singletons
3
EMF Registries- What are they for?
● EPackage Registry
● ResourceFactory Registry
● Dynamic model registration
● Static registries for non-OSGi
● Registry based upon Equinox Extension Registry
● ResourceSet needs the registries
4
EMF in Non-OSGi? No Problem!
● Uses static registry
● Self-registering EPackage
● Manual registration of EPackage and ResourceFactory
● Each new ResourceSet knows all models
5
EMF’s home is Equinox
● Equinox OSGi Framework for Eclipse
● Core-Runtime means Equinox
● Extension registry and plugin.xml
● EMF generates Equinox based projects from GenModel
● OSGi mode for compatibility
● For other Frameworks use Equinox Supplement bundle
6
Gecko EMF? Whats that?
● OpenSource project
● Idea of a Service-based EMF
● Handling of OSGi dynamics
● API and default implementation
● Genmodel Code Generator extension - Tooling
● Support for bnd projects
7
Gecko EMF - How it works
● No Equinox dependencies, plain OSGi
● Whiteboard-based OSGi services for model registration
● Additional API for:
○ EPackageRegistry
○ ResourceFactoryRegistry
● ResourceSetFactory to create a ResourceSet
● ResourceSet as a service
● Handling of dynamics when un- / registering models
8
Gecko EMF Features
● Default registry contains all models
● Isolated registry for a configurable filter
● Configurable dynamic configurator for loading ecore-files
● Create service for ResourceSetFactory
● Create service for ResoureSet
● Additional extensions available
9
Showtime
Lets see what Gecko EMF can do for you
10
Thanks for listening!
Resources:
Web: https://www.datainmotion.de
GeckoEMF: https://gitlab.com/gecko.io/geckoEMF
OSGi: https://osgi.org
11
Questions?
12

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data In Motion)

  • 1.
    Eclipse Modeling Framework andplain OSGi the easy way Mark Hoffmann Data In Motion Consulting GmbH 1
  • 2.
    About Us ● Foundedin 2010 ● Located in Jena/Thuringia - Germany ● OSGi Contributing Associate Member ● OSGi / MDSD related company ● Consulting, Independent R&D, Development, Training, 2
  • 3.
    What are wetalking about? ● EMF Registries ● EMF in Eclipse/Equinox environments ● EMF in Java-SE environments ● Gecko EMF - ResourceSet as a service ● Model Isolation ● No more singletons 3
  • 4.
    EMF Registries- Whatare they for? ● EPackage Registry ● ResourceFactory Registry ● Dynamic model registration ● Static registries for non-OSGi ● Registry based upon Equinox Extension Registry ● ResourceSet needs the registries 4
  • 5.
    EMF in Non-OSGi?No Problem! ● Uses static registry ● Self-registering EPackage ● Manual registration of EPackage and ResourceFactory ● Each new ResourceSet knows all models 5
  • 6.
    EMF’s home isEquinox ● Equinox OSGi Framework for Eclipse ● Core-Runtime means Equinox ● Extension registry and plugin.xml ● EMF generates Equinox based projects from GenModel ● OSGi mode for compatibility ● For other Frameworks use Equinox Supplement bundle 6
  • 7.
    Gecko EMF? Whatsthat? ● OpenSource project ● Idea of a Service-based EMF ● Handling of OSGi dynamics ● API and default implementation ● Genmodel Code Generator extension - Tooling ● Support for bnd projects 7
  • 8.
    Gecko EMF -How it works ● No Equinox dependencies, plain OSGi ● Whiteboard-based OSGi services for model registration ● Additional API for: ○ EPackageRegistry ○ ResourceFactoryRegistry ● ResourceSetFactory to create a ResourceSet ● ResourceSet as a service ● Handling of dynamics when un- / registering models 8
  • 9.
    Gecko EMF Features ●Default registry contains all models ● Isolated registry for a configurable filter ● Configurable dynamic configurator for loading ecore-files ● Create service for ResourceSetFactory ● Create service for ResoureSet ● Additional extensions available 9
  • 10.
    Showtime Lets see whatGecko EMF can do for you 10
  • 11.
    Thanks for listening! Resources: Web:https://www.datainmotion.de GeckoEMF: https://gitlab.com/gecko.io/geckoEMF OSGi: https://osgi.org 11
  • 12.