Leveraging OSGi-based Architecture, GWT,
and Eclipse to build a large ajax-based
applications on top of the Nuxeo Enterprise
Platform
Nuxeo Studio

Roland Benedetti, VP Products & Marketing, Nuxeo
Bogdan Stefanescu, Lead Architect at Nuxeo

2001-03-24




                                                   1
Nuxeo, who are we?
●
    Vendor of an open source software platform in the
    feld of Enterprise Content Management
●
    Love to create great software, fond of modularity,
    started to use OSGi 4 years ago to create server-side
    enterprise software...
●
    10 years old, 500+ customers, 5000+ installations
●
    Sells support & maintenance subscription and added
    value software provided as a service
●
    Dual HQ Paris & Boston, offces in San Francisco
●
    http://www.nuxeo.com

                                                            2
Nuxeo Enterprise Platform
●
    The software we develop is an Open Source ECM
    platform known as Nuxeo Enterprise Platform (EP)
    ●
        A “platform” because you can use Nuxeo EP to
        develop your own customized ECM application
    ●
        We also provide Turn-Key pre-build applications
        based on Nuxeo EP already customized for different
        scopes:
        –   Document Management (DM)
        –   Digital Asset Management (DAM)
        –   Case Management Framework (CMF)
        –   … or simply Content Application Platform (CAP) for
            developers

                                                                 3
4
The Platform approach




                        5
The Problem ...




                  6
… the solution   Is in the Browser




                                     7
In a nutshell
●
    Full-featured confguration & customization
    environment delivered as a Service
●
    Develop Faster: start fast, reuse, focus on your
    model and business logic, not on plumbing
●
    Deploy & Update Easily on your various
    platforms thanks to the Update Center & Nuxeo
    Marketplace
●
    Protect your investment: Forward Compatibility
    Guaranteed! No more upgrades that break your
    customization work.
                                                       8
What is Studio?
●
    A Web User Interface to confgure Nuxeo EP
    ●
        Easy to use Rich Client Interface – based on GWT
    ●
        Made for non technical people
        –   Everyone can confgure Nuxeo EP
    ●
        Generates a bundle containing the confguration
        extensions (a JAR fle)
●
    Hides the complexity and the huge number of
    extension points provided by the platform
●
    Focus on confguring functionality and not on
    how the confguration is done

                                                           9
Some Background - Extension Points
●
    Nuxeo EP is an ECM platform made of hundreds
    of bundles and extension points
●
    Each bundle may defne one or more extension
    points
    ●
        Extension Points provide a way to confgure services
        from outside the host bundle.
●
    Any bundle may contribute new extensions to
    other bundles to confgure them
●
    Extension points are primarily used to confgure
    the application or to install new capabilities
                                                              10
Why Studio?
●
    Extension Points are great but are designed to be
    used by developers
    ●
        Require knowledge of the target service internals
    ●
        To customize a functionality you may need to defne
        tens of extensions
●
    Nuxeo EP already ships as a complete ECM
    product – ready to be used in production
    ●
        In most of cases you only need to confgure it through
        extensions to defne your content model, add your
        business logic or for branding the product
    ●
        This confguration task is usually made by non
        technical people                                        11
Why Studio? – Example
●
    Defning a new document type requires at least 4
    extensions:
    ●
        Defne the document type (behavior, schemas etc.)
    ●
        Contribute XSD schemas used by the document
        type.
    ●
        Attach a life cycle to your document type
    ●
        Confgure document views (e.g. tabs in UI)
●
    Then you need to package your extensions as an
    OSGi bundle


                                                           12
Nuxeo Studio – the Solution
●
    To defne a new content type you need to create
    a new plugin that may contain many XML
    extensions
    ●
        Not diffcult for developers
    ●
        But diffcult for non technical people
●
    Nuxeo Studio is allowing you to focus on the
    feature you want to add and not on how to add it
●
    No need to worry about:
    ●
        How to create a new OSGi bundle
    ●
        How the extension point works and what the format is
                                                               13
Studio Internals - How it works?
●
    Defnes a confguration meta model on top of
    Nuxeo EP extensions
●
    Each confgurable object has its own meta model
●
    Meta models are stored on the fle system in a
    GIT repository
    ●
        Confgurable objects are versioned through GIT
●
    Generates an OSGi bundle containing Nuxeo EP
    extensions at user request
    ●
        The meta model is converted into Nuxeo EP
        extensions (an XML fle)
●
    Just install the generated bundle!                  14
Benefts and Limitations
●
    Create Content Applications without coding
    ●
        Including Branding and Business Logic
    ●
        Anyone can create its ECM application!
    ●
        Install the Studio generated bundle at runtime
●
    Ensure backward compatibility
    ●
        Confguration meta model is maintained by Nuxeo
    ●
        Old Studio Projects will work on new Nuxeo EP
        versions
●
    Limitations - Extensions cannot be reverted
    back to confguration objects
                                                         15
Wanna see it live ?




       DEMO




                      16
