Tuesday, September 1, 2009

Eclipse : e4 - the eclipse super force

Its really exciting to witness how eclipse maturing every year and providing wider set of tools.

Eclipse API helped me to build tools for heterogeneous domains from Database, BPM , Rule Engine, Mashup to Service Component Archoitecture.

Now e4 empowers me to satisfy the growing demand from my clients for web-enabled eclipse platforms in the domains of mashup and soa.

e4 in a nutshell not only relieves you from IDE-ness and typical desktop-centric experiences; but at the same time simplifies UI-development (xml model based widget declaration), supports all types of dynamic languages and RIA (no longer just a Java-rich-client) and finally dynamic deployment on clouds !

Huh ! Its so heartening to see the termonology - 'Eclipse Application Services' - in a world turning fast into a Service-only Delivery-channel !

EMF was already REST-compliant and Equinox the perfect OSGi guy !

So what remains is re-organizing eclipse sdk frameworks into well defined RESTful interfaces to make eclipse a set of On-demand offerings !

I hope it will unveil the eclipse super-force and be the strongest weapon in developers armoury.

e4 will provide much-needed upliftment for Eclipse as a common platform for a set of diverse frameworks.

(1) XWT - quickfire design and customization with consistent rendering across platforms and browsers.
So you define your ui-controls (SWT/FLEX/AIR etc.) in ecore model !
e4 will take care of the rest i.e. - Builders will build the controls, bind widgets to layouts and finally javascript-event handlers will be generated to manipulate EMF models (the same way html dom is manipulated in web browser)
Well sounds similar to GWT ! .. but more comforting to hear that we handle EMF model at the end of the day :-)

(2) RIA - css support and seamless integration of java-script i.e. support/integrate applications written in java-scripts by compiling them using e4 API dynamically.
e4 provides a Javascript Framework - a standalone bundle in OSGi instance.
JavaScript bundles communicates thru JSON manifest files ! Huh ! .. I am great a fan of JSON :-) ..

(2) PAAS - what makes e4 so special is its service-oriented programming model based on OSGi. plug-ins can be reused outside a specific nenviromnet (a limitation in current desktop editions).
No more tight-coupling with Platform, WorkBench, IDE, ResourcesPlugin and JavaCore.

In current eclipse architecture, only OSGi Sevice API and Extension Registry API use - 'Sevice Programming Model' - with service locator pattern.

Now in e4 incarnation, what sounds most promising is the SOA implementaion for all types of eclipse frameworks with the full-fledged support for 'Dependency Injection'
- that means - if I am a client of Widget-service, i don't need to be aware of the service producer and service broker. Just simply specifying annotations (injection points) widget-services can be accessed and consumed !

Here is a nice blog to get your hand dirty : http://www.vogella.de/blog/2009/08/12/eclipse-e4/

e4 is going to be the single most important thing in an eclipse dedeloper's life.

Well ! Lets all try out e4 today to unleash the power with eclipse !

Reference :

No comments: