Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc) » [EMFStore] Running EMFStore Client in a web app
|
Re: [EMFStore] Running EMFStore Client in a web app [message #1226732 is a reply to message #1226074] |
Thu, 02 January 2014 14:29 |
Jonas Helming 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 |
Scott Dybiec 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 |
Maximilian Koegel 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
|
|
|
Goto Forum:
Current Time: Tue Mar 19 03:29:52 GMT 2024
Powered by FUDForum. Page generated in 0.01521 seconds
|