- Why should I create duplicate proxy interfaces? Can't I just reuse the entity?
- The requirement that the service implement the RequestContext
interface but not really - leads to poor code maintainability as one
cannot simply rename methods taking advantage of IDE features.
- The 2.1 idea of have DAO methods in entities? What was the thinking
here? Seems 2.1.1 is addressing it.
- The requirement to have findEntity() on the entity itself - leads to
very poor separation of concerns.
- The requirement to have getVersion() - well, what if I don't want my
entity to be versionable? Why am I being forced here? This is another
example of forcing the framework user to write code to make the
framework do its work.
- The requirement to explicitly edit() an entity (again, just so the
framework can figure out changes) is burdensome.
My concern now is that other libraries (e.g. Ext GWT) will adopt this
forcing theRequestFactory upon everyone. How far does 2.1.1 go in
alleviating the above? I think I'm going to stick with the simple
GWT-RPC. Hopefully that is not going away anytime soon.
We have a significant sized app built using GWT 2.0 and we have simple
Command pattern based abstraction for sending entities back and forth
between the server and client. The new RequestFactory while
interesting seems to require too much "scaffolding" interfaces and
classes.- Why should I create duplicate proxy interfaces? Can't I just reuse the entity?
- The requirement that the service implement the RequestContext
interface but not really - leads to poor code maintainability as one
cannot simply rename methods taking advantage of IDE features.
- The 2.1 idea of have DAO methods in entities?
What was the thinking here?
Seems 2.1.1 is addressing it.
- The requirement to have findEntity() on the entity itself - leads to
very poor separation of concerns.
- The requirement to have getVersion() - well, what if I don't want my
entity to be versionable? Why am I being forced here? This is another
example of forcing the framework user to write code to make the
framework do its work.
- The requirement to explicitly edit() an entity (again, just so the
framework can figure out changes) is burdensome.
My concern now is that other libraries (e.g. Ext GWT) will adopt this
forcing theRequestFactory upon everyone. How far does 2.1.1 go in
alleviating the above? I think I'm going to stick with the simple
GWT-RPC. Hopefully that is not going away anytime soon.
--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-we...@googlegroups.com.
To unsubscribe from this group, send email to google-web-tool...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
1) The idea of forcing separation between client and server code so
that GWT can generate client code is perhaps too restrictive. We have
a lot of getter methods with intelligence or decoration of the
returned value. Currently, we know this will work on the client and
server side. But with RF, I have to move that logic elsewhere. Keeping
the entities common and forcing them to be GWT actually has a nice
side-effect - it forces you to keep your entities clear of useless
dependencies.
2) Its nice that a command line validator is provided, but that just
means more build time checks for something that Java could natively
do. So the advantages of incremental compilation via Eclipse/IDEA etc
are gone. Also, there will be additional delays before this trickles
down to maven plugins and other artifacts.
Note: With the command pattern, my async interface only has one method
- Result execute(Action a); that is generified so I never have to
worry about it (and it is burried in common-library). Actions and
Results get associated by simply being defined as spring beans and
everything works like magic.
In my case, I don't need a proxy for my entities. I just need
something to help make it easier to create and maintain appropriate
DTOs that I can then use with GWT-RPC. I don't need the complexity of
something trying to manage DAO methods, entity versions, etc. and the
various requirements that puts on the entities. The proxy idea is fine
for CRUD applications, but not as useful for presenting an entity with
some actions that the user can perform that don't necessarily change
the entity.
At one point, I wrote a code generator that would use reflection to
find bean properties and generate DTOs with conversion utility
classes. I may have to revisit that and incorporate some inspiration
from @ProxyFor.
-Brian
What I was hoping for in 2.1.1 is something with, I suppose, the
functionality of AutoBean and the simplicity of use of @ProxyFor.
Unless I'm missing something about AutoBean, it looks too cumbersome
to use outside of a tool that does code generation.In my case, I don't need a proxy for my entities. I just need
something to help make it easier to create and maintain appropriate
DTOs that I can then use with GWT-RPC. I don't need the complexity of
something trying to manage DAO methods, entity versions, etc. and the
various requirements that puts on the entities. The proxy idea is fine
for CRUD applications, but not as useful for presenting an entity with
some actions that the user can perform that don't necessarily change
the entity.
-Brian