Hi John,
I have actually grown to loathe Hibernate, and would be keen to
avoid using it again - most of the debugging time on the last
couple of systems was on obscure Hibernate issues, for which the
Hibernate forums were pretty well useless, as all answers from the
Hibernate guys tended to be extremely terse 'RTFM' style ones.
(Maybe if their error messages were not so
RIFE's database layer tries to do as little magic as possible, so a
lot of things are very intuitive. It does a lot less than Hibernate
though, we for instance don't have our own query language but use
object oriented query builders instead (they handle the DB SQL syntax
abstraction). There's also no support for table inheritance or
automatic population of collection properties. We do plan on adding
these in the future.
obscure and/or misleading, people wouldn't keep asking about
them?). Spring makes life with Hibernate a lot more pleasant, and
one feature of that would be something I would really miss if it
were not possible in RIFE. Namely, the declarative transaction
management - e.g., you tell Spring (via the XML config file) to
wrap all methods beginning with 'insert' or 'update' in your
Products DAO bean in a transaction, and that's all you have to do.
What does RIFE do in this area?
We don't have this, but I plan on doing a lot more Spring integration
after the next release. I suppose this is part of their AOP support.
The closest that we currently have is something similar as Spring's
transactional template methods: http://rifers.org/wiki/display/RIFE/
Chainable+transactions
Maybe it would be possible to use Spring AOP to provide something
similar for RIFE's chainable transactions.
While I only briefly glanced at SpringMVC, I wouldn't recommend
it. It seem too difficult and not very intuitive.
Seems nice by comparison with Struts!
No comment ;-)
Comparing RIFE with Wicket is difficult since you're comparing
totally different approaches. What I don't like about Wicket is
that you're forced to think of everything as being a component,
while many web functionalities really are simple request/response
actions. RIFE combines both of these and make any action handler
a reusable component (http://rifers.org/about).
I see your point.
It really is very powerful since it's possible to have entire sites
as one packaged component and embed them inside your templates as
portlet-like apps. You can use the same components as top-level
trails and link them into your site's flow.
The thing I like most about Wicket is also the biggest flaw imho:
you do everything in Java in a similar fashion as Swing. During
the coding this is certainly very nice and you can write
everything here and now. However, when looking at code that
someone else wrote, you have to read all the sources to get an
idea of how everything relates. There's no single overview that
summarizes the logic flow and data flow for you. It's thus very
difficult to gets a complete view of how your web application
interacts with the outside world (ie. the RESTful API of your
application). Note that RIFE doesn't force you to use XML for
your declarations, you can do them in Java too if you want (or
Groovy or Janino: http://rifers.org/wiki/display/ RIFE/Site
+structure+and+element+declaration+without+XML).
While I haven't joined in with the mad stampede away from XML which
seems to have been triggered by Ruby On Rails, I would say that
having to read Java sources to work out how things relate doesn't
particularly bother me. In common with many Java developers, I
suspect, I find well-written code rather easier to read than XML.
Actually I was less talking about the syntax, but more about a
centralized point of declaration. If your entire data and logic flow
is specified in a site-structure, you almost instantly have an
overview of how your application behaves and which components are
accessible. Without this centralized declaration you have to search
through your entire code code-base to find where your area of
interest is located.
Even the leaps from one class to another are not really a problem
if you have a good IDE (which I do, being the 'other user' of that
extraordinarily well-kept secret, X-develop, which I know you
favour - that makes two of us now :-) ).
Coool! I'm actively looking into making X-develop more intelligent
for RIFE and provide code hyper-linking in between files. I just
spent 2 weeks with Eclipse exclusively to try it out thoroughly and I
switched back to X-develop today.
Best regards,
Geert
--
Geert Bevin Uwyn bvba
"Use what you need" Avenue de Scailmont 34
http://www.uwyn.com 7170 Manage, Belgium
gbevin[remove] at uwyn dot com Tel +32 64 84 80 03
PGP Fingerprint : 4E21 6399 CD9E A384 6619 719A C8F4 D40D 309F D6A9
Public PGP key : available at servers pgp.mit.edu, wwwkeys.pgp.net
_______________________________________________
Rife-users mailing list
[email protected]
http://www.uwyn.com/mailman/listinfo/rife-users