Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Sirius » Integrating sirius into an RCP application, Best Practices
Integrating sirius into an RCP application, Best Practices [message #1243666] Tue, 11 February 2014 09:22 Go to next message
Philippe EUGENE is currently offline Philippe EUGENE
Messages: 26
Registered: January 2011
Junior Member
Hello,
First, Congratulations. Sirius, and EEF too, are great projects.

I just made a fully classic EMF/GMF application.
Today, my question is : "Could i make the same things (or better), using Sirius (and EEF) ?"

Is there a documented Sirius API to take control of diagrams, tables, trees ?

I just do exercise: " Getting starting with basicFamily", and now what's the next step to integrate it into an RCP application?

After the exercise, I have a design plugin that i can deploy into my Eclipse RCP application, but how to port features of a fully EMF/GMF application to Sirius.

By example :
- Persistence: Howto integrate Sirius with a CDO Server or with a REST api ?
- Edit policy: Actually, i can take control of my GMF diagram using Edit Policies, or GMF extension point.
- IHM: take control of menu. Dont't display Sirius Menu, or Sirius concept : like Point ov View or Representation.
- and so on...

Today, i just make a POC to understand Sirus. The first impresion is very positive.
But there is a gap between a little POC application and a production application. And before invest time in Sirus, i would like to know how this gap is important (compare to a classic EMF/GMF application).

Thanks,
--
Philippe


Re: Integrating sirius into an RCP application, Best Practices [message #1243702 is a reply to message #1243666] Tue, 11 February 2014 10:20 Go to previous messageGo to next message
Pierre-Charles David is currently offline Pierre-Charles David
Messages: 139
Registered: July 2009
Senior Member
Le 11/02/2014 10:23, Philippe EUGENE a écrit :
> Hello,

Hi.

> First, Congratulations. Sirius, and EEF too, are great projects.

Thanks!

> Is there a documented Sirius API to take control of diagrams, tables,
> trees ?

The API is documented using JavaDoc. There is not (yet) a good overview
document about the main APIs but this is planned for 1.0 (or before if
we can, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=426583).

Basically the main entry points you have to be aware are:
* org.eclipse.sirius.business.api.session.Session: the session
essentially "wraps" the EditingDomain and all the resources (domain
model and representations) and provides Sirius-specific services to
manipulate it. See also the related SessionFactory and SessionManager.
* org.eclipse.sirius.business.api.dialect.DialectManager and the related
DialectServices provide APIs to manipulate representations inside a
session (e.g. programmatically create a new diagram).
* org.eclipse.sirius.ui.business.api.dialect.DialectUIManager and the
related DialectUIServices are used to manage (open/close/...) editors on
representations. They work with IEditingSessions, which wrap/extend the
notion of Session with workbench integration (i.e. graphical editors).
See the content of the org.eclipse.sirius.ui.business.api.session
package for these.

Sorry if this is a bit too much unstructured information. We're open to
suggestions (and contributions!) to improve this part of the project.

> I just do exercise: " Getting starting with basicFamily", and now what's
> the next step to integrate it into an RCP application?
>
> After the exercise, I have a design plugin that i can deploy into my
> Eclipse RCP application, but how to port features of a fully EMF/GMF
> application to Sirius.
>
> By example :
> - Persistence: Howto integrate Sirius with a CDO Server or with a REST
> api ?

For CDO integration, there is the (proprietary) Obeo Designer product
which provides this (diclaimer: Obeo is my employer). The next major
version will be based on Sirius but the current one already works fine
with Viewpoint (the previous name of Sirius before it was open sourced
at Eclipse). See http://www.obeodesigner.com/ for more details.

> - Edit policy: Actually, i can take control of my GMF diagram using Edit
> Policies, or GMF extension point.

Sirius provides some specific extensions points on top of the ones
provided by EMF and GMF, but you can still use those and we do our best
to support user-customizations at theses levels. These are extensively
used in existing industrial deployments of the technology with no
particular issue.

> - IHM: take control of menu. Dont't display Sirius Menu, or Sirius
> concept : like Point ov View or Representation. - and so on...

If you mean the context menus on "Modeling Projects" and representation
files, they are provided on projects with the "Modeling" nature and in
the "Model Explorer" view. Both are optional. If you use directly the
APIs mentioned above you can write your own stripped-down RCP UI to
create, open, edit Sirius sessions and representations without ever
showing the "Model Explorer" and representation.aird files to your users.

> Today, i just make a POC to understand Sirus. The first impresion is
> very positive.

Thanks again.

> But there is a gap between a little POC application and a production
> application. And before invest time in Sirus, i would like to know how
> this gap is important (compare to a classic EMF/GMF application).

It really depends on what you mean by "a classic EMF/GMF application".
If you have more specific questions like the ones above I'll be happy to
help. As a general answer all I can say is that the technology has been
deployed successfully for several years in production in different
companies. Thales is probably the largest user and co-creator of the
technology, but there are others (see
http://www.obeodesigner.com/resources/references for example).

Regards,
Pierre-Charles David
Re: Integrating sirius into an RCP application, Best Practices [message #1243715 is a reply to message #1243702] Tue, 11 February 2014 10:48 Go to previous message
Philippe EUGENE is currently offline Philippe EUGENE
Messages: 26
Registered: January 2011
Junior Member
Thanks, for link to the three entry point to the Sirius API.
I try this into my POC.
Previous Topic:Group Elements in TableTree
Next Topic:Textual Editor Integration
Goto Forum:
  


Current Time: Fri Oct 31 13:06:14 GMT 2014

Powered by FUDForum. Page generated in 0.02724 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software