Nuxeo WebEngineNuxeo WebEngineEmbedding GlassFish v3Embedding GlassFish v3
Bogdan Stefanescu - [email protected] | http://www.nuxeo.org
Overview
● About Nuxeo● Deployment
● Embedding Glassfish● Why?● How?
● WebEngine● What's WebEngine?● Examples
● What's Next?
Nuxeo
A leading open source software vendor, which develops a complete Enterprise Content Management (ECM) software platform.
● Nuxeo Enterprise Platform – an open source platform to build ECM applications.
● Products based on Nuxeo EP may be deployed in several flavors:● EAR, WAR, RCP or standalone applications.
Nuxeo EP - 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.
Nuxeo EP – Deployment
Embedding GlassFish - Why?
● Why Embedding An Application Server?● Light packaging for enterprise applications.● Leverage JEE features in standalone applications.
● Powerful component model through HK2● HK2 is the foundation for GlassFish v3.● OSGi compatible modules.● Dependency Injection.● Lazy Loading – very fast startup time.
● Very easy to embed.
Embedding GlassFish - How?
WebEngine – What Is?
A framework to build RESTful Web Applications on top of the Nuxeo Platform.
● Features● Built on top of JAX-RS model.● Content Management through Nuxeo Platform● Full Groovy scripting support● Hot Deploy of Web Modules.● Flexible Template Model - based on Freemarker● Embeds GlassFish v3 as an OSGi bundle.
WebEngine – What Is?
● A platform to build any kind of content oriented Web Applications including ● Content oriented Web sites or REST applications.● Rich front ends based on AJAX frameworks like
GWT.
● Powerful Object Model● WebEngine Objects are JAX-RS resources.● Any HTTP request is resolved against an object.● Objects can be manipulated through HTTP
methods: GET, POST, PUT, DELETE, HEAD etc.
Examples – JAX-RS
Examples – Web Module
Examples – Web Object
Examples – Templates
What's next?
● Rewriting Nuxeo micro-kernel on top of HK2.● HK2 fulfills all the requirements as the foundation
for Nuxeo EP. ● HK2 provides dependency injection and other cool
features.
● Contribute to HK2 an extension point mechanism.
● Use GlassFish as the default application server for the Nuxeo EP EAR deployment.
Extension Points
Serializers
Views
Actions
Editors
MyExtensionPoint
Thank you!Thank you!