Questions?
             Start Hacking ECR:
  https://github.com/nuxeo/org.eclipse.ecr
                Get Involved:
             ECR Proposal Forum

               Read more:
          Eclipse ECR Proposal
    Nuxeo EP Reference Documentation

             Contact me/us:
Bogdan Stefanescu - bstefanescu@nuxeo.com
          http://www.nuxeo.com

                                             17

Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-based applications on top of the Nuxeo Enterprise Platform

  • 1.
    Leveraging OSGi-based Architecture,GWT, and Eclipse to build a large ajax-based applications on top of the Nuxeo Enterprise Platform Nuxeo Studio Roland Benedetti, VP Products & Marketing, Nuxeo Bogdan Stefanescu, Lead Architect at Nuxeo 2001-03-24 1
  • 2.
    Nuxeo, who arewe? ● Vendor of an open source software platform in the feld of Enterprise Content Management ● Love to create great software, fond of modularity, started to use OSGi 4 years ago to create server-side enterprise software... ● 10 years old, 500+ customers, 5000+ installations ● Sells support & maintenance subscription and added value software provided as a service ● Dual HQ Paris & Boston, offces in San Francisco ● http://www.nuxeo.com 2
  • 3.
    Nuxeo Enterprise Platform ● The software we develop is an Open Source ECM platform known as Nuxeo Enterprise Platform (EP) ● A “platform” because you can use Nuxeo EP to develop your own customized ECM application ● We also provide Turn-Key pre-build applications based on Nuxeo EP already customized for different scopes: – Document Management (DM) – Digital Asset Management (DAM) – Case Management Framework (CMF) – … or simply Content Application Platform (CAP) for developers 3
  • 4.
  • 5.
  • 6.
  • 7.
    … the solution Is in the Browser 7
  • 8.
    In a nutshell ● Full-featured confguration & customization environment delivered as a Service ● Develop Faster: start fast, reuse, focus on your model and business logic, not on plumbing ● Deploy & Update Easily on your various platforms thanks to the Update Center & Nuxeo Marketplace ● Protect your investment: Forward Compatibility Guaranteed! No more upgrades that break your customization work. 8
  • 9.
    What is Studio? ● A Web User Interface to confgure Nuxeo EP ● Easy to use Rich Client Interface – based on GWT ● Made for non technical people – Everyone can confgure Nuxeo EP ● Generates a bundle containing the confguration extensions (a JAR fle) ● Hides the complexity and the huge number of extension points provided by the platform ● Focus on confguring functionality and not on how the confguration is done 9
  • 10.
    Some Background -Extension Points ● Nuxeo EP is an ECM platform made of hundreds of bundles and extension points ● Each bundle may defne one or more extension points ● Extension Points provide a way to confgure services from outside the host bundle. ● Any bundle may contribute new extensions to other bundles to confgure them ● Extension points are primarily used to confgure the application or to install new capabilities 10
  • 11.
    Why Studio? ● Extension Points are great but are designed to be used by developers ● Require knowledge of the target service internals ● To customize a functionality you may need to defne tens of extensions ● Nuxeo EP already ships as a complete ECM product – ready to be used in production ● In most of cases you only need to confgure it through extensions to defne your content model, add your business logic or for branding the product ● This confguration task is usually made by non technical people 11
  • 12.
    Why Studio? –Example ● Defning a new document type requires at least 4 extensions: ● Defne the document type (behavior, schemas etc.) ● Contribute XSD schemas used by the document type. ● Attach a life cycle to your document type ● Confgure document views (e.g. tabs in UI) ● Then you need to package your extensions as an OSGi bundle 12
  • 13.
    Nuxeo Studio –the Solution ● To defne a new content type you need to create a new plugin that may contain many XML extensions ● Not diffcult for developers ● But diffcult for non technical people ● Nuxeo Studio is allowing you to focus on the feature you want to add and not on how to add it ● No need to worry about: ● How to create a new OSGi bundle ● How the extension point works and what the format is 13
  • 14.
    Studio Internals -How it works? ● Defnes a confguration meta model on top of Nuxeo EP extensions ● Each confgurable object has its own meta model ● Meta models are stored on the fle system in a GIT repository ● Confgurable objects are versioned through GIT ● Generates an OSGi bundle containing Nuxeo EP extensions at user request ● The meta model is converted into Nuxeo EP extensions (an XML fle) ● Just install the generated bundle! 14
  • 15.
    Benefts and Limitations ● Create Content Applications without coding ● Including Branding and Business Logic ● Anyone can create its ECM application! ● Install the Studio generated bundle at runtime ● Ensure backward compatibility ● Confguration meta model is maintained by Nuxeo ● Old Studio Projects will work on new Nuxeo EP versions ● Limitations - Extensions cannot be reverted back to confguration objects 15
  • 16.
    Wanna see itlive ? DEMO 16
  • 17.
    Questions? Start Hacking ECR: https://github.com/nuxeo/org.eclipse.ecr Get Involved: ECR Proposal Forum Read more: Eclipse ECR Proposal Nuxeo EP Reference Documentation Contact me/us: Bogdan Stefanescu - bstefanescu@nuxeo.com http://www.nuxeo.com 17