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

Reply via email to