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

1

Nuxeo Studio

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

2001-03-24

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

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

2

Nuxeo, who are we? 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

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

3

Nuxeo Enterprise Platform 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

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

4

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

5

The Platform approach The Platform approach

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

6

The Problem ... The Problem ...

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

7

… the solution … the solution Is in the Browser

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

8

In a nutshell 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.

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

9

What is Studio? 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

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

10

Some Background - Extension Points 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

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

11

Why Studio? 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

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

12

Why Studio? – Example 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

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

13

Nuxeo Studio – the Solution 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

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

14

Studio Internals - How it works? 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!

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

15

Benefts and Limitations 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

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

16

Wanna see it live ?Wanna see it live ?

DEMO

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

17

Questions?Questions?Start Hacking ECR:

https://github.com/nuxeo/org.eclipse.ecrGet Involved:

ECR Proposal Forum

Read more:Eclipse ECR Proposal

Nuxeo EP Reference Documentation

Contact me/us:Bogdan Stefanescu - [email protected]

http://www.nuxeo.com


Top Related