ekkes-corner: eclipse | osgi | mdsd | erp

December 13, 2009

dynamic EMF SWT Views (not only) for Business Applications

Filed under: CDO, Eclipse, EclipseCon, Equinox, MDSD, Riena, openArchitectureWare, redview — ekkescorner @ 3:46 pm

…back from the redView – “RoadShow“: Eclipse Democamps in Frankfurt, Vienna (presented by Flo) and Hamburg – also NightSchool at W-JAX and OpenSource Expo in Karlsruhe. This time the Eclipse Democamps were all crowded: the winner was Hamburg with more then 110 attendees.

I like the Eclipse Democamps: see what happens in other projects, always learning something new, interesting discussions… and of course later in the evening meeting friends and drinking some beer. Thanks to all the Organizers, Sponsors and Eclipse Foundation to make these events possible. For me as a self-employed independent Software Architect its an easy way to get in contact with some hundred developers from Eclipse universe living in my country :-)

It was great to demonstrate redView at Democamps and its good to see how many developers are interested to learn more about this project. We’re finishing some final steps to prepare the launch of a first beta of redView this month. Really: otherwise I have to spend a bottle of good redwine to Christian Campo and I would prefer to get one from his wine cellar ;-)

redView Slides with audio available

Some asked me to publish my slides from redView – presentation, but these are “Zen“-like, so I added audio and uploaded as movie at Vimeo -

You can watch the slides here.

The slides are only one part of the redView demonstration: there was always also a “live demo” part. So I created some screencasts:

Screencast: First Steps with redView’s WYSIWYG Designer

Click here to view the Screencast at Vimeo.

A simple example about redView Designer Editor, Outline, Properties and how to change design by Drag-n-drop, Properties or from Outline.

The real power behind redView is the combination with openArchitectureWare (Eclipse Modeling: MWE, Xpand/Xtend, Xtext) if you generate your redView Views. Together with Eclipse Runtime (Equinox, Riena) you can even generate a complete Riena RCP Application with UI and Navigation. With redView Eclipse Modeling meets Eclipse Runtime: its a perfect association.

Screencast: Live-Pushing of Design-Changes into running RCP Applications (using CDO)

Click here to view the screencast at Vimeo.

In this screencasts there are two (generated) Riena RCP Applications running: one under OSX, the other one under Linux Ubuntu. Then inside the IDE the UI Designer makes some changes and these are pushed live into the running RCP Applications. This can be very useful while testing new Views together with the business departments. Thanks to CDO the EMF SWT Views are stored on a server anywhere so all can be done a distributed way.

Screencast: redView’s Visibility Processor

Click here to view the screencast at Vimeo.

redView provides Visibility Processor, Visibility Desriptors and Visibility Conflict resolver. This is an example with nested Views to design Associations with Superclasses. Imagine a Driver who drives a Vehicle. Vehicle is an abstract class and this could be a Car or a Truck.

In your SWT View you need the fields of Car or Truck displayed inside a Composite. Imagine how much code this would be and see how easy you define it using redView.

redView at EclipseCon 2010 – redView and e4

Curious to see what will happen at EclipseCon – there are already some discussions how to get redView under Eclipse Umbrella. redView will also be a perfect addition to e4 – we’ll provide next year redView as a ViewPart for e4 workbench.

If you like redView and want to see more, then please comment and vote for my Submissions at EclipseCon 2010:

Dynamic EMF Views (not only) for OSGI Business Applications

- a short Talk (25 Min)

Modeling meets Runtime: In 2 Hours from your Domain Model to a running RCP Application together with UI Designer

I promise: you leave the session with a running RCP Application, the redView UI – WYSIWYG Designer and Views stored on a CDO Server.

BTW: there are also submissions about PDE + Cool Views from Target Platform and Logging in OSGI Applications ;-)

November 4, 2009

wonderful new world of UI design at eclipse

Filed under: CDO, Eclipse, MDSD, Riena, openArchitectureWare, redview — ekkescorner @ 12:03 am

If you’re following e4 developer list discussions you know that there are some new tools and frameworks to design UI in eclipse. These are great news for all developers of RCP or RAP applications per ex. Sometimes discussions at e4 dev-list sounds like a war between different UI concepts – curious what will find the way into e4.

Here are some interesting concepts of a (model-driven) UI:

Wazaabi 2.0 is a declarative UI framework based on live EMF models. Wazaabi provides a live update using EMF Reflexive Editor if running in the same VM. Please read more at Oliviers Blog.

XWT is a declarative UI framework designed for Eclipse, based on XML. You can get more info also at Yves Yang’s Blog. There’s also a new WYSIWYG editor for XWT, which will become part of VE.

TM – Toolkit Model is an EMF model of the user interface (UI) components. TM provides a Model Editor built on the reflective Ecore editor and supports editing of both Toolkit Model resources and resources containing sample data.

UFacekit is another great Toolkit: UFacekits scope is to develop highlevel API and framework modules to develop applications in a widget-toolkit independent fashion which are small and easy to extend.

If you have to design very complex and difficult SWT UI, then perhaps the only way is to use a UI Designer like Instantiations SWT Designer – the tool with the best UI itself.

From my POV there’s not the one-and-only tool which fits all your needs – it always depends from your project requirements and its good to have a choice.

And its not the end of the story ;-)

redView (Riena EMF Dynamic Views for Business Applications)

The next weeks I’ll tell you the story about redView (RienaEMFDynamic Views for Business Applications): there’ll be screencasts, documentation, and demos (Eclipse Democamps in FrankfurtHamburgVienna, Open Source Expo Karlsruhe, W-JAX Munich).

First time I presented redView was at EclipseCon 2009 and it took much longer then expected to go public as Open Source project. Plug-ins and Sources will be available in november / december 2009 (promised !)

redView’s focus is to provide an easy way for developers of business applications to design UI, share this with customers and use it in RCP applications. redView contains a WYSIWYG editor with Drag’n'Drop and also Properties from Outline, an engine to dynamically render the models, distributed editiing of design changes and live-pushing into running RCP clients using CDO.

redView uses Riena Ridgets to separate UI and Control. redView provides localization of Labels, Enums and more. redView supports and uses Extension Points and Declarative Services. redView can bind to associations of abstract or super classes and embed different nested views depending from data type or even exclude composites depending on a visibility processor/descriptor.

redView can be used for prototyping or in real applications or to get a nice UI for web services. redView’s WYSIWYG editor is something like the “babelfish” between customer-requirements and developer-implementation.

redView can be integrated into a complete modeling workflow using openArchitectureWare (Eclipse Modeling MWE, Xpand, Xtend) and you’re able to generate a complete RCP application with Riena Navigation, LnF and UI from an UML or EMF model.

redView is customizable and supports EMF Model Extensions, so you can have your own Validators, Visibility Descriptors and more.

… and this is only the tip of the iceberg. stay tuned….

September 7, 2009

[osgi logging] part 9 – logging with Riena, redView, oAW (MWE, Xpand, Xtext)

Filed under: Eclipse, LOGBack, OSGI, Riena, SLF4J, openArchitectureWare, redview — ekkescorner @ 7:49 am

This is part 9 of my blogseries about ‘Logging in OSGI Enterprise Applications‘ – you’ll find all parts here.

Following this blog series you should be able to integrate most other projects into your logging environment without any problems.

But as always: sometimes you have to know something more ;-)

Here are only some hints if you’re integrating Riena, redView or if you wanto to log from your oAW workflows.

Logging with Riena

Riena is part of Eclipse Runtime (RT) projects and I’m using different parts of Riena in my OSGI Equinox Enterprise Server and RCP Runtime. (Riena Lnf, Riena UI and Navigation, Riena Remote Services, Riena Object Transactions) If you add Riena to your projects, you can install

  • Riena SDK
  • Riena Examples.

Normaly Riena is only installed into your Target Platform – you should install Riena SDK and Examples normaly only there and not into the IDE.

In my projects I’m using some bundles of Riena also inside the IDE because redView designer Editor has dependencies to Riena – so I have to install Riena SDK (but not the examples !) also into the running Eclipse IDE.

Riena uses Equinox Extended  Log Services, so you have to catch OSGI Log Services if you want to integrate Riena log messages. See Part 6 of this blog series where I described how to start Logging in Runtime Projects and to catch OSGI Log Services using Equinox DS (Declarative Services). Riena also has a special “Developer mode for logging” using a System Property:

-Driena.development=false

You should set it to false if you catch all Log Events by yourself – otherwise there will be unwanted or duplicated log outputs.

If you don’t catch OSGI Log Services, then you can set  riena.development=true and get debug informations to the system.out/err. More about Riena System Properties here.

riena catched log event

Here’s a Log Event…

  • … originally logged from Riena using Equinox Extended OSGI Log Services (because Equinox ExtendedLogService contains a LoggerName: HessianRemoteServicePublisher in this case)
  • the LogEntry was received using a LogListener, which was added by DeclarativeServices Component in bundle org.ekkescorner.logging.starter.runtime (see part 5 of this blog series)
  • the catched LogEntry was logged to Logback using Lilith ClassicMultiplexSocketAppender
  • finally the LogEntry can be viewed using Lilith. (see part 8 of this blog series) Because our LogListener annoteded the Log Entry with SLF4J Marker’s we’re able  to get the producing Bundle Name (org.eclipse.riena.core in this case)

Logging with redView

redView (Riena EMF Dynamic Views for Business Applications) will be published open source this autumn and contains:

  • redView Designer: aWYSIWYG Eclipse Editor to view and design (Riena) SWT Views with an underlying EMF model
  • redView Runtime: dynamic rendered components: SWT Widgets, Riena Ridgets, nebula Widgets

redView is using SLF4J as Logging API and is optimized for a Logback implementation, but of course you can use redView with your choice of Logging Framework – then you only must provide a SLF4J implementation, which is possible using Log4J, Apache commons logging, PAX Logging and more. (see here and here)

If you decide also to use Logback as your SLF4J implementation and you need logging output from redView, then you have to install:

  • … into your ide (only if you need logging from redView’s WYSIWYG editor)
    • logback core bundles
    • logback ide bundles
    • logback dependency bundles
  • … into your target platform
    • logback core bundles
    • logback runtime bundles
    • logback dependency bundles

all bundles will be available to download at the end of this blog series.

Logging with openArchitectureWare (oAW)

oAW is a combination of some other projects from Eclipse Modeling and since Galileo part of Eclipse Release train. oAW means:  MWE (Eclipse Modeling / EMFT), Xpand/Xtend (Eclipse Modeling / M2T)and Xtext (Eclipse Modeling / TMF)

Running an oAW workflow it’s a good idea to use logging, but at the moment you cannot catch all logging messages under one umbrella, because

  • MWE
    • is hard wired to org.apache.commons.logging using Require-Bundle dependency
    • see Bugzilla 284715 to use Import-Package dependency (already fixed in HEAD :-)
  • Xpand and Xtend
    • are also hard wired to org.apache.commons.logging using Require-Bundle dependency
    • see Bugzilla 284714 to use Import-Package dependency (already fixed in HEAD :-)
  • Xtext
    • is hard wired to org.eclipse.xtext.log4j which itself exports the log4j packages
    • see Bugzilla 284716 to use Import-Package dependency

I’ll blog about oAW workflow logging again as soon as these bugs are fixed to demonstrate the correct configuration to get it all under SLF4J / Logback.

you’ll find the overview of this blog series here. stay tuned… part 10 follows…

Next Page »

Blog at WordPress.com.