Welcome Drew,
I'm not the most experienced user here, when it comes to RIFE. But maybe
I can give you some first pointers into the right direction.
-- I want to use an Interface/Implementation approach, so each Class
will have a dedicated interface, so I can change the Class
implementations later on (i.e. Interface: ItemDAO; Implementations:
HibernateItemDAO, JDBCItemDAO).
As I never worked with Hibernate, I don't understand what you are
talking about. ^^
I came from PHP and when I saw what a bloated mess ORM was in the Java
world, I searched until I found Ammentos, which did everything I wanted
in an ORM and was 97 kB in size, compared to 20MB+ for Hibernate.
Performance was almost identical as with Hibernate.
-- I would like to be able to use IoC to inject dependencies using
setter or constructor injection. To follow the previous example,
ItemService (Interface) will have a method called setItemDAO(ItemDAO
dao), and the container (Spring or Yan/Nutts) will inject
HibernateItemDAO or JDBCItemDAO per configuration.
Same as above.
-- I would like to use an ORM + Database Caching solution, preferably
Hibernate 3.2.
RIFE comes with a built-in ORM layer, so you won't need Hibernate. If
you still want to use it, though, that should also be possible.
-- I would like to be able to define database transactions either
programmatically in the Services (Business Logic) layer or using an
AOP approach similar to Spring with XML configurations.
Again, I have no idea what you are talking about. Sorry. :]
-- I would like to be able to abstract and disconnect (over the wire,
ie SOAP) the Backend Services from the Web UI in future. (This is not
a major requirement at present)
I guess that depends on your application. Don't see how RIFE could
interfere with this requirement.
-- This application needs to support i18n (language + layout).
RIFE has quite a number of features in this area. This plays along very
nicely with it's template engine
-- I would like to use Log4j and commons-logging for all logging purposes.
Hmm, RIFE Jumpstart uses commons-logging. So that should work fine.
-- I would like to use a Testing framework, such as JUnit.
This is definately a strength of RIFE. Look for out-of-container
testing, if you need more info about how this works.
-- I would like to use Java 5 features, such as generics as much as
possible. (For example in the DAO layer) (Not too crazy about
annotations though)
RIFE was designed with Java 5 in mind, so this is actually another plus
for RIFE, imho. :)
-- And, I would definitely like to use Rife as the front-end
technology since I really like the logic less templates,
continuations, the whole element approach and the email queue and ...
list is too long.
So I'm pushing at an open door here, I guess. ^^
Now my questions:
-- Can I meet these requirements by ONLY using Rife, or I need to
integrate Rife with other libraries/frameworks?
RIFE is a full-stack framework. This means, you shouldn't need any
library at all. (The only thing I needed to add to the Jumpstart for my
current project was the JDBC driver.) Again, you wont even need
Hibernate or log4j, unless you insist on using them instead of RIFE's
built-in functionality.
-- How does Rife meet these requirements?
Oh, wow, I'm the wrong guy to answer that. o_O
-- Which of these requirements will not be met by Rife and what are
the third-party integration options?
Not counting the requirements I didn't understand ^^ - you won't need
any third party stuff.
-- How is Rife's performance for each of these requirements?
Maybe someone else has some performance data? I haven't done any
performance benchmarks with RIFE yet.
-- I guess I can sum up all these questions into "Can I just use Rife
to solve all my problems???" (Just kidding)
lol. It won't clean your garage, but for everything else, your chances
are pretty good, that RIFE can help you. ;)
So for now, I hope this post has clarified at least some of the
questions you had. I suppose it won't be long until one of the
Hibernate-Wizards in here will answer the remaining points.
Best Regards,
Stefan :)
_______________________________________________
Rife-users mailing list
[email protected]
http://lists.uwyn.com/mailman/listinfo/rife-users