Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » [EMFStore] Running EMFStore Client in a web app
[EMFStore] Running EMFStore Client in a web app [message #1226074] Tue, 31 December 2013 16:02 Go to next message
Scott Dybiec is currently offline Scott DybiecFriend
Messages: 148
Registered: July 2009
Senior Member
Are there any code samples showing how to run the EMFStore client in
Equinox or other web environment?
Re: [EMFStore] Running EMFStore Client in a web app [message #1226732 is a reply to message #1226074] Thu, 02 January 2014 14:29 Go to previous messageGo to next message
Jonas Helming is currently offline Jonas HelmingFriend
Messages: 699
Registered: July 2009
Senior Member
Hi Scott,

are you planing to single source an existing RCP application? In this
case, you might want to have a look at the Remote Application Platform
(RAP) in case you did not already, see http://eclipse.org/rap/
Even if you do not want to single source, I think RAP might be a good
choice for you, as it is based on Java and OSGi, so the combination
RAP/EMFStore is very homogenious. The only differences are:

- There might be some parts of the default EMFStore UI, which are not
fully compatible with RAP, probably minor things and fixable, please report.

- You should test what happens, if there are two or more users at the
same time. RAP uses one VM for all user sessions. If there is a
singleton within the EMFStore framework, which should be user specific,
but is currently not, then this leads to unexpected behavior. RAP
provides so called "Session singletons" for this purpose, so these
problems are usually easy to fix. I am currently not aware any concrete
ocurrences and I would be very interested to know, if there are any.

If you do not want to use RAP, I think the only thing you need is an
OSGi runtime such as Equinox and the Eclipse runtime. I do not think the
usage is any different from using EMFStore in a standard desktop client.
Maybe you can describe the issue you face more in detail?

Best Regards

Jonas

Am 31.12.2013 17:02, schrieb scott@xxxxxxxx:
> Are there any code samples showing how to run the EMFStore client in
> Equinox or other web environment?
Re: [EMFStore] Running EMFStore Client in a web app [message #1228138 is a reply to message #1226732] Mon, 06 January 2014 13:50 Go to previous messageGo to next message
Scott Dybiec is currently offline Scott DybiecFriend
Messages: 148
Registered: July 2009
Senior Member
Jonas,

Thanks for your suggestions. Here's my scenario:

My application uses EMFStore for race timers and a results manager at a
regatta using RCP applications to share and process results as they are
collected. The network connections are not always reliable at every
regatta, so EMFStore's offline-by-design capability is a good fit.

The scenario I'm working on now is making mid-race-course and official
results available through an online results server. Request arrival
rates will be highly varied --- users with browsers and mobile clients
will be accessing a particular race results while that race is in
progress and immediately following its completion.

The official race results are derived from the model stored in EMFStore
and a frequently-updated read-only copy of the model needs to be
available for use by the web application. I'm developing this web
application using GWT and/or JSF/JSTL and other tag libraries.

The EMFStore Client runs in an Eclipse/OSGi environment, which makes it
challenging to use in a standard web application. I've evaluated several
options:

1. Using RAP. As an RCP developer I like the idea of using SWT-like
constructs in building an interface, but for various reasons I need to
stay with GWT, JSF, Spring, etc for my web application programming model.

2. Use a Jetty-based Equinox Server. I've encountered numerous maturity
issues with use of custom tag libraries, JSF, and GWT in this environment.

3. Servlet Bridge, but it suffers from the same issues as the Equinox
Server. It exposes the OSGi environment through a servlet interface.
Ideally, servlets would run where they do best --- in a standard web app
container --- and OSGi services could be exposed to these servlets.

4. Making the EMFStore Client available as a web service through the
Equinox Server is possible, but that adds another server to the solution
and the operational complexity to go with it. Embedding an EMFStore
Client in the the EMFStore Server could also work.

5. A standalone Jetty Server or Virgo Server with some additional OSGi
bundles, such as EMFStore Client and application bundles. Haven't tried
this yet, so don't know if it's feasible.

Ideally, the EMFStore Client would be able to run outside the OSGi
environment and inside a web application for this use case.

Any suggestions are welcome.

$cott

On 1/2/2014 9:29 AM, Jonas Helming wrote:
> Hi Scott,
>
> are you planing to single source an existing RCP application? In this
> case, you might want to have a look at the Remote Application Platform
> (RAP) in case you did not already, see http://eclipse.org/rap/
> Even if you do not want to single source, I think RAP might be a good
> choice for you, as it is based on Java and OSGi, so the combination
> RAP/EMFStore is very homogenious. The only differences are:
>
> - There might be some parts of the default EMFStore UI, which are not
> fully compatible with RAP, probably minor things and fixable, please report.
>
> - You should test what happens, if there are two or more users at the
> same time. RAP uses one VM for all user sessions. If there is a
> singleton within the EMFStore framework, which should be user specific,
> but is currently not, then this leads to unexpected behavior. RAP
> provides so called "Session singletons" for this purpose, so these
> problems are usually easy to fix. I am currently not aware any concrete
> ocurrences and I would be very interested to know, if there are any.
>
> If you do not want to use RAP, I think the only thing you need is an
> OSGi runtime such as Equinox and the Eclipse runtime. I do not think the
> usage is any different from using EMFStore in a standard desktop client.
> Maybe you can describe the issue you face more in detail?
>
> Best Regards
>
> Jonas
>
> Am 31.12.2013 17:02, schrieb scott@xxxxxxxx:
>> Are there any code samples showing how to run the EMFStore client in
>> Equinox or other web environment?
>
Re: [EMFStore] Running EMFStore Client in a web app [message #1229418 is a reply to message #1228138] Thu, 09 January 2014 11:59 Go to previous message
Maximilian Koegel is currently offline Maximilian KoegelFriend
Messages: 253
Registered: July 2009
Senior Member
Hi Scott,

I have never tried to run EMFStore Server and Client (not Client UI)
outside OSGi. I can imagine it to work in general but there will be some
limitations in terms of extension points for example. Running the
EMFStore Client UI outside OSGi will be more difficult imho.
Are you using the EMFStore Client UI or only the Client?
Another idea would be to provide a limited interface to the server which
only allows domain specific change operations.

Cheers,
Maximilian

Am 06.01.2014 14:50, schrieb scott@xxxxxxxx:
> Jonas,
>
> Thanks for your suggestions. Here's my scenario:
>
> My application uses EMFStore for race timers and a results manager at a
> regatta using RCP applications to share and process results as they are
> collected. The network connections are not always reliable at every
> regatta, so EMFStore's offline-by-design capability is a good fit.
>
> The scenario I'm working on now is making mid-race-course and official
> results available through an online results server. Request arrival
> rates will be highly varied --- users with browsers and mobile clients
> will be accessing a particular race results while that race is in
> progress and immediately following its completion.
>
> The official race results are derived from the model stored in EMFStore
> and a frequently-updated read-only copy of the model needs to be
> available for use by the web application. I'm developing this web
> application using GWT and/or JSF/JSTL and other tag libraries.
>
> The EMFStore Client runs in an Eclipse/OSGi environment, which makes it
> challenging to use in a standard web application. I've evaluated several
> options:
>
> 1. Using RAP. As an RCP developer I like the idea of using SWT-like
> constructs in building an interface, but for various reasons I need to
> stay with GWT, JSF, Spring, etc for my web application programming model.
>
> 2. Use a Jetty-based Equinox Server. I've encountered numerous maturity
> issues with use of custom tag libraries, JSF, and GWT in this environment.
>
> 3. Servlet Bridge, but it suffers from the same issues as the Equinox
> Server. It exposes the OSGi environment through a servlet interface.
> Ideally, servlets would run where they do best --- in a standard web app
> container --- and OSGi services could be exposed to these servlets.
>
> 4. Making the EMFStore Client available as a web service through the
> Equinox Server is possible, but that adds another server to the solution
> and the operational complexity to go with it. Embedding an EMFStore
> Client in the the EMFStore Server could also work.
>
> 5. A standalone Jetty Server or Virgo Server with some additional OSGi
> bundles, such as EMFStore Client and application bundles. Haven't tried
> this yet, so don't know if it's feasible.
>
> Ideally, the EMFStore Client would be able to run outside the OSGi
> environment and inside a web application for this use case.
>
> Any suggestions are welcome.
>
> $cott
>
> On 1/2/2014 9:29 AM, Jonas Helming wrote:
>> Hi Scott,
>>
>> are you planing to single source an existing RCP application? In this
>> case, you might want to have a look at the Remote Application Platform
>> (RAP) in case you did not already, see http://eclipse.org/rap/
>> Even if you do not want to single source, I think RAP might be a good
>> choice for you, as it is based on Java and OSGi, so the combination
>> RAP/EMFStore is very homogenious. The only differences are:
>>
>> - There might be some parts of the default EMFStore UI, which are not
>> fully compatible with RAP, probably minor things and fixable, please
>> report.
>>
>> - You should test what happens, if there are two or more users at the
>> same time. RAP uses one VM for all user sessions. If there is a
>> singleton within the EMFStore framework, which should be user specific,
>> but is currently not, then this leads to unexpected behavior. RAP
>> provides so called "Session singletons" for this purpose, so these
>> problems are usually easy to fix. I am currently not aware any concrete
>> ocurrences and I would be very interested to know, if there are any.
>>
>> If you do not want to use RAP, I think the only thing you need is an
>> OSGi runtime such as Equinox and the Eclipse runtime. I do not think the
>> usage is any different from using EMFStore in a standard desktop client.
>> Maybe you can describe the issue you face more in detail?
>>
>> Best Regards
>>
>> Jonas
>>
>> Am 31.12.2013 17:02, schrieb scott@xxxxxxxx:
>>> Are there any code samples showing how to run the EMFStore client in
>>> Equinox or other web environment?
>>
>


--
Maximilian Kögel

Get Professional Eclipse Support: http://eclipsesource.com/munich
Previous Topic:[Teneo] Delete Database for Unit Tests
Next Topic:CDO as ECP Model Repository
Goto Forum:
  


Current Time: Mon Apr 12 00:30:09 GMT 2021

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

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

Back to the top