Nuxeo Runtime 2
recent and future work




                         Bogdan Stefanescu |
Overview
●   What's Nuxeo Runtime?
    ●   Requirements
    ●   Components
    ●   Extensions
●   What's next?
    ●   HK2...
What's Nuxeo Runtime?
●   Nuxeo Runtime is the Nuxeo micro kernel.
●   The foundation of all Nuxeo applications
    ●   Nu...
Nuxeo Runtime - Requirements
●   Nuxeo Runtime was designed to fulfill the
     following requirements:
●   Applications a...
Nuxeo Runtime - Components
●   Modules are implemented as OSGi bundles
●   A module may provide zero or more
    component...
Nuxeo Runtime – Extensions
●   Components may expose multiple extension
    points to let other components extend it
●   C...
Nuxeo Runtime – Deployment
Nuxeo Runtime – Extensibility

                Editors




                Actions



                Views




          ...
What's next?
●   Rewriting Nuxeo Runtime on top of HK2
    ●   HK2 is the micro kernel of GlassFish v3
    ●   HK2 is very...
Nuxeo Runtime - HK2
●   How extension point issue can be solved?
    ●   Already in contact with Sun HK2 developers
    ● ...
Nuxeo Runtime - Future
So, what Nuxeo Runtime 2 will provide?
●   OSGi compatible modules
●   Extension Points declared th...
Nuxeo Runtime – Is that all?
                    ●


                    ●


                    ●


      ●   Hot Deploym...
Thank you!
Upcoming SlideShare
Loading in …5
×

Nuxeo Runtime 2: OSGi, Glassfish support, etc

1,778 views

Published on

Nuxeo Runtime, which enables to deploy Nuxeo’s component-oriented architecture both in server and desktop applications, is evolving alongside the Java EE and OSGi technologies that it leverages. This talk will introduce recent and future works on Nuxeo Runtime: Glassfish support, OSGi support improvement, dependency injection, etc.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,778
On SlideShare
0
From Embeds
0
Number of Embeds
81
Actions
Shares
0
Downloads
61
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Nuxeo Runtime 2: OSGi, Glassfish support, etc

  1. 1. Nuxeo Runtime 2 recent and future work Bogdan Stefanescu |
  2. 2. Overview ● What's Nuxeo Runtime? ● Requirements ● Components ● Extensions ● What's next? ● HK2 adoption ● Dependency injection ● More Annotations ● Hot Deployment ?
  3. 3. What's Nuxeo Runtime? ● Nuxeo Runtime is the Nuxeo micro kernel. ● The foundation of all Nuxeo applications ● Nuxeo EP, Nuxeo RCP, Nuxeo WebEngine, Nuxeo Shell etc. ● Provides a modules subsystem ● OSGI compatible modules (aka bundles) ● Provides a component model ● Inspired from OSGI descriptive components ● Provides an extension point model ● Provides a service model
  4. 4. Nuxeo Runtime - Requirements ● Nuxeo Runtime was designed to fulfill the following requirements: ● Applications are made from components. ● Be able to assemble new applications from specific set of components. ● Be able to add / remove components into an (optionally running) application. ● Be able to deploy and run modules in any OSGi framework. ● Provide an extension mechanism for components.
  5. 5. Nuxeo Runtime - Components ● Modules are implemented as OSGi bundles ● A module may provide zero or more components ● Nuxeo Components are very similar to OSGi components ● Components are described through XML files. ● Components are declared in the module MANIFEST file ● Components provides zero or more services
  6. 6. Nuxeo Runtime – Extensions ● Components may expose multiple extension points to let other components extend it ● Components may contribute any number of extensions to other components ● An Extension Point is an abstract concept ● You can see it as a registry of things ● Extensions are declared using XML ● XML fragments are mapped to real Java Objects and registered against the target extension point
  7. 7. Nuxeo Runtime – Deployment
  8. 8. Nuxeo Runtime – Extensibility Editors Actions Views Serializers MyExtensionPoint
  9. 9. What's next? ● Rewriting Nuxeo Runtime on top of HK2 ● HK2 is the micro kernel of GlassFish v3 ● HK2 is very similar with Nuxeo Runtime ● HK2 cool features: ● Able to run in any OSGi framework ● Provide dependency injection through annotations ● Services are declared using annotations ● HK2 missing features: ● Extension Points are missing from HK2! :-(
  10. 10. Nuxeo Runtime - HK2 ● How extension point issue can be solved? ● Already in contact with Sun HK2 developers ● We will contribute to HK2 an extension point mechanism ● Nuxeo Runtime will be an HK2 module ● That will add an extension points mechanism ● That will preserve compatibility with existing model ● Nuxeo Modules will still be packaged as OSGi bundles
  11. 11. Nuxeo Runtime - Future So, what Nuxeo Runtime 2 will provide? ● OSGi compatible modules ● Extension Points declared through annotations ● Extensions declared as XML fragments ● Services declared through annotations ● Dependency injection through annotations ● No more XML to declare things ● Only pure configuration will be stored as XML ● An HK2 micro kernel
  12. 12. Nuxeo Runtime – Is that all? ● ● ● ● Hot Deployment of Modules?
  13. 13. Thank you!

×