Leveraging OSGi-based Architecture, GWT,and Eclipse to build a large ajax-basedapplications on top of the Nuxeo Enterprise...
Nuxeo, who are we?●    Vendor of an open source software platform in the    feld of Enterprise Content Management●    Love...
Nuxeo Enterprise Platform●    The software we develop is an Open Source ECM    platform known as Nuxeo Enterprise Platform...
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: sta...
What is Studio?●    A Web User Interface to confgure Nuxeo EP    ●        Easy to use Rich Client Interface – based on GWT...
Some Background - Extension Points●    Nuxeo EP is an ECM platform made of hundreds    of bundles and extension points●   ...
Why Studio?●    Extension Points are great but are designed to be    used by developers    ●        Require knowledge of t...
Why Studio? – Example●    Defning a new document type requires at least 4    extensions:    ●        Defne the document ty...
Nuxeo Studio – the Solution●    To defne a new content type you need to create    a new plugin that may contain many XML  ...
Studio Internals - How it works?●    Defnes a confguration meta model on top of    Nuxeo EP extensions●    Each confgurabl...
Benefts and Limitations●    Create Content Applications without coding    ●        Including Branding and Business Logic  ...
Wanna see it live ?       DEMO                      16
Questions?             Start Hacking ECR:  https://github.com/nuxeo/org.eclipse.ecr                Get Involved:          ...
Upcoming SlideShare
Loading in …5
×

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

2,530 views

Published on

In 2010, Nuxeo launched Nuxeo Studio, a hosted software application delivered over the cloud, allowing configuration and customization of applications based on the Open Source Nuxeo Enterprise Platform. This application is a cornerstone of Nuxeo's Customization as a Service strategy.
This talk will take an in-depth look at the making of this large scale ajax-based application and how we industrialized it. The application leverages OSGi and the extension point system, upon which the Nuxeo Enterprise Platform is built, to offer a great customization experience to developers. An Eclipse IDE plugin is currently in development and future plans include Eclipse Orion integration to provide a code and template editor online.

Nuxeo Studio is approximately 100,000 lines of Java code for GWT. GWT expedited the process by providing rich user interface snippets, a relatively painless learning curve, and development tools that integrate with Eclipse such as the Google Eclipse Plugin, which reduced the time for coding and testing cycles. About Bogdan: Bogdan Stefanescu is the lead architect of core runtime and platform technologies at Nuxeo. He has architected the core runtime and service model found in Nuxeo EP, based on OSGi and an extension point model. Current projects cover both server-side and client-side frameworks, from integrating Nuxeo with Virgo to integrating GWT front-ends within modular OSGi-like frameworks or providing Eclipse-based tooling for Nuxeo developers. He enjoys designing highly modular frameworks, RESTful approaches, and still counts CPU cycles when coding.

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,530
On SlideShare
0
From Embeds
0
Number of Embeds
381
Actions
Shares
0
Downloads
44
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

  1. 1. Leveraging OSGi-based Architecture, GWT,and Eclipse to build a large ajax-basedapplications on top of the Nuxeo EnterprisePlatformNuxeo StudioRoland Benedetti, VP Products & Marketing, NuxeoBogdan Stefanescu, Lead Architect at Nuxeo2001-03-24 1
  2. 2. 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
  3. 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. 4. 4
  5. 5. The Platform approach 5
  6. 6. The Problem ... 6
  7. 7. … the solution Is in the Browser 7
  8. 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. 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. 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. 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. 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. 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. 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. 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. 16. Wanna see it live ? DEMO 16
  17. 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

×