© 2002 IBM Corporation
Confidential | Date | Other Information, if necessaryNovember 17, 2010 Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
1
Christian Campo
Eclipse Summit 2010 – Nov 2010
+
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
Riena is…
  Client / Server Apps (Distributed Components)
  Based on OSGi / Equinox
  Built on top of RCP
  „Enterprise ready“
  End-user focused Navigation Concept
  Service Oriented
2
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
Riena in Eclipse 3.x
  RCP Workbench
  RCP Views, Perspectives, SWT, JFace
  Many Singletons i.e. PlatformUI
  Behaviour and look is inherited from Eclipse IDE
  Riena overwrites it (Presentation API) at some places
  Workspace has limitation in its extensibility
3
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
Eclipse RCP (samples of Workbench style)
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
Riena UI is …
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
Riena Navigation Model/Processor
  Tree based Model
  Building blocks are…
  extensions („assemblies“)
  nodeBuilders (java code)
  Multiple instances per building block possible (i.e. multiple
customer records)
  Navigate from any give node in the tree to any other node
using a simple id
  Pass parameter, supply feedback with changelisteners
  Generic NavigationProcessor included to manage the tree
6
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
E4 – Workbench Model
  ECORE Model (based on EMF)
  Contains a Workbench Model based on the Eclipse IDE
  „Live“ Model
  Extensible
  Derive a „Riena Navigation Model“ from the „Eclipse Workbench
Model“
7
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
E4 – Workbench Model
8
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
Riena – Navigation Model derived from e4
9
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0 10
Riena Demo
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
Riena Demo on top of e4
11
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
e4 – dependency injection
  Riena has Dependency Injection for OSGi Services and
Equinox Extensions for more than a year
  Implemented before e4 or JSR 330 was finished
  e4 now implements the JSR 330 standard and uses dependency
injection in many places
  e4 not only injects OSGi Services but Application Services and
other objects (i.e. parent Composite)
  both implementation (NOT surprisingly ) use annotations
12
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
e4 – dependency injection samples
13
Riena
e4
•  method injection
•  filtering & conditions
•  method injection
•  field injection
•  constructor injection
•  universal usable
•  standard JSR 330
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
XWT – declarative UI
14
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
Riena - XWT
  Riena separates View and Controller
  View contains the definition of Widgets, Colors, Fonts, Layout
  Controller contains data binding, event listener, view logic
  The BindingId links the widgets in the view with the Ridget that
the Controller accesses.
  Action: Remove the Java View and replace it with a XWT View.
15
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0 16
Riena XWT Demo
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
Riena - XWT
17
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
Conclusion
  e4 has many components that are interesting for Riena
  some are more stable than others 
  The Riena implementation gets a lot easier on e4 than on 3.x
  We will soon make a Riena build available for everyone to try
out.
  http://www.eclipse.org/riena
  http://wiki.eclipse.org/Riena_Project
  riena-dev@eclipse.org
18

Riena on-e4-ese2010

  • 1.
    © 2002 IBMCorporation Confidential | Date | Other Information, if necessaryNovember 17, 2010 Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0 1 Christian Campo Eclipse Summit 2010 – Nov 2010 +
  • 2.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 Riena is…   Client / Server Apps (Distributed Components)   Based on OSGi / Equinox   Built on top of RCP   „Enterprise ready“   End-user focused Navigation Concept   Service Oriented 2
  • 3.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 Riena in Eclipse 3.x   RCP Workbench   RCP Views, Perspectives, SWT, JFace   Many Singletons i.e. PlatformUI   Behaviour and look is inherited from Eclipse IDE   Riena overwrites it (Presentation API) at some places   Workspace has limitation in its extensibility 3
  • 4.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 Eclipse RCP (samples of Workbench style)
  • 5.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 Riena UI is …
  • 6.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 Riena Navigation Model/Processor   Tree based Model   Building blocks are…   extensions („assemblies“)   nodeBuilders (java code)   Multiple instances per building block possible (i.e. multiple customer records)   Navigate from any give node in the tree to any other node using a simple id   Pass parameter, supply feedback with changelisteners   Generic NavigationProcessor included to manage the tree 6
  • 7.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 E4 – Workbench Model   ECORE Model (based on EMF)   Contains a Workbench Model based on the Eclipse IDE   „Live“ Model   Extensible   Derive a „Riena Navigation Model“ from the „Eclipse Workbench Model“ 7
  • 8.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 E4 – Workbench Model 8
  • 9.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 Riena – Navigation Model derived from e4 9
  • 10.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 10 Riena Demo
  • 11.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 Riena Demo on top of e4 11
  • 12.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 e4 – dependency injection   Riena has Dependency Injection for OSGi Services and Equinox Extensions for more than a year   Implemented before e4 or JSR 330 was finished   e4 now implements the JSR 330 standard and uses dependency injection in many places   e4 not only injects OSGi Services but Application Services and other objects (i.e. parent Composite)   both implementation (NOT surprisingly ) use annotations 12
  • 13.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 e4 – dependency injection samples 13 Riena e4 •  method injection •  filtering & conditions •  method injection •  field injection •  constructor injection •  universal usable •  standard JSR 330
  • 14.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 XWT – declarative UI 14
  • 15.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 Riena - XWT   Riena separates View and Controller   View contains the definition of Widgets, Colors, Fonts, Layout   Controller contains data binding, event listener, view logic   The BindingId links the widgets in the view with the Ridget that the Controller accesses.   Action: Remove the Java View and replace it with a XWT View. 15
  • 16.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 16 Riena XWT Demo
  • 17.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 Riena - XWT 17
  • 18.
    Copyright © 2010compeople AG, Made available under the Eclipse Public License v 1.0 Conclusion   e4 has many components that are interesting for Riena   some are more stable than others    The Riena implementation gets a lot easier on e4 than on 3.x   We will soon make a Riena build available for everyone to try out.   http://www.eclipse.org/riena   http://wiki.eclipse.org/Riena_Project   riena-dev@eclipse.org 18