Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc) » Re: Web-Frontend for EMF models
|
Re: Web-Frontend for EMF models [message #95844 is a reply to message #95813] |
Tue, 04 September 2007 12:34 |
Eclipse User |
|
|
|
Originally posted by: merks.ca.ibm.com
This is a multi-part message in MIME format.
--------------090503020307010604050703
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Reinhold,
Comments below.
Reinhold Bihler wrote:
> Hello,
>
> I added the eclipse.technology.emft group to the "to" list because
> I found a message form Martin Taal that seems related to the topic:
> http://dev.eclipse.org/newslists/news.eclipse.tools.emf/msg1 9765.html
> @Martin Taal: Did you make any progess in the system mentioned
> in that message?
>
>
>> There's a student working for IBM Canada's Center for Advanced Studies who
>> will be investigating WSDL -> Ecore and Ecore -> WSDL mapping analogous to
>> what we have for XSD. I expect he'll submit a new component proposal in
>> EMFT soon.
>>
>
> That really sounds promising. I don't know much about Eclipse/EMF
> development procedures. Does component proposal mean there will
> be a EMFT subproject soon?
> In what timeframe one could expect first "public beta" code?
>
Yes, that would me a "subproject" within EMFT but EMFT is a subproject
of the Modeling top-level project and the foundation doesn't recognized
subprojects within subprojects but rather refers to such things as
components, so I'm just trying to be precise. I do expect the proposal
to be submitted soon. I can't really say how quickly there will be
prototypes available. I don't drive the student's schedules...
>
>> I'm really not sure what's all needed for a web front end, but given that
>> it's possible to model an EOperation and to specify its method body,
>>
>
> I don't understand this ... can you give me a link to where this is
> explained in more detail?
> Is this described somewhere in the EMF book? Are you talking
> about specifying the method body with Java?
>
We'll operations/EOperations are in the index, but method body
annotations weren't supported at the time the first edition was
written. He's an example from SDO.ecore:
<eClassifiers xsi:type="ecore:EClass" name="EDataObject"
eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EObject
#//DataObject">
<eOperations name="getInstanceProperties">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return
<%org.eclipse.emf.ecore.sdo.util.SDOUtil%>.getInstanceProperties(this); "/>
</eAnnotations>
<eGenericType eClassifier="#//EJavaList">
<eTypeArguments eClassifier="#//Property"/>
</eGenericType>
</eOperations>
</eClassifiers>
So you can define an EAnnotation with the given source URI and with a
key called "body" that maps to a snip of Java code that will be
generated into the final result. Note that <%a.b.C%> will be fed to the
import manager during generation in order to produce either a.b.C or
just C along with "import a.b.C" if there are no import conflicts on C.
>
>
>> I would imagine one could generate pretty much any API. What kinds of
>> things do you need for a web front end?
>>
>
>
> I was thinking about an AJAX framework similar to the EMF.edit and
> EMF.editor code.
> The HTML and JavaScript code for the client side, the code that
> does the communication between the user and the server and updates
> the model on the server according to user input and persists the model
> (using Hibernat/Teneo) could be generated from an EMF model
> (at least parts of it).
>
That would be really cool. I think the WSDL <-> Ecore mapping will
focus more on building a web service rather than looking at how to build
a model-backed GUI on a web page. I'd explored using Wicket last year,
but we just don't have the time or resource to do even a fraction of the
cool things I'd like to do. It would sure make a create project for
someone wanting to do that kind of work at Eclipse...
> Does this make sense? Anybody with expierience in building a
> web application using EMF?
>
One of the big issues that I see is that there seems to be a new
"popular" framework for this type of thing (widget toolkit for web
applications) every other month, so it's tricky to know which one will
have lasting value. Does anyone have any strong arguments in favor of a
particular technology that's likely to have lasting value? The fact
that our industry produces so much software of a transient nature
because there is always something newer and cooler is, in my opinion,
what's also ensuring that most businesses question all invests in
software because such investments typically don't pay off when the
cycle of newness begins repeats after just a few year. Does anyone care
to argue that SOA is really a revolutionary (or even just evolutionary)
concept rather than a a large dose of hype that disguises
object-oriented programming with specialized service objects as a new
thing? (Today's a company holiday for us in Canada, so I'm feeling a
need for a little rant.)
> Regards,
>
> Reinhold
>
>
>> Reinhold Bihler wrote:
>>
>>> Hello,
>>>
>>> the EMF supports the generation of Java based frontends. Is there
>>> similar support for web-frontends?
>>>
>>> What would be your approach to create a web-frontend for an existing
>>> EMF model?
>>>
>>> Regards,
>>>
>>> Reinhold
>>>
>>>
>>>
>
>
>
--------------090503020307010604050703
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Reinhold,<br>
<br>
Comments below.<br>
<br>
Reinhold Bihler wrote:
<blockquote cite="mid:fbj197$jf6$1@build.eclipse.org" type="cite">
<pre wrap="">Hello,
I added the eclipse.technology.emft group to the "to" list because
I found a message form Martin Taal that seems related to the topic:
<a class="moz-txt-link-freetext" href=" http://dev.eclipse.org/newslists/news.eclipse.tools.emf/msg1 9765.html"> http://dev.eclipse.org/newslists/news.eclipse.tools.emf/msg1 9765.html</a>
@Martin Taal: Did you make any progess in the system mentioned
in that message?
</pre>
<blockquote type="cite">
<pre wrap="">There's a student working for IBM Canada's Center for Advanced Studies who
will be investigating WSDL -> Ecore and Ecore -> WSDL mapping analogous to
what we have for XSD. I expect he'll submit a new component proposal in
EMFT soon.
</pre>
</blockquote>
<pre wrap=""><!---->
That really sounds promising. I don't know much about Eclipse/EMF
development procedures. Does component proposal mean there will
be a EMFT subproject soon?
In what timeframe one could expect first "public beta" code?
</pre>
</blockquote>
Yes, that would me a "subproject" within EMFT but EMFT is a subproject
of the Modeling top-level project and the foundation doesn't recognized
subprojects within subprojects but rather refers to such things as
components, so I'm just trying to be precise. I do expect the proposal
to be submitted soon. I can't really say how quickly there will be
prototypes available. I don't drive the student's schedules...<br>
<blockquote cite="mid:fbj197$jf6$1@build.eclipse.org" type="cite">
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap=""> I'm really not sure what's all needed for a web front end, but given that
it's possible to model an EOperation and to specify its method body,
</pre>
</blockquote>
<pre wrap=""><!---->
I don't understand this ... can you give me a link to where this is
explained in more detail?
Is this described somewhere in the EMF book? Are you talking
about specifying the method body with Java?
</pre>
</blockquote>
We'll operations/EOperations are in the index, but method body
annotations weren't supported at the time the first edition was
written. He's an example from SDO.ecore:<br>
<blockquote> <eClassifiers xsi:type="ecore:EClass"
name="EDataObject"
eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EObject
#//DataObject"><br>
<eOperations name="getInstanceProperties"><br>
<eAnnotations
source=<a class="moz-txt-link-rfc2396E" href="http://www.eclipse.org/emf/2002/GenModel">"http://www.eclipse.org/emf/2002/GenModel"</a>><br>
<details key="body" value="return
&lt;%org.eclipse.emf.ecore.sdo.util.SDOUtil%> .getInstanceProperties(this); "/><br>
</eAnnotations><br>
<eGenericType eClassifier="#//EJavaList"><br>
<eTypeArguments eClassifier="#//Property"/><br>
</eGenericType><br>
</eOperations><br>
</eClassifiers><br>
</blockquote>
So you can define an EAnnotation with the given source URI and with a
key called "body" that maps to a snip of Java code that will be
generated into the final result. Note that <%a.b.C%> will be fed
to the import manager during generation in order to produce either
a.b.C or just C along with "import a.b.C" if there are no import
conflicts on C.<br>
<br>
<blockquote cite="mid:fbj197$jf6$1@build.eclipse.org" type="cite">
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap="">I would imagine one could generate pretty much any API. What kinds of
things do you need for a web front end?
</pre>
</blockquote>
<pre wrap=""><!---->
I was thinking about an AJAX framework similar to the EMF.edit and
EMF.editor code.
The HTML and JavaScript code for the client side, the code that
does the communication between the user and the server and updates
the model on the server according to user input and persists the model
(using Hibernat/Teneo) could be generated from an EMF model
(at least parts of it).
</pre>
</blockquote>
That would be really cool. I think the WSDL <-> Ecore mapping
will focus more on building a web service rather than looking at how to
build a model-backed GUI on a web page. I'd explored using Wicket last
year, but we just don't have the time or resource to do even a fraction
of the cool things I'd like to do. It would sure make a create project
for someone wanting to do that kind of work at Eclipse...<br>
<blockquote cite="mid:fbj197$jf6$1@build.eclipse.org" type="cite">
<pre wrap="">
Does this make sense? Anybody with expierience in building a
web application using EMF?
</pre>
</blockquote>
One of the big issues that I see is that there seems to be a new
"popular" framework for this type of thing (widget toolkit for web
applications) every other month, so it's tricky to know which one will
have lasting value. Does anyone have any strong arguments in favor of
a particular technology that's likely to have lasting value? The fact
that our industry produces so much software of a transient nature
because there is always something newer and cooler is, in my opinion,
what's also ensuring that most businesses question all invests in
software because such investments typically don't pay off when the
cycle of newness begins repeats after just a few year. Does anyone
care to argue that SOA is really a revolutionary (or even just
evolutionary) concept rather than a a large dose of hype that disguises
object-oriented programming with specialized service objects as a new
thing? (Today's a company holiday for us in Canada, so I'm feeling a
need for a little rant.)<br>
<blockquote cite="mid:fbj197$jf6$1@build.eclipse.org" type="cite">
<pre wrap="">
Regards,
Reinhold
</pre>
<blockquote type="cite">
<pre wrap="">
Reinhold Bihler wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Hello,
the EMF supports the generation of Java based frontends. Is there
similar support for web-frontends?
What would be your approach to create a web-frontend for an existing
EMF model?
Regards,
Reinhold
</pre>
</blockquote>
</blockquote>
<pre wrap=""><!---->
</pre>
</blockquote>
<br>
</body>
</html>
--------------090503020307010604050703--
|
|
|
Re: Web-Frontend for EMF models [message #95887 is a reply to message #95844] |
Wed, 05 September 2007 16:31 |
Martin Taal Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
Hi Reinhold,
My progress has been slower than I would like. I have been working on a system which generates jsf
pages from an emf model. Although we had an initial prototype which worked fine, I was not satisfied
with some design choices so I am re-working it all from the ground up.
The idea is to take the emf model enrich it with ui-annotations (for example to direct how to
display an entity in a listbox) and then use this emf model with ui annotations to generate jsf
pages using a set of templates (I am using freemarker right now).
In addition I have implemented some extra code to make it possible to talk to the model directly
from the jsf page (for example to fill a listbox or set 'required' on a jsf component).
This (to-be-open-sourced) development is very much focused on administrative data (products, orders,
customers, etc.) and will not support choices or substitution groups found in xsd (or emf).
(mainly because I do not know any jsf component which supports these concepts).
Regarding your question about experience of using emf in a web environment. The past 1.5 years I
have been working on a larger project in which I use ecore/jsf/hibernate/teneo together. During the
development I have decided to implement my own code generation templates instead of using standard
emf templates. What I also used was the dynamic api (basically eGet and eSet on an eobject). Having
the ecore model available at runtime makes it possible to program (part of) the ui on model level.
The combination of java code generation, the dynamic api and using Teneo helped me to really speed
up development.
I noticed though that in a web environment many emf features are of less use (I did not use
resource, notifications or the edit/editor framework).
So, I also think that an emf-like approach can be very usefull in a web environment. As Ed noted the
issue with ui is which ui-technology (and ui-frameworks like Seam, Spring web flow, Wicket,....) to
choose from.
gr. Martin
btw, Ed I completely agree with your 'rant' :-)
Ed Merks wrote:
> Reinhold,
>
> Comments below.
>
> Reinhold Bihler wrote:
>> Hello,
>>
>> I added the eclipse.technology.emft group to the "to" list because
>> I found a message form Martin Taal that seems related to the topic:
>> http://dev.eclipse.org/newslists/news.eclipse.tools.emf/msg1 9765.html
>> @Martin Taal: Did you make any progess in the system mentioned
>> in that message?
>>
>>
>>> There's a student working for IBM Canada's Center for Advanced Studies who
>>> will be investigating WSDL -> Ecore and Ecore -> WSDL mapping analogous to
>>> what we have for XSD. I expect he'll submit a new component proposal in
>>> EMFT soon.
>>>
>>
>> That really sounds promising. I don't know much about Eclipse/EMF
>> development procedures. Does component proposal mean there will
>> be a EMFT subproject soon?
>> In what timeframe one could expect first "public beta" code?
>>
> Yes, that would me a "subproject" within EMFT but EMFT is a subproject
> of the Modeling top-level project and the foundation doesn't recognized
> subprojects within subprojects but rather refers to such things as
> components, so I'm just trying to be precise. I do expect the proposal
> to be submitted soon. I can't really say how quickly there will be
> prototypes available. I don't drive the student's schedules...
>>
>>> I'm really not sure what's all needed for a web front end, but given that
>>> it's possible to model an EOperation and to specify its method body,
>>>
>>
>> I don't understand this ... can you give me a link to where this is
>> explained in more detail?
>> Is this described somewhere in the EMF book? Are you talking
>> about specifying the method body with Java?
>>
> We'll operations/EOperations are in the index, but method body
> annotations weren't supported at the time the first edition was
> written. He's an example from SDO.ecore:
>
> <eClassifiers xsi:type="ecore:EClass" name="EDataObject"
> eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EObject
> #//DataObject">
> <eOperations name="getInstanceProperties">
> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
> <details key="body" value="return
> <%org.eclipse.emf.ecore.sdo.util.SDOUtil%>.getInstanceProperties(this); "/>
> </eAnnotations>
> <eGenericType eClassifier="#//EJavaList">
> <eTypeArguments eClassifier="#//Property"/>
> </eGenericType>
> </eOperations>
> </eClassifiers>
>
> So you can define an EAnnotation with the given source URI and with a
> key called "body" that maps to a snip of Java code that will be
> generated into the final result. Note that <%a.b.C%> will be fed to the
> import manager during generation in order to produce either a.b.C or
> just C along with "import a.b.C" if there are no import conflicts on C.
>
>>
>>
>>> I would imagine one could generate pretty much any API. What kinds of
>>> things do you need for a web front end?
>>>
>>
>>
>> I was thinking about an AJAX framework similar to the EMF.edit and
>> EMF.editor code.
>> The HTML and JavaScript code for the client side, the code that
>> does the communication between the user and the server and updates
>> the model on the server according to user input and persists the model
>> (using Hibernat/Teneo) could be generated from an EMF model
>> (at least parts of it).
>>
> That would be really cool. I think the WSDL <-> Ecore mapping will
> focus more on building a web service rather than looking at how to build
> a model-backed GUI on a web page. I'd explored using Wicket last year,
> but we just don't have the time or resource to do even a fraction of the
> cool things I'd like to do. It would sure make a create project for
> someone wanting to do that kind of work at Eclipse...
>> Does this make sense? Anybody with expierience in building a
>> web application using EMF?
>>
> One of the big issues that I see is that there seems to be a new
> "popular" framework for this type of thing (widget toolkit for web
> applications) every other month, so it's tricky to know which one will
> have lasting value. Does anyone have any strong arguments in favor of a
> particular technology that's likely to have lasting value? The fact
> that our industry produces so much software of a transient nature
> because there is always something newer and cooler is, in my opinion,
> what's also ensuring that most businesses question all invests in
> software because such investments typically don't pay off when the
> cycle of newness begins repeats after just a few year. Does anyone care
> to argue that SOA is really a revolutionary (or even just evolutionary)
> concept rather than a a large dose of hype that disguises
> object-oriented programming with specialized service objects as a new
> thing? (Today's a company holiday for us in Canada, so I'm feeling a
> need for a little rant.)
>> Regards,
>>
>> Reinhold
>>
>>
>>> Reinhold Bihler wrote:
>>>
>>>> Hello,
>>>>
>>>> the EMF supports the generation of Java based frontends. Is there
>>>> similar support for web-frontends?
>>>>
>>>> What would be your approach to create a web-frontend for an existing
>>>> EMF model?
>>>>
>>>> Regards,
>>>>
>>>> Reinhold
>>>>
>>>>
>>>>
>>
>>
>>
>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
| |
Re: Web-Frontend for EMF models [message #609640 is a reply to message #95813] |
Tue, 04 September 2007 12:34 |
Ed Merks Messages: 33252 Registered: July 2009 |
Senior Member |
|
|
This is a multi-part message in MIME format.
--------------090503020307010604050703
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Reinhold,
Comments below.
Reinhold Bihler wrote:
> Hello,
>
> I added the eclipse.technology.emft group to the "to" list because
> I found a message form Martin Taal that seems related to the topic:
> http://dev.eclipse.org/newslists/news.eclipse.tools.emf/msg1 9765.html
> @Martin Taal: Did you make any progess in the system mentioned
> in that message?
>
>
>> There's a student working for IBM Canada's Center for Advanced Studies who
>> will be investigating WSDL -> Ecore and Ecore -> WSDL mapping analogous to
>> what we have for XSD. I expect he'll submit a new component proposal in
>> EMFT soon.
>>
>
> That really sounds promising. I don't know much about Eclipse/EMF
> development procedures. Does component proposal mean there will
> be a EMFT subproject soon?
> In what timeframe one could expect first "public beta" code?
>
Yes, that would me a "subproject" within EMFT but EMFT is a subproject
of the Modeling top-level project and the foundation doesn't recognized
subprojects within subprojects but rather refers to such things as
components, so I'm just trying to be precise. I do expect the proposal
to be submitted soon. I can't really say how quickly there will be
prototypes available. I don't drive the student's schedules...
>
>> I'm really not sure what's all needed for a web front end, but given that
>> it's possible to model an EOperation and to specify its method body,
>>
>
> I don't understand this ... can you give me a link to where this is
> explained in more detail?
> Is this described somewhere in the EMF book? Are you talking
> about specifying the method body with Java?
>
We'll operations/EOperations are in the index, but method body
annotations weren't supported at the time the first edition was
written. He's an example from SDO.ecore:
<eClassifiers xsi:type="ecore:EClass" name="EDataObject"
eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EObject
#//DataObject">
<eOperations name="getInstanceProperties">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return
<%org.eclipse.emf.ecore.sdo.util.SDOUtil%>.getInstanceProperties(this); "/>
</eAnnotations>
<eGenericType eClassifier="#//EJavaList">
<eTypeArguments eClassifier="#//Property"/>
</eGenericType>
</eOperations>
</eClassifiers>
So you can define an EAnnotation with the given source URI and with a
key called "body" that maps to a snip of Java code that will be
generated into the final result. Note that <%a.b.C%> will be fed to the
import manager during generation in order to produce either a.b.C or
just C along with "import a.b.C" if there are no import conflicts on C.
>
>
>> I would imagine one could generate pretty much any API. What kinds of
>> things do you need for a web front end?
>>
>
>
> I was thinking about an AJAX framework similar to the EMF.edit and
> EMF.editor code.
> The HTML and JavaScript code for the client side, the code that
> does the communication between the user and the server and updates
> the model on the server according to user input and persists the model
> (using Hibernat/Teneo) could be generated from an EMF model
> (at least parts of it).
>
That would be really cool. I think the WSDL <-> Ecore mapping will
focus more on building a web service rather than looking at how to build
a model-backed GUI on a web page. I'd explored using Wicket last year,
but we just don't have the time or resource to do even a fraction of the
cool things I'd like to do. It would sure make a create project for
someone wanting to do that kind of work at Eclipse...
> Does this make sense? Anybody with expierience in building a
> web application using EMF?
>
One of the big issues that I see is that there seems to be a new
"popular" framework for this type of thing (widget toolkit for web
applications) every other month, so it's tricky to know which one will
have lasting value. Does anyone have any strong arguments in favor of a
particular technology that's likely to have lasting value? The fact
that our industry produces so much software of a transient nature
because there is always something newer and cooler is, in my opinion,
what's also ensuring that most businesses question all invests in
software because such investments typically don't pay off when the
cycle of newness begins repeats after just a few year. Does anyone care
to argue that SOA is really a revolutionary (or even just evolutionary)
concept rather than a a large dose of hype that disguises
object-oriented programming with specialized service objects as a new
thing? (Today's a company holiday for us in Canada, so I'm feeling a
need for a little rant.)
> Regards,
>
> Reinhold
>
>
>> Reinhold Bihler wrote:
>>
>>> Hello,
>>>
>>> the EMF supports the generation of Java based frontends. Is there
>>> similar support for web-frontends?
>>>
>>> What would be your approach to create a web-frontend for an existing
>>> EMF model?
>>>
>>> Regards,
>>>
>>> Reinhold
>>>
>>>
>>>
>
>
>
--------------090503020307010604050703
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Reinhold,<br>
<br>
Comments below.<br>
<br>
Reinhold Bihler wrote:
<blockquote cite="mid:fbj197$jf6$1@build.eclipse.org" type="cite">
<pre wrap="">Hello,
I added the eclipse.technology.emft group to the "to" list because
I found a message form Martin Taal that seems related to the topic:
<a class="moz-txt-link-freetext" href=" http://dev.eclipse.org/newslists/news.eclipse.tools.emf/msg1 9765.html"> http://dev.eclipse.org/newslists/news.eclipse.tools.emf/msg1 9765.html</a>
@Martin Taal: Did you make any progess in the system mentioned
in that message?
</pre>
<blockquote type="cite">
<pre wrap="">There's a student working for IBM Canada's Center for Advanced Studies who
will be investigating WSDL -> Ecore and Ecore -> WSDL mapping analogous to
what we have for XSD. I expect he'll submit a new component proposal in
EMFT soon.
</pre>
</blockquote>
<pre wrap=""><!---->
That really sounds promising. I don't know much about Eclipse/EMF
development procedures. Does component proposal mean there will
be a EMFT subproject soon?
In what timeframe one could expect first "public beta" code?
</pre>
</blockquote>
Yes, that would me a "subproject" within EMFT but EMFT is a subproject
of the Modeling top-level project and the foundation doesn't recognized
subprojects within subprojects but rather refers to such things as
components, so I'm just trying to be precise. I do expect the proposal
to be submitted soon. I can't really say how quickly there will be
prototypes available. I don't drive the student's schedules...<br>
<blockquote cite="mid:fbj197$jf6$1@build.eclipse.org" type="cite">
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap=""> I'm really not sure what's all needed for a web front end, but given that
it's possible to model an EOperation and to specify its method body,
</pre>
</blockquote>
<pre wrap=""><!---->
I don't understand this ... can you give me a link to where this is
explained in more detail?
Is this described somewhere in the EMF book? Are you talking
about specifying the method body with Java?
</pre>
</blockquote>
We'll operations/EOperations are in the index, but method body
annotations weren't supported at the time the first edition was
written. He's an example from SDO.ecore:<br>
<blockquote> <eClassifiers xsi:type="ecore:EClass"
name="EDataObject"
eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EObject
#//DataObject"><br>
<eOperations name="getInstanceProperties"><br>
<eAnnotations
source=<a class="moz-txt-link-rfc2396E" href="http://www.eclipse.org/emf/2002/GenModel">"http://www.eclipse.org/emf/2002/GenModel"</a>><br>
<details key="body" value="return
&lt;%org.eclipse.emf.ecore.sdo.util.SDOUtil%> .getInstanceProperties(this); "/><br>
</eAnnotations><br>
<eGenericType eClassifier="#//EJavaList"><br>
<eTypeArguments eClassifier="#//Property"/><br>
</eGenericType><br>
</eOperations><br>
</eClassifiers><br>
</blockquote>
So you can define an EAnnotation with the given source URI and with a
key called "body" that maps to a snip of Java code that will be
generated into the final result. Note that <%a.b.C%> will be fed
to the import manager during generation in order to produce either
a.b.C or just C along with "import a.b.C" if there are no import
conflicts on C.<br>
<br>
<blockquote cite="mid:fbj197$jf6$1@build.eclipse.org" type="cite">
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap="">I would imagine one could generate pretty much any API. What kinds of
things do you need for a web front end?
</pre>
</blockquote>
<pre wrap=""><!---->
I was thinking about an AJAX framework similar to the EMF.edit and
EMF.editor code.
The HTML and JavaScript code for the client side, the code that
does the communication between the user and the server and updates
the model on the server according to user input and persists the model
(using Hibernat/Teneo) could be generated from an EMF model
(at least parts of it).
</pre>
</blockquote>
That would be really cool. I think the WSDL <-> Ecore mapping
will focus more on building a web service rather than looking at how to
build a model-backed GUI on a web page. I'd explored using Wicket last
year, but we just don't have the time or resource to do even a fraction
of the cool things I'd like to do. It would sure make a create project
for someone wanting to do that kind of work at Eclipse...<br>
<blockquote cite="mid:fbj197$jf6$1@build.eclipse.org" type="cite">
<pre wrap="">
Does this make sense? Anybody with expierience in building a
web application using EMF?
</pre>
</blockquote>
One of the big issues that I see is that there seems to be a new
"popular" framework for this type of thing (widget toolkit for web
applications) every other month, so it's tricky to know which one will
have lasting value. Does anyone have any strong arguments in favor of
a particular technology that's likely to have lasting value? The fact
that our industry produces so much software of a transient nature
because there is always something newer and cooler is, in my opinion,
what's also ensuring that most businesses question all invests in
software because such investments typically don't pay off when the
cycle of newness begins repeats after just a few year. Does anyone
care to argue that SOA is really a revolutionary (or even just
evolutionary) concept rather than a a large dose of hype that disguises
object-oriented programming with specialized service objects as a new
thing? (Today's a company holiday for us in Canada, so I'm feeling a
need for a little rant.)<br>
<blockquote cite="mid:fbj197$jf6$1@build.eclipse.org" type="cite">
<pre wrap="">
Regards,
Reinhold
</pre>
<blockquote type="cite">
<pre wrap="">
Reinhold Bihler wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Hello,
the EMF supports the generation of Java based frontends. Is there
similar support for web-frontends?
What would be your approach to create a web-frontend for an existing
EMF model?
Regards,
Reinhold
</pre>
</blockquote>
</blockquote>
<pre wrap=""><!---->
</pre>
</blockquote>
<br>
</body>
</html>
--------------090503020307010604050703--
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
Re: Web-Frontend for EMF models [message #609643 is a reply to message #95844] |
Wed, 05 September 2007 16:31 |
Martin Taal Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
Hi Reinhold,
My progress has been slower than I would like. I have been working on a system which generates jsf
pages from an emf model. Although we had an initial prototype which worked fine, I was not satisfied
with some design choices so I am re-working it all from the ground up.
The idea is to take the emf model enrich it with ui-annotations (for example to direct how to
display an entity in a listbox) and then use this emf model with ui annotations to generate jsf
pages using a set of templates (I am using freemarker right now).
In addition I have implemented some extra code to make it possible to talk to the model directly
from the jsf page (for example to fill a listbox or set 'required' on a jsf component).
This (to-be-open-sourced) development is very much focused on administrative data (products, orders,
customers, etc.) and will not support choices or substitution groups found in xsd (or emf).
(mainly because I do not know any jsf component which supports these concepts).
Regarding your question about experience of using emf in a web environment. The past 1.5 years I
have been working on a larger project in which I use ecore/jsf/hibernate/teneo together. During the
development I have decided to implement my own code generation templates instead of using standard
emf templates. What I also used was the dynamic api (basically eGet and eSet on an eobject). Having
the ecore model available at runtime makes it possible to program (part of) the ui on model level.
The combination of java code generation, the dynamic api and using Teneo helped me to really speed
up development.
I noticed though that in a web environment many emf features are of less use (I did not use
resource, notifications or the edit/editor framework).
So, I also think that an emf-like approach can be very usefull in a web environment. As Ed noted the
issue with ui is which ui-technology (and ui-frameworks like Seam, Spring web flow, Wicket,....) to
choose from.
gr. Martin
btw, Ed I completely agree with your 'rant' :-)
Ed Merks wrote:
> Reinhold,
>
> Comments below.
>
> Reinhold Bihler wrote:
>> Hello,
>>
>> I added the eclipse.technology.emft group to the "to" list because
>> I found a message form Martin Taal that seems related to the topic:
>> http://dev.eclipse.org/newslists/news.eclipse.tools.emf/msg1 9765.html
>> @Martin Taal: Did you make any progess in the system mentioned
>> in that message?
>>
>>
>>> There's a student working for IBM Canada's Center for Advanced Studies who
>>> will be investigating WSDL -> Ecore and Ecore -> WSDL mapping analogous to
>>> what we have for XSD. I expect he'll submit a new component proposal in
>>> EMFT soon.
>>>
>>
>> That really sounds promising. I don't know much about Eclipse/EMF
>> development procedures. Does component proposal mean there will
>> be a EMFT subproject soon?
>> In what timeframe one could expect first "public beta" code?
>>
> Yes, that would me a "subproject" within EMFT but EMFT is a subproject
> of the Modeling top-level project and the foundation doesn't recognized
> subprojects within subprojects but rather refers to such things as
> components, so I'm just trying to be precise. I do expect the proposal
> to be submitted soon. I can't really say how quickly there will be
> prototypes available. I don't drive the student's schedules...
>>
>>> I'm really not sure what's all needed for a web front end, but given that
>>> it's possible to model an EOperation and to specify its method body,
>>>
>>
>> I don't understand this ... can you give me a link to where this is
>> explained in more detail?
>> Is this described somewhere in the EMF book? Are you talking
>> about specifying the method body with Java?
>>
> We'll operations/EOperations are in the index, but method body
> annotations weren't supported at the time the first edition was
> written. He's an example from SDO.ecore:
>
> <eClassifiers xsi:type="ecore:EClass" name="EDataObject"
> eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EObject
> #//DataObject">
> <eOperations name="getInstanceProperties">
> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
> <details key="body" value="return
> <%org.eclipse.emf.ecore.sdo.util.SDOUtil%>.getInstanceProperties(this); "/>
> </eAnnotations>
> <eGenericType eClassifier="#//EJavaList">
> <eTypeArguments eClassifier="#//Property"/>
> </eGenericType>
> </eOperations>
> </eClassifiers>
>
> So you can define an EAnnotation with the given source URI and with a
> key called "body" that maps to a snip of Java code that will be
> generated into the final result. Note that <%a.b.C%> will be fed to the
> import manager during generation in order to produce either a.b.C or
> just C along with "import a.b.C" if there are no import conflicts on C.
>
>>
>>
>>> I would imagine one could generate pretty much any API. What kinds of
>>> things do you need for a web front end?
>>>
>>
>>
>> I was thinking about an AJAX framework similar to the EMF.edit and
>> EMF.editor code.
>> The HTML and JavaScript code for the client side, the code that
>> does the communication between the user and the server and updates
>> the model on the server according to user input and persists the model
>> (using Hibernat/Teneo) could be generated from an EMF model
>> (at least parts of it).
>>
> That would be really cool. I think the WSDL <-> Ecore mapping will
> focus more on building a web service rather than looking at how to build
> a model-backed GUI on a web page. I'd explored using Wicket last year,
> but we just don't have the time or resource to do even a fraction of the
> cool things I'd like to do. It would sure make a create project for
> someone wanting to do that kind of work at Eclipse...
>> Does this make sense? Anybody with expierience in building a
>> web application using EMF?
>>
> One of the big issues that I see is that there seems to be a new
> "popular" framework for this type of thing (widget toolkit for web
> applications) every other month, so it's tricky to know which one will
> have lasting value. Does anyone have any strong arguments in favor of a
> particular technology that's likely to have lasting value? The fact
> that our industry produces so much software of a transient nature
> because there is always something newer and cooler is, in my opinion,
> what's also ensuring that most businesses question all invests in
> software because such investments typically don't pay off when the
> cycle of newness begins repeats after just a few year. Does anyone care
> to argue that SOA is really a revolutionary (or even just evolutionary)
> concept rather than a a large dose of hype that disguises
> object-oriented programming with specialized service objects as a new
> thing? (Today's a company holiday for us in Canada, so I'm feeling a
> need for a little rant.)
>> Regards,
>>
>> Reinhold
>>
>>
>>> Reinhold Bihler wrote:
>>>
>>>> Hello,
>>>>
>>>> the EMF supports the generation of Java based frontends. Is there
>>>> similar support for web-frontends?
>>>>
>>>> What would be your approach to create a web-frontend for an existing
>>>> EMF model?
>>>>
>>>> Regards,
>>>>
>>>> Reinhold
>>>>
>>>>
>>>>
>>
>>
>>
>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
| |
Goto Forum:
Current Time: Sat Nov 09 00:14:22 GMT 2024
Powered by FUDForum. Page generated in 0.04493 seconds
|